24 lines
71 KiB
JavaScript
24 lines
71 KiB
JavaScript
(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1482],{12857:e=>{e.exports={"textarea-container":"textarea-container-I5L4qQPj","change-highlight":"change-highlight-I5L4qQPj",focused:"focused-I5L4qQPj","resize-vertical":"resize-vertical-I5L4qQPj","resize-horizontal":"resize-horizontal-I5L4qQPj","resize-both":"resize-both-I5L4qQPj",textarea:"textarea-I5L4qQPj"}},74588:e=>{e.exports={wrap:"wrap-sYKPueSl",thicknessItem:"thicknessItem-sYKPueSl",checked:"checked-sYKPueSl",radio:"radio-sYKPueSl",bar:"bar-sYKPueSl"}},9198:e=>{e.exports={innerLabel:"innerLabel-MS9pjVpT"}},44712:e=>{e.exports={controlWrapper:"controlWrapper-y2rn9wiU",hidden:"hidden-y2rn9wiU",control:"control-y2rn9wiU",controlIncrease:"controlIncrease-y2rn9wiU",controlDecrease:"controlDecrease-y2rn9wiU",controlIcon:"controlIcon-y2rn9wiU",title:"title-y2rn9wiU"}},16300:e=>{e.exports={titleWrap:"titleWrap-ZYQL0yaM",groupFooter:"groupFooter-ZYQL0yaM"}},23128:e=>{e.exports={inlineRow:"inlineRow-CqPNtHDN"}},70199:e=>{e.exports={icon:"icon-OTC0ma9h"}},6041:e=>{e.exports={input:"input-pBN3Orju",symbol:"symbol-pBN3Orju",checkbox:"checkbox-pBN3Orju",label:"label-pBN3Orju",dropdownMenu:"dropdownMenu-pBN3Orju",sessionStart:"sessionStart-pBN3Orju",sessionEnd:"sessionEnd-pBN3Orju",sessionInputContainer:"sessionInputContainer-pBN3Orju",sessionDash:"sessionDash-pBN3Orju",inputGroup:"inputGroup-pBN3Orju",textarea:"textarea-pBN3Orju",inlineGroup:"inlineGroup-pBN3Orju",hasTooltip:"hasTooltip-pBN3Orju"}},46828:e=>{e.exports={content:"content-ByXdMGQj",cell:"cell-ByXdMGQj",inner:"inner-ByXdMGQj",first:"first-ByXdMGQj",inlineCell:"inlineCell-ByXdMGQj",fill:"fill-ByXdMGQj",top:"top-ByXdMGQj",topCenter:"topCenter-ByXdMGQj",offset:"offset-ByXdMGQj",inlineRow:"inlineRow-ByXdMGQj",grouped:"grouped-ByXdMGQj",separator:"separator-ByXdMGQj",groupSeparator:"groupSeparator-ByXdMGQj",big:"big-ByXdMGQj",adaptive:"adaptive-ByXdMGQj",checkableTitle:"checkableTitle-ByXdMGQj"}},300:e=>{e.exports={wrap:"wrap-l3G0HrB9",labelWrap:"labelWrap-l3G0HrB9",label:"label-l3G0HrB9",hasTooltip:"hasTooltip-l3G0HrB9"}},91131:e=>{e.exports={"small-height-breakpoint":"screen and (max-height: 360px)",footer:"footer-xe9kH1lJ",submitButton:"submitButton-xe9kH1lJ",buttons:"buttons-xe9kH1lJ"}},55914:e=>{e.exports={wrap:"wrap-GsOqvniR",icon:"icon-GsOqvniR",text:"text-GsOqvniR",disabled:"disabled-GsOqvniR"}},14348:e=>{e.exports={colorPickerWrap:"colorPickerWrap-pz6IRAmC",focused:"focused-pz6IRAmC",readonly:"readonly-pz6IRAmC",disabled:"disabled-pz6IRAmC","size-small":"size-small-pz6IRAmC","size-medium":"size-medium-pz6IRAmC","size-large":"size-large-pz6IRAmC","font-size-small":"font-size-small-pz6IRAmC","font-size-medium":"font-size-medium-pz6IRAmC","font-size-large":"font-size-large-pz6IRAmC","border-none":"border-none-pz6IRAmC",shadow:"shadow-pz6IRAmC","border-thin":"border-thin-pz6IRAmC","border-thick":"border-thick-pz6IRAmC","intent-default":"intent-default-pz6IRAmC","intent-success":"intent-success-pz6IRAmC","intent-warning":"intent-warning-pz6IRAmC","intent-danger":"intent-danger-pz6IRAmC",
|
|
"intent-primary":"intent-primary-pz6IRAmC","corner-top-left":"corner-top-left-pz6IRAmC","corner-top-right":"corner-top-right-pz6IRAmC","corner-bottom-right":"corner-bottom-right-pz6IRAmC","corner-bottom-left":"corner-bottom-left-pz6IRAmC",colorPicker:"colorPicker-pz6IRAmC",swatch:"swatch-pz6IRAmC",placeholderContainer:"placeholderContainer-pz6IRAmC",placeholder:"placeholder-pz6IRAmC",mixedColor:"mixedColor-pz6IRAmC",white:"white-pz6IRAmC",opacitySwatch:"opacitySwatch-pz6IRAmC",colorLine:"colorLine-pz6IRAmC",multiWidth:"multiWidth-pz6IRAmC",line:"line-pz6IRAmC",thicknessContainer:"thicknessContainer-pz6IRAmC",thicknessTitle:"thicknessTitle-pz6IRAmC"}},83421:e=>{e.exports={thicknessContainer:"thicknessContainer-ofeynovw",thicknessTitle:"thicknessTitle-ofeynovw"}},83998:e=>{e.exports={hasTooltip:"hasTooltip-0t5K1wco",uppercase:"uppercase-0t5K1wco"}},26527:e=>{e.exports={wrap:"wrap-dHwHcgvB"}},27345:e=>{e.exports={checkbox:"checkbox-24x04noU",title:"title-24x04noU"}},51842:e=>{e.exports={titleWrap:"titleWrap-O5QDBhZc",title:"title-O5QDBhZc"}},10667:e=>{e.exports={container:"container-WiTVOllB",sectionTitle:"sectionTitle-WiTVOllB",separator:"separator-WiTVOllB",customButton:"customButton-WiTVOllB"}},99565:e=>{e.exports={container:"container-UpS01XRM",form:"form-UpS01XRM",swatch:"swatch-UpS01XRM",inputWrap:"inputWrap-UpS01XRM",inputHash:"inputHash-UpS01XRM",input:"input-UpS01XRM",buttonWrap:"buttonWrap-UpS01XRM",hueSaturationWrap:"hueSaturationWrap-UpS01XRM",saturation:"saturation-UpS01XRM",hue:"hue-UpS01XRM"}},24429:e=>{e.exports={hue:"hue-oQv2KoOx",pointer:"pointer-oQv2KoOx",pointerContainer:"pointerContainer-oQv2KoOx"}},15381:e=>{e.exports={opacity:"opacity-YL5Gjk00",opacitySlider:"opacitySlider-YL5Gjk00",opacitySliderGradient:"opacitySliderGradient-YL5Gjk00",pointer:"pointer-YL5Gjk00",dragged:"dragged-YL5Gjk00",opacityPointerWrap:"opacityPointerWrap-YL5Gjk00",opacityInputWrap:"opacityInputWrap-YL5Gjk00",opacityInput:"opacityInput-YL5Gjk00",opacityInputPercent:"opacityInputPercent-YL5Gjk00"}},88440:e=>{e.exports={saturation:"saturation-lJHGRPyu",pointer:"pointer-lJHGRPyu"}},24590:e=>{e.exports={swatches:"swatches-qgksmXjR",swatch:"swatch-qgksmXjR",hover:"hover-qgksmXjR",empty:"empty-qgksmXjR",white:"white-qgksmXjR",selected:"selected-qgksmXjR",contextItem:"contextItem-qgksmXjR"}},88722:e=>{e.exports={wrap:"wrap-TyQYOCnx",input:"input-TyQYOCnx"}},24451:e=>{e.exports={icon:"icon-P882WPW5"}},2568:(e,t,n)=>{"use strict";n.d(t,{Textarea:()=>y});var o,r=n(59496),s=n(97754),a=n(66092),i=n(29202),l=n(48027),c=n(45812),u=n(47201),p=n(48907),d=n(67029),h=n(78274),m=n(12857),f=n.n(m);!function(e){e.None="none",e.Vertical="vertical",e.Horizontal="horizontal",e.Both="both"}(o||(o={}));const g=r.forwardRef((e,t)=>{
|
|
const{id:n,title:o,tabIndex:a,containerTabIndex:i,role:l,inputClassName:c,autoComplete:u,autoFocus:p,cols:m,disabled:g,isFocused:v,form:C,maxLength:y,minLength:b,name:E,placeholder:S,readonly:N,required:_,rows:w,value:x,defaultValue:T,wrap:k,containerReference:P,onChange:I,onSelect:R,onFocus:B,onContainerFocus:M,onBlur:D,"aria-describedby":O,...V}=e,A={id:n,title:o,tabIndex:a,role:l,autoComplete:u,autoFocus:p,cols:m,disabled:g,form:C,maxLength:y,minLength:b,name:E,placeholder:S,readOnly:N,required:_,rows:w,value:x,defaultValue:T,wrap:k,onChange:I,onSelect:R,onFocus:B,onBlur:D,"aria-describedby":O};return r.createElement(d.ControlSkeleton,{...V,tabIndex:i,disabled:g,readonly:N,isFocused:v,ref:P,onFocus:M,middleSlot:r.createElement(h.MiddleSlot,null,r.createElement("textarea",{...A,className:s(f().textarea,c),ref:t}))})});g.displayName="TextareaView";const v=(e,t,n)=>t?void 0:e?-1:n,C=(e,t,n)=>t?void 0:e?n:-1,y=r.forwardRef((e,t)=>{e=(0,l.useControl)(e);const{className:n,disabled:d,autoSelectOnFocus:h,tabIndex:m=0,borderStyle:y,highlight:b,resize:E,containerReference:S=null,onFocus:N,onBlur:_,...w}=e,x=(0,r.useRef)(null),T=(0,r.useRef)(null),{isMouseDown:k,handleMouseDown:P,handleMouseUp:I}=(0,c.useIsMouseDown)(),[R,B]=(0,i.useFocus)(),M=(0,u.createSafeMulticastEventHandler)(B.onFocus,(function(e){h&&!k.current&&(0,p.selectAllContent)(e.currentTarget)}),N),D=(0,u.createSafeMulticastEventHandler)(B.onBlur,_),O=void 0!==E&&E!==o.None,V=null!=y?y:O?b?"thick":"thin":void 0,A=null!=b?b:!O&&void 0;return r.createElement(g,{...w,className:s(f()["textarea-container"],O&&f()["change-highlight"],E&&E!==o.None&&f()["resize-"+E],R&&f().focused,n),disabled:d,isFocused:R,containerTabIndex:v(R,d,m),tabIndex:C(R,d,m),borderStyle:V,highlight:A,onContainerFocus:function(e){T.current===e.target&&null!==x.current&&x.current.focus()},onFocus:M,onBlur:D,onMouseDown:P,onMouseUp:I,ref:function(e){x.current=e,"function"==typeof t?t(e):t&&(t.current=e)},containerReference:(0,a.useMergedRefs)([S,T])})});y.displayName="Textarea"},92399:(e,t,n)=>{"use strict";n.d(t,{NumberInputView:()=>x});var o=n(59496),r=n(32563),s=n(97754),a=n(67029),i=n(78274),l=n(86623),c=n(86629),u=n(1405),p=n(9198);const d={large:a.InputClasses.FontSizeLarge,medium:a.InputClasses.FontSizeMedium},h={attachment:u.anchors.top.attachment,targetAttachment:u.anchors.top.targetAttachment,attachmentOffsetY:-4};function m(e){const{className:t,inputClassName:n,stretch:r=!0,errorMessage:a,fontSizeStyle:u="large",endSlot:m,button:f,error:g,warning:v,innerLabel:C,inputReference:y,children:b,...E}=e,S=g&&void 0!==a?[a]:void 0,N=v&&void 0!==a?[a]:void 0,_=s(p.inputContainer,d[u],t),w=C?o.createElement(i.StartSlot,{className:p.innerLabel,interactive:!1},C):void 0,x=m||f||b?o.createElement(i.EndSlot,null,m,f,b):void 0;return o.createElement(l.FormInput,{...E,className:_,inputClassName:n,errors:S,warnings:N,hasErrors:g,hasWarnings:v,messagesPosition:c.MessagesPosition.Attached,customErrorsAttachment:h,messagesRoot:"document",inheritMessagesWidthFromTarget:!0,disableMessagesRtlStyles:!0,
|
|
iconHidden:!0,stretch:r,reference:y,startSlot:w,endSlot:x})}var f=n(28353),g=n(9745),v=n(81268),C=n(44712);function y(e){const t=s(C.control,C.controlIncrease),n=s(C.control,C.controlDecrease);return o.createElement(o.Fragment,null,void 0!==e.title&&o.createElement("div",{className:C.title},e.title),o.createElement("div",{className:C.controlWrapper},(e.defaultButtonsVisible||e.title)&&o.createElement(o.Fragment,null,o.createElement("button",{type:"button",tabIndex:-1,"aria-label":(0,f.t)("Increase"),className:t,onClick:e.increaseValue},o.createElement(g.Icon,{icon:v,className:C.controlIcon})),o.createElement("button",{type:"button",tabIndex:-1,"aria-label":(0,f.t)("Decrease"),className:n,onClick:e.decreaseValue},o.createElement(g.Icon,{icon:v,className:C.controlIcon})))))}var b=n(70412),E=n(29202),S=n(47201),N=n(68335);const _=[38],w=[40];function x(e){const[t,n]=(0,b.useHover)(),[s,a]=(0,E.useFocus)(),i=(0,S.createSafeMulticastEventHandler)(a.onFocus,e.onFocus),l=(0,S.createSafeMulticastEventHandler)(a.onBlur,e.onBlur),c=(0,o.useCallback)(t=>{!e.disabled&&s&&(t.preventDefault(),t.deltaY<0?e.onValueByStepChange(1):e.onValueByStepChange(-1))},[s,e.disabled,e.onValueByStepChange]);return o.createElement(m,{...n,id:e.id,name:e.name,pattern:e.pattern,borderStyle:e.borderStyle,fontSizeStyle:e.fontSizeStyle,value:e.value,className:e.className,inputClassName:e.inputClassName,button:function(){const{button:n,forceShowControls:a,disabled:i,title:l}=e,c=!i&&!r.mobiletouch&&(a||s||t);return i?void 0:o.createElement(o.Fragment,null,null!=n?n:o.createElement(y,{increaseValue:u,decreaseValue:p,defaultButtonsVisible:c,title:l}))}(),disabled:e.disabled,placeholder:e.placeholder,innerLabel:e.innerLabel,endSlot:e.endSlot,containerReference:e.containerReference,inputReference:e.inputReference,inputMode:e.inputMode,type:e.type,error:e.error,errorMessage:e.errorMessage,onClick:e.onClick,onFocus:i,onBlur:l,onChange:e.onValueChange,onKeyDown:function(t){if(e.disabled||0!==(0,N.modifiersFromEvent)(t.nativeEvent))return;let n=_,o=w;e.controlDecKeyCodes&&(o=o.concat(e.controlDecKeyCodes));e.controlIncKeyCodes&&(n=n.concat(e.controlIncKeyCodes));(o.includes(t.keyCode)||n.includes(t.keyCode))&&(t.preventDefault(),e.onValueByStepChange(o.includes(t.keyCode)?-1:1));e.onKeyDown&&e.onKeyDown(t)},onWheelNoPassive:c,stretch:e.stretch,intent:e.intent,highlight:e.highlight,highlightRemoveRoundBorder:e.highlightRemoveRoundBorder,autoSelectOnFocus:e.autoSelectOnFocus,"data-property-id":e["data-name"]});function u(){e.disabled||e.onValueByStepChange(1)}function p(){e.disabled||e.onValueByStepChange(-1)}}},35726:(e,t,n)=>{"use strict";n.d(t,{splitThousands:()=>r});var o=n(93751);function r(e,t=" "){let n=e+"";-1!==n.indexOf("e")&&(n=function(e){return(0,o.fixComputationError)(e).toFixed(10).replace(/\.?0+$/,"")}(Number(e)));const r=n.split(".");return r[0].replace(/\B(?=(\d{3})+(?!\d))/g,t)+(r[1]?"."+r[1]:"")}},46446:(e,t,n)=>{"use strict";n.d(t,{bind:()=>a,setter:()=>i});var o=n(59496),r=n(617),s=n(27365);function a(e){var t
|
|
;return(t=class extends o.PureComponent{constructor(){super(...arguments),this._onChange=(e,t,n)=>{const{setValue:o}=this.context,{onChange:r}=this.props;i(o,r)(e,t,n)}}render(){const{input:t}=this.props,{values:n,model:r}=this.context;return o.createElement(e,{...this.props,value:n[t.id],tzName:(0,s.getTimezoneName)(r),onChange:this._onChange})}}).contextType=r.PropertyContext,t}function i(e,t){return(n,o,r)=>{e(o,n,r),t&&t(n,o,r)}}},617:(e,t,n)=>{"use strict";n.d(t,{PropertyContext:()=>c,PropertyContainer:()=>u});var o=n(59496),r=n(88537),s=n(28353),a=n(24980);const i=(0,n(98125).getLogger)("Platform.GUI.StudyInputPropertyContainer"),l=new a.TranslatedString("change {propertyName} property",(0,s.t)("change {propertyName} property")),c=o.createContext(null);class u extends o.PureComponent{constructor(e){super(e),this._setValue=(e,t,n)=>{const{property:o,model:c}=this.props,u=(0,r.ensureDefined)(o.child(e));i.logNormal(`Changing property "${e}" value from "${o.value()}" to "${t}"`);const p=new a.TranslatedString(n,function(e){return(0,s.t)(e,{context:"input"})}(n));c.setProperty(u,t,l.format({propertyName:p}))};const{property:t}=e,n={};t.childNames().forEach(e=>{const o=(0,r.ensureDefined)(t.child(e));n.hasOwnProperty(e)||(n[e]=o.value())}),this.state=n}componentDidMount(){const{property:e,onStudyInputChange:t}=this.props;e.childNames().forEach(n=>{(0,r.ensureDefined)(e.child(n)).subscribe(this,e=>{const o=e.value();i.logNormal(`Property "${n}" updated to value "${o}"`),this.setState({[n]:o}),null==t||t(o,n)})})}componentWillUnmount(){const{property:e}=this.props;e.childNames().forEach(t=>{(0,r.ensureDefined)(e.child(t)).unsubscribeAll(this)})}render(){const{study:e,model:t,children:n}=this.props,r={study:e,model:t,values:this.state,setValue:this._setValue};return o.createElement(c.Provider,{value:r},n)}}},44488:(e,t,n)=>{"use strict";n.d(t,{ModelContext:()=>r,bindModel:()=>s});var o=n(59496);const r=o.createContext(null);function s(e,t){return o.createElement(r.Consumer,null,n=>n?o.createElement(e,{...Object.assign({model:n},t)}):null)}},87536:(e,t,n)=>{"use strict";n.d(t,{StylePropertyContext:()=>s,StylePropertyContainer:()=>a,bindPropertyContext:()=>i});var o=n(59496),r=n(44488);const s=o.createContext(null);class a extends o.PureComponent{constructor(){super(...arguments),this._setValue=(e,t,n)=>{const{model:o}=this.props;o.setProperty(e,t,n)}}componentDidMount(){const{property:e}=this.props;e.subscribe(this,()=>this.forceUpdate())}componentWillUnmount(){const{property:e}=this.props;e.unsubscribeAll(this)}render(){const e={setValue:this._setValue};return o.createElement(s.Provider,{value:e},this.props.children)}}function i(e,t){return(0,r.bindModel)(({model:n})=>o.createElement(a,{model:n,property:t.property},o.createElement(e,{...t})),t)}},65376:(e,t,n)=>{"use strict";n.d(t,{InputTooltip:()=>h});var o=n(59496),r=n(97754),s=n.n(r),a=n(9745),i=n(38780),l=n(32563),c=n(70199),u=n(60495);function p(){document.removeEventListener("scroll",p),document.removeEventListener("touchstart",p),(0,i.hide)()}function d(e){
|
|
l.mobiletouch&&((0,i.showOnElement)(e.currentTarget,{tooltipDelay:0}),document.addEventListener("scroll",p),document.addEventListener("touchstart",p))}function h(e){const{className:t,title:n}=e;return o.createElement(a.Icon,{icon:u,className:s()(t,"apply-common-tooltip",c.icon),title:n,onClick:d})}},95087:(e,t,n)=>{"use strict";n.d(t,{isGroup:()=>r,isInputInlines:()=>s,getInputGroups:()=>a});var o=n(88537);function r(e){return e.hasOwnProperty("groupType")}function s(e){return r(e)&&"inline"===e.groupType}function a(e){const t=[],n=new Map,r=new Map;return r.set(void 0,new Map),e.forEach(e=>{const{group:s,inline:a}=e;if(void 0!==s||void 0!==a)if(void 0!==s)if(void 0!==a)if(n.has(s)){const t=(0,o.ensureDefined)(n.get(s));let l;r.has(t)?l=(0,o.ensureDefined)(r.get(t)):(l=new Map,r.set(t,l)),i(e,"inline",a,l,t.children)}else{const o={id:a,groupType:"inline",children:[e]},i={id:s,groupType:"group",children:[o]},l=new Map;l.set(a,o),r.set(i,l),n.set(s,i),t.push(i)}else i(e,"group",s,n,t);else{const n=(0,o.ensureDefined)(r.get(void 0));i(e,"inline",(0,o.ensureDefined)(a),n,t)}else t.push(e)}),t}function i(e,t,n,r,s){if(r.has(n))(0,o.ensureDefined)(r.get(n)).children.push(e);else{const o={id:n,groupType:t,children:[e]};r.set(n,o),s.push(o)}}},27547:(e,t,n)=>{"use strict";n.d(t,{InputRow:()=>X});var o=n(28353),r=n(59496),s=n(88537),a=n(33266),i=n(26007),l=n(48948),c=n(48100),u=n(97754),p=n.n(u),d=n(31261),h=n(46446),m=n(93379),f=n(6041);class g extends r.PureComponent{constructor(){super(...arguments),this._onChange=e=>{const{input:{id:t,name:n},onChange:o}=this.props;o(e.currentTarget.value,t,n)}}render(){const{input:{defval:e},value:t,disabled:n,onBlur:o,onKeyDown:s,hasTooltip:a}=this.props;return r.createElement(d.InputControl,{className:p()(f.input,a&&f.hasTooltip),value:void 0===t?e:t,onChange:this._onChange,onBlur:o,onKeyDown:s,disabled:n})}}const v=(0,m.debounced)(g),C=(0,h.bind)(v);var y=n(76110),b=n(35868);function E(e){const{className:t}=e,n=(0,r.useContext)(b.PropertyTable.InlineRowContext);return r.createElement("div",{className:u(f.inputGroup,n&&f.inlineGroup,t)},e.children)}var S=n(36565);function N(e=""){const[,t="",n="",o="",r=""]=Array.from(e.match(/^(\d\d)(\d\d)-(\d\d)(\d\d)/)||[]);return[`${t}:${n}`,`${o}:${r}`]}class _ extends r.PureComponent{constructor(e){super(e),this._onStartPick=e=>{this.setState({startTime:e},this._onChange)},this._onEndPick=e=>{this.setState({endTime:e},this._onChange)},this._onChange=()=>{const{input:{id:e,name:t},onChange:n}=this.props,{startTime:o,endTime:r}=this.state;n(o.replace(":","")+"-"+r.replace(":",""),e,t)};const t=e.value||e.input.defval,[n,o]=N(t);this.state={prevValue:t,startTime:n,endTime:o}}render(){const{startTime:e,endTime:t}=this.state,{hasTooltip:n,disabled:o}=this.props;return r.createElement(E,{className:p()(n&&f.hasTooltip)},r.createElement("div",{className:f.sessionStart},r.createElement(S.TimeInput,{className:p()(f.input,f.sessionInputContainer),name:"start",value:(0,s.ensureDefined)(e),onChange:this._onStartPick,disabled:o}),r.createElement("span",{
|
|
className:f.sessionDash}," — ")),r.createElement("div",{className:f.sessionEnd},r.createElement(S.TimeInput,{className:p()(f.input,f.sessionInputContainer),name:"end",value:(0,s.ensureDefined)(t),onChange:this._onEndPick,disabled:o})))}static getDerivedStateFromProps(e,t){if(e.value===t.prevValue)return t;const[n,o]=N(e.value);return{prevValue:e.value,startTime:n,endTime:o}}}const w=(0,h.bind)(_);var x=n(67337),T=n(67072),k=n.n(T),P=n(617),I=n(58368);class R extends r.PureComponent{constructor(){super(...arguments),this._onChange=e=>{const{input:{id:t,name:n},onChange:o}=this.props;o(e,t,n)}}render(){const{input:{id:e,defval:t,options:n,optionsTitles:s},value:a,disabled:i,hasTooltip:l}=this.props,c=n.map(e=>{const t=s&&s[e]?s[e]:e;return{value:e,content:(0,o.t)(t,{context:"input"})}}),u=void 0!==a&&n.includes(a)?a:t;return r.createElement(I.Select,{id:e,className:p()(f.input,l&&f.hasTooltip),menuClassName:f.dropdownMenu,value:u,items:c,onChange:this._onChange,disabled:i})}}const B=(0,h.bind)(R);var M=n(72280);const D={open:(0,o.t)("open"),high:(0,o.t)("high"),low:(0,o.t)("low"),close:(0,o.t)("close"),hl2:(0,o.t)("hl2"),hlc3:(0,o.t)("hlc3"),ohlc4:(0,o.t)("ohlc4"),hlcc4:(0,o.t)("hlcc4")};class O extends r.PureComponent{render(){const{input:e}=this.props,{study:t,model:n}=this.context;let o={...D};delete o.hlcc4;const a=(0,M.createAdapter)(t);if(t&&this._isStudy(t)&&t.isChildStudy()){const t=a.parentSource(),n=t.title(),r=k().getChildSourceInputTitles(e,t.metaInfo(),n);o={...o,...r}}if(x.enabled("study_on_study")&&t&&this._isStudy(t)&&(t.isChildStudy()||k().canBeChild(t.metaInfo()))){const e=[t,...a.getAllChildren()];n.model().allStudies().filter(t=>t.canHaveChildren()&&!e.includes(t)).forEach(e=>{const t=e.title(!0,void 0,!0),n=e.sourceId()||"#"+e.id(),r=e.metaInfo(),a=r.styles,i=r.plots||[];if(1===i.length)o[n+"$0"]=t;else if(i.length>1){const e=i.reduce((e,o,r)=>{if(!k().canPlotBeSourceOfChildStudy(o.type))return e;let i;try{i=(0,s.ensureDefined)((0,s.ensureDefined)(a)[o.id]).title}catch(e){i=o.id}return{...e,[`${n}$${r}`]:`${t}: ${i}`}},{});o={...o,...e}}})}const i={...e,type:"text",options:Object.keys(o),optionsTitles:o};return r.createElement(B,{...this.props,input:i})}_isStudy(e){return!e.hasOwnProperty("isInputsStudy")}}O.contextType=P.PropertyContext;var V=n(29823),A=n(9315);const z=void 0,L=["1","3","5","15","30","45","60","120","180","240","1D","1W","1M"];class F extends r.PureComponent{constructor(){super(...arguments),this._onChange=e=>{const{input:{id:t,name:n},onChange:o}=this.props;o(e,t,n)}}render(){const{input:e,value:t,disabled:n,hasTooltip:s}=this.props,a=V.Interval.parse(void 0===t?e.defval:t),i=a.isValid()?a.value():t,l=z?z.get().filter(e=>!V.Interval.parse(e).isRange()):[],c=(0,A.mergeResolutions)(L,l);return c.unshift(""),r.createElement(I.Select,{id:e.id,className:p()(f.input,f.resolution,s&&f.hasTooltip),menuClassName:p()(f.dropdownMenu,f.resolution),items:(u=c,u.map(e=>({value:e,content:""===e?(0,o.t)("Chart"):(0,A.getTranslatedResolutionModel)(e).hint}))),value:i,onChange:this._onChange,
|
|
disabled:n});var u}}const W=(0,h.bind)(F);var G=n(79946),j=n(87536);class H extends r.PureComponent{render(){return r.createElement(P.PropertyContext.Consumer,null,e=>e?this._getColorInputWithContext(e):null)}_getColorInputWithContext(e){var t;const{input:{id:n},disabled:o,hasTooltip:s}=this.props,{model:a,study:i}=e;if("properties"in i||"tempProperties"in i){const e="properties"in i?i.properties().inputs[n]:null===(t=i.tempProperties)||void 0===t?void 0:t.inputs.child(n);return r.createElement(j.StylePropertyContainer,{model:a,property:e},r.createElement(G.ColorWithThicknessSelect,{className:p()(s&&f.hasTooltip),color:e,disabled:o}))}return null}}class U extends r.PureComponent{render(){const{input:e,disabled:t,onChange:n,tzName:o,hasTooltip:s}=this.props;if((0,a.isStudyInputOptionsInfo)(e))return r.createElement(B,{input:e,disabled:t,onChange:n,hasTooltip:s});switch(e.type){case"integer":return r.createElement(i.IntegerInput,{input:e,disabled:t,onChange:n,hasTooltip:s});case"float":case"price":return r.createElement(l.FloatInput,{input:e,disabled:t,onChange:n,hasTooltip:s});case"bool":return r.createElement(c.BoolInput,{input:e,disabled:t,onChange:n,hasTooltip:s});case"text":return r.createElement(C,{input:e,disabled:t,onChange:n,hasTooltip:s});case"symbol":return r.createElement(y.SymbolInput,{input:e,disabled:t,onChange:n,hasTooltip:s});case"session":return r.createElement(w,{input:e,disabled:t,onChange:n,hasTooltip:s});case"source":return r.createElement(O,{input:e,disabled:t,onChange:n,hasTooltip:s});case"resolution":return r.createElement(W,{input:e,disabled:t,onChange:n,hasTooltip:s});case"time":return null;case"color":return r.createElement(H,{input:e,disabled:t,onChange:n,hasTooltip:s});default:return null}}}var K=n(65376);class X extends r.PureComponent{render(){const{label:e,children:t,input:n,disabled:a,onChange:i,labelAlign:l,grouped:c,tooltip:u,offset:p}=this.props;return r.createElement(b.PropertyTable.Row,null,r.createElement(b.PropertyTable.Cell,{placement:"first",verticalAlign:l,grouped:c,offset:p},void 0!==e?e:(0,o.t)((0,s.ensureDefined)(n).name,{context:"input"})),r.createElement(b.PropertyTable.Cell,{placement:"last",grouped:c},t||r.createElement(U,{input:(0,s.ensureDefined)(n),onChange:i,disabled:a,hasTooltip:Boolean(u)}),u&&r.createElement(K.InputTooltip,{title:u})))}}},22855:(e,t,n)=>{"use strict";n.d(t,{InputsTabContent:()=>V});var o=n(59496),r=n(28353),s=n(617),a=n(35868),i=n(54349),l=n(45631),c=n(88537),u=n(76110),p=n(46446),d=n(65376),h=n(6041);function m(e){const{children:t,input:n,disabled:m,onChange:f,grouped:g,tooltip:v}=e,C=(0,o.useContext)(s.PropertyContext),{values:y,setValue:b}=(0,c.ensureNotNull)(C),E=y[n.id],[S,N]=(0,o.useState)(E?"another-symbol":"main-symbol"),[_,w]=(0,o.useState)(E);return(0,o.useEffect)(()=>{E&&w(E)},[E]),o.createElement(i.SwitchGroup,{name:"symbol-source-"+n.id,values:[S],onChange:function(e){N(e),"main-symbol"===e?(0,p.setter)(b)("",n.id,n.name):"another-symbol"===e&&_&&(0,p.setter)(b,f)(_,n.id,n.name)}
|
|
},o.createElement(a.PropertyTable.Row,null,o.createElement(a.PropertyTable.Cell,{colSpan:2,placement:"first",grouped:g},o.createElement(l.RadioButton,{value:"main-symbol",className:h.checkbox,disabled:m,label:o.createElement("span",{className:h.label},(0,r.t)("Main chart symbol",{context:"input"}))}))),o.createElement(a.PropertyTable.Row,null,o.createElement(a.PropertyTable.Cell,{placement:"first",grouped:g},o.createElement(l.RadioButton,{value:"another-symbol",className:h.checkbox,disabled:m,label:o.createElement("span",{className:h.label},(0,r.t)("Another symbol",{context:"input"}))})),o.createElement(a.PropertyTable.Cell,{placement:"last",grouped:g},t||o.createElement(u.SymbolInput,{input:(0,c.ensureDefined)(n),onChange:f,disabled:m||"main-symbol"===S,hasTooltip:Boolean(v)}),v&&o.createElement(d.InputTooltip,{title:v}))))}var f=n(48100);class g extends o.PureComponent{render(){const{label:e,input:t,tooltip:n}=this.props;return o.createElement(a.PropertyTable.Row,null,o.createElement(a.PropertyTable.Cell,{placement:"first",colSpan:2},o.createElement(f.BoolInput,{label:e,input:t,hasTooltip:Boolean(n)}),n&&o.createElement(d.InputTooltip,{title:n})))}}var v=n(27547),C=n(97754),y=n.n(C),b=n(2568),E=n(67029),S=n(93379);class N extends o.PureComponent{constructor(){super(...arguments),this._onChange=e=>{const{input:{id:t,name:n},onChange:o}=this.props;o(e.currentTarget.value,t,n)}}render(){const{input:{defval:e},value:t,disabled:n,onBlur:r,onKeyDown:s}=this.props;return o.createElement(b.Textarea,{className:y()(h.input,h.textarea,E.InputClasses.FontSizeMedium),value:void 0===t?e:t,onChange:this._onChange,onBlur:r,onKeyDown:s,disabled:n})}}const _=(0,S.debounced)(N),w=(0,p.bind)(_);var x=n(300);function T(e){const{input:t,label:n,tooltip:r}=e;return o.createElement(a.PropertyTable.Row,null,o.createElement(a.PropertyTable.Cell,{placement:"first",colSpan:2,className:x.wrap},o.createElement("div",{className:x.labelWrap},o.createElement("span",{className:y()(x.label,r&&x.hasTooltip)},n),r&&o.createElement(d.InputTooltip,{title:r})),o.createElement(w,{input:t})))}function k(e){const{input:t,tooltip:n}=e;return"symbol"===t.type&&t.optional?o.createElement(m,{input:t,tooltip:n}):"bool"===t.type?o.createElement(g,{label:(0,r.t)(t.name,{context:"input"}),input:t,tooltip:n}):"text_area"===t.type?o.createElement(T,{label:(0,r.t)(t.name,{context:"input"}),input:t,tooltip:n}):o.createElement(v.InputRow,{labelAlign:function(e){switch(e){case"session":return"adaptive";case"time":return"topCenter";default:return}}(t.type),input:t,tooltip:n})}var P=n(86067),I=n(23128);function R(e){const{content:t}=e;let n;return o.createElement(a.PropertyTable.InlineRowContext.Provider,{value:!0},o.createElement("div",{className:I.inlineRow},t.children.map((e,r)=>(void 0!==e.tooltip&&(n=e.tooltip),o.createElement(k,{key:e.id,input:e,tooltip:r===t.children.length-1?n:void 0})))))}var B=n(95087),M=n(16300);function D(e){const{content:t}=e;return(0,B.isGroup)(t)?(0,B.isInputInlines)(t)?o.createElement(R,{content:t
|
|
}):o.createElement(o.Fragment,null,o.createElement("div",{className:M.titleWrap},o.createElement(P.GroupTitleSection,{title:(0,r.t)(t.id,{context:"input"}),name:t.id})),t.children.map(e=>(0,B.isGroup)(e)?o.createElement(R,{key:e.id,content:e}):o.createElement(k,{key:e.id,input:e,tooltip:e.tooltip})),o.createElement("div",{className:M.groupFooter})):o.createElement(k,{input:t,tooltip:t.tooltip})}const O={offset:(0,r.t)("Offset")};class V extends o.PureComponent{render(){const{reference:e,inputs:t,property:n,study:r,model:s,onStudyInputChange:i,className:l}=this.props,{offset:c,offsets:u}=n;return o.createElement(a.PropertyTable,{reference:e,className:l},o.createElement(A,{study:r,model:s,property:n.inputs,inputs:t,onStudyInputChange:i}),c&&this._createOffsetSection(c),u&&u.childNames().map(e=>{const t=u.childs()[e];return this._createOffsetSection(t)}))}_createOffsetSection(e){const t=e.childs();return o.createElement(A,{key:"offset_"+t.title.value(),study:this.props.study,model:this.props.model,inputs:[z(t)],property:e})}}function A(e){const{study:t,model:n,inputs:r,property:a,onStudyInputChange:i}=e,l=r,c=(0,o.useMemo)(()=>(0,B.getInputGroups)(l),[l]);return o.createElement(s.PropertyContainer,{property:a,study:t,model:n,onStudyInputChange:i},!1,c.map(e=>o.createElement(D,{key:e.id,content:e})))}function z(e){return{id:"val",name:e.title.value()||O.offset,defval:e.val.value(),type:"integer",min:e.min.value(),max:e.max.value()}}},48100:(e,t,n)=>{"use strict";n.d(t,{BoolInputComponent:()=>c,BoolInput:()=>u});var o=n(59496),r=n(15294),s=n(97754),a=n.n(s),i=n(46446),l=n(6041);class c extends o.PureComponent{constructor(){super(...arguments),this._onChange=()=>{const{input:{id:e,name:t},value:n,onChange:o}=this.props;o(!n,e,t)}}render(){const{input:{defval:e},value:t,disabled:n,label:s,hasTooltip:i}=this.props,c=void 0===t?e:t;return o.createElement(r.Checkbox,{className:a()(l.checkbox,i&&l.hasTooltip),disabled:n,checked:c,onChange:this._onChange,label:o.createElement("span",{className:l.label},s),labelAlignBaseline:!0})}}const u=(0,i.bind)(c)},93379:(e,t,n)=>{"use strict";n.d(t,{debounced:()=>s});var o=n(59496);const r={blur:0,commit:0,change:1/0};function s(e,t=r){return class extends o.PureComponent{constructor(e){super(e),this._onChange=(e,n,o)=>{const r=t.change;r?(clearTimeout(this._timeout),this.setState({value:e},()=>{r!==1/0&&(this._timeout=setTimeout(()=>this._flush(),r))})):this._flush(e)},this._onBlur=()=>{this._debounce(t.blur);const{onBlur:e}=this.props;e&&e()},this._onKeyDown=e=>{13===e.keyCode&&this._debounce(t.commit)},this.state={prevValue:e.value,value:e.value}}componentWillUnmount(){this._flush()}render(){const{value:t}=this.state;return o.createElement(e,{...this.props,value:t,onChange:this._onChange,onBlur:this._onBlur,onKeyDown:this._onKeyDown})}static getDerivedStateFromProps(e,t){return e.value===t.prevValue?t:{prevValue:e.value,value:e.value}}_debounce(e){e?(clearTimeout(this._timeout),e!==1/0&&(this._timeout=setTimeout(()=>this._flush(),e))):this.setState(e=>{this._flush(e.value)})}_flush(e){
|
|
const{input:{id:t,name:n},onChange:o}=this.props,{prevValue:r,value:s}=this.state;clearTimeout(this._timeout);const a=void 0!==e?e:s;void 0!==a&&a!==r&&o(a,t,n)}}}},48948:(e,t,n)=>{"use strict";n.d(t,{FloatInputComponent:()=>p,FloatInput:()=>d});var o=n(59496),r=n(97754),s=n.n(r),a=n(17571),i=n(46446),l=n(93379),c=n(6041);class u extends o.PureComponent{render(){const{hasTooltip:e}=this.props;return o.createElement(a.NumericInput,{...this.props,className:s()(c.input,e&&c.hasTooltip),stretch:!1})}}const p=(0,l.debounced)(u,{change:1/0,commit:0,blur:0}),d=(0,i.bind)(p)},26007:(e,t,n)=>{"use strict";n.d(t,{IntegerInputComponent:()=>p,IntegerInput:()=>d});var o=n(59496),r=n(97754),s=n.n(r),a=n(46446),i=n(93379),l=n(17571),c=n(6041);class u extends o.PureComponent{render(){const{hasTooltip:e}=this.props;return o.createElement(l.NumericInput,{...this.props,mode:"integer",className:s()(c.input,e&&c.hasTooltip),stretch:!1})}}const p=(0,i.debounced)(u,{change:1/0,commit:0,blur:0}),d=(0,a.bind)(p)},17571:(e,t,n)=>{"use strict";n.d(t,{NumericInput:()=>b});var o=n(59496),r=n(88537),s=n(28353),a=n(60521),i=n(49483),l=n(92399),c=n(35726),u=n(62820);var p=n(95505),d=n(64514);const h=(0,s.t)("Number format is invalid."),m=new class{constructor(e=" "){this._divider=e}format(e){const t=(0,c.splitThousands)(e,this._divider);return(0,u.isRtl)()?(0,u.startWithLTR)(t):t}parse(e){const t=(0,u.stripLTRMarks)(e).split(this._divider).join(""),n=Number(t);return isNaN(n)||/e/i.test(t)?{res:!1}:{res:!0,value:n,suggest:this.format(n)}}},f=/^-?[0-9]*$/,g=9e15;class v extends o.PureComponent{constructor(e){super(e),this._onFocus=e=>{this.setState({focused:!0}),this.props.onFocus&&this.props.onFocus(e)},this._onBlur=e=>{this.setState({displayValue:C(this.props,this.props.value),focused:!1}),this.props.errorHandler&&this.props.errorHandler(!1),this.props.onBlur&&this.props.onBlur(e)},this._onValueChange=e=>{const t=e.target.value;if(void 0!==this.props.onEmptyString&&""===t&&this.props.onEmptyString(),"integer"===this.props.mode&&!f.test(t))return;const n=y(t,this.props.formatter),o=n.res?this._checkValueBoundaries(n.value):{isPassed:!1,msg:void 0},r=n.res&&!o.isPassed,s=n.res&&n.suggest&&!this.state.focused?n.suggest:t,a=r&&o.msg?o.msg:h;this.setState({displayValue:s,errorMsg:a}),n.res&&o.isPassed&&this.props.onValueChange(n.value,"input"),this.props.errorHandler&&this.props.errorHandler(!n.res||r)},this._onValueByStepChange=e=>{const{roundByStep:t=!0,step:n=1,uiStep:o,min:r=n,formatter:s}=this.props,i=y(this.state.displayValue,s),l=null!=o?o:n;let c=n;if(i.res){const o=new a.Big(i.value),s=o.minus(r).mod(n);let u=o.plus(e*l);!s.eq(0)&&t&&(u=u.plus((e>0?0:1)*l).minus(s)),c=u.toNumber()}const{isPassed:u,clampedValue:p}=this._checkValueBoundaries(c);c=u?c:p,this.setState({displayValue:C(this.props,c)}),this.props.onValueChange(c,"step"),this.props.errorHandler&&this.props.errorHandler(!1)};const{value:t}=e;this.state={value:t,displayValue:C(e,t),focused:!1,errorMsg:h}}render(){var e;return o.createElement(l.NumberInputView,{id:this.props.id,
|
|
inputMode:null!==(e=this.props.inputMode)&&void 0!==e?e:i.CheckMobile.iOS()?void 0:"numeric",borderStyle:this.props.borderStyle,fontSizeStyle:this.props.fontSizeStyle,value:this.state.displayValue,forceShowControls:this.props.forceShowControls,className:this.props.className,inputClassName:this.props.inputClassName,button:this.props.button,placeholder:this.props.placeholder,innerLabel:this.props.innerLabel,endSlot:this.props.endSlot,disabled:this.props.disabled,error:this.props.error,errorMessage:this.props.errorMessage||this.state.errorMsg,onValueChange:this._onValueChange,onValueByStepChange:this._onValueByStepChange,containerReference:this.props.containerReference,inputReference:this.props.inputReference,onClick:this.props.onClick,onFocus:this._onFocus,onBlur:this._onBlur,onKeyDown:this.props.onKeyDown,controlDecKeyCodes:this.props.controlDecKeyCodes,controlIncKeyCodes:this.props.controlIncKeyCodes,title:this.props.title,intent:this.props.intent,highlight:this.props.highlight,highlightRemoveRoundBorder:this.props.highlightRemoveRoundBorder,stretch:this.props.stretch,autoSelectOnFocus:!i.CheckMobile.any()})}getClampedValue(){const{min:e=-1/0,max:t=g}=this.props,n=y(this.state.displayValue,this.props.formatter);return n.res?(0,d.clamp)(n.value,e,t):null}static getDerivedStateFromProps(e,t){const{alwaysUpdateValueFromProps:n,value:o}=e;return t.focused&&!n||t.value===o?null:{value:o,displayValue:C(e,o)}}_checkValueBoundaries(e){var t,n,o,r;const{min:a=-1/0,max:i=g}=this.props,l=function(e,t,n){const o=e>=t,r=e<=n;return{passMin:o,passMax:r,pass:o&&r,clamped:(0,d.clamp)(e,t,n)}}(e,a,i);let c;return l.passMax||(c=null!==(n=null===(t=this.props.boundariesErrorMessages)||void 0===t?void 0:t.greaterThanMax)&&void 0!==n?n:(0,s.t)("Specified value is more than the instrument maximum of {max}.",{replace:{max:String(i)}})),l.passMin||(c=null!==(r=null===(o=this.props.boundariesErrorMessages)||void 0===o?void 0:o.lessThanMin)&&void 0!==r?r:(0,s.t)("Specified value is less than the instrument minimum of {min}.",{replace:{min:String(a)}})),{isPassed:l.pass,msg:c,clampedValue:l.clamped}}}function C(e,t){const{useFormatter:n=!0,formatter:o,mode:r}=e;return n&&"integer"!==r?function(e,t=m){return null!==e?t.format(e):""}(t,o):function(e){if(null===e)return"";return p.NumericFormatter.formatNoE(e)}(t)}function y(e,t=m){return t.parse?t.parse(e):{res:!1,error:"Formatter does not support parse"}}class b extends o.PureComponent{constructor(){super(...arguments),this._container=null,this._handleContainerRef=e=>this._container=e,this._onChange=(e,t)=>{const{input:{id:n,name:o},onChange:r,onBlur:s}=this.props;r(e,n,o),"step"===t&&s&&s()},this._onBlur=e=>{const{onBlur:t}=this.props;if(t){const n=(0,r.ensureNotNull)(this._container);n.contains(document.activeElement)||n.contains(e.relatedTarget)||t()}}}render(){const{input:{defval:e,min:t,max:n,step:r},value:s,disabled:a,onKeyDown:i,className:l,mode:c,stretch:u}=this.props;return o.createElement(v,{className:l,value:Number(void 0===s?e:s),min:t,max:n,step:r,mode:c,onBlur:this._onBlur,
|
|
onValueChange:this._onChange,onKeyDown:i,disabled:a,containerReference:this._handleContainerRef,fontSizeStyle:"medium",roundByStep:!1,stretch:u})}}},76110:(e,t,n)=>{"use strict";n.d(t,{getSymbolName:()=>c,SymbolInput:()=>u});var o=n(59496),r=n(88537),s=n(617),a=n(46446),i=n(72280),l=n(48897);function c(e,t){const n=(0,i.createAdapter)(t).resolvedSymbolInfoBySymbol(e);return n&&(n.ticker||n.full_name)?n.ticker||n.full_name:e}const u=(0,a.bind)((function(e){const t=(0,o.useContext)(s.PropertyContext),{study:n}=(0,r.ensureNotNull)(t),{input:{defval:a},value:i}=e;return o.createElement(l.SymbolInputsButton,{...e,value:c(i||a||"",n),study:n})}))},79946:(e,t,n)=>{"use strict";n.d(t,{ColorWithThicknessSelect:()=>g});var o=n(59496),r=n(24377),s=n(28353),a=n(24980),i=n(68906),l=n(87536),c=n(58593),u=n(463),p=n(51768);const d=new a.TranslatedString("change thickness",(0,s.t)("change thickness")),h=new a.TranslatedString("change color",(0,s.t)("change color")),m=new a.TranslatedString("change opacity",(0,s.t)("change opacity")),f=[1,2,3,4];class g extends o.PureComponent{constructor(){super(...arguments),this._trackEventLabel=null,this._getTransparencyValue=()=>{const{transparency:e}=this.props;return e?e.value():0},this._getOpacityValue=()=>{const{color:e}=this.props,t=(0,u.getPropertyValue)(e);if(t)return(0,i.isHexColor)(t)?(0,i.transparencyToAlpha)(this._getTransparencyValue()):(0,r.parseRgba)(t)[3]},this._getColorValueInHex=()=>{const{color:e}=this.props,t=(0,u.getPropertyValue)(e);return t?(0,i.isHexColor)(t)?t:(0,r.rgbToHexString)((0,r.parseRgb)(t)):null},this._onThicknessChange=e=>{const{thickness:t}=this.props;void 0!==t&&this._setProperty(t,e,d)},this._onColorChange=e=>{const{color:t,isPaletteColor:n}=this.props,o=(0,u.getPropertyValue)(t);let s=0;o&&(s=(0,i.isHexColor)(o)?this._getTransparencyValue():(0,i.alphaToTransparency)((0,r.parseRgba)(o)[3])),this._setProperty(t,(0,i.generateColor)(String(e),s,!0),h),this._trackEventLabel="Plot color > "+(n?"Palette":"Single")},this._onOpacityChange=e=>{const{color:t}=this.props,n=(0,u.getPropertyValue)(t);this._setProperty(t,(0,i.generateColor)(n,(0,i.alphaToTransparency)(e),!0),m)},this._onPopupClose=()=>{this._trackEventLabel&&((0,p.trackEvent)("GUI","Study settings",this._trackEventLabel),this._trackEventLabel=null)}}componentWillUnmount(){this._onPopupClose()}render(){const{selectOpacity:e=!0,disabled:t,className:n}=this.props;return o.createElement(c.ColorSelect,{className:n,disabled:t,color:this._getColorValueInHex(),selectOpacity:e,opacity:this._getOpacityValue(),thickness:this._getThicknessValue(),thicknessItems:f,onColorChange:this._onColorChange,onOpacityChange:this._onOpacityChange,onThicknessChange:this._onThicknessChange,onPopupClose:this._onPopupClose})}_getThicknessValue(){const{thickness:e}=this.props;return e?(0,u.getPropertyValue)(e):void 0}_setProperty(e,t,n){const{setValue:o}=this.context;(0,u.setPropertyValue)(e,e=>o(e,t,n))}}g.contextType=l.StylePropertyContext},35868:(e,t,n)=>{"use strict";n.d(t,{PropertyTable:()=>l})
|
|
;var o=n(59496),r=n(97754),s=n(90186),a=n(46828);const i=o.createContext(!1);class l extends o.PureComponent{render(){return o.createElement("div",{ref:this.props.reference,className:r(a.content,this.props.className)},this.props.children)}}l.InlineRowContext=i,l.Row=function(e){const{children:t}=e;return(0,o.useContext)(i)?o.createElement("span",{className:a.inlineRow},t):o.createElement(o.Fragment,null,t)},l.Cell=function(e){const t=(0,o.useContext)(i),n=r(a.cell,e.offset&&a.offset,e.grouped&&a.grouped,t&&a.inlineCell,"top"===e.verticalAlign&&a.top,"topCenter"===e.verticalAlign&&a.topCenter,"adaptive"===e.verticalAlign&&a.adaptive,e.checkableTitle&&a.checkableTitle,2===e.colSpan&&a.fill,"first"===e.placement&&2!==e.colSpan&&a.first,"last"===e.placement&&2!==e.colSpan&&a.last),l=(0,s.filterDataProps)(e);return o.createElement("div",{...l,className:n},o.createElement("div",{className:r(a.inner,e.className)},e.children))},l.Separator=function(e){return o.createElement(l.Row,null,o.createElement("div",{className:r(a.cell,a.separator,a.fill)}))},l.GroupSeparator=function(e){const t=e.size||0;return o.createElement(l.Row,null,o.createElement("div",{className:r(a.cell,a.groupSeparator,a.fill,1===t&&a.big)}))}},463:(e,t,n)=>{"use strict";function o(e){return Array.isArray(e)?e[0].value():e.value()}function r(e,t){if(Array.isArray(e))for(const n of e)t(n);else t(e)}n.d(t,{getPropertyValue:()=>o,setPropertyValue:()=>r})},50182:(e,t,n)=>{"use strict";n.d(t,{AdaptiveConfirmDialog:()=>d});var o=n(59496),r=n(97754),s=n.n(r),a=n(97737),i=n(88537),l=n(28353),c=n(68335),u=n(85457),p=n(91131);class d extends o.PureComponent{constructor(){super(...arguments),this._dialogRef=o.createRef(),this._handleClose=()=>{const{defaultActionOnClose:e,onSubmit:t,onCancel:n,onClose:o}=this.props;switch(e){case"submit":t();break;case"cancel":n()}o()},this._handleCancel=()=>{this.props.onCancel(),this.props.onClose()},this._handleKeyDown=e=>{const{onSubmit:t,submitButtonDisabled:n,submitOnEnterKey:o}=this.props;13===(0,c.hashFromEvent)(e)&&o&&(e.preventDefault(),n||t())}}render(){const{render:e,onClose:t,onSubmit:n,onCancel:r,footerLeftRenderer:s,submitButtonText:a,submitButtonDisabled:i,defaultActionOnClose:l,submitOnEnterKey:c,...p}=this.props;return o.createElement(u.AdaptivePopupDialog,{...p,ref:this._dialogRef,onKeyDown:this._handleKeyDown,render:this._renderChildren(),onClose:this._handleClose})}focus(){(0,i.ensureNotNull)(this._dialogRef.current).focus()}_renderChildren(){return e=>{const{render:t,footerLeftRenderer:n,additionalButtons:r,submitButtonText:i,submitButtonDisabled:c,onSubmit:u,cancelButtonText:d,showCancelButton:h=!0,submitButtonClassName:m,cancelButtonClassName:f,buttonsWrapperClassName:g}=this.props;return o.createElement(o.Fragment,null,t(e),o.createElement("div",{className:p.footer},n&&n(e.isSmallWidth),o.createElement("div",{className:s()(p.buttons,g)},r,h&&o.createElement(a.Button,{className:f,name:"cancel",appearance:"stroke",onClick:this._handleCancel},null!=d?d:(0,l.t)("Cancel")),o.createElement("span",{
|
|
className:p.submitButton},o.createElement(a.Button,{className:m,disabled:c,name:"submit",onClick:u,"data-name":"submit-button"},null!=i?i:(0,l.t)("Ok"))))))}}}d.defaultProps={defaultActionOnClose:"submit",submitOnEnterKey:!0}},58593:(e,t,n)=>{"use strict";n.d(t,{ColorSelect:()=>w});var o=n(59496),r=n(97754),s=n.n(r),a=n(88537),i=n(68335),l=n(50628),c=n(29202),u=n(27797),p=n(64706);function d(e){const{button:t,children:n,className:r,onPopupClose:s,...d}=e,[h,m]=(0,o.useState)(!1),[f,g]=(0,o.useState)(!1),[v,C]=(0,c.useFocus)(),y=(0,o.useRef)(null);return o.createElement("div",{className:r},o.createElement("div",{tabIndex:e.disabled?void 0:-1,ref:y,onClick:b,onFocus:C.onFocus,onBlur:C.onBlur,onKeyDown:E},"function"==typeof t?t(f,v):t),o.createElement(l.PopupMenu,{isOpened:f,onClose:S,position:function(){const e=(0,a.ensureNotNull)(y.current).getBoundingClientRect();return{x:e.left,y:e.top+e.height}},doNotCloseOn:y.current,onKeyDown:E},o.createElement(p.MenuContext.Consumer,null,e=>o.createElement(u.ColorPicker,{...d,onToggleCustom:m,menu:e})),!h&&n));function b(){e.disabled||(g(e=>!e),m(!1))}function E(e){switch((0,i.hashFromEvent)(e)){case 27:f&&(e.preventDefault(),S())}}function S(){b(),(0,a.ensureNotNull)(y.current).focus(),s&&s()}}var h=n(56512),m=n(68906),f=n(6914),g=n(28353),v=n(54349),C=n(74588);const y=(0,v.makeSwitchGroupItem)(class extends o.PureComponent{constructor(){super(...arguments),this._onChange=()=>{this.props.onChange&&this.props.onChange(this.props.value)}}render(){const{name:e,checked:t,value:n}=this.props,s=r(C.thicknessItem,{[C.checked]:t}),a=r(C.bar,{[C.checked]:t}),i={borderTopWidth:parseInt(n)};return o.createElement("div",{className:s},o.createElement("input",{type:"radio",className:C.radio,name:e,value:n,onChange:this._onChange,checked:t}),o.createElement("div",{className:a,style:i}," "))}});function b(e){const{name:t,values:n,selectedValues:r,onChange:s}=e,a=n.map((e,t)=>o.createElement(y,{key:t,value:e.toString()})),i=r.map(e=>e.toString());return o.createElement("div",{className:C.wrap},o.createElement(v.SwitchGroup,{name:t,onChange:e=>{s(parseInt(e))},values:i},a))}var E=n(83421);const S=(0,g.t)("Thickness");function N(e){const{value:t,items:n,onChange:r}=e;return o.createElement("div",{className:E.thicknessContainer},o.createElement("div",{className:E.thicknessTitle},S),o.createElement(b,{name:"color_picker_thickness_select",onChange:r,values:n,selectedValues:"mixed"===t?[]:[t]}))}var _=n(14348);function w(e){const{className:t,selectOpacity:n=void 0!==e.opacity,thickness:r,color:a,disabled:i,opacity:l=1,onColorChange:c,onOpacityChange:u,onThicknessChange:p,thicknessItems:m,onPopupClose:f}=e,[g,v,C]=(0,h.useCustomColors)();return o.createElement(d,{className:t,disabled:i,color:"mixed"!==a?a:null,selectOpacity:n,opacity:l,selectCustom:!0,customColors:g,onColorChange:c,onOpacityChange:a?u:void 0,onAddColor:v,onRemoveCustomColor:C,button:function(e,t){const n=e||t,c=n?"primary":"default";return o.createElement("div",{
|
|
className:s()(_.colorPickerWrap,_["intent-"+c],_["border-thin"],_["size-medium"],n&&_.highlight,n&&_.focused,i&&_.disabled),"data-role":"button","data-name":r?"color-with-thickness-select":"color-select"},o.createElement("div",{className:s()(_.colorPicker,i&&_.disabled)},a&&"mixed"!==a?function(){const e=x(a,l),t=l>=.95&&T(a);return o.createElement("div",{className:_.opacitySwatch},o.createElement("div",{style:{backgroundColor:e},className:s()(_.swatch,t&&_.white)}))}():o.createElement("div",{className:_.placeholderContainer},o.createElement("div",{className:"mixed"===a?_.mixedColor:_.placeholder})),r&&function(){const e=a&&"mixed"!==a?x(a,l):void 0;if("mixed"===r)return o.createElement("div",{className:_.multiWidth},o.createElement("div",{style:{backgroundColor:e},className:_.line}),o.createElement("div",{style:{backgroundColor:e},className:_.line}),o.createElement("div",{style:{backgroundColor:e},className:_.line}));return o.createElement("span",{className:s()(_.colorLine,T(a)&&_.white),style:{height:r,backgroundColor:e}})}()),n&&o.createElement("span",{className:_.shadow}))},onPopupClose:f},r&&m&&o.createElement(N,{value:r,items:m,onChange:function(e){p&&p(e)}}))}function x(e,t){return e?(0,m.generateColor)(e,(0,m.alphaToTransparency)(t)):"#000000"}function T(e){return!!e&&e.toLowerCase()===f.white}},48897:(e,t,n)=>{"use strict";n.d(t,{SymbolInputsButton:()=>w});var o=n(59496),r=n(97754),s=n.n(r),a=n(28353),i=n(88537),l=n(50655),c=n(95711),u=n(67337),p=n(76110),d=n(89453),h=n(1861),m=n(9745),f=n(36826),g=n(55914);function v(e){const{value:t,onClick:n,className:s,startSlot:a,disabled:i=!1}=e;return o.createElement("div",{className:r(g.wrap,i&&g.disabled,s),onClick:n,"data-name":"edit-button"},o.createElement("div",{className:r(g.text,"apply-overflow-tooltip")},void 0!==a&&a,o.createElement("span",null,t)),o.createElement(m.Icon,{icon:f,className:g.icon}))}var C=n(31356),y=n(78260),b=n(7785),E=n(15983),S=n(82708),N=n(83998);function _(e){const{symbol:t,onSymbolChanged:n,disabled:r,className:i}=e,[p,m]=(0,o.useState)(t),f=(0,o.useContext)(l.SlotContext),g=(0,o.useContext)(c.PopupContext);return o.createElement(v,{value:p,onClick:function(){const e=function(e){const t=(0,b.tokenize)(e);return(0,E.isSpread)(t)}(p)?p:(0,S.safeShortName)(p),t=(0,d.getSymbolSearchCompleteOverrideFunction)();(0,h.showSymbolSearchItemsDialog)({onSearchComplete:e=>{t(e[0].symbol).then(e=>{n(e),m(e)})},dialogTitle:(0,a.t)("Change symbol"),defaultValue:e,manager:f,onClose:()=>{g&&g.focus()},showSpreadActions:u.enabled("show_spread_operators")&&u.enabled("studies_symbol_search_spread_operators")})},disabled:r,className:s()(i,u.enabled("uppercase_instrument_names")&&N.uppercase)})}function w(e){if("definition"in e){const{propType:t,properties:n,id:r,title:s=""}=e.definition,a=n[t],l=a.value()||"",c=e=>{a.setValue(e)};return o.createElement(C.CommonSection,{id:r,title:s},o.createElement(y.CellWrap,null,o.createElement(_,{symbol:(0,i.ensureDefined)(l),onSymbolChanged:c})))}{
|
|
const{study:t,value:n,input:{id:r,name:a},onChange:l,disabled:c,hasTooltip:u}=e,d=e=>{const n=(0,p.getSymbolName)(e,t);l(n,r,a)};return o.createElement(_,{symbol:(0,i.ensureDefined)(n),onSymbolChanged:d,disabled:c,className:s()(u&&N.hasTooltip)})}}},72280:(e,t,n)=>{"use strict";n.d(t,{createAdapter:()=>s});var o=n(14291),r=n(81851);function s(e){if((0,o.isLineTool)(e))return{isPine:()=>!1,isStandardPine:()=>!1,canOverrideMinTick:()=>!1,resolvedSymbolInfoBySymbol:()=>{throw new TypeError("Only study is supported.")},symbolsResolved:()=>{throw new TypeError("Only study is supported.")},parentSource:()=>{throw new TypeError("Only study is supported.")},getAllChildren:()=>[],sourceId:()=>{throw new TypeError("Only study is supported.")}};if((0,r.isStudy)(e))return e;if("isInputsStudy"in e)return e;throw new TypeError("Unsupported source type.")}},45560:(e,t,n)=>{"use strict";n.d(t,{useDefinitionProperty:()=>s});var o=n(59496),r=n(71953);const s=e=>{const t="property"in e?e.property:void 0,n="defaultValue"in e?e.defaultValue:e.property.value(),[s,a]=(0,o.useState)(t?t.value():n);(0,o.useEffect)(()=>{if(t){const n={};return a(t.value()),t.subscribe(n,t=>{const n=t.value();e.handler&&e.handler(n),a(n)}),()=>t.unsubscribeAll(n)}return()=>{}},[t]);return[s,e=>{if(void 0!==t){const n=t.value();r.logger.logNormal(`Changing property value from "${n}" to "${e}"`),t.setValue(e)}}]}},78260:(e,t,n)=>{"use strict";n.d(t,{CellWrap:()=>i});var o=n(59496),r=n(97754),s=n.n(r),a=n(26527);function i(e){return o.createElement("div",{className:s()(a.wrap,e.className)},e.children)}},53424:(e,t,n)=>{"use strict";n.d(t,{CheckableTitle:()=>c});var o=n(59496),r=n(15294),s=n(45560);function a(e){const{property:t,...n}=e,[a,i]=(0,s.useDefinitionProperty)({property:t}),l="mixed"===a;return o.createElement(r.Checkbox,{...n,name:"toggle-enabled",checked:l||a,indeterminate:l,onChange:function(){i("mixed"===a||!a)}})}var i=n(78260),l=n(27345);function c(e){const{property:t,disabled:n,title:r,className:s,name:c}=e,u=o.createElement("span",{className:l.title},r);return o.createElement(i.CellWrap,{className:s},t?o.createElement(a,{name:c,className:l.checkbox,property:t,disabled:n,label:u,labelAlignBaseline:!0}):u)}},31356:(e,t,n)=>{"use strict";n.d(t,{CommonSection:()=>a});var o=n(59496),r=n(35868),s=n(53424);function a(e){const{id:t,offset:n,disabled:a,checked:i,title:l,children:c}=e;return o.createElement(r.PropertyTable.Row,null,o.createElement(r.PropertyTable.Cell,{placement:"first",verticalAlign:"adaptive",offset:n,"data-section-name":t,colSpan:Boolean(c)?void 0:2,checkableTitle:!0},o.createElement(s.CheckableTitle,{name:"is-enabled-"+t,title:l,disabled:a,property:i})),Boolean(c)&&o.createElement(r.PropertyTable.Cell,{placement:"last","data-section-name":t},c))}},86067:(e,t,n)=>{"use strict";n.d(t,{GroupTitleSection:()=>i});var o=n(59496),r=n(35868),s=n(53424),a=n(51842);function i(e){return o.createElement(r.PropertyTable.Row,null,o.createElement(r.PropertyTable.Cell,{className:a.titleWrap,placement:"first",verticalAlign:"adaptive",colSpan:2,
|
|
"data-section-name":e.name,checkableTitle:!0},o.createElement(s.CheckableTitle,{title:e.title,name:"is-enabled-"+e.name,className:a.title})))}},71953:(e,t,n)=>{"use strict";n.d(t,{logger:()=>o});const o=(0,n(98125).getLogger)("Platform.GUI.PropertyDefinitionTrace")},27365:(e,t,n)=>{"use strict";n.d(t,{getTimezoneName:()=>o});n(10480);function o(e){const t=e.model().timezone();if("exchange"!==t)return t;const n=e.model().mainSeries().symbolInfo();return null==n?void 0:n.timezone}},27797:(e,t,n)=>{"use strict";n.d(t,{ColorPicker:()=>B});var o=n(59496),r=n(97754),s=n.n(r),a=n(28353),i=n(24377),l=n(88537),c=n(49483),u=n(50628),p=n(16396);const d=o.createContext(void 0);var h=n(6914),m=n(78679),f=n(24590);function g(e){const{index:t,color:n,selected:s,onSelect:i}=e,[g,v]=(0,o.useState)(!1),C=(0,o.useContext)(d),y=(0,o.useRef)(null),b=Boolean(C)&&!c.CheckMobile.any();return o.createElement(o.Fragment,null,o.createElement("div",{ref:y,style:n?{color:n}:void 0,className:r(f.swatch,g&&f.hover,s&&f.selected,!n&&f.empty,String(n).toLowerCase()===h.white&&f.white),onClick:function(){i(n)},onContextMenu:b?E:void 0}),b&&o.createElement(u.PopupMenu,{isOpened:g,onClose:E,position:function(){const e=(0,l.ensureNotNull)(y.current).getBoundingClientRect();return{x:e.left,y:e.top+e.height+4}},onClickOutside:E},o.createElement(p.PopupMenuItem,{className:f.contextItem,label:(0,a.t)("Remove color"),icon:m,onClick:function(){E(),(0,l.ensureDefined)(C)(t)},dontClosePopup:!0})));function E(){v(!g)}}class v extends o.PureComponent{constructor(){super(...arguments),this._onSelect=e=>{const{onSelect:t}=this.props;t&&t(e)}}render(){const{colors:e,color:t,children:n}=this.props;if(!e)return null;const r=t?(0,i.parseRgb)(String(t)):void 0;return o.createElement("div",{className:f.swatches},e.map((e,t)=>o.createElement(g,{key:String(e)+t,index:t,color:e,selected:r&&(0,i.areEqualRgb)(r,(0,i.parseRgb)(String(e))),onSelect:this._onSelect})),n)}}var C=n(54368),y=n(97737);function b(e){const t="Invalid RGB color: "+e;if(null===e)throw new Error(t);const n=e.match(/^#?([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i);if(null===n)throw new Error(t);const[,o,r,s]=n;if(!o||!r||!s)throw new Error(t);const a=parseInt(o,16)/255,i=parseInt(r,16)/255,l=parseInt(s,16)/255,c=Math.max(a,i,l),u=Math.min(a,i,l);let p;const d=c,h=c-u,m=0===c?0:h/c;if(c===u)p=0;else{switch(c){case a:p=(i-l)/h+(i<l?6:0);break;case i:p=(l-a)/h+2;break;case l:p=(a-i)/h+4;break;default:p=0}p/=6}return{h:p,s:m,v:d}}var E=n(43370),S=n(88440);class N extends o.PureComponent{constructor(){super(...arguments),this._container=null,this._refContainer=e=>{this._container=e},this._handlePosition=e=>{const{hsv:{h:t},onChange:n}=this.props;if(!n)return;const o=(0,l.ensureNotNull)(this._container).getBoundingClientRect(),r=e.clientX-o.left,s=e.clientY-o.top;let a=r/o.width;a<0?a=0:a>1&&(a=1);let i=1-s/o.height;i<0?i=0:i>1&&(i=1),n({h:t,s:a,v:i})},this._mouseDown=e=>{window.addEventListener("mouseup",this._mouseUp),window.addEventListener("mousemove",this._mouseMove)},this._mouseUp=e=>{
|
|
window.removeEventListener("mousemove",this._mouseMove),window.removeEventListener("mouseup",this._mouseUp),this._handlePosition(e)},this._mouseMove=(0,E.default)(this._handlePosition,100),this._handleTouch=e=>{this._handlePosition(e.nativeEvent.touches[0])}}render(){const{className:e,hsv:{h:t,s:n,v:r}}=this.props,a=`hsl(${360*t}, 100%, 50%)`;return o.createElement("div",{className:s()(S.saturation,e),style:{backgroundColor:a},ref:this._refContainer,onMouseDown:this._mouseDown,onTouchStart:this._handleTouch,onTouchMove:this._handleTouch},o.createElement("div",{className:S.pointer,style:{left:100*n+"%",top:100*(1-r)+"%"}}))}}var _=n(24429);class w extends o.PureComponent{constructor(){super(...arguments),this._container=null,this._refContainer=e=>{this._container=e},this._handlePosition=e=>{const{hsv:{s:t,v:n},onChange:o}=this.props;if(!o)return;const r=(0,l.ensureNotNull)(this._container).getBoundingClientRect();let s=(e.clientY-r.top)/r.height;s<0?s=0:s>1&&(s=1),o({h:s,s:t,v:n})},this._mouseDown=e=>{window.addEventListener("mouseup",this._mouseUp),window.addEventListener("mousemove",this._mouseMove)},this._mouseUp=e=>{window.removeEventListener("mousemove",this._mouseMove),window.removeEventListener("mouseup",this._mouseUp),this._handlePosition(e)},this._mouseMove=(0,E.default)(this._handlePosition,100),this._handleTouch=e=>{this._handlePosition(e.nativeEvent.touches[0])}}render(){const{className:e,hsv:{h:t}}=this.props;return o.createElement("div",{className:s()(_.hue,e)},o.createElement("div",{className:_.pointerContainer,ref:this._refContainer,onMouseDown:this._mouseDown,onTouchStart:this._handleTouch,onTouchMove:this._handleTouch},o.createElement("div",{className:_.pointer,style:{top:100*t+"%"}})))}}var x=n(99565);const T=(0,a.t)("Add",{context:"Color Picker"});class k extends o.PureComponent{constructor(e){super(e),this._handleHSV=e=>{const t=function(e){const{h:t,s:n,v:o}=e;let r,s,a;const i=Math.floor(6*t),l=6*t-i,c=o*(1-n),u=o*(1-l*n),p=o*(1-(1-l)*n);switch(i%6){case 0:r=o,s=p,a=c;break;case 1:r=u,s=o,a=c;break;case 2:r=c,s=o,a=p;break;case 3:r=c,s=u,a=o;break;case 4:r=p,s=c,a=o;break;case 5:r=o,s=c,a=u;break;default:r=0,s=0,a=0}return"#"+[255*r,255*s,255*a].map(e=>("0"+Math.round(e).toString(16)).replace(/.+?([a-f0-9]{2})$/i,"$1")).join("")}(e)||"#000000";this.setState({color:t,inputColor:t.replace(/^#/,""),hsv:e}),this.props.onSelect(t)},this._handleInput=e=>{const t=e.currentTarget.value;try{const e=b(t),n="#"+t;this.setState({color:n,inputColor:t,hsv:e}),this.props.onSelect(n)}catch(e){this.setState({inputColor:t})}},this._handleAddColor=()=>this.props.onAdd(this.state.color);const t=e.color||"#000000";this.state={color:t,inputColor:t.replace(/^#/,""),hsv:b(t)}}render(){const{color:e,hsv:t,inputColor:n}=this.state;return o.createElement("div",{className:x.container},o.createElement("div",{className:x.form},o.createElement("div",{className:x.swatch,style:{backgroundColor:e}}),o.createElement("div",{className:x.inputWrap},o.createElement("span",{className:x.inputHash},"#"),o.createElement("input",{
|
|
type:"text",className:x.input,value:n,onChange:this._handleInput})),o.createElement("div",{className:x.buttonWrap},o.createElement(y.Button,{size:"s",onClick:this._handleAddColor},T))),o.createElement("div",{className:x.hueSaturationWrap},o.createElement(N,{className:x.saturation,hsv:t,onChange:this._handleHSV}),o.createElement(w,{className:x.hue,hsv:t,onChange:this._handleHSV})))}}var P=n(10667);const I=(0,a.t)("Add custom color",{context:"Color Picker"}),R=(0,a.t)("Opacity",{context:"Color Picker"});class B extends o.PureComponent{constructor(e){super(e),this._handleAddColor=e=>{this.setState({isCustom:!1}),this._onToggleCustom(!1);const{onAddColor:t}=this.props;t&&t(e)},this._handleSelectColor=e=>{const{onColorChange:t}=this.props,{isCustom:n}=this.state;t&&t(e,n)},this._handleCustomClick=()=>{this.setState({isCustom:!0}),this._onToggleCustom(!0)},this._handleOpacity=e=>{const{onOpacityChange:t}=this.props;t&&t(e)},this.state={isCustom:!1}}componentDidUpdate(e,t){e.selectOpacity!==this.props.selectOpacity&&this.props.menu&&this.props.menu.update()}render(){const{color:e,opacity:t,selectCustom:n,selectOpacity:r,customColors:a,onRemoveCustomColor:i}=this.props,{isCustom:l}=this.state,c="number"==typeof t?t:1;return l?o.createElement(k,{color:e,onSelect:this._handleSelectColor,onAdd:this._handleAddColor}):o.createElement("div",{className:P.container},o.createElement(v,{colors:h.basic,color:e,onSelect:this._handleSelectColor}),o.createElement(v,{colors:h.extended,color:e,onSelect:this._handleSelectColor}),o.createElement("div",{className:P.separator}),o.createElement(d.Provider,{value:i},o.createElement(v,{colors:a,color:e,onSelect:this._handleSelectColor},n&&o.createElement("div",{className:s()(P.customButton,"apply-common-tooltip"),onClick:this._handleCustomClick,title:I}))),r&&o.createElement(o.Fragment,null,o.createElement("div",{className:P.sectionTitle},R),o.createElement(C.Opacity,{color:e,opacity:c,onChange:this._handleOpacity})))}_onToggleCustom(e){const{onToggleCustom:t}=this.props;t&&t(e)}}},54368:(e,t,n)=>{"use strict";n.d(t,{Opacity:()=>l});var o=n(59496),r=n(97754),s=n(88537),a=n(64514),i=n(15381);class l extends o.PureComponent{constructor(e){super(e),this._container=null,this._pointer=null,this._raf=null,this._refContainer=e=>{this._container=e},this._refPointer=e=>{this._pointer=e},this._handlePosition=e=>{null===this._raf&&(this._raf=requestAnimationFrame(()=>{const t=(0,s.ensureNotNull)(this._container),n=(0,s.ensureNotNull)(this._pointer),o=t.getBoundingClientRect(),r=n.offsetWidth,i=e.clientX-r/2-o.left,l=(0,a.clamp)(i/(o.width-r),0,1);this.setState({inputOpacity:Math.round(100*l).toString()}),this.props.onChange(l),this._raf=null}))},this._onSliderClick=e=>{this._handlePosition(e.nativeEvent),this._dragSubscribe()},this._mouseUp=e=>{this.setState({isPointerDragged:!1}),this._dragUnsubscribe(),this._handlePosition(e)},this._mouseMove=e=>{this.setState({isPointerDragged:!0}),this._handlePosition(e)},this._onTouchStart=e=>{this._handlePosition(e.nativeEvent.touches[0])},this._handleTouch=e=>{
|
|
this.setState({isPointerDragged:!0}),this._handlePosition(e.nativeEvent.touches[0])},this._handleTouchEnd=()=>{this.setState({isPointerDragged:!1})},this._handleInput=e=>{const t=e.currentTarget.value,n=Number(t)/100;this.setState({inputOpacity:t}),Number.isNaN(n)||n>1||this.props.onChange(n)},this.state={inputOpacity:Math.round(100*e.opacity).toString(),isPointerDragged:!1}}componentWillUnmount(){null!==this._raf&&(cancelAnimationFrame(this._raf),this._raf=null),this._dragUnsubscribe()}render(){const{color:e,opacity:t,hideInput:n}=this.props,{inputOpacity:s,isPointerDragged:a}=this.state,l={color:e||void 0};return o.createElement("div",{className:i.opacity},o.createElement("div",{className:i.opacitySlider,style:l,ref:this._refContainer,onMouseDown:this._onSliderClick,onTouchStart:this._onTouchStart,onTouchMove:this._handleTouch,onTouchEnd:this._handleTouchEnd},o.createElement("div",{className:i.opacitySliderGradient,style:{backgroundImage:`linear-gradient(90deg, transparent, ${e})`}}),o.createElement("div",{className:i.opacityPointerWrap},o.createElement("div",{className:r(i.pointer,a&&i.dragged),style:{left:100*t+"%"},ref:this._refPointer}))),!n&&o.createElement("div",{className:i.opacityInputWrap},o.createElement("input",{type:"text",className:i.opacityInput,value:s,onChange:this._handleInput}),o.createElement("span",{className:i.opacityInputPercent},"%")))}_dragSubscribe(){const e=(0,s.ensureNotNull)(this._container).ownerDocument;e&&(e.addEventListener("mouseup",this._mouseUp),e.addEventListener("mousemove",this._mouseMove))}_dragUnsubscribe(){const e=(0,s.ensureNotNull)(this._container).ownerDocument;e&&(e.removeEventListener("mousemove",this._mouseMove),e.removeEventListener("mouseup",this._mouseUp))}}},6914:(e,t,n)=>{"use strict";n.d(t,{white:()=>r,basic:()=>i,extended:()=>c});var o=n(45112);const r=o.colorsPalette["color-white"],s=["ripe-red","tan-orange","banana-yellow","iguana-green","minty-green","sky-blue","tv-blue","deep-blue","grapes-purple","berry-pink"],a=[200,300,400,500,600,700,800,900].map(e=>"color-cold-gray-"+e);a.unshift("color-white"),a.push("color-black"),s.forEach(e=>{a.push(`color-${e}-500`)});const i=a.map(e=>o.colorsPalette[e]),l=[];[100,200,300,400,700,900].forEach(e=>{s.forEach(t=>{l.push(`color-${t}-${e}`)})});const c=l.map(e=>o.colorsPalette[e])},56512:(e,t,n)=>{"use strict";n.d(t,{useCustomColors:()=>l});var o=n(59496),r=n(56840),s=n(76422);function a(e,t){(0,o.useEffect)(()=>(s.subscribe(e,t,null),()=>{s.unsubscribe(e,t,null)}),[e,t])}var i=n(24377);function l(){const[e,t]=(0,o.useState)((0,r.getJSON)("pickerCustomColors",[]));a("add_new_custom_color",n=>t(c(n,e))),a("remove_custom_color",n=>t(u(n,e)));const n=(0,o.useCallback)(t=>{const n=t?(0,i.parseRgb)(t):null;e.some(e=>null!==e&&null!==n&&(0,i.areEqualRgb)((0,i.parseRgb)(e),n))||(s.emit("add_new_custom_color",t),(0,r.setJSON)("pickerCustomColors",c(t,e)))},[e]),l=(0,o.useCallback)(t=>{(t>=0||t<e.length)&&(s.emit("remove_custom_color",t),(0,r.setJSON)("pickerCustomColors",u(t,e)))},[e]);return[e,n,l]}function c(e,t){
|
|
const n=t.slice();return n.push(e),n.length>29&&n.shift(),n}function u(e,t){return t.filter((t,n)=>e!==n)}},36565:(e,t,n)=>{"use strict";n.d(t,{TimeInput:()=>O});var o=n(49483),r=n(59496),s=n(97754),a=n.n(s),i=n(88537),l=n(47201),c=n(78274),u=n(31261),p=n(9745),d=n(24451),h=n(35692);function m(e){return r.createElement(p.Icon,{className:d.icon,icon:h})}var f=n(29202),g=n(88722);var v=n(58095),C=n(64514);const y={0:{pattern:/\d/},9:{pattern:/\d/,optional:!0},"#":{pattern:/\d/,recursive:!0},A:{pattern:/[a-zA-Z0-9]/},S:{pattern:/[a-zA-Z]/}};function b(e,t,n){const o=[],r=n;let s=0,a=0;const i=e.length,l=r.length;let c=-1,u=0;const p=[],d=i-1,h=[];let m;for(;s<i&&a<l;){const n=e.charAt(s),i=r.charAt(a),l=y[n];l?(i.match(l.pattern)?(o.push(i),l.recursive&&(-1===c?c=s:s===d&&s!==c&&(s=c-1),d===c&&(s-=1)),s+=1):i===m?(u--,m=void 0):l.optional?(s+=1,a-=1):l.fallback?(o.push(l.fallback),s+=1,a-=1):h.push({p:a,v:i,e:l.pattern}),a+=1):(t||o.push(n),i===n?(p.push(a),a+=1):(m=n,p.push(a+u),u++),s+=1)}const f=e.charAt(d);i!==l+1||y[f]||o.push(f);const g=o.join("");return[g,function(e,t){const n={};for(let e=0;e<t.length;e++)n[t[e]+0]=1;return n}(0,p),h]}function E(e,t,n){const o=function(e){let t=!0;for(let n=0;n<e.length;n++){const o=y[e.charAt(n)];if(o&&o.recursive){t=!1;break}}return t?e.length:void 0}(e),[s,a]=b(e,!1,t),[l,c]=(0,r.useState)(s),[u,p]=(0,r.useState)(0),[d,h]=(0,r.useState)(!1),m=(0,r.useRef)(a),f=(0,r.useRef)(l);return(0,r.useEffect)(()=>{const[n,o]=b(e,!1,t);c(n),g(o)},[t,e]),(0,r.useLayoutEffect)(()=>{const e=(0,i.ensureNotNull)(n.current);d&&(e.setSelectionRange(u,u),h(!1)),p(S(e))},[d]),[t,f,{onChange:function(){const t=(0,i.ensureNotNull)(n.current),o=t.value,[r,s]=b(e,!1,o);c(r),f.current=r;const a=g(s),d=function(e,t,n,o,r,s){if(e!==t){const a=t.length,i=e.length;let l=0,c=0,u=0,p=0,d=0;for(d=o;d<a&&r[d];d++)c++;for(d=o-1;d>=0&&r[d];d--)l++;for(d=o-1;d>=0;d--)r[d]&&u++;for(d=n-1;d>=0;d--)s[d]&&p++;if(o>i)o=10*a;else if(n>=o&&n!==i){if(s[o]){const e=o;o-=p-u,r[o-=l]&&(o=e)}}else o>n&&(o+=u-p,o+=c)}return o}(l,r,u,S(t),s,a);p(d),h(!0)},onSelect:function(){const e=(0,i.ensureNotNull)(n.current);p(S(e))},maxLength:o}];function g(e){const t=m.current;return m.current=e,t}}function S(e){return e.selectionStart||0}function N(e){const{value:t,mask:n,onChange:o,...s}=e,a=(0,r.useRef)(null),[i,l,c]=E(n,t,a);return(0,r.useLayoutEffect)(()=>{void 0!==e.reference&&(e.reference.current=a.current)},[e.reference]),r.createElement(u.InputControl,{...s,maxLength:c.maxLength,value:i,autoComplete:"off",reference:function(e){a.current=e},onChange:function(){c.onChange(),o(l.current)},onSelect:c.onSelect})}var _=n(68335),w=n(50628),x=n(16396),T=n(55257);const k=(()=>{const e=[];for(let t=0;t<24;++t)for(let n=0;n<60;n+=15){const[o,r]=[M(t.toString()),M(n.toString())],s=`${o}:${r}`,a=R(s)?s:B(s);e.push(a)}return e})();function P(e){let t=!1;const n=(0,r.useRef)(null),o=(0,r.useRef)(null),s=(0,r.useRef)(null),l=(0,r.useRef)(null),[u,p]=(0,f.useFocus)(),[d,h]=(0,r.useState)(e.value),g=I(d),y=R(g)?g:B(g),[b,E]=(0,
|
|
r.useState)(y),S=u||F().some(e=>null!==e&&e.contains(document.activeElement));(0,r.useLayoutEffect)(()=>h(e.value),[e.value]),(0,r.useLayoutEffect)(()=>E(y),[d,S]),(0,r.useEffect)(()=>W(b===y?"auto":"smooth"),[b]);const P=(0,T.lowerbound)(k,y,(e,t)=>e<t);let M=k;k[P]!==y&&(M=[...k],M.splice(P,0,y));const D=(0,v.useOutsideEvent)({mouseDown:!0,touchStart:!0,handler:function(e){null!==o.current&&S&&e.target instanceof Node&&null!==s.current&&!s.current.contains(e.target)&&o.current.blur()}});return r.createElement("div",{className:a()(e.className),onKeyDown:function(e){if(e.defaultPrevented)return;const t=(0,_.hashFromEvent)(e.nativeEvent);if(38===t){e.preventDefault();const t=(M.indexOf(b)+M.length-1)%M.length;E(M[t])}if(40===t){e.preventDefault();const t=(M.indexOf(b)+M.length+1)%M.length;E(M[t])}},onFocus:function(e){z(e)||p.onFocus(e)},onBlur:function(e){z(e)||p.onBlur(e)},ref:D},r.createElement(N,{disabled:e.disabled,name:e.name,endSlot:r.createElement(c.EndSlot,{icon:!0},r.createElement(m,null)),reference:o,containerReference:n,mask:"09:00",value:d,onFocus:function(e){setTimeout(G,0)},onBlur:function(e){z(e)||O(d)},onChange:function(t){h(t),e.onInput&&e.onInput(t)},onKeyDown:function(e){if(e.defaultPrevented)return;const t=(0,_.hashFromEvent)(e.nativeEvent);13===t&&(e.preventDefault(),O(b),(0,i.ensureNotNull)(o.current).blur());27===t&&(e.preventDefault(),(0,i.ensureNotNull)(o.current).blur())}}),r.createElement(w.PopupMenu,{onOpen:function(){W()},onClose:function(){},position:function(){const e=(0,i.ensureNotNull)(n.current).getBoundingClientRect(),t=window.innerHeight-e.bottom,o=e.top;let r=231,s=e.bottom;if(r>o&&r>t){const n=(0,C.clamp)(r,0,o),a=(0,C.clamp)(r,0,t);r=Math.max(n,a),s=n>a?e.top-n:e.bottom}else r>t&&(s=e.top-r);return{x:e.left,y:s,overrideWidth:e.width,overrideHeight:r}},closeOnClickOutside:!1,isOpened:S,tabIndex:-1,reference:s},M.map(e=>r.createElement(x.PopupMenuItem,{key:e,label:e,isActive:e===y,isHovered:e===b,reference:e===b?V:void 0,onClick:A,onClickArg:e}))));function O(n){const o=I(n),r=R(o)?o:B(o);h(r),t||(t=!0,e.onChange(r))}function V(e){l.current=e}function A(e){O((0,i.ensureDefined)(e)),(0,i.ensureNotNull)(s.current).blur()}function z(e){return u&&(null!==L(document.activeElement)||null!==L(e.relatedTarget))}function L(e){return e instanceof Node&&F().find(t=>null!==t&&t.contains(e))||null}function F(){return[s.current,o.current]}function W(e="auto"){if(null!==l.current){const t=(0,i.ensureNotNull)(s.current).getBoundingClientRect(),n=l.current.getBoundingClientRect();(t.top>n.top||t.bottom<n.bottom)&&l.current.scrollIntoView({behavior:e})}}function G(){const e=o.current;if(null!==e){const t=e.value||"";e.setSelectionRange(0,t.length)}}}function I(e){const[t="",n=""]=e.split(":"),[o,r]=[M(t),D(n)];return`${o}:${r}`}function R(e){return/^(0?[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/g.test(e)}function B(e){const[t,n]=e.split(":"),[o,r]=[(0,C.clamp)(parseInt(t),0,23),(0,C.clamp)(parseInt(n),0,59)],[s,a]=[M(o.toString()),D(r.toString())];return`${s}:${a}`}function M(e){
|
|
return e.slice(0,2).padStart(2,"0")}function D(e){return e.slice(0,2).padEnd(2,"0")}const O=o.CheckMobile.any()?function(e){const{onChange:t,onFocus:n,value:o,className:s,...p}=e,d=(0,r.useRef)(null),[h,v]=(0,f.useFocus)(),C=(0,l.createSafeMulticastEventHandler)(v.onBlur,(function(){d.current&&o&&(d.current.defaultValue=o)}));return(0,r.useLayoutEffect)(()=>{d.current&&o&&(d.current.defaultValue=o)},[]),(0,r.useLayoutEffect)(()=>{d.current&&o&&(d.current.value=o)},[o]),r.createElement("div",{className:a()(g.wrap,s)},r.createElement(u.InputControl,{...p,type:"text",endSlot:r.createElement(c.EndSlot,{icon:!0},r.createElement(m,null)),value:o,highlight:h,intent:h?"primary":void 0,onFocus:function(e){(0,i.ensureNotNull)(d.current).focus(),n&&n(e)},onChange:function(){}}),r.createElement("input",{...v,disabled:e.disabled,className:g.input,type:"time",onBlur:C,onChange:function(e){const{value:n}=e.currentTarget;t&&n&&t(n)},ref:d}))}:P},86656:(e,t,n)=>{"use strict";n.d(t,{TouchScrollContainer:()=>i});var o=n(59496),r=n(59142),s=n(88537),a=n(49483);function i(e){const{reference:t,children:n,...s}=e,i=(0,o.useRef)(null),c=(0,o.useCallback)(e=>{t&&(t.current=e),a.CheckMobile.iOS()&&(null!==i.current&&(0,r.enableBodyScroll)(i.current),i.current=e,null!==i.current&&(0,r.disableBodyScroll)(i.current,{allowTouchMove:l(i)}))},[t]);return o.createElement("div",{ref:c,...s},n)}function l(e){return t=>{const n=(0,s.ensureNotNull)(e.current),o=document.activeElement;return!n.contains(t)||null!==o&&n.contains(o)&&o.contains(t)}}},36826:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M13.5 7l1.65-1.65a.5.5 0 0 0 0-.7l-1.8-1.8a.5.5 0 0 0-.7 0L11 4.5M13.5 7L11 4.5M13.5 7l-8.35 8.35a.5.5 0 0 1-.36.15H2.5v-2.3a.5.5 0 0 1 .15-.35L11 4.5"/></svg>'},60495:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M8 8.5h1.5V14"/><circle fill="currentColor" cx="9" cy="5" r="1"/><path stroke="currentColor" d="M16.5 9a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0z"/></svg>'},35692:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 17" width="17" height="17"><path fill="currentColor" d="M1 8.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0zM8.5 0a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17zM9 9V3H8v5H5v1h4z"/></svg>'}}]); |