@deephaven/embed-grid 0.37.4-beta.0 → 0.37.4-logout.1
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/App-cdc311d6.js +15 -0
- package/build/assets/App-cdc311d6.js.map +1 -0
- package/build/assets/App-ea5f1fdf.css +1 -0
- package/build/assets/index-071555f9.js +2 -0
- package/build/assets/{index-b177e5d5.js.map → index-071555f9.js.map} +1 -1
- package/build/assets/index-ac45f6b1.css +1 -0
- package/build/assets/index-e00abfae.js +8 -0
- package/build/assets/index-e00abfae.js.map +1 -0
- package/build/assets/plotly-2337700c.js +2 -0
- package/build/assets/plotly-2337700c.js.map +1 -0
- package/build/assets/useConnection-27dd9325.js +3 -0
- package/build/assets/useConnection-27dd9325.js.map +1 -0
- package/build/assets/useConnection-b843ad3a.css +1 -0
- package/build/assets/vendor-0f8246a9.js +907 -0
- package/build/assets/{vendor-5506ffbc.js.map → vendor-0f8246a9.js.map} +1 -1
- package/build/index.html +2 -2
- package/package.json +14 -14
- package/build/assets/App-6cba7d93.js +0 -16
- package/build/assets/App-6cba7d93.js.map +0 -1
- package/build/assets/App-eae30bb2.css +0 -1
- package/build/assets/index-3e3a3606.js +0 -2
- package/build/assets/index-3e3a3606.js.map +0 -1
- package/build/assets/index-b177e5d5.js +0 -2
- package/build/assets/plotly-4f1bd342.js +0 -2
- package/build/assets/plotly-4f1bd342.js.map +0 -1
- package/build/assets/useConnection-563173ac.js +0 -2
- package/build/assets/useConnection-563173ac.js.map +0 -1
- package/build/assets/vendor-5506ffbc.js +0 -907
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.popper-container{position:absolute;z-index:5000}.popper{background:#403e41;color:#f0f0ee;border-radius:4px;transition:visibility .15s,opacity .15s;pointer-events:none;outline:0}.popper .popper-content{position:relative;box-shadow:0 .1rem 1.5rem .25rem #1a171a73}.popper .popper-content .tooltip-content{text-align:center;padding:.25rem .5rem}.popper .popper-arrow{width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:#403e41}.popper.interactive{pointer-events:auto}.popper-transition-enter{opacity:0;transition:none}.popper-transition-exit{opacity:0;transition:all .15s}.popper-container[x-placement^=top]>.popper-transition-enter,.popper-container[x-placement^=top]>.popper-transition-exit{transform:scale(.92) translateY(10px)}.popper-container[x-placement^=right]>.popper-transition-enter,.popper-container[x-placement^=right]>.popper-transition-exit{transform:scale(.92) translate(-10px)}.popper-container[x-placement^=bottom]>.popper-transition-enter,.popper-container[x-placement^=bottom]>.popper-transition-exit{transform:scale(.92) translateY(-10px)}.popper-container[x-placement^=left]>.popper-transition-enter,.popper-container[x-placement^=left]>.popper-transition-exit{transform:scale(.92) translate(10px)}.popper-container[x-placement^=top]>.popper-transition-enter-active.popper,.popper-container[x-placement^=right]>.popper-transition-enter-active.popper,.popper-container[x-placement^=bottom]>.popper-transition-enter-active.popper,.popper-container[x-placement^=left]>.popper-transition-enter-active.popper{opacity:1;transform:none;transition:all .15s ease-out}.popper-container[x-placement^=top]>.popper{margin-bottom:5px}.popper-container[x-placement^=top]>.popper .popper-arrow{border-width:5px 5px 0 5px;border-left-color:transparent;border-right-color:transparent;border-bottom-color:transparent;bottom:-5px;margin-top:0;margin-bottom:0}.popper-container[x-placement^=bottom]>.popper{margin-top:5px}.popper-container[x-placement^=bottom]>.popper .popper-arrow{border-width:0 5px 5px 5px;border-left-color:transparent;border-right-color:transparent;border-top-color:transparent;top:-5px;margin-top:0;margin-bottom:0}.popper-container[x-placement^=right]>.popper{margin-left:5px}.popper-container[x-placement^=right]>.popper .popper-arrow{border-width:5px 5px 5px 0;border-left-color:transparent;border-top-color:transparent;border-bottom-color:transparent;left:-5px;margin-left:0;margin-right:0}.popper-container[x-placement^=left]>.popper{margin-right:5px}.popper-container[x-placement^=left]>.popper .popper-arrow{border-width:5px 0 5px 5px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;right:-5px;margin-left:0;margin-right:0}.context-actions-listener{display:none}.context-menu-root{position:fixed;height:100%;width:100%;top:0;left:0;pointer-events:none;z-index:1060}.context-menu-root.active{pointer-events:all}.context-menu-container{pointer-events:auto;position:fixed;background-color:#555356;color:#f0f0ee;z-index:initial;min-width:10rem;max-width:30rem;text-align:left;border-radius:4px;background-clip:border-box;box-shadow:0 .1rem 1rem #00000073;max-height:100vh;overflow-y:auto}.context-menu-container.has-overflow{overflow-y:scroll}.context-menu-container hr{margin-top:0;margin-bottom:0;background-color:#403e41}.context-menu-container .custom-menu-item{width:100%;color:#f0f0ee;white-space:nowrap;text-decoration:none;background-color:transparent;text-align:left}.context-menu-container .btn-context-menu{border:none;width:100%;padding:4px 8px;color:#f0f0ee;text-decoration:none;background-color:transparent;text-align:left;cursor:pointer;user-select:none}.context-menu-container .btn-context-menu .btn-context-menu-wrapper{display:flex;align-items:center;justify-content:flex-start}.context-menu-container .btn-context-menu .icon{margin-right:.5rem;width:1rem;flex-grow:0;text-align:center}.context-menu-container .btn-context-menu .icon.outline{stroke:#555356;stroke-width:60}.context-menu-container .btn-context-menu .title{flex:1 1 auto;text-align:left;white-space:nowrap}.context-menu-container .btn-context-menu .shortcut{color:#929192;margin-left:.5rem;justify-self:flex-end;flex:1 1 auto;text-align:right;white-space:nowrap}.context-menu-container .btn-context-menu .submenu-indicator{color:#f0f0ee;flex-grow:0;justify-self:flex-end}.context-menu-container .btn-context-menu .submenu-indicator.disabled{color:#929192}.context-menu-container .btn-context-menu.menu-title{user-select:none;cursor:default;background:#2d2a2e}.context-menu-container .btn-context-menu.keyboard-active{background-color:#4878ea80}.context-menu-container .btn-context-menu:focus,.context-menu-container .btn-context-menu.active{background-color:#4878ea}.context-menu-container .btn-context-menu:focus{outline:none}.context-menu-container .btn-context-menu.active,.context-menu-container .btn-context-menu.keyboard-active,.context-menu-container .btn-context-menu:focus:not(.disabled){color:#f0f0ee}.context-menu-container .btn-context-menu.active .shortcut,.context-menu-container .btn-context-menu.keyboard-active .shortcut,.context-menu-container .btn-context-menu:focus:not(.disabled) .shortcut{color:#a4bcf5}.context-menu-container .btn-context-menu.disabled{color:#929192;background-color:#555356}.context-menu-container .context-menu-item:last-child>.btn-context-menu{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.context-menu-container .context-menu-item:first-child>.btn-context-menu{border-top-left-radius:4px;border-top-right-radius:4px}.context-menu-container .context-menu-group-header{margin:.5rem .75rem .25rem;color:#c0bfbf;white-space:nowrap;text-decoration:none;background-color:transparent;text-align:left;cursor:default;user-select:none;font-weight:500;border-bottom:1px solid #5b5a5c}.context-menu-container .loading{padding:.25rem 1.5rem;width:100%;display:block;text-align:center}.context-menu-container:focus{outline:none}.search-group{position:relative}.search-group .form-control{padding-right:1.75rem}.search-group .search-icon{pointer-events:none;position:absolute;right:.5rem;top:0;bottom:0;height:100%;display:flex;align-items:center}.search-group ::-webkit-search-cancel-button{-webkit-appearance:none;height:16px;width:16px;background-repeat:no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23c0bfbf' d='M8 8.707l3.646 3.647.708-.707L8.707 8l3.647-3.646-.707-.708L8 7.293 4.354 3.646l-.707.708L7.293 8l-3.646 3.646.707.708L8 8.707z'/%3E%3C/svg%3E");transition:background-image .15s}.search-group ::-webkit-search-cancel-button:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fcfcfa' d='M8 8.707l3.646 3.647.708-.707L8.707 8l3.647-3.646-.707-.708L8 7.293 4.354 3.646l-.707.708L7.293 8l-3.646 3.646.707.708L8 8.707z' /%3E%3C/svg%3E")}.search-group .search-match{pointer-events:none;position:absolute;right:3rem;top:15%;bottom:15%;height:70%;display:flex;align-items:center;padding:0 .5rem;border-radius:1rem;background-color:#f0f0ee40}.cb-container{flex-wrap:nowrap}.cb-container .cb-input.is-invalid+.cb-dropdown .btn{border-color:#f95d84;color:#f95d84}.cb-menu-container .cb-search-input-container{padding:.5rem;width:100%;position:fixed}.cb-menu-container .cb-options-container{padding-top:calc(3.25rem + 2px)}.cb-menu-container .cb-options{max-height:200px;overflow:auto}.cb-menu-container .cb-option-btn{border:none;width:100%;color:#f0f0ee;padding:.375rem .75rem;white-space:nowrap;text-decoration:none;background-color:transparent;text-align:left;cursor:pointer;user-select:none;display:block}.cb-menu-container .cb-option-btn.keyboard-active{background-color:#4878ea80}.cb-menu-container .cb-option-btn:hover{color:#f0f0ee;background-color:#4878ea}.cb-menu-container .cb-option-btn:focus{outline:none}.cb-menu-container .cb-options:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.masked-input{font-family:Fira Sans,-apple-system,blinkmacsystemfont,Segoe UI,Roboto,Helvetica Neue,arial,sans-serif;font-variant-numeric:tabular-nums}.menu-actions-listener{display:none}.popper-container[x-placement^=top] .context-menu-container{margin-bottom:5px}.popper-container[x-placement^=right] .context-menu-container{margin-left:5px}.popper-container[x-placement^=bottom] .context-menu-container{margin-top:5px}.popper-container[x-placement^=left] .context-menu-container{margin-right:5px}.menu-popper{padding:0}.menu-popper .popper-content .context-menu-container{background-color:#403e41;position:relative;box-shadow:none;max-height:80vh;overflow:auto}.menu-popper .popper-content .context-menu-container .context-menu-container{position:absolute}.menu-popper .popper-content .popper-arrow{border-color:#403e41}.item-list-item{border:none;border-radius:0;display:flex;flex-direction:row;width:100%;padding:0;white-space:nowrap;text-decoration:none;background-color:transparent;text-align:left;user-select:none}.item-list-item-content{display:flex;flex-direction:row;flex-grow:1;padding:0 .75rem;justify-content:space-between;cursor:pointer}.item-list-item-content .title{flex-grow:1}.item-list-item-content:hover{background-color:#4878ea;color:#f0f0ee}.item-list-item.is-focused .item-list-item-content{background-color:#4878ea80;color:#f0f0ee}.item-list-item.active .item-list-item-content{background-color:#4878ea;color:#f0f0ee}.item-list-item:focus{outline:none;box-shadow:none}.item-list-scroll-pane{border:1px solid #929192;border-radius:4px}.item-list-scroll-pane:focus{outline:none}.item-list-scroll-pane .item-list-inner-element{position:relative}.draggable-item-list-dragging-item{display:flex;justify-content:space-between;align-items:center;margin:0 .5rem}.draggable-item-list-dragging-item .item-list-item-content{background-color:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;margin:0 0 .25rem;padding:.25rem .5rem;position:relative}.draggable-item-list-dragging-item:focus{outline:0}.draggable-item-list-dragging-item.two-dragged .item-list-item-content:before,.draggable-item-list-dragging-item.multiple-dragged .item-list-item-content:before{content:" ";background:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;position:absolute;height:100%;width:100%;top:4px;left:2px;opacity:.8;z-index:-1}.draggable-item-list-dragging-item.multiple-dragged .item-list-item-content:after{content:" ";background:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;position:absolute;height:100%;width:100%;top:7px;left:4px;opacity:.6;z-index:-2}.draggable-item-list-dragging-item .fa-grip-vertical{color:#929192}.draggable-item-list-dragging-item .title{flex-grow:1}.draggable-item-list-dragging-item .number-badge{padding:0 .5rem;border-radius:1rem;background-color:#f0f0ee40;margin-right:.25rem}.draggable-item-list .item-list-item{padding:0;display:flex}.draggable-item-list .item-list-item .draggable-item-list-item{display:flex;flex-grow:1;flex-direction:row;outline:none}.draggable-item-list .item-list-item .item-list-item-content{border-radius:4px;margin:0 .5rem .25rem;padding:.125rem .25rem 0 .5rem;border:1px solid transparent;line-height:1.5}.draggable-item-list .item-list-item .item-list-item-content:hover{background-color:#5b5a5c}.draggable-item-list .item-list-item.keyboard-active .item-list-item-content{background-color:transparent}.draggable-item-list .item-list-item.keyboard-active .item-list-item-content:hover{background-color:#5b5a5c}.draggable-item-list .item-list-item.active .item-list-item-content{background-color:#4878ea66}.draggable-item-list .item-list-item.active .item-list-item-content:hover{background-color:#4878ea}.draggable-item-list.is-dragging-from-this .item-list-item .draggable-item-list-item:focus .item-list-item-content,.draggable-item-list.is-dragging-over .item-list-item .draggable-item-list-item:focus .item-list-item-content{outline:0;border:1px solid transparent;box-shadow:none}.draggable-item-list.is-dragging-from-this .item-list-item .draggable-item-list-item .item-list-item-content:hover,.draggable-item-list.is-dragging-over .item-list-item .draggable-item-list-item .item-list-item-content:hover{background-color:transparent}.draggable-item-list.is-dragging-from-this .item-list-item.active .draggable-item-list-item .item-list-item-content,.draggable-item-list.is-dragging-over .item-list-item.active .draggable-item-list-item .item-list-item-content{background-color:#4878ea59}.draggable-item-list.is-dragging-over:not(.is-drop-disabled) .item-list-scroll-pane{background-image:linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.draggable-item-list-dragging-item-container:focus{outline:0}.btn-navigation-menu-item{display:flex;list-style:none;color:#c0bfbf;border-radius:0;text-align:left;margin:0;padding:.5rem .25rem .5rem 1rem;width:100%;text-decoration:none;border:1px solid transparent}.btn-navigation-menu-item .icon{width:25px}.btn-navigation-menu-item .shortcut{color:#929192;flex-grow:0;margin-left:.5rem;display:inline-block;text-align:right}.btn-navigation-menu-item .accessory{margin-left:auto;margin-right:.5rem}.btn-navigation-menu-item:focus{background:rgba(72,120,234,.12);border:1px solid #4878ea;box-shadow:0 0 0 .2rem #4878ea59;text-decoration:none}.btn-navigation-menu-item:hover{background:#4878ea;color:#f0f0ee;text-decoration:none}.btn-navigation-menu-item:hover .shortcut{color:#baccf7}.btn-navigation-menu-item:hover .btn-switch.active{box-shadow:0 0 0 1px #403e41}.btn-switch{font-size:.6rem;color:#c0bfbf;background:#373438;padding:0;min-width:40px;width:40px;overflow:hidden;border:1px solid #929192}.btn-switch .handle{position:relative;top:0;left:0;margin:1px;width:13px;height:13px;border-radius:13px;background-color:#c0bfbf;transform:translate(0);transition:transform .15s ease-in,background-color .15s}.btn-switch :before,.btn-switch :after{width:15px;text-align:center;font-weight:600;text-transform:uppercase;position:absolute;bottom:0;line-height:13px;color:#c0bfbf;letter-spacing:.75px;transition:opacity .15s}.btn-switch :before{content:"Off";left:17px;text-align:right}.btn-switch :after{content:"On";color:#f0f0ee;left:-16px;text-align:left;opacity:0}.btn-switch:focus{outline:none;box-shadow:0 0 0 .2rem #4878ea59;border-color:#4878ead9}.btn-switch.active{background:#4878ea;transition:background-color .15s;border-color:#4878ea}.btn-switch.active:focus{border-color:#4878ead9}.btn-switch.active .handle{transform:translate(23px);transition:transform .15s ease-in}.btn-switch.active :before{opacity:0}.btn-switch.active :after{opacity:1}.btn-switch:hover:not(:disabled) .handle{background-color:#fcfcfa}.btn-switch.is-invalid,.btn-switch:focus.is-invalid{border-color:#f95d84}.btn-switch.is-invalid.active,.btn-switch:focus.is-invalid.active{border-color:#f95d84;background-color:#f95d84}.btn-switch:disabled{background-color:#373438;border-color:#1a171a;cursor:not-allowed}.btn-switch:disabled.active{border-color:#1a171a}.btn-switch:disabled.active .handle{background-color:#5b5a5c}.navigation-menu-view{display:flex;flex-direction:column}.navigation-menu-view .navigation-menu-list{padding:.25rem 0;text-align:left;overflow:auto;flex-grow:1}.navigation-page{display:flex;flex-direction:column;height:100%;max-height:100%;font-family:Fira Sans,-apple-system,blinkmacsystemfont,Segoe UI,Roboto,Helvetica Neue,arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5}.navigation-page .navigation-title-bar{display:flex}.navigation-page .navigation-title-bar .navigation-title{font-weight:500;flex-grow:1;text-align:center;padding-top:.6em}.navigation-page .navigation-title-bar .btn-back{font-size:.9rem;text-decoration:none;padding:.25rem;margin:.25rem}.navigation-page .navigation-content{background-color:transparent;overflow:hidden;flex-grow:1;position:relative}.navigation-stack{position:relative;width:100%;height:100%;overflow:hidden}.navigation-stack .main-view,.navigation-stack .popping-view,.navigation-stack .pushing-view{width:100%;height:100%;background:#2d2a2e;position:absolute}.navigation-stack .pushing-view,.navigation-stack .popping-view{box-shadow:-4px 0 8px #1a171a73}.navigation-stack .popping-view{left:100%}.select-value-list-scroll-pane{overflow-x:hidden;overflow-y:auto;border:1px solid #929192;border-radius:4px;padding:.375rem 0}.select-value-list-scroll-pane.is-invalid{border-color:#f95d84d9}.select-value-list{position:relative}.select-value-list .select-value-list-content{width:100%;margin:0;list-style-type:none;padding:0}.select-value-list .select-value-list-content li{width:100%}.select-value-list .select-value-list-content .custom-control{margin:0;display:flex}.select-value-list .select-value-list-content .custom-control:hover{background:#5b5a5c}.select-value-list .select-value-list-content .custom-control .custom-control-label{margin-left:.75rem;flex-grow:1;cursor:pointer}.grid-canvas{display:block}.grid-canvas:focus{outline:none}.grid-cursor-default{cursor:default}.grid-cursor-move{cursor:grabbing}.grid-cursor-not-allowed{cursor:not-allowed}.grid-cursor-s-resize{cursor:s-resize}.grid-cursor-row-resize{cursor:row-resize}.grid-cursor-e-resize{cursor:e-resize}.grid-cursor-col-resize{cursor:col-resize}.grid-cursor-pointer{cursor:pointer}.grid-block-events{pointer-events:none}.grid-cell-input-field{color:#e5e5e5;background:#393939;border:none;width:100%;height:100%;padding:2px 5px 3px;border-radius:2px;resize:none}.grid-cell-input-field:focus{outline:none;border:none;box-shadow:0 0 0 2px #00f}.grid-cell-input-field.error{color:red}.grid-cell-input-field.error:focus{box-shadow:0 0 0 2px red}.iris-grid-bottom-bar{position:absolute;bottom:-50px;left:0;right:0;height:100px;background-color:#343e5d;color:#f0f0ee;display:flex;flex-direction:row;align-content:center;padding-left:1em;padding-right:1em;padding-bottom:50px}.iris-grid-bottom-bar .status-message,.iris-grid-bottom-bar .error-message{flex-grow:1;flex-shrink:1;font-weight:600;margin-right:1em;overflow:hidden;display:flex;flex-direction:row;align-items:center;margin-top:-4px;user-select:none}.iris-grid-bottom-bar .status-message span,.iris-grid-bottom-bar .error-message span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.iris-grid-bottom-bar .status-message .svg-inline--fa,.iris-grid-bottom-bar .error-message .svg-inline--fa{margin-right:.5rem}.iris-grid-bottom-bar .error-message{color:#f95d84}.iris-grid-bottom-bar .buttons-container{flex-grow:0;display:flex;flex-direction:row;align-items:center}.iris-grid-bottom-bar .buttons-container .btn{min-width:10rem}.iris-grid-bottom-bar .buttons-container .btn .svg-inline--fa{margin-right:.5rem}.iris-grid-bottom-bar .buttons-container .btn:not(:last-child){margin-right:.5em}.iris-grid-bottom-bar-slide-up-enter{transform:translate3d(0,100%,0)}.iris-grid-bottom-bar-slide-up-enter-active{transform:initial;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.iris-grid-bottom-bar-slide-up-enter-done{position:relative;bottom:0;padding-bottom:0;height:50px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.iris-grid-bottom-bar-slide-up-exit{transform:initial}.iris-grid-bottom-bar-slide-up-exit-active{transform:translate3d(0,100%,0);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.pending-data-bottom-bar{background-color:#2d2a2e}.pending-data-bottom-bar .buttons-container .btn-outline-primary{color:#fcfcfa;border-color:#fcfcfa}.pending-data-bottom-bar .buttons-container .btn-outline-primary:hover{background-color:#f83666}.iris-grid-copy-handler{position:absolute;bottom:-50px;left:0;right:0;height:100px;background-color:#343e5d;color:#f0f0ee;display:flex;flex-direction:row;align-content:center;padding-left:1em;padding-right:1em;padding-bottom:50px}.iris-grid-copy-handler .status-message{flex-grow:1;font-weight:600;margin-right:1em;text-overflow:ellipsis;display:flex;flex-direction:row;align-items:center;margin-top:-4px;user-select:none}.iris-grid-copy-handler .buttons-container{flex-grow:0;display:flex;flex-direction:row;align-items:center}.iris-grid-copy-handler .buttons-container .btn{min-width:10rem}.iris-grid-copy-handler .buttons-container .btn-cancel{color:#fcfcfa;border-color:#fcfcfa;margin-right:.5em}.iris-grid-copy-handler .buttons-container .btn-copy:disabled{opacity:1}.copy-slide-up-enter{transform:translateY(50px)}.copy-slide-up-enter-active{transform:initial;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.copy-slide-up-exit{transform:initial}.copy-slide-up-exit-active{transform:translateY(50px);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.iris-grid-input-autosized-wrapper{position:absolute;display:inline-grid;height:100%;align-items:center;z-index:1}.iris-grid-input-autosized-wrapper .advanced-filter-button{position:absolute;top:2px;right:.25rem;height:23px;margin:0}.iris-grid-input-autosized-wrapper:after{content:attr(data-value) " ";width:auto;height:100%;border:1px solid;padding:6px 2px 3px 3px;margin-right:24px;overflow:hidden;visibility:hidden;white-space:nowrap;grid-area:1/1}.iris-grid-input-autosized-wrapper .iris-grid-input-field{position:absolute;color:#f0f0ee;background:#373438;border:1px solid #929192;width:100%;height:100%;padding:3px 2px 3px 3px;border-radius:1px}.iris-grid-input-autosized-wrapper .iris-grid-input-field.iris-grid-has-filter{background:#313849}.iris-grid-input-autosized-wrapper .iris-grid-input-field.active{background:#374d80}.iris-grid-input-autosized-wrapper .iris-grid-input-field:focus{outline:0;border:1px solid rgba(72,120,234,.85);box-shadow:0 0 0 .2rem #4878ea59}.iris-grid-input-autosized-wrapper .iris-grid-input-field.error{color:#f95d84}.iris-grid-input-autosized-wrapper .iris-grid-input-field.error:focus{box-shadow:inset 0 0 0 2px #f95d84,0 0 0 .2rem #4878ea59}.custom-format-title{margin-bottom:0;border:none;display:flex;width:100%;padding:.375rem .75rem;white-space:nowrap;text-decoration:none;background-color:transparent;text-align:left;cursor:pointer;user-select:none}.custom-format-title .icon{flex-grow:0;margin-right:.5rem;width:1rem;text-align:center}.custom-format-title .title{flex-grow:1}.iris-grid-filter-menu-item-value{user-select:none;background:#2d2a2e;border-radius:4px 4px 0 0;padding:.375rem 2rem;text-overflow:ellipsis;overflow:hidden}.advanced-filter-button-container{transition:.15s opacity}.advanced-filter-button-container.hidden{opacity:0}.column-statistics{min-width:175px;max-width:350px;color:#f0f0ee;text-align:left;font-size:small;font-weight:300}.column-statistics-title{padding-top:.25rem;font-weight:500}.column-statistics-title .column-statistics-copy{margin-left:2px;margin-top:-2px}.column-statistics-type{font-style:italic;color:#929192;font-weight:400;user-select:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.column-statistics-status{margin:.25rem 0 .25rem -1px}.column-statistics-grid{display:grid;grid-template-columns:auto auto;row-gap:.25rem;padding-top:.25rem}.column-statistics-grid>div{border-bottom:1px solid #5b5a5c}.column-statistics-grid>div:last-child,.column-statistics-grid>div:nth-last-child(2){border-bottom:none}.column-statistics-grid .column-statistics-unique-value{margin-left:1rem}.column-statistics-grid .column-statistic-operation{flex-grow:0;padding-right:1rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.column-statistics-grid .column-statistic-value{font-feature-settings:"tnum";text-align:right;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.column-statistics .btn-link{text-decoration:underline;padding-top:0;padding-bottom:0}.column-statistics-loading,.column-statistics-loading .loading{padding-bottom:2px;display:inline-block;color:#929192}:export{grid-bg:#211f22;font:12px Fira Sans,sans-serif;white:#f0f0ee;black:#1a171a;header-bg:#2d2a2e;header-color:#f0f0ee;header-height:30px;header-separator-color:#211f22;header-separator-hover-color:#929192;header-hidden-separator-hover-color:#4878ea;header-sort-bar-color:#aa9af4;header-reverse-bar-color:#548d29;header-bar-casing-color:#211f22;header-font:600 12px Fira Sans,sans-serif;row-height:19px;row-background-colors:#373438 #2d2a2e;selection-color:rgba(118,217,228,.09);selection-outline-color:#76d9e4;selection-outline-casing-color:#211f22;row-hover-bg:#4b494c;selected-row-hover-bg:rgba(118,217,228,.25);scroll-bar-active-selection-tick-color:rgba(118,217,228,.5);scroll-bar-bg:#322f33;scroll-bar-hover-bg:#373438;scroll-bar-casing-color:#555356;scroll-bar-corner-color:#322f33;scroll-bar-color:#5b5a5c;scroll-bar-hover-color:#929192;scroll-bar-active-color:#c0bfbf;text-color:#f0f0ee;hyperlink-color:#4878ea;positive-number-color:#9edc6f;negative-number-color:#f95d84;zero-number-color:#fcd65b;date-color:#fcd65b;pending-text-color:#fde38d;error-text-color:#f95d84;null-string-color:#929192;filter-bar-active-bg:#425175;filter-bar-active-color:#4878ea;filter-bar-expanded-bg:#373438;filter-bar-expanded-active-bg:#313849;filter-bar-expanded-active-cell-bg:#374d80;filter-bar-separator-color:#929192;filter-bar-error-color:#f95d84;filter-icon-color:#4878ea;scrim-color:#211f22;context-menu-sort-icon-color:#aa9af4;context-menu-reverse-icon-color:#548d29;linker-column-hover-bg:rgba(118,217,228,.09);tree-line-color:#5b5a5c;tree-marker-color:#c0bfbf;tree-marker-hover-color:#fcfcfa;grouped-column-divider-color:#1a171a;floating-grid-row-color:#555356;floating-row-background-colors:#403e41;floating-divider-inner-color:#403e41;floating-divider-outer-color:#211f22;overflow-button-color:#c0bfbf;overflow-button-hover-color:#fcfcfa}.iris-grid{width:100%;height:100%;position:relative;display:flex;flex-direction:row;overflow:hidden}.iris-grid .iris-grid-column{flex:1 1;min-width:0;transition:all .2s;display:flex;flex-direction:column;position:relative}.iris-grid .table-sidebar{height:100%;flex:0 0 320px;width:320px;max-width:320px;background:#403e41;box-shadow:-4px 0 8px #1a171a73;z-index:1;position:absolute;right:0}.iris-grid .table-sidebar .pushing-view,.iris-grid .table-sidebar .popping-view,.iris-grid .table-sidebar .main-view{background:#403e41}.iris-grid .table-sidebar.slide-left-enter-done{position:relative}.iris-grid .table-sidebar .navigation-content{overflow-y:auto}.iris-grid .section-title{padding:1rem 0;font-weight:500;text-align:left}.iris-grid .section-footer{flex-grow:2;display:flex;justify-content:flex-end;margin-bottom:1rem}.iris-grid .grid-wrapper{flex:1 1 0;max-width:100%;max-height:100%;min-width:0;min-height:0;position:relative;font:12px fira sans,sans-serif;font-feature-settings:"tnum";transition:all .2s}.iris-grid .grid-wrapper .grid-settings-button{position:absolute;top:0;right:0;height:30px;width:30px;background-color:#2d2a2e;border-bottom:1px solid #211f22;transition:transform .2s ease-out,opacity .2s ease-out}.iris-grid .grid-wrapper .grid-settings-button .btn{height:100%;width:100%}.iris-grid .grid-wrapper .grid-settings-button .btn:after{border-radius:0}.iris-grid .grid-wrapper .grid-settings-button .btn:focus:after{box-shadow:none}.iris-grid .grid-wrapper .grid-settings-button.is-menu-shown{opacity:0}.iris-grid .grid-wrapper .grid-cell-input-field{color:#f0f0ee;background:#373438}.iris-grid .grid-wrapper .grid-cell-input-field:focus{box-shadow:0 0 0 2px #76d9e4,0 0 0 5px #76d9e440}.iris-grid .grid-wrapper .grid-cell-input-field.error{color:#f95d84}.iris-grid .grid-wrapper .grid-cell-input-field.error:focus{box-shadow:0 0 0 2px #f95d84,0 0 0 5px #f95d8440}.iris-grid-loading{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;align-content:center}.iris-grid-loading-status{display:flex;position:absolute;bottom:0;left:0;z-index:30;min-width:min(320px,100%)}.iris-grid-loading-status .iris-grid-loading-status-bar{position:relative;padding:5px;background:#2d2a2e;color:#c0bfbf;border-top:1px solid #5b5a5c;border-right:1px solid #5b5a5c;overflow:hidden;word-wrap:break-word;z-index:2;flex-grow:1}.iris-grid-loading-status .iris-grid-loading-status-bar:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;z-index:-1;background:#4878ea;transform-origin:0% 50%;opacity:0}.iris-grid-loading-status .iris-grid-loading-status-bar.show:after{opacity:1;animation:1.5s indeterminateAnimation infinite linear}@keyframes indeterminateAnimation{0%{transform:translate(-50%) scaleX(.5)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}.iris-grid-loading-status .iris-grid-btn-cancel{z-index:1;opacity:0;border:1px solid #5b5a5c;border-left:0;border-bottom:0;padding:0 7px 2px 4px;background:#2d2a2e;color:#c0bfbf;transform:translate(-100%);transition:all .1s ease-out 0s;white-space:nowrap;outline-offset:-1px;outline:#4878ea}.iris-grid-loading-status .iris-grid-btn-cancel:hover{color:#f0f0ee;background:#f95d84}.iris-grid-loading-status .iris-grid-btn-cancel:focus{outline:1px solid #4878ea}.iris-grid-loading-status .iris-grid-btn-cancel:active{background:#f83666}.iris-grid-loading-status .iris-grid-btn-cancel:active:focus{outline-color:#f95d84}.iris-grid-loading-status .iris-grid-btn-cancel.show{opacity:1;transform:translate(0);transition:all .25s ease-out .1s}.advanced-filter-button-container{background:none}.advanced-filter-button-container .advanced-filter-button{height:23px;margin:0}.advanced-filter-button-container .advanced-filter-button .filter-solid{opacity:0;transition:.15s opacity}.advanced-filter-button-container .advanced-filter-button .filter-light{opacity:1;transition:.15s opacity}.advanced-filter-button-container .advanced-filter-button.filter-set .filter-solid,.advanced-filter-button-container .advanced-filter-button:hover .filter-solid{opacity:1}.advanced-filter-button-container .advanced-filter-button.filter-set .filter-light,.advanced-filter-button-container .advanced-filter-button:hover .filter-light{opacity:0}.advanced-filter-button-container .advanced-filter-button:hover{color:#403e41}.advanced-filter-button-container .advanced-filter-button:hover .filter-solid{color:#4878ea}.advanced-filter-menu-popper{background:#403e41}.advanced-filter-menu-popper .popper-content .advanced-filter-creator{max-height:550px;overflow-y:auto;background:#403e41;width:320px;box-shadow:none}.advanced-filter-menu-popper .popper-content .popper-arrow{border-color:#403e41}.advanced-filter-menu-container{pointer-events:none;visibility:hidden}.iris-grid-bar{overflow:hidden;flex:0 0 auto}.iris-grid-bar.iris-grid-bar-horizontal-enter{max-height:0}.iris-grid-bar.iris-grid-bar-horizontal-enter-active{transition:background-color 1s ease-in,max-height .15s ease-in;max-height:250px}.iris-grid-bar.iris-grid-bar-horizontal-enter-done{max-height:250px}.iris-grid-bar.iris-grid-bar-horizontal-exit{max-height:250px;transition:max-height .15s ease-out}.iris-grid-bar.iris-grid-bar-horizontal-exit-active,.iris-grid-bar.iris-grid-bar-horizontal-exit-done{max-height:0}.iris-grid-bar.iris-grid-bar-vertical-enter{max-width:0}.iris-grid-bar.iris-grid-bar-vertical-enter-active{transition:background-color 1s ease-in,max-width .15s ease-in;max-width:320px}.iris-grid-bar.iris-grid-bar-vertical-enter-done{max-width:320px}.iris-grid-bar.iris-grid-bar-vertical-exit{max-width:320px;transition:max-width .15s ease-out}.iris-grid-bar.iris-grid-bar-vertical-exit-active,.iris-grid-bar.iris-grid-bar-vertical-exit-done{max-width:0}.iris-grid-bar-primary{background-color:#343e5d}.iris-grid-bar-primary.iris-grid-bar-horizontal-enter,.iris-grid-bar-primary.iris-grid-bar-vertical-enter{background-color:#4878ea}.link-hover-tooltip{text-align:left;max-width:500px;overflow-wrap:break-word}.advanced-filter-creator-filter-item input.error{color:#f95d84}.advanced-filter-creator-filter-item input.error:focus{box-shadow:inset 0 0 0 2px #f95d84,0 0 0 .2rem #4878ea59}.advanced-filter-creator-select-value .select-value-list-scroll-pane{min-height:120px;height:120px;max-height:120px;overflow-x:auto}.advanced-filter-creator-select-value .advanced-filter-creator-select-meta-row{display:flex;flex-wrap:wrap;justify-content:space-between;padding-top:.25rem}.advanced-filter-creator-select-value .row-count-info{padding-top:calc(.25rem + 2px);padding-bottom:calc(.25rem + 2px);color:#929192;user-select:none}.advanced-filter-creator-select-value .btn-link{color:#f0f0ee;text-decoration:underline}.advanced-filter-creator-select-value .btn-link:hover{color:#4878ea}.advanced-filter-creator-select-value .select-value-list-wrapper{position:relative;display:flex;background:#555356}.advanced-filter-creator-select-value .select-value-list-wrapper .value-list-item label{white-space:nowrap}.advanced-filter-creator-select-value .select-value-list-wrapper .loading-list{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;align-content:center}.advanced-filter-creator-select-value .select-value-list-wrapper .loading-list .fa-layers{margin:auto}.advanced-filter-creator{padding:.5rem .75rem}.advanced-filter-creator .btn-link{padding-left:.25rem;padding-right:.25rem}.advanced-filter-creator hr{margin:.5rem -.75rem;background:#373438}.advanced-filter-creator .form-row.justify-content-end{margin-right:0}.advanced-filter-creator .advanced-filter-column-name{padding-bottom:.5rem}.advanced-filter-creator .advanced-filter-column-name .column-type{font-style:italic;color:#929192;font-weight:400;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.advanced-filter-creator .title-bar{display:flex;align-items:baseline;user-select:none}.advanced-filter-creator .title-bar .advanced-filter-title{flex-grow:1}.advanced-filter-creator .advanced-filter-menu-buttons .sort-operator.btn{font-size:14px;color:#929192;text-decoration:none;padding-top:0;padding-bottom:0;margin-left:.5rem}.advanced-filter-creator .advanced-filter-menu-buttons .sort-operator.active{color:#f0f0ee}.advanced-filter-creator .add-filter-item,.advanced-filter-creator .advanced-filter-creator-filter-operator{user-select:none;padding-right:25px;padding-top:2px;padding-bottom:2px;margin-top:-1rem;transition:.15s opacity}.advanced-filter-creator .add-filter-item span,.advanced-filter-creator .advanced-filter-creator-filter-operator span{font-size:14px;padding-top:4px;padding-right:.25rem;color:#c0bfbf}.advanced-filter-creator .add-filter-item .btn-link.filter-operator,.advanced-filter-creator .add-filter-item .btn-link.btn-filter-item,.advanced-filter-creator .advanced-filter-creator-filter-operator .btn-link.filter-operator,.advanced-filter-creator .advanced-filter-creator-filter-operator .btn-link.btn-filter-item{font-size:12px;color:#f0f0ee;text-decoration:underline;margin-right:0}.advanced-filter-creator .add-filter-item .btn-link.filter-operator:hover,.advanced-filter-creator .add-filter-item .btn-link.btn-filter-item:hover,.advanced-filter-creator .advanced-filter-creator-filter-operator .btn-link.filter-operator:hover,.advanced-filter-creator .advanced-filter-creator-filter-operator .btn-link.btn-filter-item:hover{color:#4878ea;text-decoration:underline}.advanced-filter-creator .add-filter-item.hidden{transition:none;opacity:0;pointer-events:none}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator:not(.active){color:#929192}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator.btn-link{text-decoration:none}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator.btn-link.active{color:#f0f0ee}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator.btn-link.active:hover{color:#f0f0ee;cursor:default}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator.btn-link:hover{color:#4878ea}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator.btn-link:focus{text-decoration:underline}.aggregations{height:100%;display:flex;flex-direction:column}.aggregations hr{margin:.5rem;background-color:#211f22}.aggregations .form-inline{padding:.5rem}.aggregations .form-inline .btn-add{margin-left:.25rem}.aggregations .form-inline .custom-radio{margin-right:1rem}.aggregations .form-inline .custom-radio:first-of-type{margin-left:.5rem}.aggregations .draggable-item-list{flex-grow:1}.aggregations .draggable-item-list .item-list-scroll-pane{border:none}.aggregations .draggable-item-list .draggable-item-list-item-content{margin-right:0}.aggregations .draggable-item-list .draggable-item-list-item-content .title span{margin-left:.5rem}.aggregations .draggable-item-list .btn-link-icon{padding:0 .5rem;margin:-1px 0 .25rem .25rem}.aggregations .draggable-item-list .btn-link-icon:last-child{margin-right:.25rem}.aggregation-edit{display:flex;flex-direction:column;height:100%}.aggregation-edit .top-menu{background-color:#373438;padding:0 .5rem}.aggregation-edit .top-menu .form-inline .custom-control{padding-top:.5rem;padding-bottom:.5rem}.aggregation-edit .top-menu .form-inline .custom-control label{justify-content:left}.aggregation-edit .top-menu .form-inline .spacer{flex-grow:1}.aggregation-edit .top-menu .btn-link-icon{color:#929192}.aggregation-edit .top-menu .btn-link-icon.active{color:#f0f0ee}.aggregation-edit .aggregation-edit-item-list{flex-grow:1}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane{border:none}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item{padding-left:.5rem;padding-right:.5rem;display:flex}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item:hover label{background-color:#5b5a5c;color:#f0f0ee}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item .custom-control{flex-grow:1;display:flex}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item .custom-control label{padding-top:1px;padding-left:.5rem;padding-right:.5rem;flex-grow:1;border-radius:4px;margin-bottom:.5rem;border:1px solid transparent}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item .custom-control:focus-within label,.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item .custom-control input[type=checkbox]:active+label{background-color:#4878ea66;color:#f0f0ee}.chart-builder{padding-left:1.5em;padding-right:1.5em;user-select:none}.chart-builder label{font-weight:500;padding-right:.5em}.chart-builder .label-left{justify-content:left;padding-left:0}.chart-builder .label-right{justify-content:right;padding-right:0}.chart-builder .chart-builder-link{margin-top:.5em;margin-bottom:-.5em}.chart-builder .chart-builder-link .label-right{color:#929192}.chart-builder .chart-builder-link .label-right svg{margin-right:-1em}.chart-builder .chart-builder-link-info{color:#929192;font-size:.875em;padding-left:0;padding-right:0}.chart-builder hr{margin:.5em -2em;background:#373438}.chart-builder .col-chart-type{padding-left:2px;padding-right:2px}.chart-builder .btn-chart-type{font-size:smaller}.chart-builder .btn-reset{margin-right:.5em}.chart-builder .form-series-item:not(:first-child){margin-top:.5em}.input-editor-wrapper{position:relative;border:1px solid #929192;background:#555356;border-radius:4px}.input-editor-wrapper.focused{border-color:#4878ead9;box-shadow:0 0 0 .2rem #4878ea59}.input-editor-wrapper.invalid{border-color:#f95d84}.input-editor-wrapper .editor-container{min-height:69px}.input-editor-wrapper .editor-container .monaco-editor .margin,.input-editor-wrapper .editor-container .monaco-editor,.input-editor-wrapper .editor-container .monaco-editor-background,.input-editor-wrapper .editor-container .monaco-editor .inputarea.ime-input{background-color:#555356}.input-editor-wrapper .editor-placeholder{position:absolute;left:8px;top:10px;font-size:1rem;color:#f0f0ee;user-select:none}.custom-column-builder-container .section-title{padding:1rem}.custom-column-builder-container .droppable-container{padding:1px}.custom-column-builder-container .droppable-container.dragging{background-image:linear-gradient(to right,#403e41 50%,#f0f0ee 50%),linear-gradient(to right,#403e41 50%,#f0f0ee 50%),linear-gradient(to bottom,#403e41 50%,#f0f0ee 50%),linear-gradient(to bottom,#403e41 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.custom-column-builder-container .draggable-container{background:#403e41}.custom-column-builder-container .draggable-container .btn-drag-handle{cursor:grab}.custom-column-builder-container .draggable-container.dragging{background:#343e5d;box-shadow:0 .1rem 1rem #1a171a73}.custom-column-builder-container .custom-column-input-container{padding:1rem}.custom-column-builder-container .error-message{color:#f95d84;word-wrap:break-word;margin-bottom:1.5rem;font-size:1rem}.custom-column-builder-container .error-message p{margin-bottom:.25rem}.custom-column-builder-container .error-message .error-box{padding:.25rem;border-radius:4px;background:rgba(249,93,132,.13)}.custom-column-builder-container .custom-column-builder-footer{margin:1rem;display:flex;flex-direction:column}.custom-column-builder-container .custom-column-builder-footer .btn-apply{min-width:10rem}.custom-column-builder-container hr{background:#373438;margin:0;width:100%}.rollup-rows{display:flex;flex-direction:column;justify-content:flex-start;outline:0;margin:0;padding:0;height:100%}.rollup-rows .section-title{margin:0 .5rem;padding-bottom:0}.rollup-rows .top-menu,.rollup-rows .bottom-menu{display:flex;flex-direction:row;justify-content:space-between;padding:.25rem;z-index:2}.rollup-rows .top-menu .btn-link-icon,.rollup-rows .bottom-menu .btn-link-icon{min-width:1rem;padding:0 .5rem;margin-right:.25rem}.rollup-rows .top-menu .btn-link-icon:first-of-type,.rollup-rows .bottom-menu .btn-link-icon:first-of-type{margin-left:.25rem}.rollup-rows .top-menu .btn-link-icon.active,.rollup-rows .bottom-menu .btn-link-icon.active{color:#f0f0ee}.rollup-rows .top-menu .btn-link-icon:hover,.rollup-rows .bottom-menu .btn-link-icon:hover{color:#4878ea}.rollup-rows .top-menu .label,.rollup-rows .bottom-menu .label{font-weight:500}.rollup-rows .bottom-menu{margin-left:0;padding-left:.5rem;border-top:1px solid #1a171a;padding-top:.5rem}.rollup-rows .bottom-menu .custom-checkbox{font-size:smaller;margin-left:.25rem}.rollup-rows .bottom-menu .custom-checkbox .custom-control-label{padding-top:2px}.rollup-rows .item-list-scroll-pane{border:none;padding-top:0;padding-bottom:0}.rollup-rows .rollup-rows-group-by{display:flex;flex-direction:column;background-color:#373438}.rollup-rows .rollup-rows-group-by .draggable-item-list{flex-grow:1;transition:height .15s}.rollup-rows .rollup-rows-group-by .btn-delete-grouping{margin-right:.5rem;padding:0 .5rem}.rollup-rows .rollup-rows-group-by .placeholder{margin:.5rem;padding:1rem;text-align:center;border:dashed 1px}.rollup-rows .rollup-rows-available-columns{display:flex;flex-direction:column;background-color:#403e41;flex-grow:1}.rollup-rows .rollup-rows-available-columns .draggable-item-list{flex-grow:1}.rollup-rows.is-dragging .rollup-rows-group-by .placeholder{border:dashed 1px transparent;background-image:linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.rollup-rows.is-dragging .rollup-rows-group-by .item-list-scroll-pane{background-image:linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.rollup-rows.is-dragging .rollup-rows-available-columns .draggable-item-list:not(.is-dragging-from-this) .item-list-scroll-pane{background-image:linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.table-csv-exporter{padding:0 .5rem}.table-csv-exporter .custom-radio:not(:last-child){margin-bottom:.5rem}.table-csv-exporter .radio-input-row{display:flex;align-items:center}.table-csv-exporter .radio-input-row .form-control{min-width:0}.table-csv-exporter .radio-input-row>*:not(:last-child){margin-right:.25rem}.table-csv-exporter .checkbox-options{margin-bottom:.5rem}.table-csv-exporter .section-footer .error-message{color:#f95d84}.table-csv-exporter .section-footer .download-status{margin-bottom:1rem}.table-csv-exporter .section-footer .btn-downloading{align-self:flex-end;min-width:10rem}.visibility-ordering-builder{display:flex;flex-direction:column;height:100%;max-height:100%;outline:0}.visibility-ordering-builder .top-menu{display:flex;flex-direction:row;justify-content:space-between;align-items:center;background-color:#2d2a2e;padding:.25rem .5rem;z-index:2}.visibility-ordering-builder .top-menu .btn-link-icon{padding-left:.25rem;padding-right:.25rem}.visibility-ordering-builder .toggle-visibility-btn{flex-shrink:0;margin-right:.5rem}.visibility-ordering-builder .visibility-search{flex-grow:1;flex-shrink:1}.visibility-ordering-builder .visibility-ordering-list{overflow-y:auto;flex-grow:1}.visibility-ordering-builder .visibility-ordering-list hr{margin:.5rem 0;background-color:#2d2a2e}.visibility-ordering-builder .visibility-ordering-list-item{padding-left:.25rem}.visibility-ordering-builder .visibility-ordering-list-item.immovable:first-child{padding-top:.25rem}.visibility-ordering-builder .visibility-ordering-list-item.immovable .column-item{user-select:none;border:1px solid transparent;color:#929192;padding-left:32px}.visibility-ordering-builder .visibility-ordering-list-item.immovable .column-item:hover{background:transparent}.visibility-ordering-builder .visibility-ordering-list-item.immovable .column-name{overflow-x:hidden;text-overflow:ellipsis;padding-right:2px}.visibility-ordering-builder .vertical-divider{border-left:1px solid #1a171a;padding-right:.25rem;margin-left:.25rem;height:1rem}.visibility-ordering-builder .tree-container,.visibility-ordering-list .column-group button{padding:.25rem}.visibility-ordering-list .column-group .editing-container{padding:.25rem 0;display:flex;align-items:center;flex-grow:1}.visibility-ordering-list .column-group .editing-container input{flex-grow:1;margin-right:.25rem}.visibility-ordering-list .column-group .group-name-wrapper{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center}.visibility-ordering-list .column-group .group-name-wrapper .column-name{flex-grow:0}.visibility-ordering-list .column-group .group-name-wrapper .right-buttons{margin-left:auto;flex-shrink:0}.visibility-ordering-list .tree-item{position:relative;display:flex;gap:.25rem;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;flex-grow:1;min-width:0;border:1px solid transparent;user-select:none;border-radius:4px;padding:0 .25rem}.visibility-ordering-list .tree-item svg:not(.color-swatch){color:#929192}.visibility-ordering-list .tree-item:hover{background:#5b5a5c;cursor:grab}.visibility-ordering-list .tree-item.isSelected{background-color:#4878ea66}.visibility-ordering-list .tree-item.isSelected:hover{background-color:#4878ea}.visibility-ordering-list .tree-item.isSelected:hover svg:not(.color-swatch){color:#f0f0ee}.visibility-ordering-list .tree-item:focus{outline:0;border:1px solid rgba(72,120,234,.85);box-shadow:0 0 0 .2rem #4878ea59}.visibility-ordering-list .tree-item .column-name{flex-grow:1;flex-shrink:1;overflow-x:hidden;text-overflow:ellipsis}.visibility-ordering-list .tree-item .item-count{padding:0 .5rem;border-radius:1rem;background-color:#f0f0ee40;margin-right:.25rem}.visibility-ordering-list .marching-ants{background-image:linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.visibility-ordering-list .item-wrapper{list-style:none;box-sizing:border-box;margin-bottom:1px;width:100%;display:flex;flex-direction:row;flex-wrap:nowrap}.visibility-ordering-list .item-wrapper.clone{pointer-events:none;padding:0}.visibility-ordering-list .item-wrapper.clone .tree-item{opacity:1;background-color:#4878ea;box-shadow:0 .1rem 1rem #1a171a73}.visibility-ordering-list .item-wrapper.clone .tree-item svg:not(.color-swatch){color:#f0f0ee}.visibility-ordering-list .item-wrapper.clone .tree-item.two-dragged:before{content:" ";background:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;position:absolute;height:100%;width:100%;top:4px;left:2px;opacity:.8;z-index:-1}.visibility-ordering-list .item-wrapper.clone .tree-item.multiple-dragged:before{content:" ";background:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;position:absolute;height:100%;width:100%;top:4px;left:2px;opacity:.8;z-index:-1}.visibility-ordering-list .item-wrapper.clone .tree-item.multiple-dragged:after{content:" ";background:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;position:absolute;height:100%;width:100%;top:8px;left:4px;opacity:.6;z-index:-2}.visibility-ordering-list .item-wrapper.ghost{opacity:.5}.visibility-ordering-list .item-wrapper.ghost .tree-item>*{box-shadow:none;background-color:transparent}.visibility-ordering-list .item-wrapper.disableInteraction{pointer-events:none}.visibility-ordering-list .item-wrapper.disableInteraction:not(.ghost) .tree-item.isSelected{opacity:.3}.visibility-ordering-list .item-wrapper .depth-line{margin-left:calc(.5rem + 8.5px);margin-right:.25rem;margin-top:-1px;border-left:1px solid #555356}.cross-column-container{display:flex;flex-direction:row;margin:.25rem;align-items:stretch;flex:0 1 auto}.cross-column-container .cross-column-search{flex:1;margin-right:.25rem}.cross-column-popup{padding:.5rem 1rem .1rem}.cross-column-popup .cross-column-scroll{display:grid;grid-template-columns:max-content auto;grid-column-gap:.5rem;grid-row-gap:0;overflow-y:auto;max-height:15rem;padding:.2rem .5rem;border:1px solid #929192}.cross-column-button-bar{display:flex}.cross-column-button-bar :last-child{margin-left:auto}.iris-grid-partition-selector-search .iris-grid-partition-selector-search-list .item-list-scroll-pane{border:none}.iris-grid-partition-selector-search .iris-grid-partition-selector-search-empty,.iris-grid-partition-selector-search .iris-grid-partition-selector-loading{color:#929192;padding:.375rem .75rem;text-align:center}.iris-grid-partition-selector-search .search-container{padding:.25rem .5rem}.iris-grid-partition-selector-search .search-container .form-control{background-color:#5b5a5c}.iris-grid-partition-selector{display:flex;flex-wrap:wrap;background:transparent;vertical-align:middle}.iris-grid-partition-selector .status-message{text-overflow:ellipsis;display:flex;flex-direction:row;align-items:center;padding:.5em;white-space:nowrap}.iris-grid-partition-selector div{flex-grow:0}.iris-grid-partition-selector .input-group{width:auto;align-items:center}.iris-grid-partition-selector .input-group .form-control{background-color:transparent;border:2px solid #f0f0ee;border-right:none;height:2.25em}.iris-grid-partition-selector .input-group .btn{background-color:transparent;margin:0}.iris-grid-partition-selector .iris-grid-partition-selector-spacer{flex-grow:1}.iris-grid-partition-selector .btn-outline-primary{color:#f0f0ee;border-color:#f0f0ee;margin:.35em .3em;padding:.25em .5em}.iris-grid-partition-selector .btn-close{padding:0 .5em;margin:.25em .25em .25em 0;min-width:0}.select-distinct-builder-container{width:100%;height:100%;padding:0;overflow:auto;display:flex;justify-content:space-between;flex-flow:column}.select-distinct-builder-container .select-distinct-title{padding:1rem;font-weight:500;text-align:left}.select-distinct-builder-container .select-distinct-input-container{padding:1rem}.select-distinct-builder-container .select-distinct-builder-footer{margin:1rem;margin-bottom:auto;display:flex;flex-direction:column;padding-bottom:1rem}.select-distinct-builder-container .select-distinct-builder-hint{color:#929192;font-size:smaller}.select-distinct-builder-container .select-distinct-builder-hint .inline-code-snippet{display:inline;color:#fcd65b;font-family:Fira Mono,menlo,monaco,consolas,Liberation Mono,Courier New,monospace}.select-distinct-builder-container hr{background:#373438;margin:0;width:100%}.conditional-formatting-rules{padding:.25rem}.conditional-formatting-list-item{display:flex;flex-direction:row;margin-bottom:2px;padding:0 .25rem}.conditional-formatting-list-item:first-child{padding-top:.25rem}.conditional-formatting-list-item .formatting-item{border-radius:4px;display:flex;padding:.25rem;flex-grow:1;align-items:center;user-select:none;transition:color .12s ease-in-out,background-color .12s ease-in-out,border-color .12s ease-in-out,box-shadow .12s ease-in-out;border:1px solid transparent;line-height:1.5;cursor:pointer}.conditional-formatting-list-item .formatting-item .btn-drag-handle{cursor:grab}.conditional-formatting-list-item .formatting-item .rule-icon{padding-right:.5rem}.conditional-formatting-list-item .formatting-item .rule-icon-bg{min-width:2rem;height:2rem;display:flex;font-size:x-small;justify-content:center;align-items:center}.conditional-formatting-list-item .formatting-item .rule-title{overflow-x:hidden;text-overflow:ellipsis;padding-right:2px;display:flex;flex-grow:1}.conditional-formatting-list-item .formatting-item:focus{outline:0;border:1px solid rgba(72,120,234,.85);box-shadow:0 0 0 .2rem #4878ea59}.conditional-formatting-list-item .formatting-item:hover{background:#5b5a5c}.style-editor .cs-dropdown{display:flex;text-align:left;padding-left:.5rem;width:100%;justify-content:space-between;border-radius:4px;border:1px solid #929192;min-width:14rem}.style-editor .cs-dropdown:focus{border-color:#4878ead9}.style-editor .cs-dropdown .cs-caret{color:#929192}.style-dropdown-menu{border-radius:4px}.style-dropdown-menu .style-options{max-height:400px;overflow:auto}.style-dropdown-menu .style-option-btn{border:none;border-radius:0;width:100%;padding:.375rem .75rem;white-space:nowrap;text-decoration:none;background-color:transparent;text-align:left;cursor:pointer;user-select:none;display:block}.style-dropdown-menu .style-option-btn:hover{opacity:.8}.style-dropdown-menu .style-option-btn:focus{outline:none;box-shadow:none}.style-dropdown-menu .style-option-btn:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.style-dropdown-menu .style-option-btn:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.conditional-format-editor{padding:1rem}.conditional-format-editor .formatter-list{display:flex;justify-content:flex-start;padding-top:.5rem}.conditional-format-editor .formatter-type{margin:0 1rem 0 0;display:flex}.conditional-format-editor .btn-formatter-type{font-size:smaller;width:100%}.conditional-format-editor .color-select{padding:0 2em 0 .25em}.monaco-editor .detected-link{color:#929192}.cell-overflow-modal .modal-title{width:100%;display:flex;align-items:center;gap:.5rem}.cell-overflow-modal .modal-title .overflow-modal-title{margin:0;flex-grow:1}.cell-overflow-modal .modal-body{max-height:80vh;flex-shrink:1}.iris-grid-bottom-bar.goto-row{height:auto}.goto-row{background-color:#2d2a2e;border-top:1px solid #1a171a;display:block}.goto-row .goto-row-row{display:flex;padding:.5rem;justify-content:space-between;align-items:flex-start;gap:.5rem}.goto-row .goto-row-wrapper{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.goto-row .goto-row-text{min-width:10ch}.goto-row .goto-row-close{display:flex}.goto-row input{max-width:calc(1.5rem + 12ch)}.goto-row select{max-width:calc(1.5rem + 20ch)}.goto-row .is-inactive{color:#929192}.goto-row .goto-value-date-time-input{min-width:30ch}.App{position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;background:#1a171a;color:#f0f0ee}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as l,j as u,s as L,a as E,R as S,Q as O,T as N,U as $,V as T,W as I}from"./vendor-5506ffbc.js";import{L as h,ae as m}from"./index-b177e5d5.js";import{a as _,T as q,b as H,C as B,c as F}from"./useConnection-563173ac.js";import{d as Oe,e as Ne,u as Te}from"./useConnection-563173ac.js";import"./helpers-042e6b4d.js";import"./monaco-0851b9b6.js";const j=l.createContext(!1);function V({fontClassNames:e=["fira-sans-regular","fira-sans-bold","fira-mono"],children:n}){const[i,s]=l.useState(!1);return l.useEffect(function(){document.fonts.ready.then(()=>{s(!0)})},[]),u.jsxs(u.Fragment,{children:[u.jsx(j.Provider,{value:i,children:n}),u.jsx("div",{id:"preload-fonts",style:{visibility:"hidden",position:"absolute",top:-1e4},children:e.map(a=>u.jsx("p",{className:a,children:"preload"},a))})]})}function Y(e){if(e==null)return!1;const n=e;return n.Component!==void 0&&typeof n.isAvailable=="function"}const W="io.deephaven.auth.AnonymousAuthenticationHandler",f=h.module("AuthPluginAnonymous");function G({client:e,onSuccess:n,onFailure:i}){const[s,a]=l.useState(),t=_();return l.useEffect(()=>{let o=!1;async function c(){try{if(f.info("Logging in..."),await e.login({type:t.CoreClient.LOGIN_TYPE_ANONYMOUS}),o){f.info("Previous login result canceled");return}f.info("Logged in successfully."),n()}catch(r){if(o){f.info("Previous login failure canceled");return}f.error("Unable to login:",r),a(r),i(r)}}return c(),()=>{o=!0}},[e,t,i,n]),u.jsx(m,{"data-testid":"auth-anonymous-loading",isLoading:!0,isLoaded:!1,errorMessage:s!=null?`${s}`:null})}const J={Component:G,isAvailable:e=>e.includes(W)},D=J,x=h.module("MessageUtils"),Q="io.deephaven.message.LoginOptions.request";function z(e,n=L(),i){return{message:e,id:n,payload:i}}async function K(e,n=3e4){if(window.opener==null)throw new Error("window.opener is null, unable to send request.");return new Promise((i,s)=>{let a;const t=L(),o=c=>{const{data:r}=c;if(x.debug("Received message",r),(r==null?void 0:r.id)!==t){x.debug("Ignore message, id doesn't match",r);return}window.clearTimeout(a),window.removeEventListener("message",o),i(r.payload)};window.addEventListener("message",o),a=window.setTimeout(()=>{window.removeEventListener("message",o),s(new q("Request timed out"))},n),window.opener.postMessage(z(e,t),"*")})}const C=h.module("AuthPluginParent");function X(){return new URLSearchParams(window.location.search).get("authProvider")??""}function Z({client:e,onSuccess:n,onFailure:i}){const[s,a]=l.useState();return l.useEffect(()=>{async function t(){try{C.info("Logging in by delegating to parent window...");const o=await K(Q);await e.login(o),C.info("Logged in successfully."),n()}catch(o){C.error("Unable to login:",o),a(o),i(o)}}t()},[e,i,n]),u.jsx(m,{"data-testid":"auth-parent-loading",isLoading:!0,isLoaded:!1,errorMessage:s!=null?`${s}`:null})}const ee={Component:Z,isAvailable:()=>window.opener!=null&&X()==="parent"},ne=ee,p=h.module("AuthPluginPsk"),M="io.deephaven.authentication.psk.PskAuthenticationHandler";function te(){return new URLSearchParams(window.location.search).get("psk")??""}function oe({client:e,onSuccess:n,onFailure:i}){const[s,a]=l.useState(),[t]=l.useState(()=>te());return l.useEffect(()=>{let o=!1;async function c(){try{if(!t)throw new Error("No Pre-shared key token found. Add `psk=<token>` parameter to your URL");if(p.info("Logging in with found token..."),await e.login({type:M,token:t}),o){p.info("Previous login result canceled");return}p.info("Logged in successfully."),n()}catch(r){if(o){p.info("Previous login failure canceled");return}p.error("Unable to login:",r),a(r),i(r)}}return c(),()=>{o=!0}},[e,i,n,t]),u.jsx(m,{"data-testid":"auth-psk-loading",isLoading:!0,isLoaded:!1,errorMessage:s!=null?`${s}`:null})}const se={Component:oe,isAvailable:e=>e.includes(M)},ie=se,R={react:E,"react-dom":S,redux:O,"react-redux":N},re=$.createRequires(()=>R),ae=$.createRemoteComponent({requires:re}),ue=ae,le=T.createRequires(R),ce=I({requires:le}),de=ce,d=h.module("@deephaven/app-utils.PluginUtils");function Re(e,n){const i=new URL(`${n}.js`,e),s=E.forwardRef((a,t)=>u.jsx(ue,{url:i.href,render:({err:o,Component:c})=>{if(o!=null&&o!==""){const r=`Error loading plugin ${n} from ${i} due to ${o}`;return d.error(r),u.jsx("div",{className:"error-message",children:`${r}`})}return u.jsx(c,{ref:t,...a})}}));return s.pluginName=n,s.displayName="Plugin",s}async function ge(e){return await de(e)}async function fe(e){const n=await fetch(e);if(!n.ok)throw new Error(n.statusText);try{return await n.json()}catch{throw new Error("Could not be parsed as JSON")}}async function pe(e){d.debug("Loading plugins...");try{const n=await fe(`${e}/manifest.json`);if(!Array.isArray(n.plugins))throw new Error("Plugin manifest JSON does not contain plugins array");d.debug("Plugin manifest loaded:",n);const i=[];for(let t=0;t<n.plugins.length;t+=1){const{name:o,main:c}=n.plugins[t],r=`${e}/${o}/${c}`;i.push(ge(r))}const s=await Promise.allSettled(i),a=new Map;for(let t=0;t<s.length;t+=1){const o=s[t],{name:c}=n.plugins[t];o.status==="fulfilled"?a.set(c,o.value):d.error(`Unable to load plugin ${c}`,o.reason)}return d.info("Plugins loaded:",a),a}catch(n){return d.error("Unable to load plugins:",n),new Map}}function he(e){var n;return((n=e.get("AuthHandlers"))==null?void 0:n.split(","))??[]}function me(e,n,i){const s=he(n),a=[...e.entries()].filter(([,r])=>Y(r.AuthPlugin)).map(([r,g])=>[r,g.AuthPlugin]);a.push(...i??[]);const t=a.filter(([r,g])=>g.isAvailable(s));if(t.length===0)throw new Error(`No login plugins found, please register a login plugin for auth handlers: ${s}`);t.length>1&&d.warn("More than one login plugin available, will use the first one: ",t.map(([r])=>r).join(", "));const[o,c]=t[0];return d.info("Using LoginPlugin",o),c.Component}const v=l.createContext(null);function Pe({pluginsUrl:e,children:n}){const[i,s]=l.useState(null);return l.useEffect(function(){let t=!1;async function o(){const c=await pe(e);t||s(c)}return o(),()=>{t=!0}},[e]),u.jsx(v.Provider,{value:i,children:n})}const we=new Map([["@deephaven/auth-plugins.AuthPluginPsk",ie],["@deephaven/auth-plugins.AuthPluginParent",ne],["@deephaven/auth-plugins.AuthPluginAnonymous",D]]);function Ae({children:e}){const n=H(),i=l.useContext(v),[s,a]=l.useState(),[t,o]=l.useState(!1),[c,r]=l.useState();l.useEffect(function(){let w=!1;async function k(){try{const A=await n.getAuthConfigValues();w||a(new Map(A))}catch(A){w||r(A)}}return k(),()=>{w=!0}},[n]);const g=l.useMemo(()=>{if(!(i==null||s==null))try{return me(i,s,we)}catch(P){r(P)}},[s,i]),b=l.useCallback(()=>{o(!0)},[]),U=l.useCallback(P=>{o(!1),r(P)},[]),y=g==null||s==null;return y||c!=null?u.jsx(m,{isLoading:y,errorMessage:c!=null?`${c}`:void 0}):t?u.jsx(u.Fragment,{children:e}):u.jsx(g,{authConfigValues:s,client:n,onSuccess:b,onFailure:U})}function Ce(e){return new URL(e,`${window.location}`)}function ve(){return new URLSearchParams(window.location.search).get("envoyPrefix")}function ye(){const e=ve();return e!=null?{headers:{"envoy-prefix":e}}:{headers:{}}}function xe({children:e}){return l.useContext(j)?u.jsx(u.Fragment,{children:e}):u.jsx(m,{"data-testid":"fonts-loaded-loading"})}function be({apiUrl:e,fontClassNames:n,pluginsUrl:i,children:s}){const a=Ce(e).origin,t=ye();return u.jsx(V,{fontClassNames:n,children:u.jsx(B,{serverUrl:a,options:t,children:u.jsx(Pe,{pluginsUrl:i,children:u.jsx(Ae,{children:u.jsx(F,{children:u.jsx(xe,{children:s})})})})})})}function Ue(){const e=l.useContext(v);if(e==null)throw new Error("No Plugins available in usePlugins. Was code wrapped in PluginsBootstrap or PluginsContext.Provider?");return e}export{be as AppBootstrap,Ae as AuthBootstrap,B as ClientBootstrap,Oe as ClientContext,F as ConnectionBootstrap,Ne as ConnectionContext,V as FontBootstrap,xe as FontsLoaded,j as FontsLoadedContext,Pe as PluginsBootstrap,v as PluginsContext,ue as RemoteComponent,he as getAuthHandlers,me as getAuthPluginComponent,Ce as getBaseUrl,ye as getConnectOptions,ve as getEnvoyPrefix,Re as loadComponentPlugin,fe as loadJson,ge as loadModulePlugin,pe as loadModulePlugins,H as useClient,Te as useConnection,Ue as usePlugins};
|
|
2
|
-
//# sourceMappingURL=index-3e3a3606.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-3e3a3606.js","sources":["../../../app-utils/src/components/FontBootstrap.tsx","../../../auth-plugins/src/AuthPlugin.ts","../../../auth-plugins/src/AuthHandlerTypes.ts","../../../auth-plugins/src/AuthPluginAnonymous.tsx","../../../jsapi-utils/src/MessageUtils.ts","../../../auth-plugins/src/AuthPluginParent.tsx","../../../auth-plugins/src/AuthPluginPsk.tsx","../../../app-utils/src/plugins/remote-component.config.ts","../../../app-utils/src/plugins/RemoteComponent.ts","../../../app-utils/src/plugins/loadRemoteModule.ts","../../../app-utils/src/plugins/PluginUtils.tsx","../../../app-utils/src/components/PluginsBootstrap.tsx","../../../app-utils/src/components/AuthBootstrap.tsx","../../../app-utils/src/utils/ConnectUtils.ts","../../../app-utils/src/components/FontsLoaded.tsx","../../../app-utils/src/components/AppBootstrap.tsx","../../../app-utils/src/components/usePlugins.ts"],"sourcesContent":["import React, { createContext, useEffect, useState } from 'react';\nimport 'fira';\n\nexport const FontsLoadedContext = createContext<boolean>(false);\n\nexport type FontBootstrapProps = {\n /**\n * Class names of the font elements to pre load\n */\n fontClassNames?: string[];\n\n /**\n * The children to render wrapped with the FontsLoadedContext.\n * Note that it renders the children even if the fonts aren't loaded yet.\n */\n children: React.ReactNode;\n};\n\n/**\n * FontBootstrap component. Handles preloading fonts.\n */\nexport function FontBootstrap({\n fontClassNames = ['fira-sans-regular', 'fira-sans-bold', 'fira-mono'],\n children,\n}: FontBootstrapProps) {\n const [isLoaded, setIsLoaded] = useState(false);\n useEffect(function initFonts() {\n document.fonts.ready.then(() => {\n setIsLoaded(true);\n });\n }, []);\n\n return (\n <>\n <FontsLoadedContext.Provider value={isLoaded}>\n {children}\n </FontsLoadedContext.Provider>\n {/*\n Need to preload any monaco and Deephaven grid fonts.\n We hide text with all the fonts we need on the root app.jsx page\n Load the Fira Mono font so that Monaco calculates word wrapping properly.\n This element doesn't need to be visible, just load the font and stay hidden.\n https://github.com/microsoft/vscode/issues/88689\n Can be replaced with a rel=\"preload\" when firefox adds support\n https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content\n */}\n <div\n id=\"preload-fonts\"\n style={{ visibility: 'hidden', position: 'absolute', top: -10000 }}\n >\n {/* trigger loading of fonts needed by monaco and iris grid */}\n {fontClassNames.map(className => (\n <p key={className} className={className}>\n preload\n </p>\n ))}\n </div>\n </>\n );\n}\n\nexport default FontBootstrap;\n","import React from 'react';\nimport { CoreClient } from '@deephaven/jsapi-types';\n\n/**\n * Map from auth config keys to their values\n * E.g. Map { AuthHandlers → \"io.deephaven.auth.AnonymousAuthenticationHandler\" }\n */\nexport type AuthConfigMap = Map<string, string>;\n\n/**\n * Props for the auth plugin component to render\n */\nexport type AuthPluginProps = {\n /** Map from config keys to their values */\n authConfigValues: AuthConfigMap;\n\n /** Client to check auth configuration on */\n client: CoreClient;\n\n /** Called when authentication is sucessful */\n onSuccess(): void;\n\n /** Called when authentication fails */\n onFailure(error: unknown): void;\n};\n\nexport type AuthPluginComponent = React.FunctionComponent<AuthPluginProps>;\n\n/**\n * Whether the auth plugin is available given the current configuration\n */\nexport type AuthPluginIsAvailableFunction = (authHandlers: string[]) => boolean;\n\nexport type AuthPlugin = {\n Component: AuthPluginComponent;\n isAvailable: AuthPluginIsAvailableFunction;\n};\n\nexport function isAuthPlugin(plugin?: unknown): plugin is AuthPlugin {\n if (plugin == null) return false;\n const authPlugin = plugin as AuthPlugin;\n return (\n authPlugin.Component !== undefined &&\n typeof authPlugin.isAvailable === 'function'\n );\n}\n","export const AUTH_HANDLER_TYPE_ANONYMOUS =\n 'io.deephaven.auth.AnonymousAuthenticationHandler';\n\nexport const AUTH_HANDLER_TYPE_PSK =\n 'io.deephaven.authentication.psk.PskAuthenticationHandler';\n","import React, { useEffect, useState } from 'react';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport Log from '@deephaven/log';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { AUTH_HANDLER_TYPE_ANONYMOUS } from './AuthHandlerTypes';\nimport { AuthPlugin, AuthPluginProps } from './AuthPlugin';\n\nconst log = Log.module('AuthPluginAnonymous');\n\n/**\n * AuthPlugin that tries to login anonymously. Fails if anonymous login fails\n */\nfunction Component({\n client,\n onSuccess,\n onFailure,\n}: AuthPluginProps): JSX.Element {\n const [error, setError] = useState<unknown>();\n const dh = useApi();\n\n useEffect(() => {\n let isCanceled = false;\n async function login() {\n try {\n log.info('Logging in...');\n await client.login({ type: dh.CoreClient.LOGIN_TYPE_ANONYMOUS });\n if (isCanceled) {\n log.info('Previous login result canceled');\n return;\n }\n log.info('Logged in successfully.');\n onSuccess();\n } catch (e) {\n if (isCanceled) {\n log.info('Previous login failure canceled');\n return;\n }\n log.error('Unable to login:', e);\n setError(e);\n onFailure(e);\n }\n }\n login();\n return () => {\n isCanceled = true;\n };\n }, [client, dh, onFailure, onSuccess]);\n return (\n <LoadingOverlay\n data-testid=\"auth-anonymous-loading\"\n isLoading\n isLoaded={false}\n errorMessage={error != null ? `${error}` : null}\n />\n );\n}\n\nconst AuthPluginAnonymous: AuthPlugin = {\n Component,\n isAvailable: authHandlers =>\n authHandlers.includes(AUTH_HANDLER_TYPE_ANONYMOUS),\n};\n\nexport default AuthPluginAnonymous;\n","import shortid from 'shortid';\nimport Log from '@deephaven/log';\nimport { TimeoutError } from '@deephaven/utils';\n\nconst log = Log.module('MessageUtils');\n\nexport const LOGIN_OPTIONS_REQUEST =\n 'io.deephaven.message.LoginOptions.request';\n\nexport const SESSION_DETAILS_REQUEST =\n 'io.deephaven.message.SessionDetails.request';\n\nexport interface Message<T> {\n message: string;\n payload?: T;\n id: string;\n}\n\nexport interface Response<T> {\n id: string;\n payload: T;\n}\n\n/**\n * Make message object with optional payload\n * @param message Message string\n * @param id Unique message id\n * @param payload Payload to send\n * @returns Message\n */\nexport function makeMessage<T>(\n message: string,\n id = shortid(),\n payload?: T\n): Message<T> {\n return { message, id, payload };\n}\n\n/**\n * Make response object for given message id\n * @param messageId Id of the request message to respond to\n * @param payload Payload to respond with\n * @returns Response\n */\nexport function makeResponse<T>(messageId: string, payload: T): Response<T> {\n return { id: messageId, payload };\n}\n\n/**\n * Request data from the parent window and wait for response\n * @param request Request message to send to the parent window\n * @param timeout Timeout in ms\n * @returns Payload of the given type, or undefined\n */\nexport async function requestParentResponse<T>(\n request: string,\n timeout = 30000\n): Promise<T> {\n if (window.opener == null) {\n throw new Error('window.opener is null, unable to send request.');\n }\n return new Promise((resolve, reject) => {\n let timeoutId: number;\n const id = shortid();\n const listener = (event: MessageEvent<Response<T>>) => {\n const { data } = event;\n log.debug('Received message', data);\n if (data?.id !== id) {\n log.debug(\"Ignore message, id doesn't match\", data);\n return;\n }\n window.clearTimeout(timeoutId);\n window.removeEventListener('message', listener);\n resolve(data.payload);\n };\n window.addEventListener('message', listener);\n timeoutId = window.setTimeout(() => {\n window.removeEventListener('message', listener);\n reject(new TimeoutError('Request timed out'));\n }, timeout);\n window.opener.postMessage(makeMessage(request, id), '*');\n });\n}\n","import React, { useEffect, useState } from 'react';\nimport { LoginOptions } from '@deephaven/jsapi-types';\nimport {\n LOGIN_OPTIONS_REQUEST,\n requestParentResponse,\n} from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { AuthPlugin, AuthPluginProps } from './AuthPlugin';\n\nconst log = Log.module('AuthPluginParent');\n\nfunction getWindowAuthProvider(): string {\n return new URLSearchParams(window.location.search).get('authProvider') ?? '';\n}\n\n/**\n * AuthPlugin that tries to delegate to the parent window for authentication. Fails if there is no parent window.\n */\nfunction Component({\n client,\n onSuccess,\n onFailure,\n}: AuthPluginProps): JSX.Element {\n const [error, setError] = useState<unknown>();\n useEffect(() => {\n async function login() {\n try {\n log.info('Logging in by delegating to parent window...');\n const loginOptions = await requestParentResponse<LoginOptions>(\n LOGIN_OPTIONS_REQUEST\n );\n\n await client.login(loginOptions);\n log.info('Logged in successfully.');\n onSuccess();\n } catch (e) {\n log.error('Unable to login:', e);\n setError(e);\n onFailure(e);\n }\n }\n login();\n }, [client, onFailure, onSuccess]);\n return (\n <LoadingOverlay\n data-testid=\"auth-parent-loading\"\n isLoading\n isLoaded={false}\n errorMessage={error != null ? `${error}` : null}\n />\n );\n}\n\nconst AuthPluginParent: AuthPlugin = {\n Component,\n isAvailable: () =>\n window.opener != null && getWindowAuthProvider() === 'parent',\n};\n\nexport default AuthPluginParent;\n","import React, { useEffect, useState } from 'react';\nimport Log from '@deephaven/log';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { AuthPlugin, AuthPluginProps } from './AuthPlugin';\n\nconst log = Log.module('AuthPluginPsk');\n\nconst AUTH_TYPE = 'io.deephaven.authentication.psk.PskAuthenticationHandler';\n\nfunction getWindowToken(): string {\n return new URLSearchParams(window.location.search).get('psk') ?? '';\n}\n\n/**\n * AuthPlugin that tries to login using a pre-shared key.\n * Add the `psk=<token>` parameter to your URL string to set the token.\n */\nfunction Component({\n client,\n onSuccess,\n onFailure,\n}: AuthPluginProps): JSX.Element {\n const [error, setError] = useState<unknown>();\n const [token] = useState(() => getWindowToken());\n useEffect(() => {\n let isCanceled = false;\n async function login() {\n try {\n if (!token) {\n throw new Error(\n 'No Pre-shared key token found. Add `psk=<token>` parameter to your URL'\n );\n }\n log.info('Logging in with found token...');\n await client.login({ type: AUTH_TYPE, token });\n if (isCanceled) {\n log.info('Previous login result canceled');\n return;\n }\n log.info('Logged in successfully.');\n onSuccess();\n } catch (e) {\n if (isCanceled) {\n log.info('Previous login failure canceled');\n return;\n }\n log.error('Unable to login:', e);\n setError(e);\n onFailure(e);\n }\n }\n login();\n return () => {\n isCanceled = true;\n };\n }, [client, onFailure, onSuccess, token]);\n return (\n <LoadingOverlay\n data-testid=\"auth-psk-loading\"\n isLoading\n isLoaded={false}\n errorMessage={error != null ? `${error}` : null}\n />\n );\n}\n\nconst AuthPluginPsk: AuthPlugin = {\n Component,\n isAvailable: authHandlers => authHandlers.includes(AUTH_TYPE),\n};\n\nexport default AuthPluginPsk;\n","/* eslint-disable global-require */\n/**\n * remote-component.config.js\n *\n * Dependencies for Remote Components\n */\nimport react from 'react';\nimport * as redux from 'redux';\nimport * as reactRedux from 'react-redux';\nimport ReactDOM from 'react-dom';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const resolve = {\n react,\n 'react-dom': ReactDOM,\n redux,\n 'react-redux': reactRedux,\n};\n","import {\n createRemoteComponent,\n createRequires,\n} from '@paciolan/remote-component';\nimport { resolve } from './remote-component.config';\n\nconst requires = createRequires(() => resolve);\n\nexport const RemoteComponent = createRemoteComponent({ requires });\nexport default RemoteComponent;\n","import createLoadRemoteModule, {\n createRequires,\n} from '@paciolan/remote-module-loader';\nimport { resolve } from './remote-component.config';\n\nconst requires = createRequires(resolve);\n\nexport const loadRemoteModule: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (url: string): Promise<any>;\n} = createLoadRemoteModule({\n requires,\n});\n\nexport default loadRemoteModule;\n","import React, { ForwardRefExoticComponent } from 'react';\nimport {\n AuthPlugin,\n AuthPluginComponent,\n isAuthPlugin,\n} from '@deephaven/auth-plugins';\nimport Log from '@deephaven/log';\nimport RemoteComponent from './RemoteComponent';\nimport loadRemoteModule from './loadRemoteModule';\n\nconst log = Log.module('@deephaven/app-utils.PluginUtils');\n\n// A PluginModule. This interface should have new fields added to it from different levels of plugins.\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface PluginModule {}\n\nexport type PluginModuleMap = Map<string, PluginModule>;\n\n/**\n * Load a component plugin from the server.\n * @param baseURL Base URL of the plugin server\n * @param pluginName Name of the component plugin to load\n * @returns A lazily loaded JSX.Element from the plugin\n */\nexport function loadComponentPlugin(\n baseURL: URL,\n pluginName: string\n): ForwardRefExoticComponent<React.RefAttributes<unknown>> {\n const pluginUrl = new URL(`${pluginName}.js`, baseURL);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const Plugin: any = React.forwardRef((props, ref) => (\n <RemoteComponent\n url={pluginUrl.href}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n render={({ err, Component }: { err: unknown; Component: any }) => {\n if (err != null && err !== '') {\n const errorMessage = `Error loading plugin ${pluginName} from ${pluginUrl} due to ${err}`;\n log.error(errorMessage);\n return <div className=\"error-message\">{`${errorMessage}`}</div>;\n }\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <Component ref={ref} {...props} />;\n }}\n />\n ));\n Plugin.pluginName = pluginName;\n Plugin.displayName = 'Plugin';\n return Plugin;\n}\n\n/**\n * Imports a commonjs plugin module from the provided URL\n * @param pluginUrl The URL of the plugin to load\n * @returns The loaded module\n */\nexport async function loadModulePlugin(pluginUrl: string): Promise<unknown> {\n const myModule = await loadRemoteModule(pluginUrl);\n return myModule;\n}\n\n/**\n * Loads a JSON file and returns the JSON object\n * @param jsonUrl The URL of the JSON file to load\n * @returns The JSON object of the manifest file\n */\nexport async function loadJson(\n jsonUrl: string\n): Promise<{ plugins: { name: string; main: string }[] }> {\n const res = await fetch(jsonUrl);\n if (!res.ok) {\n throw new Error(res.statusText);\n }\n try {\n return await res.json();\n } catch {\n throw new Error('Could not be parsed as JSON');\n }\n}\n\n/**\n * Load all plugin modules available.\n * @param modulePluginsUrl The base URL of the module plugins to load\n * @returns A map from the name of the plugin to the plugin module that was loaded\n */\nexport async function loadModulePlugins(\n modulePluginsUrl: string\n): Promise<PluginModuleMap> {\n log.debug('Loading plugins...');\n try {\n const manifest = await loadJson(`${modulePluginsUrl}/manifest.json`);\n\n if (!Array.isArray(manifest.plugins)) {\n throw new Error('Plugin manifest JSON does not contain plugins array');\n }\n\n log.debug('Plugin manifest loaded:', manifest);\n const pluginPromises: Promise<unknown>[] = [];\n for (let i = 0; i < manifest.plugins.length; i += 1) {\n const { name, main } = manifest.plugins[i];\n const pluginMainUrl = `${modulePluginsUrl}/${name}/${main}`;\n pluginPromises.push(loadModulePlugin(pluginMainUrl));\n }\n const pluginModules = await Promise.allSettled(pluginPromises);\n\n const pluginMap: PluginModuleMap = new Map();\n for (let i = 0; i < pluginModules.length; i += 1) {\n const module = pluginModules[i];\n const { name } = manifest.plugins[i];\n if (module.status === 'fulfilled') {\n pluginMap.set(name, module.value as PluginModule);\n } else {\n log.error(`Unable to load plugin ${name}`, module.reason);\n }\n }\n log.info('Plugins loaded:', pluginMap);\n\n return pluginMap;\n } catch (e) {\n log.error('Unable to load plugins:', e);\n return new Map();\n }\n}\n\nexport function getAuthHandlers(\n authConfigValues: Map<string, string>\n): string[] {\n return authConfigValues.get('AuthHandlers')?.split(',') ?? [];\n}\n\n/**\n * Get the auth plugin component from the plugin map and current configuration\n * Throws if no auth plugin is available\n *\n * @param pluginMap Map of plugins loaded from the server\n * @param authConfigValues Auth config values from the server\n * @param corePlugins Map of core auth plugins to include in the list. They are added after the loaded plugins\n * @returns The auth plugin component to render\n */\nexport function getAuthPluginComponent(\n pluginMap: PluginModuleMap,\n authConfigValues: Map<string, string>,\n corePlugins?: Map<string, AuthPlugin>\n): AuthPluginComponent {\n const authHandlers = getAuthHandlers(authConfigValues);\n // Filter out all the plugins that are auth plugins, and then map them to [pluginName, AuthPlugin] pairs\n // Uses some pretty disgusting casting, because TypeScript wants to treat it as an (string | AuthPlugin)[] array instead\n const authPlugins = ([\n ...pluginMap.entries(),\n ].filter(([, plugin]: [string, { AuthPlugin?: AuthPlugin }]) =>\n isAuthPlugin(plugin.AuthPlugin)\n ) as [string, { AuthPlugin: AuthPlugin }][]).map(([name, plugin]) => [\n name,\n plugin.AuthPlugin,\n ]) as [string, AuthPlugin][];\n\n // Add all the core plugins in priority\n authPlugins.push(...(corePlugins ?? []));\n\n // Filter the available auth plugins\n\n const availableAuthPlugins = authPlugins.filter(([name, authPlugin]) =>\n authPlugin.isAvailable(authHandlers)\n );\n\n if (availableAuthPlugins.length === 0) {\n throw new Error(\n `No login plugins found, please register a login plugin for auth handlers: ${authHandlers}`\n );\n } else if (availableAuthPlugins.length > 1) {\n log.warn(\n 'More than one login plugin available, will use the first one: ',\n availableAuthPlugins.map(([name]) => name).join(', ')\n );\n }\n\n const [loginPluginName, NewLoginPlugin] = availableAuthPlugins[0];\n log.info('Using LoginPlugin', loginPluginName);\n\n return NewLoginPlugin.Component;\n}\n","import React, { createContext, useEffect, useState } from 'react';\nimport { PluginModuleMap, loadModulePlugins } from '../plugins';\n\nexport const PluginsContext = createContext<PluginModuleMap | null>(null);\n\nexport type PluginsBootstrapProps = {\n /**\n * Base URL of the plugins to load.\n */\n pluginsUrl: string;\n\n /**\n * The children to render wrapped with the PluginsContext.\n * Note that it renders the children even if the plugins aren't loaded yet.\n */\n children: React.ReactNode;\n};\n\n/**\n * PluginsBootstrap component. Handles loading the plugins.\n */\nexport function PluginsBootstrap({\n pluginsUrl,\n children,\n}: PluginsBootstrapProps) {\n const [plugins, setPlugins] = useState<PluginModuleMap | null>(null);\n useEffect(\n function initPlugins() {\n let isCancelled = false;\n async function loadPlugins() {\n const pluginModules = await loadModulePlugins(pluginsUrl);\n if (!isCancelled) {\n setPlugins(pluginModules);\n }\n }\n loadPlugins();\n return () => {\n isCancelled = true;\n };\n },\n [pluginsUrl]\n );\n\n return (\n <PluginsContext.Provider value={plugins}>\n {children}\n </PluginsContext.Provider>\n );\n}\n\nexport default PluginsBootstrap;\n","import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport {\n AuthConfigMap,\n AuthPluginAnonymous,\n AuthPluginParent,\n AuthPluginPsk,\n} from '@deephaven/auth-plugins';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { PluginsContext } from './PluginsBootstrap';\nimport { getAuthPluginComponent } from '../plugins';\nimport useClient from './useClient';\n\nexport type AuthBootstrapProps = {\n /**\n * The children to render after authentication is completed.\n */\n children: React.ReactNode;\n};\n\n/** Core auth plugins that are always loaded */\nconst CORE_AUTH_PLUGINS = new Map([\n ['@deephaven/auth-plugins.AuthPluginPsk', AuthPluginPsk],\n ['@deephaven/auth-plugins.AuthPluginParent', AuthPluginParent],\n ['@deephaven/auth-plugins.AuthPluginAnonymous', AuthPluginAnonymous],\n]);\n\n/**\n * AuthBootstrap component. Handles displaying the auth plugin and authenticating.\n */\nexport function AuthBootstrap({ children }: AuthBootstrapProps) {\n const client = useClient();\n // `useContext` instead of `usePlugins` so that we don't have to wait for the plugins to load\n // We want to load the auth config values in parallel with the plugins\n const plugins = useContext(PluginsContext);\n const [authConfig, setAuthConfig] = useState<AuthConfigMap>();\n const [isLoggedIn, setIsLoggedIn] = useState(false);\n const [error, setError] = useState<unknown>();\n\n useEffect(\n function initAuthConfigValues() {\n let isCancelled = false;\n async function loadAuthConfigValues() {\n try {\n const newAuthConfigValues = await client.getAuthConfigValues();\n if (!isCancelled) {\n setAuthConfig(new Map(newAuthConfigValues));\n }\n } catch (e) {\n if (!isCancelled) {\n setError(e);\n }\n }\n }\n loadAuthConfigValues();\n return () => {\n isCancelled = true;\n };\n },\n [client]\n );\n\n const AuthComponent = useMemo(() => {\n if (plugins == null || authConfig == null) {\n return undefined;\n }\n\n try {\n return getAuthPluginComponent(plugins, authConfig, CORE_AUTH_PLUGINS);\n } catch (e) {\n setError(e);\n }\n }, [authConfig, plugins]);\n\n const handleLoginSuccess = useCallback(() => {\n setIsLoggedIn(true);\n }, []);\n\n const handleLoginFailure = useCallback((e: unknown) => {\n setIsLoggedIn(false);\n setError(e);\n }, []);\n\n const isLoading = AuthComponent == null || authConfig == null;\n\n if (isLoading || error != null) {\n return (\n <LoadingOverlay\n isLoading={isLoading}\n errorMessage={error != null ? `${error}` : undefined}\n />\n );\n }\n if (!isLoggedIn) {\n return (\n <AuthComponent\n authConfigValues={authConfig}\n client={client}\n onSuccess={handleLoginSuccess}\n onFailure={handleLoginFailure}\n />\n );\n }\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}</>;\n}\n\nexport default AuthBootstrap;\n","import { ConnectOptions } from '@deephaven/jsapi-types';\n\n/**\n * Get the base URL of the API\n * @param apiUrl API URL\n * @returns URL for the base of the API\n */\nexport function getBaseUrl(apiUrl: string): URL {\n return new URL(apiUrl, `${window.location}`);\n}\n\n/**\n * Get the Envoy prefix header value\n * @returns Envoy prefix header value\n */\nexport function getEnvoyPrefix(): string | null {\n const searchParams = new URLSearchParams(window.location.search);\n return searchParams.get('envoyPrefix');\n}\n\nexport function getConnectOptions(): ConnectOptions {\n const envoyPrefix = getEnvoyPrefix();\n return envoyPrefix != null\n ? { headers: { 'envoy-prefix': envoyPrefix } }\n : { headers: {} };\n}\n","import React, { useContext } from 'react';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { FontsLoadedContext } from './FontBootstrap';\n\nexport type FontsLoadedProps = {\n /** Children to show when the fonts have completed loading */\n children: React.ReactNode;\n};\n\nexport function FontsLoaded({ children }: FontsLoadedProps) {\n const isFontsLoaded = useContext(FontsLoadedContext);\n\n if (!isFontsLoaded) {\n return <LoadingOverlay data-testid=\"fonts-loaded-loading\" />;\n }\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}</>;\n}\n\nexport default FontsLoaded;\n","import React from 'react';\nimport '@deephaven/components/scss/BaseStyleSheet.scss';\nimport FontBootstrap from './FontBootstrap';\nimport ClientBootstrap from './ClientBootstrap';\nimport PluginsBootstrap from './PluginsBootstrap';\nimport AuthBootstrap from './AuthBootstrap';\nimport ConnectionBootstrap from './ConnectionBootstrap';\nimport { getBaseUrl, getConnectOptions } from '../utils';\nimport FontsLoaded from './FontsLoaded';\n\nexport type AppBootstrapProps = {\n /** URL of the API to load. */\n apiUrl: string;\n\n /** URL of the plugins to load. */\n pluginsUrl: string;\n\n /** Font class names to load. */\n fontClassNames?: string[];\n\n /**\n * The children to render wrapped when everything is loaded and authenticated.\n */\n children: React.ReactNode;\n};\n\n/**\n * AppBootstrap component. Handles loading the fonts, client, and authentication.\n * Will display the children when everything is loaded and authenticated.\n */\nexport function AppBootstrap({\n apiUrl,\n fontClassNames,\n pluginsUrl,\n children,\n}: AppBootstrapProps) {\n const serverUrl = getBaseUrl(apiUrl).origin;\n const clientOptions = getConnectOptions();\n return (\n <FontBootstrap fontClassNames={fontClassNames}>\n <ClientBootstrap serverUrl={serverUrl} options={clientOptions}>\n <PluginsBootstrap pluginsUrl={pluginsUrl}>\n <AuthBootstrap>\n <ConnectionBootstrap>\n <FontsLoaded>{children}</FontsLoaded>\n </ConnectionBootstrap>\n </AuthBootstrap>\n </PluginsBootstrap>\n </ClientBootstrap>\n </FontBootstrap>\n );\n}\n\nexport default AppBootstrap;\n","import { useContext } from 'react';\nimport { PluginsContext } from './PluginsBootstrap';\n\nexport function usePlugins() {\n const plugins = useContext(PluginsContext);\n if (plugins == null) {\n throw new Error(\n 'No Plugins available in usePlugins. Was code wrapped in PluginsBootstrap or PluginsContext.Provider?'\n );\n }\n return plugins;\n}\n\nexport default usePlugins;\n"],"names":["FontsLoadedContext","createContext","FontBootstrap","fontClassNames","children","isLoaded","setIsLoaded","useState","useEffect","jsxs","Fragment","jsx","className","isAuthPlugin","plugin","authPlugin","AUTH_HANDLER_TYPE_ANONYMOUS","log","Log","Component","client","onSuccess","onFailure","error","setError","dh","useApi","isCanceled","login","e","LoadingOverlay","AuthPluginAnonymous","authHandlers","AuthPluginAnonymous$1","LOGIN_OPTIONS_REQUEST","makeMessage","message","id","shortid","payload","requestParentResponse","request","timeout","resolve","reject","timeoutId","listener","event","data","TimeoutError","getWindowAuthProvider","loginOptions","AuthPluginParent","AuthPluginParent$1","AUTH_TYPE","getWindowToken","token","AuthPluginPsk","AuthPluginPsk$1","react","ReactDOM","redux","reactRedux","requires","createRequires","RemoteComponent","createRemoteComponent","RemoteComponent$1","loadRemoteModule","createLoadRemoteModule","loadRemoteModule$1","loadComponentPlugin","baseURL","pluginName","pluginUrl","Plugin","React","props","ref","err","errorMessage","loadModulePlugin","loadJson","jsonUrl","res","loadModulePlugins","modulePluginsUrl","manifest","pluginPromises","i","name","main","pluginMainUrl","pluginModules","pluginMap","module","getAuthHandlers","authConfigValues","_a","getAuthPluginComponent","corePlugins","authPlugins","availableAuthPlugins","loginPluginName","NewLoginPlugin","PluginsContext","PluginsBootstrap","pluginsUrl","plugins","setPlugins","isCancelled","loadPlugins","CORE_AUTH_PLUGINS","AuthBootstrap","useClient","useContext","authConfig","setAuthConfig","isLoggedIn","setIsLoggedIn","loadAuthConfigValues","newAuthConfigValues","AuthComponent","useMemo","handleLoginSuccess","useCallback","handleLoginFailure","isLoading","getBaseUrl","apiUrl","getEnvoyPrefix","getConnectOptions","envoyPrefix","FontsLoaded","AppBootstrap","serverUrl","clientOptions","ClientBootstrap","ConnectionBootstrap","usePlugins"],"mappings":"gWAGa,MAAAA,EAAqBC,gBAAuB,EAAK,EAkBvD,SAASC,EAAc,CAC5B,eAAAC,EAAiB,CAAC,oBAAqB,iBAAkB,WAAW,EACpE,SAAAC,CACF,EAAuB,CACrB,KAAM,CAACC,EAAUC,CAAW,EAAIC,WAAS,EAAK,EAC9CC,OAAAA,EAAA,UAAU,UAAqB,CACpB,SAAA,MAAM,MAAM,KAAK,IAAM,CAC9BF,EAAY,EAAI,CAAA,CACjB,CACH,EAAG,CAAE,CAAA,EAIDG,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAAC,EAAA,IAACX,EAAmB,SAAnB,CAA4B,MAAOK,EACjC,SAAAD,EACH,EAUAO,EAAA,IAAC,MAAA,CACC,GAAG,gBACH,MAAO,CAAE,WAAY,SAAU,SAAU,WAAY,IAAK,IAAO,EAGhE,SAAAR,EAAe,IACdS,GAAAD,EAAA,IAAC,KAAkB,UAAAC,EAAsB,SAAA,SAAA,EAAjCA,CAER,CACD,CAAA,CACH,CACF,CAAA,CAAA,CAEJ,CCrBO,SAASC,EAAaC,EAAwC,CACnE,GAAIA,GAAU,KAAa,MAAA,GAC3B,MAAMC,EAAaD,EACnB,OACEC,EAAW,YAAc,QACzB,OAAOA,EAAW,aAAgB,UAEtC,CC7CO,MAAMC,EACX,mDCMIC,EAAMC,EAAI,OAAO,qBAAqB,EAK5C,SAASC,EAAU,CACjB,OAAAC,EACA,UAAAC,EACA,UAAAC,CACF,EAAiC,CAC/B,KAAM,CAACC,EAAOC,CAAQ,EAAIjB,EAAkB,SAAA,EACtCkB,EAAKC,IAEXlB,OAAAA,EAAAA,UAAU,IAAM,CACd,IAAImB,EAAa,GACjB,eAAeC,GAAQ,CACjB,GAAA,CAGF,GAFAX,EAAI,KAAK,eAAe,EACxB,MAAMG,EAAO,MAAM,CAAE,KAAMK,EAAG,WAAW,qBAAsB,EAC3DE,EAAY,CACdV,EAAI,KAAK,gCAAgC,EACzC,MACF,CACAA,EAAI,KAAK,yBAAyB,EACxBI,UACHQ,GACP,GAAIF,EAAY,CACdV,EAAI,KAAK,iCAAiC,EAC1C,MACF,CACIA,EAAA,MAAM,mBAAoBY,CAAC,EAC/BL,EAASK,CAAC,EACVP,EAAUO,CAAC,CACb,CACF,CACM,OAAAD,IACC,IAAM,CACED,EAAA,EAAA,GAEd,CAACP,EAAQK,EAAIH,EAAWD,CAAS,CAAC,EAEnCV,EAAA,IAACmB,EAAA,CACC,cAAY,yBACZ,UAAS,GACT,SAAU,GACV,aAAcP,GAAS,KAAO,GAAGA,IAAU,IAAA,CAAA,CAGjD,CAEA,MAAMQ,EAAkC,CAAA,UACtCZ,EACA,YAAaa,GACXA,EAAa,SAAShB,CAA2B,CACrD,EAEAiB,EAAeF,EC3DTd,EAAMC,EAAI,OAAO,cAAc,EAExBgB,EACX,4CAuBK,SAASC,EACdC,EACAC,EAAKC,EAAA,EACLC,EACY,CACL,MAAA,CAAE,QAAAH,EAAS,GAAAC,EAAI,QAAAE,EACxB,CAkBsB,eAAAC,EACpBC,EACAC,EAAU,IACE,CACR,GAAA,OAAO,QAAU,KACb,MAAA,IAAI,MAAM,gDAAgD,EAElE,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CAClC,IAAAC,EACJ,MAAMR,EAAKC,IACLQ,EAAYC,GAAqC,CAC/C,KAAA,CAAE,KAAAC,CAAS,EAAAD,EAEb,GADA9B,EAAA,MAAM,mBAAoB+B,CAAI,GAC9BA,GAAA,YAAAA,EAAM,MAAOX,EAAI,CACfpB,EAAA,MAAM,mCAAoC+B,CAAI,EAClD,MACF,CACA,OAAO,aAAaH,CAAS,EACtB,OAAA,oBAAoB,UAAWC,CAAQ,EAC9CH,EAAQK,EAAK,OAAO,CAAA,EAEf,OAAA,iBAAiB,UAAWF,CAAQ,EAC/BD,EAAA,OAAO,WAAW,IAAM,CAC3B,OAAA,oBAAoB,UAAWC,CAAQ,EACvCF,EAAA,IAAIK,EAAa,mBAAmB,CAAC,GAC3CP,CAAO,EACV,OAAO,OAAO,YAAYP,EAAYM,EAASJ,CAAE,EAAG,GAAG,CAAA,CACxD,CACH,CCxEA,MAAMpB,EAAMC,EAAI,OAAO,kBAAkB,EAEzC,SAASgC,GAAgC,CAChC,OAAA,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAI,cAAc,GAAK,EAC5E,CAKA,SAAS/B,EAAU,CACjB,OAAAC,EACA,UAAAC,EACA,UAAAC,CACF,EAAiC,CAC/B,KAAM,CAACC,EAAOC,CAAQ,EAAIjB,EAAkB,SAAA,EAC5CC,OAAAA,EAAAA,UAAU,IAAM,CACd,eAAeoB,GAAQ,CACjB,GAAA,CACFX,EAAI,KAAK,8CAA8C,EACvD,MAAMkC,EAAe,MAAMX,EACzBN,CAAA,EAGI,MAAAd,EAAO,MAAM+B,CAAY,EAC/BlC,EAAI,KAAK,yBAAyB,EACxBI,UACHQ,GACHZ,EAAA,MAAM,mBAAoBY,CAAC,EAC/BL,EAASK,CAAC,EACVP,EAAUO,CAAC,CACb,CACF,CACMD,GACL,EAAA,CAACR,EAAQE,EAAWD,CAAS,CAAC,EAE/BV,EAAA,IAACmB,EAAA,CACC,cAAY,sBACZ,UAAS,GACT,SAAU,GACV,aAAcP,GAAS,KAAO,GAAGA,IAAU,IAAA,CAAA,CAGjD,CAEA,MAAM6B,GAA+B,CAAA,UACnCjC,EACA,YAAa,IACX,OAAO,QAAU,MAAQ+B,EAA4B,IAAA,QACzD,EAEAG,GAAeD,GCvDTnC,EAAMC,EAAI,OAAO,eAAe,EAEhCoC,EAAY,2DAElB,SAASC,IAAyB,CACzB,OAAA,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAI,KAAK,GAAK,EACnE,CAMA,SAASpC,GAAU,CACjB,OAAAC,EACA,UAAAC,EACA,UAAAC,CACF,EAAiC,CAC/B,KAAM,CAACC,EAAOC,CAAQ,EAAIjB,EAAkB,SAAA,EACtC,CAACiD,CAAK,EAAIjD,EAAS,SAAA,IAAMgD,GAAgB,CAAA,EAC/C/C,OAAAA,EAAAA,UAAU,IAAM,CACd,IAAImB,EAAa,GACjB,eAAeC,GAAQ,CACjB,GAAA,CACF,GAAI,CAAC4B,EACH,MAAM,IAAI,MACR,wEAAA,EAKJ,GAFAvC,EAAI,KAAK,gCAAgC,EACzC,MAAMG,EAAO,MAAM,CAAE,KAAMkC,EAAW,MAAAE,EAAO,EACzC7B,EAAY,CACdV,EAAI,KAAK,gCAAgC,EACzC,MACF,CACAA,EAAI,KAAK,yBAAyB,EACxBI,UACHQ,GACP,GAAIF,EAAY,CACdV,EAAI,KAAK,iCAAiC,EAC1C,MACF,CACIA,EAAA,MAAM,mBAAoBY,CAAC,EAC/BL,EAASK,CAAC,EACVP,EAAUO,CAAC,CACb,CACF,CACM,OAAAD,IACC,IAAM,CACED,EAAA,EAAA,GAEd,CAACP,EAAQE,EAAWD,EAAWmC,CAAK,CAAC,EAEtC7C,EAAA,IAACmB,EAAA,CACC,cAAY,mBACZ,UAAS,GACT,SAAU,GACV,aAAcP,GAAS,KAAO,GAAGA,IAAU,IAAA,CAAA,CAGjD,CAEA,MAAMkC,GAA4B,CAChC,UAAAtC,GACA,YAAaa,GAAgBA,EAAa,SAASsB,CAAS,CAC9D,EAEAI,GAAeD,GC3DFd,EAAU,CAAA,MACrBgB,EACA,YAAaC,EACb,MAAAC,EACA,cAAeC,CACjB,ECXMC,GAAWC,EAAAA,eAAe,IAAMrB,CAAO,EAEhCsB,GAAkBC,EAAA,sBAAsB,UAAEH,EAAA,CAAU,EACjEI,GAAeF,GCJTF,GAAWC,EAAAA,eAAerB,CAAO,EAE1ByB,GAGTC,EAAuB,CACzB,SAAAN,EACF,CAAC,EAEDO,GAAeF,GCJTnD,EAAMC,EAAI,OAAO,kCAAkC,EAczC,SAAAqD,GACdC,EACAC,EACyD,CACzD,MAAMC,EAAY,IAAI,IAAI,GAAGD,OAAiBD,CAAO,EAE/CG,EAAcC,EAAM,WAAW,CAACC,EAAOC,IAC3CnE,EAAA,IAACsD,GAAA,CACC,IAAKS,EAAU,KAEf,OAAQ,CAAC,CAAE,IAAAK,EAAK,UAAA5D,KAAkD,CAC5D,GAAA4D,GAAO,MAAQA,IAAQ,GAAI,CACvB,MAAAC,EAAe,wBAAwBP,UAAmBC,YAAoBK,IACpF,OAAA9D,EAAI,MAAM+D,CAAY,EACdrE,EAAA,IAAA,MAAA,CAAI,UAAU,gBAAiB,YAAGqE,GAAe,CAAA,CAC3D,CAEA,OAAQrE,EAAAA,IAAAQ,EAAA,CAAU,IAAA2D,EAAW,GAAGD,CAAO,CAAA,CACzC,CAAA,CAAA,CAEH,EACD,OAAAF,EAAO,WAAaF,EACpBE,EAAO,YAAc,SACdA,CACT,CAOA,eAAsBM,GAAiBP,EAAqC,CAEnE,OADU,MAAMN,GAAiBM,CAAS,CAEnD,CAOA,eAAsBQ,GACpBC,EACwD,CAClD,MAAAC,EAAM,MAAM,MAAMD,CAAO,EAC3B,GAAA,CAACC,EAAI,GACD,MAAA,IAAI,MAAMA,EAAI,UAAU,EAE5B,GAAA,CACK,OAAA,MAAMA,EAAI,MAAK,MACtB,CACM,MAAA,IAAI,MAAM,6BAA6B,CAC/C,CACF,CAOA,eAAsBC,GACpBC,EAC0B,CAC1BrE,EAAI,MAAM,oBAAoB,EAC1B,GAAA,CACF,MAAMsE,EAAW,MAAML,GAAS,GAAGI,iBAAgC,EAEnE,GAAI,CAAC,MAAM,QAAQC,EAAS,OAAO,EAC3B,MAAA,IAAI,MAAM,qDAAqD,EAGnEtE,EAAA,MAAM,0BAA2BsE,CAAQ,EAC7C,MAAMC,EAAqC,CAAA,EAC3C,QAASC,EAAI,EAAGA,EAAIF,EAAS,QAAQ,OAAQE,GAAK,EAAG,CACnD,KAAM,CAAE,KAAAC,EAAM,KAAAC,CAAA,EAASJ,EAAS,QAAQE,CAAC,EACnCG,EAAgB,GAAGN,KAAoBI,KAAQC,IACtCH,EAAA,KAAKP,GAAiBW,CAAa,CAAC,CACrD,CACA,MAAMC,EAAgB,MAAM,QAAQ,WAAWL,CAAc,EAEvDM,MAAiC,IACvC,QAASL,EAAI,EAAGA,EAAII,EAAc,OAAQJ,GAAK,EAAG,CAC1C,MAAAM,EAASF,EAAcJ,CAAC,EACxB,CAAE,KAAAC,CAAS,EAAAH,EAAS,QAAQE,CAAC,EAC/BM,EAAO,SAAW,YACVD,EAAA,IAAIJ,EAAMK,EAAO,KAAqB,EAEhD9E,EAAI,MAAM,yBAAyByE,IAAQK,EAAO,MAAM,CAE5D,CACI,OAAA9E,EAAA,KAAK,kBAAmB6E,CAAS,EAE9BA,QACAjE,GACH,OAAAZ,EAAA,MAAM,0BAA2BY,CAAC,MAC3B,GACb,CACF,CAEO,SAASmE,GACdC,EACU,OACV,QAAOC,EAAAD,EAAiB,IAAI,cAAc,IAAnC,YAAAC,EAAsC,MAAM,OAAQ,EAC7D,CAWgB,SAAAC,GACdL,EACAG,EACAG,EACqB,CACf,MAAApE,EAAegE,GAAgBC,CAAgB,EAG/CI,EAAe,CACnB,GAAGP,EAAU,QAAQ,CAAA,EACrB,OAAO,CAAC,CAAG,CAAAhF,CAAM,IACjBD,EAAaC,EAAO,UAAU,GACa,IAAI,CAAC,CAAC4E,EAAM5E,CAAM,IAAM,CACnE4E,EACA5E,EAAO,UAAA,CACR,EAGDuF,EAAY,KAAK,GAAID,GAAe,CAAG,CAAA,EAIvC,MAAME,EAAuBD,EAAY,OAAO,CAAC,CAACX,EAAM3E,CAAU,IAChEA,EAAW,YAAYiB,CAAY,CAAA,EAGjC,GAAAsE,EAAqB,SAAW,EAClC,MAAM,IAAI,MACR,6EAA6EtE,GAAA,EAEtEsE,EAAqB,OAAS,GACnCrF,EAAA,KACF,iEACAqF,EAAqB,IAAI,CAAC,CAACZ,CAAI,IAAMA,CAAI,EAAE,KAAK,IAAI,CAAA,EAIxD,KAAM,CAACa,EAAiBC,CAAc,EAAIF,EAAqB,CAAC,EAC5D,OAAArF,EAAA,KAAK,oBAAqBsF,CAAe,EAEtCC,EAAe,SACxB,CChLa,MAAAC,EAAiBxG,gBAAsC,IAAI,EAkBjE,SAASyG,GAAiB,CAC/B,WAAAC,EACA,SAAAvG,CACF,EAA0B,CACxB,KAAM,CAACwG,EAASC,CAAU,EAAItG,WAAiC,IAAI,EACnEC,OAAAA,EAAA,UACE,UAAuB,CACrB,IAAIsG,EAAc,GAClB,eAAeC,GAAc,CACrB,MAAAlB,EAAgB,MAAMR,GAAkBsB,CAAU,EACnDG,GACHD,EAAWhB,CAAa,CAE5B,CACY,OAAAkB,IACL,IAAM,CACGD,EAAA,EAAA,CAElB,EACA,CAACH,CAAU,CAAA,QAIVF,EAAe,SAAf,CAAwB,MAAOG,EAC7B,SAAAxG,CACH,CAAA,CAEJ,CCtBA,MAAM4G,OAAwB,IAAI,CAChC,CAAC,wCAAyCvD,EAAa,EACvD,CAAC,2CAA4CL,EAAgB,EAC7D,CAAC,8CAA+CrB,CAAmB,CACrE,CAAC,EAKe,SAAAkF,GAAc,CAAE,SAAA7G,GAAgC,CAC9D,MAAMgB,EAAS8F,IAGTN,EAAUO,aAAWV,CAAc,EACnC,CAACW,EAAYC,CAAa,EAAI9G,EAAwB,SAAA,EACtD,CAAC+G,EAAYC,CAAa,EAAIhH,WAAS,EAAK,EAC5C,CAACgB,EAAOC,CAAQ,EAAIjB,EAAkB,SAAA,EAE5CC,EAAA,UACE,UAAgC,CAC9B,IAAIsG,EAAc,GAClB,eAAeU,GAAuB,CAChC,GAAA,CACI,MAAAC,EAAsB,MAAMrG,EAAO,sBACpC0F,GACWO,EAAA,IAAI,IAAII,CAAmB,CAAC,QAErC5F,GACFiF,GACHtF,EAASK,CAAC,CAEd,CACF,CACqB,OAAA2F,IACd,IAAM,CACGV,EAAA,EAAA,CAElB,EACA,CAAC1F,CAAM,CAAA,EAGH,MAAAsG,EAAgBC,EAAAA,QAAQ,IAAM,CAC9B,GAAA,EAAAf,GAAW,MAAQQ,GAAc,MAIjC,GAAA,CACK,OAAAjB,GAAuBS,EAASQ,EAAYJ,EAAiB,QAC7DnF,GACPL,EAASK,CAAC,CACZ,CAAA,EACC,CAACuF,EAAYR,CAAO,CAAC,EAElBgB,EAAqBC,EAAAA,YAAY,IAAM,CAC3CN,EAAc,EAAI,CACpB,EAAG,CAAE,CAAA,EAECO,EAAqBD,cAAahG,GAAe,CACrD0F,EAAc,EAAK,EACnB/F,EAASK,CAAC,CACZ,EAAG,CAAE,CAAA,EAECkG,EAAYL,GAAiB,MAAQN,GAAc,KAErD,OAAAW,GAAaxG,GAAS,KAEtBZ,EAAA,IAACmB,EAAA,CACC,UAAAiG,EACA,aAAcxG,GAAS,KAAO,GAAGA,IAAU,MAAA,CAAA,EAI5C+F,oBAYK,SAAAlH,CAAS,CAAA,EAVfO,EAAA,IAAC+G,EAAA,CACC,iBAAkBN,EAClB,OAAAhG,EACA,UAAWwG,EACX,UAAWE,CAAA,CAAA,CAOnB,CCxGO,SAASE,GAAWC,EAAqB,CAC9C,OAAO,IAAI,IAAIA,EAAQ,GAAG,OAAO,UAAU,CAC7C,CAMO,SAASC,IAAgC,CAEvC,OADc,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAC3C,IAAI,aAAa,CACvC,CAEO,SAASC,IAAoC,CAClD,MAAMC,EAAcF,KACpB,OAAOE,GAAe,KAClB,CAAE,QAAS,CAAE,eAAgBA,CAAY,GACzC,CAAE,QAAS,CAAA,EACjB,CChBgB,SAAAC,GAAY,CAAE,SAAAjI,GAA8B,CAG1D,OAFsB+G,aAAWnH,CAAkB,oBAOzC,SAAAI,CAAS,CAAA,EAJVO,EAAA,IAACmB,EAAe,CAAA,cAAY,sBAAuB,CAAA,CAK9D,CCYO,SAASwG,GAAa,CAC3B,OAAAL,EACA,eAAA9H,EACA,WAAAwG,EACA,SAAAvG,CACF,EAAsB,CACd,MAAAmI,EAAYP,GAAWC,CAAM,EAAE,OAC/BO,EAAgBL,KAEpB,OAAAxH,EAAAA,IAACT,GAAc,eAAAC,EACb,SAAAQ,EAAA,IAAC8H,GAAgB,UAAAF,EAAsB,QAASC,EAC9C,SAAA7H,EAAA,IAAC+F,GAAiB,CAAA,WAAAC,EAChB,eAACM,GACC,CAAA,SAAAtG,EAAAA,IAAC+H,GACC,SAAC/H,MAAA0H,GAAA,CAAa,SAAAjI,EAAS,CACzB,CAAA,CAAA,CACF,CACF,CAAA,CAAA,CACF,CACF,CAAA,CAEJ,CChDO,SAASuI,IAAa,CACrB,MAAA/B,EAAUO,aAAWV,CAAc,EACzC,GAAIG,GAAW,KACb,MAAM,IAAI,MACR,sGAAA,EAGG,OAAAA,CACT"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var S=Object.defineProperty;var R=(o,e,s)=>e in o?S(o,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[e]=s;var c=(o,e,s)=>(R(o,typeof e!="symbol"?e+"":e,s),s);import{_ as N}from"./monaco-0851b9b6.js";import{r as l,R as A,j as a,C as g,c as p,F as H,a as w}from"./vendor-5506ffbc.js";import"./helpers-042e6b4d.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const n of r)if(n.type==="childList")for(const h of n.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&i(h)}).observe(document,{childList:!0,subtree:!0});function s(r){const n={};return r.integrity&&(n.integrity=r.integrity),r.referrerPolicy&&(n.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?n.credentials="include":r.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function i(r){if(r.ep)return;r.ep=!0;const n=s(r);fetch(r.href,n)}})();const D="#1a171a",F="#f0f0ee",_="#fcd65b",P="#9edc6f",T="#76d9e4",I="#aa9af4",O="#f37e3f",B="#f95d84",$="#4878ea",U="#5b5a5c",q="#9edc6f",G="#fcd65b",W="#f37e3f",K="#f95d84",J="#fcfcfa",Q="#929192",X="#373438",Y="#1a171a",Z="#f0f0ee",e2="0.15s",a2={"gray-100":"#fcfcfa","gray-200":"#f0f0ee","gray-300":"#c0bfbf","gray-400":"#929192","gray-500":"#5b5a5c","gray-600":"#555356","gray-700":"#403e41","gray-800":"#373438","gray-850":"#322f33","gray-900":"#211f22",black:D,white:F,yellow:_,green:P,blue:T,purple:I,orange:O,red:B,primary:$,"primary-hover":"#235de6","primary-dark":"#343e5d",secondary:U,success:q,info:G,warning:W,danger:K,light:J,mid:Q,dark:X,"text-muted":"#929192","content-bg":"#2d2a2e",background:Y,foreground:Z,transition:e2},r2={transitionMs:150,transitionMidMs:200,transitionLongMs:300,transitionSlowMs:1e3},V=Object.freeze({...r2,...a2}),s2=0,o2=1,j=2,i2=3,n2=4,v=()=>{};class l2{constructor(e,s){c(this,"name");c(this,"prefix");c(this,"level");c(this,"error");c(this,"warn");c(this,"log");c(this,"info");c(this,"debug");c(this,"debug2");this.name=e,this.prefix=e!=null?`[${e}]`:"",this.error=v,this.warn=v,this.log=v,this.info=v,this.debug=v,this.debug2=v,this.level=s,this.setLogLevel(s)}setLogLevel(e){if(!Number.isFinite(e)){console.warn(`Expected a number for log level. Received: ${e}. Ignoring`);return}this.level=e,this.error=e>=s2?console.error.bind(console,this.prefix):v,this.warn=e>=o2?console.warn.bind(console,this.prefix):v,this.log=e>=j?console.log.bind(console,this.prefix):v,this.info=this.log,this.debug=e>=i2?console.debug.bind(console,this.prefix):v,this.debug2=e>=n2?console.debug.bind(console,this.prefix):v}}const y=l2;class t2 extends y{constructor(s=j){super(null,s);c(this,"modules");this.modules={}}module(s){return this.modules[s]==null&&(this.modules[s]=new y(s,this.level)),this.modules[s]}setLogLevel(s){if(super.setLogLevel(s),this.modules==null)return;const i=Object.keys(this.modules);for(let r=0;r<i.length;r+=1)this.modules[i[r]].setLogLevel(s)}}const c2=t2,v2=new c2,h2=v2;function d2({className:o="theme-bg-light",children:e,role:s="role",keyboard:i=!0,isOpen:r=!1,centered:n=!1,size:h,onOpened:f,onClosed:u,toggle:t,"data-testid":E}){const d=l.useRef(),z=l.useRef(null),[k,M]=l.useState(!1),x=l.useCallback(m=>{switch(m.key){case"Escape":t==null||t();break}},[t]);l.useEffect(function(){if(r&&i)return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[x,r,i]),l.useEffect(function(){r&&f&&f()},[f,r]),l.useEffect(function(){!r&&u&&u()},[u,r]),r&&!d.current&&(d.current=document.createElement("div"),d.current.setAttribute("style","padding-right: 15px; display: block"),d.current.setAttribute("role","presentation"),document.body.appendChild(d.current));const b=()=>{d.current&&(document.body.removeChild(d.current),d.current=void 0)};return d.current?A.createPortal(a.jsxs(a.Fragment,{children:[a.jsx(g,{appear:!0,mountOnEnter:!0,unmountOnExit:!0,in:r,classNames:{appearActive:"show",appearDone:"show"},timeout:V.transitionMs,onExited:b,children:a.jsx("div",{className:p("modal-backdrop fade"),style:{zIndex:1050}})}),a.jsx(g,{appear:!0,mountOnEnter:!0,unmountOnExit:!0,in:r,classNames:{appearDone:"show"},timeout:V.transitionMs,onExited:b,children:a.jsx("div",{ref:z,className:"modal fade",onMouseDown:m=>{m.target===z.current?M(!0):M(!1)},onMouseUp:m=>{k&&m.target===z.current&&t!==void 0&&t()},role:"dialog",style:{display:"block"},children:a.jsx("div",{className:p(`modal-dialog ${o}`,{"modal-lg":h==="lg","modal-sm":h==="sm","modal-xl":h==="xl","modal-dialog-centered":n}),style:{zIndex:1040},children:a.jsx("div",{className:"modal-content",role:"presentation","data-testid":E,children:e})})})})]}),d.current):null}function m2({className:o="modal-body",style:e,children:s,"data-testid":i}){return a.jsx("div",{className:o,"data-testid":i,style:e,children:s})}function f2({className:o,children:e,closeButton:s=!0,style:i,toggle:r,"data-testid":n}){return a.jsxs("div",{className:`modal-header ${o}`,style:i,children:[a.jsx("h5",{className:"modal-title",children:e}),s&&a.jsx("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":"Close",onClick:r,children:a.jsx("span",{"aria-hidden":"true",children:"×"})})]})}var A2={prefix:"vs",iconName:"add",icon:[512,512,[],"f000","M448 224v32H256v192H224V256H32V224h192V32h32v192h192z"]},w2={prefix:"vs",iconName:"arrow-down",icon:[512,512,[],"f000","m100.704 288 160 160h22.624l160 -160 -22.624 -22.624L288 398.048V64H256v334.08L123.328 265.344 100.704 288z"]},j2={prefix:"vs",iconName:"arrow-up",icon:[512,512,[],"f000","m443.328 224 -160 -160h-22.624l-160 160 22.624 22.624L256 113.952V448h32V113.92l132.672 132.704 22.656 -22.624z"]},C2={prefix:"vs",iconName:"check",icon:[512,512,[],"f000","m461.792 106.336 -271.04 320 -25.28 -1.152 -107.2 -152.64 26.176 -18.368 95.296 135.68 257.632 -304.192 24.448 20.672z"]},E2={prefix:"vs",iconName:"chevron-down",icon:[512,512,[],"f000","m255.232 322.304 139.424 -139.424 19.84 19.776L265.088 352h-19.776L96 202.656l19.808 -19.776 139.424 139.424z"]},k2={prefix:"vs",iconName:"chevron-left",icon:[512,512,[],"f000","m189.696 255.232 139.424 139.424 -19.776 19.84L160 265.088v-19.776L309.344 96l19.776 19.808 -139.424 139.424z"]},S2={prefix:"vs",iconName:"chevron-right",icon:[512,512,[],"f000","M322.304 256.768 182.88 117.344l19.776 -19.84L352 246.912v19.776L202.656 416l-19.776 -19.808 139.424 -139.424z"]},R2={prefix:"vs",iconName:"chevron-up",icon:[512,512,[],"f000","m256.768 189.696 -139.424 139.424 -19.84 -19.776L246.912 160h19.776L416 309.344l-19.808 19.776 -139.424 -139.424z"]},D2={prefix:"vs",iconName:"chrome-close",icon:[512,512,[],"f000","m227.712 256 -145.856 145.856 28.288 28.288L256 284.288l145.856 145.856 28.288 -28.288L284.288 256l145.856 -145.856 -28.288 -28.288L256 227.712 110.144 81.856l-28.288 28.288L227.712 256z"]},F2={prefix:"vs",iconName:"circle-large-filled",icon:[512,512,[],"f000","M256 32a217.6 217.6 0 0 1 59.52 8.096 220.768 220.768 0 0 1 98.656 57.76 220.896 220.896 0 0 1 57.728 98.656C477.312 215.616 480 235.424 480 256s-2.688 40.384 -8.096 59.52a220.8 220.8 0 0 1 -22.528 53.568 229.024 229.024 0 0 1 -80.512 80.288 222.912 222.912 0 0 1 -53.376 22.72A223.488 223.488 0 0 1 256 480a223.488 223.488 0 0 1 -59.52 -7.872 227.136 227.136 0 0 1 -53.568 -22.752 233.6 233.6 0 0 1 -45.28 -35.008 233.44 233.44 0 0 1 -35.008 -45.28 227.136 227.136 0 0 1 -22.72 -53.6A223.52 223.52 0 0 1 32 256c0 -20.576 2.624 -40.384 7.872 -59.52a222.976 222.976 0 0 1 22.752 -53.344 228.992 228.992 0 0 1 80.288 -80.512 220.64 220.64 0 0 1 53.6 -22.528A217.856 217.856 0 0 1 256 32z"]},u2={prefix:"vs",iconName:"circle-large-outline",icon:[512,512,[],"f000","M306.816 70.88A185.856 185.856 0 0 0 256 64c-17.728 0 -34.624 2.336 -50.816 6.88l-0.192 0.064c-16.448 4.512 -31.68 10.944 -45.824 19.232A196.992 196.992 0 0 0 90.24 159.36l-0.064 0.128A190.944 190.944 0 0 0 70.72 205.12 191.552 191.552 0 0 0 64 256c0 17.76 2.24 34.72 6.72 50.912a193.6 193.6 0 0 0 49.536 84.832c11.84 11.68 24.768 21.664 38.912 30.08a195.2 195.2 0 0 0 45.92 19.488A192.64 192.64 0 0 0 256 448c17.76 0 34.72 -2.24 50.912 -6.72 16.48 -4.64 31.68 -11.136 45.632 -19.424l0.128 -0.064a197.12 197.12 0 0 0 69.152 -68.96 187.2 187.2 0 0 0 19.2 -45.824l0.096 -0.192A185.824 185.824 0 0 0 448 256c0 -17.728 -2.304 -34.624 -6.88 -50.816l-0.064 -0.192a184.704 184.704 0 0 0 -19.2 -45.536l-0.064 -0.128a188.8 188.8 0 0 0 -30.144 -38.72l-0.256 -0.256a188.864 188.864 0 0 0 -38.72 -30.144l-0.128 -0.064a184.704 184.704 0 0 0 -45.536 -19.2l-0.192 -0.064zm142.56 298.24a229.024 229.024 0 0 1 -80.512 80.256 222.912 222.912 0 0 1 -53.376 22.72A223.488 223.488 0 0 1 256 480a223.488 223.488 0 0 1 -59.52 -7.872 227.136 227.136 0 0 1 -53.568 -22.752 233.6 233.6 0 0 1 -45.28 -35.008 233.44 233.44 0 0 1 -35.008 -45.28 227.136 227.136 0 0 1 -22.72 -53.6A223.52 223.52 0 0 1 32 256c0 -20.576 2.624 -40.384 7.872 -59.52a222.976 222.976 0 0 1 22.752 -53.344 228.992 228.992 0 0 1 80.288 -80.512 220.64 220.64 0 0 1 53.6 -22.528A217.856 217.856 0 0 1 256 32a217.6 217.6 0 0 1 59.52 8.096 220.768 220.768 0 0 1 98.656 57.76 220.896 220.896 0 0 1 57.728 98.656C477.312 215.616 480 235.424 480 256s-2.688 40.384 -8.096 59.52a220.8 220.8 0 0 1 -22.528 53.568z"]},_2={prefix:"vs",iconName:"close",icon:[512,512,[],"f000","m256 278.624 116.672 116.704 22.656 -22.624L278.624 256l116.704 -116.672 -22.624 -22.656L256 233.376 139.328 116.672l-22.624 22.656L233.376 256l-116.672 116.672 22.624 22.656L256 278.624z"]},P2={prefix:"vs",iconName:"cloud-download",icon:[512,512,[],"f000","M382.624 192h1.6a95.68 95.68 0 0 1 67.712 28.128 96.096 96.096 0 0 1 0 135.744 95.68 95.68 0 0 1 -67.744 28.128v-32a64.064 64.064 0 0 0 0 -128h-29.248l-3.936 -27.424a79.68 79.68 0 0 0 -68.032 -67.904A79.296 79.296 0 0 0 199.392 176l-10.656 24.384 -25.888 -6.048A79.68 79.68 0 0 0 144.736 192c-21.184 0 -41.504 8.416 -56.448 23.424A80.096 80.096 0 0 0 144.736 352h15.936v32h-15.936a111.552 111.552 0 0 1 -84.096 -37.12 112.064 112.064 0 0 1 62.656 -184.96 110.784 110.784 0 0 1 46.976 1.28 111.552 111.552 0 0 1 117.024 -65.92A111.328 111.328 0 0 1 382.624 192zm-168 163.872 42.048 42.048V224h31.808v172.8l40.896 -40.928 22.624 22.624 -68.672 68.704h-22.656L192 378.528l22.624 -22.656z"]},T2={prefix:"vs",iconName:"copy",icon:[512,512,[],"f000","m128 128 32 -32h173.248L448 210.752V448l-32 32H160l-32 -32V128zm288 96 -96 -96H160v320h256V224zM96 32 64 64v320l32 32V64h205.248l-32 -32H96z"]},I2={prefix:"vs",iconName:"edit",icon:[512,512,[],"f000","M423.36 32h-46.72L112.64 296l-5.12 7.04L32 434.88 77.12 480l131.84 -75.52 7.04 -5.12L480 135.36V88.64L423.36 32zM77.12 434.88l48.32 -96 46.4 46.4 -94.72 49.6zm122.56 -65.92L143.04 312.32l256 -256 56.64 56.64 -256 256z"]},O2={prefix:"vs",iconName:"filter",icon:[512,512,[],"f000","M480 64v53.44l-160 152.288V448H192V269.728l-160 -152.32V64h448zM224 256v160h64V256l160 -152.32V96H64v7.68L224 256z"]},B2={prefix:"vs",iconName:"gripper",icon:[512,512,[],"f000","M160 96h64v64H160zm0 128h64v64H160zm0 128h64v64H160zm128 -256h64v64H288zm0 128h64v64H288zm0 128h64v64H288z"]},$2={prefix:"vs",iconName:"json",icon:[512,512,[],"f000","M192 95.488V64h-2.88c-10.016 0 -19.712 1.984 -29.088 5.92a74.56 74.56 0 0 0 -24.8 16.96 71.36 71.36 0 0 0 -15.776 24.096v0.032a113.344 113.344 0 0 0 -6.336 26.56v0.064a194.56 194.56 0 0 0 -0.768 27.616c0.384 9.28 0.576 18.56 0.576 27.808 0 6.496 -1.28 12.576 -3.744 18.304v0.032a48.128 48.128 0 0 1 -24.48 25.184 44.032 44.032 0 0 1 -17.856 3.68H64v31.488h2.88c6.24 0 12.16 1.28 17.792 3.872l0.032 0.032c5.696 2.496 10.528 5.888 14.56 10.176l0.064 0.064c4.16 4.16 7.456 9.12 9.824 14.88l0.032 0.064c2.496 5.76 3.744 11.776 3.744 18.112 0 9.28 -0.192 18.56 -0.576 27.808 -0.384 9.472 -0.128 18.72 0.768 27.84v0.032c1.056 9.056 3.168 17.856 6.304 26.368v0.032c3.392 8.736 8.672 16.768 15.808 24.096 7.136 7.36 15.424 13.024 24.8 16.96 9.376 3.936 19.072 5.92 29.12 5.92H192v-31.488h-2.88c-6.4 0 -12.384 -1.216 -18.016 -3.68a51.616 51.616 0 0 1 -14.624 -10.24 53.088 53.088 0 0 1 -9.888 -14.944c-2.368 -5.76 -3.52 -11.84 -3.52 -18.336 0 -7.296 0.096 -14.496 0.352 -21.504 0.256 -7.296 0.256 -14.4 0 -21.28a148.448 148.448 0 0 0 -1.76 -20.48 85.824 85.824 0 0 0 -5.376 -19.488A73.088 73.088 0 0 0 112.704 256a73.088 73.088 0 0 0 23.616 -30.56c2.56 -6.144 4.32 -12.576 5.376 -19.264 1.056 -6.72 1.632 -13.536 1.76 -20.48 0.256 -7.04 0.256 -14.144 0 -21.312 -0.256 -7.168 -0.384 -14.4 -0.384 -21.696a47.04 47.04 0 0 1 28.064 -43.328 42.56 42.56 0 0 1 18.016 -3.872H192zm128 321.024V448h2.88c10.016 0 19.712 -1.984 29.088 -5.92 9.376 -3.936 17.664 -9.6 24.8 -16.96 7.136 -7.36 12.416 -15.36 15.776 -24.096v-0.032c3.2 -8.512 5.28 -17.376 6.336 -26.56v-0.064c0.896 -8.96 1.152 -18.144 0.768 -27.616 -0.384 -9.28 -0.576 -18.56 -0.576 -27.808 0 -6.496 1.28 -12.576 3.744 -18.304v-0.032a48.064 48.064 0 0 1 24.48 -25.184 44.16 44.16 0 0 1 17.856 -3.68H448v-31.488h-2.88c-6.272 0 -12.192 -1.28 -17.824 -3.872l-0.032 -0.032a44.032 44.032 0 0 1 -14.56 -10.176l-0.064 -0.064a45.28 45.28 0 0 1 -9.824 -14.88v-0.064a44.96 44.96 0 0 1 -3.776 -18.112c0 -9.28 0.192 -18.56 0.576 -27.808a197.568 197.568 0 0 0 -0.768 -27.84v-0.032a113.184 113.184 0 0 0 -6.304 -26.368v-0.032a71.36 71.36 0 0 0 -15.808 -24.096 74.592 74.592 0 0 0 -24.8 -16.96 74.4 74.4 0 0 0 -29.12 -5.92H320v31.488h2.88c6.4 0 12.384 1.216 17.984 3.68 5.568 2.624 10.432 6.016 14.624 10.24 4.064 4.288 7.36 9.28 9.888 14.944 2.368 5.76 3.52 11.84 3.52 18.336 0 7.296 -0.096 14.464 -0.352 21.504 -0.256 7.296 -0.256 14.4 0 21.28 0.128 7.104 0.704 13.92 1.76 20.48 1.056 6.848 2.848 13.312 5.376 19.488a73.12 73.12 0 0 0 23.616 30.56 73.12 73.12 0 0 0 -23.616 30.56 86.048 86.048 0 0 0 -5.376 19.264c-1.056 6.72 -1.632 13.536 -1.76 20.48a292.8 292.8 0 0 0 0 21.312c0.256 7.168 0.384 14.4 0.384 21.696a47.072 47.072 0 0 1 -28.064 43.328 42.56 42.56 0 0 1 -18.016 3.872H320z"]},U2={prefix:"vs",iconName:"link-external",icon:[512,512,[],"f000","M48 32H192v32H64v384h384v-128h32v144l-16 16h-416l-16 -16v-416l16 -16zm432 16V256h-32V86.624L231.776 302.88l-22.624 -22.656L425.376 64H256V32h208l16 16z"]},q2={prefix:"vs",iconName:"link",icon:[512,512,[],"f000","M140.8 96h98.72a108.8 108.8 0 0 1 108.8 108.8v6.56A108.8 108.8 0 0 1 239.52 320H224V288h15.52A76.8 76.8 0 0 0 316.16 211.52V204.8A76.8 76.8 0 0 0 239.68 128H140.8A76.8 76.8 0 0 0 64 204.8v6.56A76.608 76.608 0 0 0 128 286.72v32a108.8 108.8 0 0 1 -96 -107.2V204.8A108.96 108.96 0 0 1 140.8 96zM384 225.28v-32a108.8 108.8 0 0 1 96 107.52v6.56A108.96 108.96 0 0 1 371.36 416h-98.88A108.8 108.8 0 0 1 163.84 307.52V300.8A108.8 108.8 0 0 1 272.48 192H288v32h-15.52A76.8 76.8 0 0 0 195.84 300.8v6.56A76.8 76.8 0 0 0 272.48 384h98.88A76.8 76.8 0 0 0 448 307.52V300.8a76.608 76.608 0 0 0 -64 -75.52z"]},G2={prefix:"vs",iconName:"list-ordered",icon:[512,512,[],"f000","M73.184 74.432 86.144 64h21.664v96h-22.656V89.344l-11.968 8.992v-23.904zM160 96h320v32H160V96zm0 128h320v32H160V224zm320 128H160v32h320v-32zM119.744 244.032l0.928 -1.248 2.08 -2.88a26.88 26.88 0 0 0 4.992 -16.224c0 -3.84 -0.64 -7.68 -1.824 -11.328a27.136 27.136 0 0 0 -15.744 -16.928 35.936 35.936 0 0 0 -14.464 -2.624 35.008 35.008 0 0 0 -14.656 2.784 27.744 27.744 0 0 0 -15.328 16.704A33.216 33.216 0 0 0 64 222.624v1.6h25.92v-1.6a9.6 9.6 0 0 1 1.472 -5.024 5.568 5.568 0 0 1 1.824 -1.728 6.08 6.08 0 0 1 5.504 0 6.016 6.016 0 0 1 1.792 1.92 7.68 7.68 0 0 1 0.992 2.592 14.24 14.24 0 0 1 -1.152 9.28 41.888 41.888 0 0 1 -3.84 5.824l-32 36.416 -0.384 0.416v17.28h63.616v-22.4h-28.8l20.8 -23.168zm-1.184 122.144c1.472 1.024 2.752 2.24 3.84 3.648a26.912 26.912 0 0 1 5.344 17.6c0 3.424 -0.544 6.816 -1.6 10.048a25.344 25.344 0 0 1 -15.584 16 41.216 41.216 0 0 1 -15.36 2.528c-3.68 0 -7.36 -0.512 -10.912 -1.568a30.08 30.08 0 0 1 -8.256 -3.936 24.032 24.032 0 0 1 -5.824 -5.664 34.016 34.016 0 0 1 -3.712 -6.4A33.216 33.216 0 0 1 64 386.496v-1.568h26.048v1.568c0 0.864 0.096 1.76 0.288 2.624a6.624 6.624 0 0 0 0.96 2.368 4.48 4.48 0 0 0 1.696 1.664 6.4 6.4 0 0 0 5.024 0.256 5.088 5.088 0 0 0 1.792 -1.248 7.04 7.04 0 0 0 1.344 -2.4 13.344 13.344 0 0 0 0.544 -4.032 15.456 15.456 0 0 0 -0.704 -5.216 6.4 6.4 0 0 0 -1.632 -2.56 4.416 4.416 0 0 0 -1.92 -0.928 17.184 17.184 0 0 0 -2.464 -0.224h-5.152v-20.64h5.376a7.712 7.712 0 0 0 2.208 -0.352 5.248 5.248 0 0 0 2.08 -1.088 5.6 5.6 0 0 0 1.536 -2.144 9.152 9.152 0 0 0 0.672 -3.872 8.96 8.96 0 0 0 -0.512 -3.2 5.312 5.312 0 0 0 -3.104 -3.168 6.4 6.4 0 0 0 -4.992 0.224 5.248 5.248 0 0 0 -1.76 1.696 11.008 11.008 0 0 0 -1.28 4.992v1.568H64v-1.568a31.584 31.584 0 0 1 5.76 -17.408 25.6 25.6 0 0 1 5.728 -5.952 27.84 27.84 0 0 1 8.384 -4.256c3.648 -1.152 7.488 -1.696 11.328 -1.632 3.712 -0.032 7.392 0.32 11.008 1.152 2.944 0.672 5.76 1.76 8.416 3.2a24.224 24.224 0 0 1 10.24 10.176 23.36 23.36 0 0 1 2.88 11.104 25.92 25.92 0 0 1 -5.344 16.896 17.984 17.984 0 0 1 -3.84 3.648z"]},p2={prefix:"vs",iconName:"loading",icon:[512,512,[],"f000","M445.344 224A192.064 192.064 0 0 0 66.656 224H34.272a224.064 224.064 0 0 1 443.456 0h-32.384z"]},W2={prefix:"vs",iconName:"lock",icon:[512,512,[],"f000","M416 224h-32V160a128 128 0 1 0 -256 0v64H96L64 256v192l32 32h320l32 -32V256l-32 -32zM160 160a96 96 0 1 1 192 0v64H160V160zm256 288H96V256h320v192z"]},K2={prefix:"vs",iconName:"menu",icon:[512,512,[],"f000","M512 160H0V128h512v32zm0 256H0v-32h512v32zm0 -128.256H0V256h512v31.744z"]},J2={prefix:"vs",iconName:"paintcan",icon:[512,512,[],"f000","m465.28 377.952 -36.48 -99.84v-1.92l-157.12 -157.12v-39.68a53.12 53.12 0 0 0 -3.52 -18.56 47.36 47.36 0 0 0 -26.56 -25.6 45.44 45.44 0 0 0 -18.56 -3.2 47.04 47.04 0 0 0 -47.36 47.36v104.32l-97.92 96a48.64 48.64 0 0 0 0 67.84l116.16 116.16c4.48 4.512 9.824 8.096 15.68 10.56a48.96 48.96 0 0 0 36.48 0 48.32 48.32 0 0 0 15.68 -10.56l157.76 -157.44 -21.12 70.4a38.08 38.08 0 0 0 0 14.72c1.056 4.864 3.136 9.472 6.08 13.44 3.136 3.872 6.912 7.136 11.2 9.6 4.48 2.24 9.408 3.52 14.4 3.84a32 32 0 0 0 15.36 -2.88 36.48 36.48 0 0 0 12.48 -9.28 31.36 31.36 0 0 0 7.04 -14.08c1.024 -4.64 1.12 -9.408 0.32 -14.08zm-256 -298.56a14.72 14.72 0 0 1 0 -6.4 16.64 16.64 0 0 1 3.84 -5.44 20.48 20.48 0 0 1 5.76 -3.2 16 16 0 0 1 6.72 0 16 16 0 0 1 10.24 4.8 16 16 0 0 1 3.84 10.56v40.32l-32 32 1.6 -72.64zm32 363.2a11.52 11.52 0 0 1 -5.12 3.52 15.04 15.04 0 0 1 -12.16 0 11.552 11.552 0 0 1 -5.12 -3.52l-116.16 -115.84a16 16 0 0 1 0 -22.72l139.2 -139.2v91.2a23.68 23.68 0 0 0 -7.68 17.6 24 24 0 1 0 37.44 -17.6v-90.56l123.2 123.84 -153.6 153.28z"]},Q2={prefix:"vs",iconName:"pass-filled",icon:[512,512,[],"f000","M256 480A224 224 0 1 0 256 32a224 224 0 0 0 0 448zm-32.64 -132.16h-22.72L128 275.2l22.72 -22.72 61.44 61.44 134.4 -134.72 22.72 22.72 -145.92 145.92z"]},X2={prefix:"vs",iconName:"pass",icon:[512,512,[],"f000","M200.64 347.84h22.72l145.92 -145.92 -22.72 -22.72 -134.4 134.72 -61.44 -61.44L128 275.2l72.64 72.64zM275.2 32c51.2 3.2 99.2 28.8 134.4 64 41.6 44.8 64 99.2 64 163.2 0 51.2 -19.2 99.2 -51.2 140.8 -32 38.4 -76.8 67.2 -128 76.8 -51.2 9.6 -102.4 3.2 -147.2 -22.4 -44.8 -25.6 -80 -64 -99.2 -112C28.8 294.4 25.6 240 41.6 192c16 -51.2 44.8 -92.8 89.6 -121.6C172.8 41.6 224 28.8 275.2 32zm16 412.8c41.6 -9.6 80 -32 108.8 -67.2 25.6 -35.2 41.6 -76.8 38.4 -121.6 0 -51.2 -19.2 -102.4 -54.4 -137.6 -32 -32 -70.4 -51.2 -115.2 -54.4 -41.6 -3.2 -86.4 6.4 -121.6 32 -35.2 25.6 -60.8 60.8 -73.6 105.6 -12.8 41.6 -12.8 86.4 6.4 128 19.2 41.6 48 73.6 86.4 96 38.4 22.4 83.2 28.8 124.8 19.2z"]},Y2={prefix:"vs",iconName:"refresh",icon:[512,512,[],"f000","M149.792 96H64V64h112l16 16V192H160V128a160 160 0 1 0 144.96 -24.352l9.664 -30.528A192 192 0 1 1 149.792 96z"]},Z2={prefix:"vs",iconName:"remove",icon:[512,512,[],"f000","M480 256H32V224h448v32z"]},e1={prefix:"vs",iconName:"reply",icon:[512,512,[],"f000","m201.792 68.672 -128.64 128.64v22.656l128.64 128.64 22.656 -22.624L121.824 223.36H182.08c90.016 0 147.36 19.36 182.56 55.328 35.264 36 51.68 92.064 51.68 173.472v11.2h32v-11.2c0 -84.672 -16.864 -151.04 -60.8 -195.872C343.52 211.36 275.744 191.36 182.08 191.36H124.384l100.064 -100.032 -22.656 -22.656z"]},a1={prefix:"vs",iconName:"ruby",icon:[512,512,[],"f000","m32 230.08 212.48 212.48h23.04L480 230.08v-23.04l-106.24 -106.24 -11.52 -4.8H149.76l-11.52 4.8L32 207.04v23.04zm224 177.92L66.56 218.56 156.48 128h199.04l89.92 90.56L256 408zm0 -247.36h86.08l57.92 57.92 -144 140.8V160.64z"]},r1={prefix:"vs",iconName:"search",icon:[512,512,[],"f000","M325.333 0a176 176 0 0 0 -131.84 292.693L21.333 488.107l23.893 21.333 171.733 -194.56A176.021 176.021 0 1 0 325.333 0.213V0zm0 320a144 144 0 1 1 0 -288 144 144 0 0 1 0 288z"]},s1={prefix:"vs",iconName:"split-horizontal",icon:[512,512,[],"f000","M448 32H96L64 64v352l32 32h352l32 -32V64l-32 -32zM256 416H96V64h160v352zm192 0H288V64h160v352z"]},o1={prefix:"vs",iconName:"symbol-operator",icon:[512,512,[],"f000","M91.936 35.2c10.72 4.352 19.264 12.736 23.84 23.36 2.304 5.44 3.488 11.264 3.424 17.184a42.88 42.88 0 0 1 -19.52 36.32 43.488 43.488 0 0 1 -24.096 7.136A43.36 43.36 0 0 1 32 75.584a43.36 43.36 0 0 1 26.56 -40.192A43.84 43.84 0 0 1 91.936 35.2zm-9.536 56.48a17.632 17.632 0 0 0 10.624 -16 17.536 17.536 0 1 0 -10.624 16zM205.76 35.488 35.52 205.76l21.952 21.984 170.24 -170.24 -21.952 -21.984zM368 288h32v80H480v32h-80V480h-32v-80H288v-32h80V288zm-183.424 16.8 22.624 22.624L150.624 384l56.576 56.576 -22.624 22.624L128 406.624l-56.576 56.576 -22.624 -22.624L105.376 384l-56.576 -56.576 22.624 -22.624L128 361.376l56.576 -56.576zm43.2 -134.24a43.296 43.296 0 0 0 -40.192 -26.56 43.36 43.36 0 0 0 -40.192 26.56 43.584 43.584 0 0 0 40.224 60.64A43.456 43.456 0 0 0 227.776 170.56zm-24.096 23.84a17.696 17.696 0 0 1 -9.248 9.28 17.504 17.504 0 0 1 -19.168 -3.744 16.928 16.928 0 0 1 -3.744 -5.536 17.408 17.408 0 0 1 22.912 -22.88 18.08 18.08 0 0 1 5.536 3.712 17.568 17.568 0 0 1 3.712 19.168zM448 96h-128v32h128V96z"]},i1={prefix:"vs",iconName:"symbol-structure",icon:[512,512,[],"f000","M64 64 32 96v96l32 32h384l32 -32V96l-32 -32H64zm0 32h384v96H64V96zm-32 224 32 -32h96l32 32v96l-32 32H64l-32 -32v-96zm64 0H64v96h96v-96H96zm224 0 32 -32h96l32 32v96l-32 32h-96l-32 -32v-96zm64 0h-32v96h96v-96h-64z"]},n1={prefix:"vs",iconName:"tools",icon:[512,512,[],"f000","m472.736 111.52 -24.96 -5.888 -67.456 67.072 -38.208 -38.912 65.792 -69.024 -5.76 -25.344a141.44 141.44 0 0 0 -43.104 -7.296 116.48 116.48 0 0 0 -46.624 8.96 122.368 122.368 0 0 0 -37.952 26.88 119.552 119.552 0 0 0 -28 40.48 126.016 126.016 0 0 0 0 94.912 10730.912 10730.912 0 0 0 -197.536 199.488c-6.72 8.8 -9.92 19.776 -9.088 30.816a44.896 44.896 0 0 0 14.848 30.944c3.968 4.32 8.704 7.904 13.984 10.496 5.44 2.4 11.296 3.776 17.216 4.064 10.112 -0.192 19.808 -4.032 27.328 -10.784 49.536 -46.624 144.448 -142.4 198.368 -198.528 14.624 6.208 30.336 9.408 46.208 9.376a119.552 119.552 0 0 0 85.664 -36.256 124.32 124.32 0 0 0 35.552 -87.36 134.752 134.752 0 0 0 -6.272 -44.096zM93.856 445.696a9.92 9.92 0 0 1 -4.32 2.24 13.984 13.984 0 0 1 -4.768 0 11.072 11.072 0 0 1 -4.608 -1.824 10.752 10.752 0 0 1 -3.648 -3.52c-4.48 -4.576 -8.672 -13.28 -4.48 -18.176 43.84 -46.624 134.112 -137.76 190.56 -193.472 3.2 4.224 6.72 8.256 10.496 12.032 3.776 3.936 7.84 7.584 12.16 10.912 -54.592 56 -143.616 146.048 -191.36 191.808zm355.776 -290.08c0.064 24.48 -9.472 48 -26.624 65.536a91.552 91.552 0 0 1 -128.224 0 95.744 95.744 0 0 1 -20.32 -100.384A87.936 87.936 0 0 1 324.48 69.76a88.32 88.32 0 0 1 34.304 -6.848h8.128L308.768 122.848v22.272l60.64 60.352h21.12l59.104 -58.112v8.256zM103.68 214.016h48.992l22.56 22.944 21.696 -21.568 -21.28 -21.696V192.32l1.824 -52.768 -7.04 -13.984 -91.52 -60.224 -18.912 2.112 -26.592 27.168 -2.112 19.168 58.816 93.376 13.568 6.88zm-30.24 -116.224L147.488 146.56 146.24 182.496H111.808L64.064 106.912l9.376 -9.12zm227.36 222.72 21.568 -21.536 99.392 101.92a47.328 47.328 0 0 1 0 65.248 44.928 44.928 0 0 1 -49.568 10.08 41.92 41.92 0 0 1 -13.984 -10.08l-100.544 -102.496 21.728 -21.696 100.224 102.208a12.864 12.864 0 0 0 4.896 3.36 15.264 15.264 0 0 0 11.488 0 12.896 12.896 0 0 0 4.896 -3.36 13.952 13.952 0 0 0 3.2 -4.896 16.8 16.8 0 0 0 1.152 -5.888 17.504 17.504 0 0 0 -1.12 -5.888 13.952 13.952 0 0 0 -3.2 -4.896L300.8 320.512z"]},l1={prefix:"vs",iconName:"trash",icon:[512,512,[],"f000","M320 96h96v32h-32v288l-32 32H128l-32 -32V128H64V96h96V64a32 32 0 0 1 32 -32h96a32 32 0 0 1 32 32v32zM288 64H192v32h96V64zM128 416h224V128H128v288zm64 -256H160v224h32V160zm32 0h32v224H224V160zm64 0h32v224H288V160z"]},t1={prefix:"vs",iconName:"triangle-down",icon:[512,512,[],"f000","M64 177.92 77.216 160h358.208l12.576 17.28L267.936 352h-26.464L64 177.92z"]},c1={prefix:"vs",iconName:"triangle-right",icon:[512,512,[],"f000","M177.92 448 160 434.784V76.576L177.28 64 352 244.064v26.464L177.92 448z"]},z2={prefix:"vs",iconName:"warning",icon:[512,512,[],"f000","M241.92 32h28.16l209.28 392.32 -14.08 23.68H46.08L32 424.32 241.92 32zM256 72.96 72.96 416H438.4L256 72.96zM276 384v-32h-40v32h40zm-40 -64V192h40v128h-40z"]},v1={prefix:"dh",iconName:"arrow-to-bottom",icon:[512,512,[],"f000","m99.2 224 160 160h22.4l160 -160 -22.4 -22.4L288 332.8V64H256v268.8L124.8 201.6l-25.6 22.4zM96 416h352v32H96z"]},h1={prefix:"dh",iconName:"arrow-to-top",icon:[512,512,[],"f000","m444.8 288 -160 -160h-22.4l-160 160 22.4 22.4L256 179.2V448h32V179.2l131.2 131.2 25.6 -22.4zm3.2 -192H96V64h352v32z"]},d1={prefix:"dh",iconName:"check-square",icon:[512,512,[],"f000","M425.6 64H86.4l-22.4 22.4v342.4l22.4 19.2h342.4l22.4 -22.4V86.4l-25.6 -22.4zm-188.8 284.8h-22.4L144 278.4l22.4 -22.4 60.8 60.8 134.4 -134.4 22.4 22.4 -147.2 144z"]},m1={prefix:"dh",iconName:"eye-slash",icon:[512,512,[],"f000","M480 256c0 -32 -99.2 -160 -224 -160 -32 0 -64 9.6 -92.8 22.4L70.4 25.6 25.6 70.4 435.2 480l44.8 -44.8 -76.8 -76.8C451.2 320 480 272 480 256zM256 131.2c96 0 176 92.8 188.8 124.8 -6.4 16 -32 48 -67.2 76.8L316.8 272c3.2 -6.4 3.2 -9.6 3.2 -16 0 -35.2 -28.8 -64 -64 -64 -6.4 0 -9.6 0 -16 3.2L192 147.2c19.2 -9.6 41.6 -16 64 -16zm0 249.6C160 380.8 80 288 67.2 256c6.4 -9.6 19.2 -32 41.6 -54.4l-25.6 -25.6C51.2 208 32 243.2 32 256c0 32 99.2 160 224 160 19.2 0 38.4 -3.2 57.6 -9.6l-28.8 -28.8c-9.6 3.2 -19.2 3.2 -28.8 3.2z"]},f1={prefix:"dh",iconName:"eye",icon:[512,512,[],"f000","M256 96C131.2 96 32 224 32 256s99.2 160 224 160 224 -128 224 -160 -99.2 -160 -224 -160zm0 284.8C160 380.8 80 288 67.2 256 80 227.2 160 131.2 256 131.2S432 224 444.8 256c-12.8 28.8 -92.8 124.8 -188.8 124.8zM256 192c-35.2 0 -64 28.8 -64 64s28.8 64 64 64 64 -28.8 64 -64 -28.8 -64 -64 -64zm0 92.8c-16 0 -28.8 -12.8 -28.8 -28.8s12.8 -28.8 28.8 -28.8 28.8 12.8 28.8 28.8 -12.8 28.8 -28.8 28.8z"]},u1={prefix:"dh",iconName:"filter-filled",icon:[512,512,[],"f000","M480 64v54.4l-160 153.6V448H192V268.8L32 118.4V64h448z"]},p1={prefix:"dh",iconName:"freeze",icon:[512,512,[],"f000","m438.4 300.8 -19.2 -28.8 -60.8 35.2L272 256l86.4 -51.2 60.8 35.2 19.2 -28.8 -44.8 -25.6 48 -28.8 -16 -25.6 -48 28.8V108.8h-35.2v67.2L256 227.2V128l60.8 -35.2 -16 -28.8 -44.8 25.6V32H224v57.6L179.2 64l-16 28.8L224 128v99.2L137.6 176V108.8H102.4V160l-48 -28.8 -16 25.6 48 28.8 -44.8 25.6 19.2 28.8 60.8 -35.2L208 256 121.6 307.2 60.8 272l-19.2 28.8 44.8 25.6 -48 28.8 16 25.6 48 -28.8v51.2h35.2v-67.2L224 284.8V384l-60.8 35.2 16 28.8 44.8 -25.6V480h32v-57.6l44.8 25.6 16 -28.8L256 384V284.8l86.4 51.2v67.2h35.2V352l48 28.8 16 -25.6 -48 -28.8z"]},z1={prefix:"dh",iconName:"gear-filled",icon:[512,512,[],"f000","m480 211.2 -76.8 -12.8L448 131.2l-64 -64 -67.2 41.6L300.8 32H211.2l-12.8 76.8L131.2 64l-64 64 41.6 67.2 -76.8 16v89.6l76.8 12.8L64 380.8l64 64 67.2 -41.6 16 76.8h89.6l16 -76.8L384 448l64 -64 -44.8 -67.2 76.8 -16V211.2zM256 320c-38.4 0 -64 -25.6 -64 -64s25.6 -64 64 -64 64 25.6 64 64 -25.6 64 -64 64z"]},x1={prefix:"dh",iconName:"graph-line-up",icon:[512,512,[],"f000","M64 416V0H32v432l16 16H480v-32zm153.6 -150.4 70.4 64 128 -144V256h32V144l-16 -16H320v32h76.8L288 284.8l-70.4 -64 -108.8 112 22.4 22.4z"]},L1={prefix:"dh",iconName:"new-circle-large-filled",icon:[512,512,[],"f000","M240 0C108.8 0 0 108.8 0 240S108.8 480 240 480 480 371.2 480 240 371.2 0 240 0zM352 256H256v96H224V256H128V224h96V128h32v96h96v32z"]},g1={prefix:"dh",iconName:"refresh",icon:[512,512,[],"f000","m313.6 73.6 -9.6 32c83.2 25.6 131.2 118.4 102.4 201.6 -19.2 64 -80 108.8 -150.4 108.8 -89.6 0 -160 -70.4 -160 -160 0 -51.2 22.4 -96 64 -128v64h32V80L176 64H64v32h86.4c-76.8 51.2 -108.8 150.4 -70.4 236.8C112 403.2 179.2 448 256 448c105.6 0 192 -86.4 192 -192 0 -83.2 -54.4 -156.8 -134.4 -182.4z"]},H1={prefix:"dh",iconName:"remove-square-filled",icon:[512,512,[],"f000","M432 32h-384l-16 16v384l16 16h384l16 -16v-384l-16 -16zM352 256H128V224h224v32z"]},V1={prefix:"dh",iconName:"sort-alpha-down",icon:[512,512,[],"f000","M236.8 368 156.8 448h-22.4l-80 -80 22.4 -22.4L128 396.8V64h32v332.8l51.2 -51.2 25.6 22.4zM371.2 224l-6.4 -28.8H316.8l-9.6 28.8H256l54.4 -160h60.8l51.2 160h-51.2zm-32 -124.8c0 3.2 -3.2 3.2 -3.2 9.6s-3.2 19.2 -12.8 51.2h32l-9.6 -44.8c-3.2 -6.4 -6.4 -9.6 -6.4 -16zm-6.4 310.4h73.6V448H272v-32l73.6 -89.6H275.2V288h128v32l-70.4 89.6z"]},N1={prefix:"dh",iconName:"sort-alpha-up",icon:[512,512,[],"f000","M51.2 144 131.2 64h22.4l80 80 -22.4 22.4L160 115.2V448H128V115.2L76.8 166.4l-25.6 -22.4zm320 304 -6.4 -28.8H316.8l-9.6 28.8H256l54.4 -160h60.8l51.2 160h-51.2zm-32 -124.8c0 3.2 -3.2 3.2 -3.2 9.6 0 6.4 -3.2 19.2 -12.8 51.2h32l-9.6 -44.8c-3.2 -6.4 -6.4 -9.6 -6.4 -16zm-6.4 -137.6h73.6V224H272V192l73.6 -89.6H275.2V64h128v32l-70.4 89.6z"]},M1={prefix:"dh",iconName:"sort-amount-down",icon:[512,512,[],"f000","M204.8 368 124.8 448h-22.4L22.4 368l22.4 -22.4L96 396.8V64h32v332.8l51.2 -51.2 25.6 22.4zM256 64h256v64H256zm0 105.6h192v64H256zm0 108.8h128v64H256zM256 384h64v64H256z"]},b1={prefix:"dh",iconName:"sort-down",icon:[512,512,[],"f000","m128 288 -12.8 25.6 128 118.4h25.6l128 -118.4L384 288H128z"]},y1={prefix:"dh",iconName:"sort-up",icon:[512,512,[],"f000","m128 224 -12.8 -25.6 128 -118.4h25.6l128 118.4 -12.8 25.6H128z"]},A1={prefix:"dh",iconName:"sort",icon:[512,512,[],"f000","m128 224 -12.8 -25.6 128 -118.4h25.6l128 118.4 -12.8 25.6H128zm0 64 -12.8 25.6 128 118.4h25.6l128 -118.4L384 288H128z"]},w1={prefix:"dh",iconName:"square-filled",icon:[512,512,[],"f000","M432 32h-384l-16 16v384l16 16h384l16 -16v-384l-16 -16z"]},j1={prefix:"dh",iconName:"table",icon:[512,512,[],"f000","M432 64h-384l-16 16v352l16 16h384l16 -16v-352l-16 -16zM160 416H64v-64h96v64zm0 -96H64V256h96v64zm0 -96H64V160h96v64zm128 192H192v-64h96v64zm0 -96H192V256h96v64zm0 -96H192V160h96v64zm128 192h-96v-64h96v64zm0 -96h-96V256h96v64zm0 -96h-96V160h96v64z"]},C1={prefix:"dh",iconName:"triangle-down-square",icon:[512,512,[],"f000","M425.6 64H86.4l-22.4 22.4v342.4l22.4 19.2h342.4l22.4 -22.4V86.4l-25.6 -22.4zm-160 288h-22.4L99.2 208l9.6 -16h291.2l9.6 12.8L265.6 352z"]},E1={prefix:"dh",iconName:"unlink",icon:[512,512,[],"f000","M32 211.2v-6.4C32 144 80 96 140.8 96h99.2c12.8 0 25.6 3.2 38.4 6.4l-25.6 25.6H140.8C99.2 128 64 163.2 64 204.8v6.4c0 28.8 16 54.4 38.4 67.2l-22.4 22.4C51.2 281.6 32 249.6 32 211.2zM403.2 6.4l-38.4 38.4 -67.2 67.2 -22.4 25.6 -150.4 147.2 -25.6 25.6 -54.4 54.4 -38.4 38.4L51.2 448 448 51.2 403.2 6.4zM384 192v32c38.4 6.4 64 38.4 64 76.8v6.4c0 41.6 -35.2 76.8 -76.8 76.8H272c-32 0 -60.8 -22.4 -73.6 -51.2l-25.6 25.6c19.2 35.2 54.4 60.8 96 60.8h99.2c60.8 0 108.8 -48 108.8 -108.8v-9.6C480 246.4 438.4 198.4 384 192zM246.4 288l-22.4 19.2v12.8h16c60.8 0 108.8 -48 108.8 -108.8v-6.4c0 -6.4 0 -12.8 -3.2 -19.2l-32 32c0 38.4 -32 67.2 -67.2 70.4z"]},k1={prefix:"dh",iconName:"warning-circle-filled",icon:[512,512,[],"f000","M470.4 195.2c-9.6 -38.4 -28.8 -70.4 -57.6 -99.2 -25.6 -25.6 -60.8 -44.8 -96 -54.4C297.6 35.2 275.2 32 256 32c-19.2 0 -41.6 3.2 -60.8 9.6 -16 3.2 -35.2 9.6 -51.2 22.4 -35.2 19.2 -60.8 44.8 -80 80 -12.8 16 -19.2 35.2 -25.6 51.2C35.2 214.4 32 236.8 32 256c0 19.2 3.2 41.6 6.4 60.8 6.4 16 12.8 35.2 25.6 51.2 9.6 16 22.4 32 35.2 44.8 12.8 16 28.8 25.6 44.8 35.2 16 9.6 35.2 16 54.4 22.4 16 6.4 38.4 9.6 57.6 9.6 19.2 0 41.6 -3.2 60.8 -6.4 19.2 -6.4 35.2 -12.8 54.4 -22.4 32 -19.2 60.8 -48 80 -80 9.6 -16 16 -35.2 22.4 -54.4 3.2 -19.2 6.4 -41.6 6.4 -60.8s-3.2 -41.6 -9.6 -60.8zM275.2 352H236.8v-32h38.4v32zm0 -64H236.8V160h38.4v128z"]},S1={prefix:"dh",iconName:"warning-filled",icon:[512,512,[],"f000","M268.8 32h-25.6L32 425.6l12.8 22.4h419.2l12.8 -22.4L268.8 32zm6.4 352H236.8v-32h38.4v32zm0 -64H236.8V192h38.4v128z"]};function x2({className:o="","data-testid":e}){return a.jsxs("div",{className:p("loading-spinner fa-layers",o),"data-testid":e,children:[a.jsx(H,{icon:u2,className:"text-white-50"}),a.jsx(H,{icon:p2,className:"text-primary",spin:!0})]})}function C({isLoaded:o=!1,isLoading:e=!0,errorMessage:s=null,"data-testid":i}){return a.jsx(g,{in:Boolean(s)||!o||e,timeout:V.transitionMs,classNames:o?"fade":"",mountOnEnter:!0,unmountOnExit:!0,children:a.jsx("div",{className:"fill-parent-absolute","data-testid":i,children:a.jsx("div",{className:p("iris-panel-message-overlay","fill-parent-absolute",{"iris-panel-scrim-background":o}),children:a.jsxs("div",{className:"message-content",children:[a.jsxs("div",{className:"message-icon",children:[e&&a.jsx(x2,{}),!e&&s!=null&&a.jsx(H,{icon:z2})]}),a.jsx("div",{className:"message-text",children:s})]})})})})}const L=h2.module("@deephaven/jsapi-bootstrap.ApiBootstrap"),L2=l.createContext(null);function g2({apiUrl:o,children:e,failureElement:s,setGlobally:i=!1}){const[r,n]=l.useState(!0),[h,f]=l.useState();return l.useEffect(()=>{async function u(){try{const t=(await N(()=>import(o),[],import.meta.url)).default;L.info("API bootstrapped from",o),f(t),i&&(L.debug("API set globally"),globalThis.dh=t)}catch(t){L.error("Unable to bootstrap API",t)}n(!1)}u()},[o,i]),r?a.jsx(C,{}):h==null?s??a.jsxs(d2,{isOpen:!0,className:"modal-dialog-centered theme-bg-light",children:[a.jsx(f2,{closeButton:!1,children:"Error: Unable to load API"}),a.jsx(m2,{children:a.jsxs("p",{className:"text-break",children:["Ensure the server is running and you are able to reach ",o,", then refresh the page."]})})]}):a.jsx(L2.Provider,{value:h,children:e})}const H2=w.lazy(()=>N(()=>import("./App-6cba7d93.js"),["./App-6cba7d93.js","./vendor-5506ffbc.js","./helpers-042e6b4d.js","./vendor-458ea229.css","./useConnection-563173ac.js","./monaco-0851b9b6.js","./monaco-43c605a2.css","./App-eae30bb2.css"],import.meta.url)),V2=w.lazy(async()=>({default:(await N(()=>import("./index-3e3a3606.js"),["./index-3e3a3606.js","./vendor-5506ffbc.js","./helpers-042e6b4d.js","./vendor-458ea229.css","./useConnection-563173ac.js","./monaco-0851b9b6.js","./monaco-43c605a2.css"],import.meta.url)).AppBootstrap}));A.render(a.jsx(g2,{apiUrl:"/jsapi/dh-core.js",setGlobally:!0,children:a.jsx(l.Suspense,{fallback:a.jsx(C,{}),children:a.jsx(V2,{apiUrl:"/jsapi",pluginsUrl:"/js-plugins",children:a.jsx(H2,{})})})}),document.getElementById("root"));export{f2 as $,I2 as A,V1 as B,N1 as C,j1 as D,F2 as E,q2 as F,E1 as G,D2 as H,w1 as I,J2 as J,f1 as K,h2 as L,m1 as M,Y2 as N,i1 as O,A2 as P,R2 as Q,E2 as R,h1 as S,V as T,v1 as U,k1 as V,z1 as W,d1 as X,H1 as Y,A1 as Z,d2 as _,x2 as a,G2 as a0,$2 as a1,m2 as a2,j2 as a3,w2 as a4,K2 as a5,x1 as a6,s1 as a7,C1 as a8,o1 as a9,a1 as aa,P2 as ab,n1 as ac,e1 as ad,C as ae,L2 as af,r1 as b,t1 as c,Q2 as d,T2 as e,B2 as f,k2 as g,_2 as h,z2 as i,X2 as j,u1 as k,O2 as l,Z2 as m,C2 as n,y1 as o,b1 as p,c1 as q,U2 as r,p1 as s,W2 as t,g1 as u,S2 as v,l1 as w,L1 as x,M1 as y,S1 as z};
|
|
2
|
-
//# sourceMappingURL=index-b177e5d5.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plotly-4f1bd342.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var E=Object.defineProperty;var m=(n,t,o)=>t in n?E(n,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[t]=o;var p=(n,t,o)=>(m(n,typeof t!="symbol"?t+"":t,o),o);import{r as e,j as l}from"./vendor-5506ffbc.js";import{af as h,L as S,ae as g}from"./index-b177e5d5.js";class A extends Error{constructor(){super(...arguments);p(this,"isTimeout",!0)}}const b=A,x=()=>{const n=e.useContext(h);if(n==null)throw new Error("No API available in useApi. Was code wrapped in ApiBootstrap or ApiContext.Provider?");return n},w=e.createContext(null);function L({serverUrl:n,options:t,children:o}){const i=x(),[s,r]=e.useState();return e.useEffect(function(){const u=new i.CoreClient(n,t);return r(u),()=>{u.disconnect()}},[i,t,n]),s==null?null:l.jsx(w.Provider,{value:s,children:o})}function j(){const n=e.useContext(w);if(n==null)throw new Error("No Client available in useClient. Was code wrapped in ClientBootstrap or ClientContext.Provider?");return n}const B=S.module("@deephaven/jsapi-components.ConnectionBootstrap"),v=e.createContext(null);function y({children:n}){const t=x(),o=j(),[i,s]=e.useState(),[r,C]=e.useState();return e.useEffect(function(){let a=!1;async function d(){try{const c=await o.getAsIdeConnection();if(a)return;C(c)}catch(c){if(a)return;s(c)}}return d(),()=>{a=!0}},[t,o]),e.useEffect(function(){if(r==null)return;function a(c){const{detail:f}=c;B.info("Shutdown",`${JSON.stringify(f)}`),s(`Server shutdown: ${f??"Unknown reason"}`)}return r.addEventListener(t.IdeConnection.EVENT_SHUTDOWN,a)},[t,r]),r==null||i!=null?l.jsx(g,{"data-testid":"connection-bootstrap-loading",isLoading:r==null,errorMessage:`${i}`}):l.jsx(v.Provider,{value:r,children:n})}function I(){const n=e.useContext(v);if(n==null)throw new Error("No IdeConnection available in useConnection. Was code wrapped in ConnectionBootstrap or ConnectionContext.Provider?");return n}export{L as C,b as T,x as a,j as b,y as c,w as d,v as e,I as u};
|
|
2
|
-
//# sourceMappingURL=useConnection-563173ac.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useConnection-563173ac.js","sources":["../../../utils/src/TimeoutError.ts","../../../jsapi-bootstrap/src/useApi.ts","../../../app-utils/src/components/ClientBootstrap.tsx","../../../app-utils/src/components/useClient.ts","../../../app-utils/src/components/ConnectionBootstrap.tsx","../../../app-utils/src/components/useConnection.ts"],"sourcesContent":["class TimeoutError extends Error {\n isTimeout = true;\n}\n\nexport default TimeoutError;\n","import { useContext } from 'react';\nimport { ApiContext } from './ApiBootstrap';\n\nexport const useApi = () => {\n const dh = useContext(ApiContext);\n if (dh == null) {\n throw new Error(\n 'No API available in useApi. Was code wrapped in ApiBootstrap or ApiContext.Provider?'\n );\n }\n return dh;\n};\n\nexport default useApi;\n","import React, { createContext, useEffect, useState } from 'react';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { ConnectOptions, CoreClient } from '@deephaven/jsapi-types';\n\nexport const ClientContext = createContext<CoreClient | null>(null);\n\nexport type ClientBootstrapProps = {\n /** URL of the server to connect to */\n serverUrl: string;\n\n /** Connection options to pass to CoreClient when connecting */\n options?: ConnectOptions;\n\n /**\n * The children to render wrapped with the ClientContext.\n * Will not render children until the client is created.\n */\n children: React.ReactNode;\n};\n\n/**\n * ClientBootstrap component. Handles creating the client.\n */\nexport function ClientBootstrap({\n serverUrl,\n options,\n children,\n}: ClientBootstrapProps) {\n const api = useApi();\n const [client, setClient] = useState<CoreClient>();\n useEffect(\n function initClient() {\n const newClient = new api.CoreClient(serverUrl, options);\n setClient(newClient);\n return () => {\n newClient.disconnect();\n };\n },\n [api, options, serverUrl]\n );\n\n if (client == null) {\n return null;\n }\n return (\n <ClientContext.Provider value={client}>{children}</ClientContext.Provider>\n );\n}\n\nexport default ClientBootstrap;\n","import { useContext } from 'react';\nimport { ClientContext } from './ClientBootstrap';\n\nexport function useClient() {\n const client = useContext(ClientContext);\n if (client == null) {\n throw new Error(\n 'No Client available in useClient. Was code wrapped in ClientBootstrap or ClientContext.Provider?'\n );\n }\n return client;\n}\n\nexport default useClient;\n","import React, { createContext, useEffect, useState } from 'react';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { IdeConnection } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport useClient from './useClient';\n\nconst log = Log.module('@deephaven/jsapi-components.ConnectionBootstrap');\n\nexport const ConnectionContext = createContext<IdeConnection | null>(null);\n\nexport type ConnectionBootstrapProps = {\n /**\n * The children to render wrapped with the ConnectionContext.\n * Will not render children until the connection is created.\n */\n children: React.ReactNode;\n};\n\n/**\n * ConnectionBootstrap component. Handles initializing the connection.\n */\nexport function ConnectionBootstrap({ children }: ConnectionBootstrapProps) {\n const api = useApi();\n const client = useClient();\n const [error, setError] = useState<unknown>();\n const [connection, setConnection] = useState<IdeConnection>();\n useEffect(\n function initConnection() {\n let isCancelled = false;\n async function loadConnection() {\n try {\n const newConnection = await client.getAsIdeConnection();\n if (isCancelled) {\n return;\n }\n setConnection(newConnection);\n } catch (e) {\n if (isCancelled) {\n return;\n }\n setError(e);\n }\n }\n loadConnection();\n return () => {\n isCancelled = true;\n };\n },\n [api, client]\n );\n\n useEffect(\n function listenForShutdown() {\n if (connection == null) return;\n\n function handleShutdown(event: CustomEvent) {\n const { detail } = event;\n log.info('Shutdown', `${JSON.stringify(detail)}`);\n setError(`Server shutdown: ${detail ?? 'Unknown reason'}`);\n }\n\n const removerFn = connection.addEventListener(\n api.IdeConnection.EVENT_SHUTDOWN,\n handleShutdown\n );\n return removerFn;\n },\n [api, connection]\n );\n\n if (connection == null || error != null) {\n return (\n <LoadingOverlay\n data-testid=\"connection-bootstrap-loading\"\n isLoading={connection == null}\n errorMessage={`${error}`}\n />\n );\n }\n\n return (\n <ConnectionContext.Provider value={connection}>\n {children}\n </ConnectionContext.Provider>\n );\n}\n\nexport default ConnectionBootstrap;\n","import { useContext } from 'react';\nimport { ConnectionContext } from './ConnectionBootstrap';\n\nexport function useConnection() {\n const connection = useContext(ConnectionContext);\n if (connection == null) {\n throw new Error(\n 'No IdeConnection available in useConnection. Was code wrapped in ConnectionBootstrap or ConnectionContext.Provider?'\n );\n }\n return connection;\n}\n\nexport default useConnection;\n"],"names":["TimeoutError","__publicField","TimeoutError$1","useApi","dh","useContext","ApiContext","ClientContext","createContext","ClientBootstrap","serverUrl","options","children","api","client","setClient","useState","useEffect","newClient","useClient","log","Log","ConnectionContext","ConnectionBootstrap","error","setError","connection","setConnection","isCancelled","loadConnection","newConnection","e","handleShutdown","event","detail","jsx","LoadingOverlay","useConnection"],"mappings":"gRAAA,MAAMA,UAAqB,KAAM,CAAjC,kCACEC,EAAA,iBAAY,IACd,CAEA,MAAAC,EAAeF,ECDFG,EAAS,IAAM,CACpB,MAAAC,EAAKC,aAAWC,CAAU,EAChC,GAAIF,GAAM,KACR,MAAM,IAAI,MACR,sFAAA,EAGG,OAAAA,CACT,ECPaG,EAAgBC,gBAAiC,IAAI,EAmB3D,SAASC,EAAgB,CAC9B,UAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAAyB,CACvB,MAAMC,EAAMV,IACN,CAACW,EAAQC,CAAS,EAAIC,EAAqB,SAAA,EAYjD,OAXAC,EAAA,UACE,UAAsB,CACpB,MAAMC,EAAY,IAAIL,EAAI,WAAWH,EAAWC,CAAO,EACvD,OAAAI,EAAUG,CAAS,EACZ,IAAM,CACXA,EAAU,WAAW,CAAA,CAEzB,EACA,CAACL,EAAKF,EAASD,CAAS,CAAA,EAGtBI,GAAU,KACL,WAGNP,EAAc,SAAd,CAAuB,MAAOO,EAAS,SAAAF,CAAS,CAAA,CAErD,CC5CO,SAASO,GAAY,CACpB,MAAAL,EAAST,aAAWE,CAAa,EACvC,GAAIO,GAAU,KACZ,MAAM,IAAI,MACR,kGAAA,EAGG,OAAAA,CACT,CCJA,MAAMM,EAAMC,EAAI,OAAO,iDAAiD,EAE3DC,EAAoBd,gBAAoC,IAAI,EAazD,SAAAe,EAAoB,CAAE,SAAAX,GAAsC,CAC1E,MAAMC,EAAMV,IACNW,EAASK,IACT,CAACK,EAAOC,CAAQ,EAAIT,EAAkB,SAAA,EACtC,CAACU,EAAYC,CAAa,EAAIX,EAAwB,SAAA,EA6CxD,OA5CJC,EAAA,UACE,UAA0B,CACxB,IAAIW,EAAc,GAClB,eAAeC,GAAiB,CAC1B,GAAA,CACI,MAAAC,EAAgB,MAAMhB,EAAO,qBACnC,GAAIc,EACF,OAEFD,EAAcG,CAAa,QACpBC,GACP,GAAIH,EACF,OAEFH,EAASM,CAAC,CACZ,CACF,CACe,OAAAF,IACR,IAAM,CACGD,EAAA,EAAA,CAElB,EACA,CAACf,EAAKC,CAAM,CAAA,EAGdG,EAAA,UACE,UAA6B,CAC3B,GAAIS,GAAc,KAAM,OAExB,SAASM,EAAeC,EAAoB,CACpC,KAAA,CAAE,OAAAC,CAAW,EAAAD,EACnBb,EAAI,KAAK,WAAY,GAAG,KAAK,UAAUc,CAAM,GAAG,EACvCT,EAAA,oBAAoBS,GAAU,kBAAkB,CAC3D,CAMO,OAJWR,EAAW,iBAC3Bb,EAAI,cAAc,eAClBmB,CAAA,CAGJ,EACA,CAACnB,EAAKa,CAAU,CAAA,EAGdA,GAAc,MAAQF,GAAS,KAE/BW,EAAA,IAACC,EAAA,CACC,cAAY,+BACZ,UAAWV,GAAc,KACzB,aAAc,GAAGF,GAAA,CAAA,QAMpBF,EAAkB,SAAlB,CAA2B,MAAOI,EAChC,SAAAd,CACH,CAAA,CAEJ,CCnFO,SAASyB,GAAgB,CACxB,MAAAX,EAAarB,aAAWiB,CAAiB,EAC/C,GAAII,GAAc,KAChB,MAAM,IAAI,MACR,qHAAA,EAGG,OAAAA,CACT"}
|