mobx-view-model-devtools 0.0.42 → 0.0.44
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/auto.global.js +2 -2
- package/index.cjs +2 -2
- package/index.d.ts +50 -2
- package/index.js +442 -88
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(){"use strict";try{if("undefined"!=typeof document){var t=document.createElement("style");t.appendChild(document.createTextNode('.vmPopup_0hkGL{position:fixed!important;z-index:999999;width:520px;border-radius:8px;height:calc(100vh - 24px);width:calc(100vw - 34px);max-width:520px;box-shadow:0 5px 20px #0006}.vmPopup_0hkGL.dragging_bOvPC{transition:none;cursor:grabbing;opacity:.8;z-index:1000}.vmPopup_0hkGL[data-position=top-right]{top:12px;right:12px}.vmPopup_0hkGL[data-position=top-left]{top:12px;left:12px}.vmPopup_0hkGL[data-position=bottom-left]{bottom:12px;left:12px}.vmPopup_0hkGL[data-position=bottom-right]{bottom:12px;right:12px}.closePopupButton_igv9j{width:28px;height:28px;padding:6px;border:0;background:transparent;color:var(--vmd-base-color);display:flex;align-items:center;justify-content:center}html:has(.dragging_bOvPC) *{-webkit-user-select:none!important;user-select:none!important}.vmButton_esipO{position:fixed;z-index:999999;width:36px;height:36px;border-radius:8px;transition:all .15s ease-in-out;cursor:pointer;-webkit-user-select:none;user-select:none}.vmButton_esipO.dragging_kUMCE{transition:none;cursor:grabbing;opacity:.8;z-index:1000}.vmButton_esipO.opened_NYAFW{opacity:0!important;pointer-events:none}.vmButton_esipO[data-position=top-right]{top:12px;right:12px}.vmButton_esipO[data-position=top-left]{top:12px;left:12px}.vmButton_esipO[data-position=bottom-left]{bottom:12px;left:12px}.vmButton_esipO[data-position=bottom-right]{bottom:12px;right:12px}.vmButton_esipO>img{pointer-events:none;position:absolute;inset:0;border-radius:8px}.vmButton_esipO>div{transition:all .15s ease-in-out;position:absolute;inset:0;border-radius:8px;border:2px solid #00000057}.vmButton_esipO:not(.isConnected_eObxX){filter:grayscale(1)}.vmButton_esipO>.vmsCount_HhX1W{left:-4px;top:-4px;pointer-events:none;position:absolute;display:flex;border-radius:8px;background:#005c26cf;padding:2px;font-weight:600;font-size:12px;line-height:12px;color:#2aff0a}.vmButton_esipO>.keyboardHint_v8eo0{position:absolute;bottom:-3px;left:-2px;z-index:99999;font-family:monospace;font-weight:700!important;font-size:10px;line-height:10px;background:#1b3b00bf;color:#73ff00d4;letter-spacing:-1px;border-radius:2px}html:has(.dragging_kUMCE) *{-webkit-user-select:none!important;user-select:none!important}.iconToggleButton_R48wm{display:flex;align-items:center;gap:2px;position:relative;height:20px;outline:none;border-radius:4px;-webkit-backdrop-filter:blur(var(--vmd-control-blur));backdrop-filter:blur(var(--vmd-control-blur))}.activePosition_IXsRn{position:absolute;height:16px;width:16px;padding:1px;box-sizing:content-box!important;background:var(--vmd-control-active-bg);-webkit-backdrop-filter:blur(var(--vmd-base-blur));backdrop-filter:blur(var(--vmd-base-blur));border-radius:4px;transition:all 149ms ease;transform:translate(calc(20px * var(--index)))}.option_a5IcR{padding:1px;z-index:1;width:18px;height:18px;display:flex;align-items:center;justify-content:center;transition:all 149ms ease;color:var(--vmd-control-inactive-color)}.option_a5IcR.active_6QS-2{color:var(--vmd-control-active-color)}.option_a5IcR>svg{width:14px;height:14px}:root{--vmd-base-blur: 4px;--vmd-bg: #0c0a19e6;--vmd-overlay-bg: #0e1227bd;--vmd-base-color: #ccc;--vmd-control-active-bg: #e6e6e682;--vmd-control-active-color: #181818;--vmd-control-active-text-input-color: var(--vmd-base-color);--vmd-control-active-text-input-placeholder-color: #a3a3a3;--vmd-control-inactive-color: #8b8b8b;--vmd-control-border: #5b5468a6;--vmd-control-bg: transparent;--vmd-control-blur: 2px;--vmd-bg-transparent: #1f1c2600;--vmd-content-bg: transparent;--vmd-content-highlight-bg: #ffffff0a;--vmd-scrollbar-track-size: 8px;--vmd-scrollbar-bg-base: #81818170;--vmd-scrollbar-bg-active: #818181;--vmd-property-meta-color: #616161;--vmd-primary-bg: #0f6013;--vmd-primary-color: #5ab65e;--vmd-secondary-bg: #6b6902;--vmd-edit-content-color: #97503c;--vmd-header-height: 60px}.root_Xsw1F{display:contents;box-sizing:border-box}.root_Xsw1F *{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;box-sizing:border-box}.root_Xsw1F button{outline:none;background:transparent;border:0;cursor:pointer;margin:0;padding-block:0;padding-inline:0;color:var(--vmd-base-color)}.hierarchyButton_h3FD7{width:18px;height:18px;padding:2px;border-radius:6px}.hierarchyButton_h3FD7.active_4JTx5{background:#f0f0f01f}.treeItemHeader_9gR6Q{display:flex;align-items:center;gap:4px;margin:auto 0;cursor:pointer;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treeItemLabel_eiMgP{padding:0 4px;border-radius:4px}.treeItemMetaText_cmfX0{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treeItem_sRXPA{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:pre;height:22px;display:flex;flex-direction:row;align-items:center;padding-left:calc(8px + (var(--level) * 20px));position:sticky;top:calc(var(--vmd-header-height) + var(--vmd-control-panel-height));z-index:1}.treeItem_sRXPA:hover{background:var(--vmd-content-highlight-bg)}.treeItem_sRXPA:not([data-fitted=true])>header{opacity:.6}.vmTreeItem_t-7jc .treeItemLabel_eiMgP{background:var(--vmd-primary-bg)}.vmTreeItem_t-7jc .treeItemMetaText_cmfX0{color:var(--vmd-primary-color)}.extraTreeItem_z3KA1 .treeItemLabel_eiMgP{background:var(--vmd-secondary-bg)}.expandButton_B24E3{color:#a0a0a0;opacity:1!important;width:16px;height:16px;font-weight:700;cursor:pointer}.expandButton_B24E3.expanded_8-pD6{color:#b8b8b8;transform:rotate(90deg)}.expandButton_B24E3.disabled_MBq1Q{opacity:.35!important}.vmContentVirtualizedContent_LtS91{overflow:hidden}.vmContent_TIK57[data-simplebar]{position:relative;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;color:var(--vmd-base-color);background:var(--vmd-bg);-webkit-backdrop-filter:blur(var(--vmd-base-blur));backdrop-filter:blur(var(--vmd-base-blur));display:flex;flex-direction:column;overflow:auto;overflow-y:auto;scrollbar-width:thin;overflow-anchor:none}.vmContent_TIK57[data-simplebar] .simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.vmContent_TIK57[data-simplebar] .simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;inset:0;width:auto!important;height:auto!important;z-index:0}.vmContent_TIK57[data-simplebar] .simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;inset:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.vmContent_TIK57[data-simplebar] .simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.vmContent_TIK57[data-simplebar] .simplebar-content-wrapper::-webkit-scrollbar,.vmContent_TIK57[data-simplebar] .simplebar-hide-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}.vmContent_TIK57[data-simplebar] .simplebar-content:after,.vmContent_TIK57[data-simplebar] .simplebar-content:before{content:" ";display:table}.vmContent_TIK57[data-simplebar] .simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.vmContent_TIK57[data-simplebar] .simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.vmContent_TIK57[data-simplebar] .simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.vmContent_TIK57[data-simplebar] .simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}.vmContent_TIK57[data-simplebar].simplebar-dragging,.vmContent_TIK57[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vmContent_TIK57[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.vmContent_TIK57[data-simplebar] .simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.vmContent_TIK57[data-simplebar] .simplebar-scrollbar:before{position:absolute;content:"";background:var(--vmd-scrollbar-bg-base);border-radius:7px;left:2px;right:2px;opacity:0;transition:opacity .2s .5s linear}.vmContent_TIK57[data-simplebar] .simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition-delay:0s;transition-duration:0s}.vmContent_TIK57[data-simplebar] .simplebar-track.simplebar-vertical{top:0;width:var(--vmd-scrollbar-track-size)}.vmContent_TIK57[data-simplebar] .simplebar-scrollbar:before{inset:2px}.vmContent_TIK57[data-simplebar] .simplebar-track.simplebar-horizontal{left:0;height:var(--vmd-scrollbar-track-size)}.vmContent_TIK57[data-simplebar] .simplebar-track.simplebar-horizontal .simplebar-scrollbar{inset:0 auto 0 0;min-height:0;min-width:10px;width:auto}.vmContent_TIK57[data-simplebar] .simplebar-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:scrollbar!important}.vmContent_TIK57[data-simplebar] .simplebar-dummy-scrollbar-size>div{width:200%;height:200%;margin:10px 0}.vmContent_TIK57[data-simplebar] .simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.vmContentHeader_M1JNM{display:flex;flex-direction:column;height:var(--vmd-header-height);flex:none;padding:0 8px;position:sticky;top:0;z-index:2}.vmContentHeaderLogo_FRJDO{width:16px;margin-right:6px}.vmContentHeaderTitle_lYmde{display:flex;justify-content:space-between;align-items:center;flex:none;font-weight:600;z-index:1}.vmContentHeaderTitleText_RlIFH{font-size:16px;margin-right:auto}.vmContentControlPanel_CgUN9{width:100%;height:var(--vmd-control-panel-height);padding-bottom:4px;flex:none;display:flex;flex-direction:row;z-index:1;gap:4px;overflow:hidden;padding-right:6px}.vmContentControlPanel_CgUN9.searchIsActive_cJutI>.vmContentControlPanelActions_lONbA{margin-left:-106px}.vmContentControlPanelActions_lONbA{display:flex;flex-direction:row;align-items:center;gap:6px;transition:all .15s ease}.hiearchyToggleButton_0FTG-{display:flex}.vmContentInput_29GM1{display:flex;position:relative;flex:1;-webkit-backdrop-filter:blur(var(--vmd-control-blur));backdrop-filter:blur(var(--vmd-control-blur))}.vmContentInput_29GM1>svg{position:absolute;width:16px;inset:50% 0;transform:translate(6px,-50%);pointer-events:none;opacity:.7}.vmContentInput_29GM1>input{background:var(--vmd-control-bg);border:1px solid var(--vmd-control-border);color:var(--vmd-control-active-text-input-color);border-radius:4px;outline:0;width:100%;padding:3px 26px;font-size:14px;text-overflow:ellipsis}.vmContentInput_29GM1>input::placeholder{color:var(--vmd-control-active-text-input-placeholder-color)}.inputGhost_J-ksi{position:absolute;inset:0;display:flex;align-items:center;padding:3px 26px;font-size:14px;pointer-events:none;white-space:pre;overflow:hidden;z-index:0}.inputGhostTyped_UxVAJ{color:transparent;white-space:pre}.inputGhostSuggestion_Ys7F3{color:var(--vmd-control-active-text-input-placeholder-color);white-space:pre;opacity:.7}.vmContentInput_29GM1>input.inputWithSuggestion_C9PIe{background:transparent}.vmContentInput_29GM1>button{position:absolute;right:6px;width:16px;transform:translate(4px,-50%);top:50%;opacity:.6;display:none}.vmContentInput_29GM1.filled_6JZa0>svg{opacity:.9}.vmContentInput_29GM1.filled_6JZa0>button{display:block}.gradientBlur_-y-re{position:absolute;top:0;left:0;width:100%;height:calc(100% + 6px);pointer-events:none;background:linear-gradient(to bottom,var(--vmd-overlay-bg) 0%,rgba(0,0,0,0) 100%)}.gradientBlur_-y-re:before{content:"";position:absolute;inset:0;background:transparent;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);-webkit-mask:linear-gradient(to bottom,var(--vmd-overlay-bg) 50%,rgba(0,0,0,0) 100%);mask:linear-gradient(to bottom,var(--vmd-overlay-bg) 50%,rgba(0,0,0,0) 100%)}[data-list-item-operations]{position:relative;right:12px;display:flex;align-items:center;margin-left:auto;gap:4px;width:0;transition:all .15s ease;overflow:hidden}*:has(>[data-list-item-operations]):hover>[data-list-item-operations]{width:auto}[data-list-item-operation]:active{transform:scale(.9)}.property_sD8FG{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:pre;background:var(--vmd-content-bg);height:22px;display:flex;flex-direction:row;align-items:center;position:relative;color:var(--vmd-property-meta-color);padding-left:calc(0px + 28px + (var(--level) * 15px))}.property_sD8FG:hover,.property_sD8FG.isEditMode_S3NAq{background:var(--vmd-content-highlight-bg)}.property_sD8FG.expandable_np03F{cursor:pointer}.property_sD8FG>span{flex:1;overflow:hidden;text-overflow:ellipsis;padding-right:12px;display:flex;flex-direction:row}.property_sD8FG[data-fitted=false]{opacity:.5}.property_sD8FG.instance_jv3IW{--value-color: rgb(190 113 195)}.property_sD8FG.primitive_v6LAV.boolean_Z6znK,.property_sD8FG.primitive_v6LAV.number_U9H45,.property_sD8FG.primitive_v6LAV.object_bHf4I,.property_sD8FG.primitive_v6LAV.bigint_HkgX8,.property_sD8FG.primitive_v6LAV.symbol_oKSwT{--value-color: rgb(89, 153, 205)}.property_sD8FG.primitive_v6LAV.undefined_6CapW,.property_sD8FG.primitive_v6LAV.null_lugoL{--value-color: #499098}.primitive_v6LAV.string_87vm1{--value-color: #af7249}.propertyName_KicXG{color:#ccc}.propertyMeta_Ia9ce{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.propertyValue_fYO2g{color:var(--value-color, var(--vmd-property-meta-color));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.propertyValue_fYO2g:has(+.propertyName_KicXG){margin-right:4px}.property_sD8FG.isEditMode_S3NAq>[data-list-item-operations]{width:auto}.editContent_WSktI{min-width:180px;flex:none;text-overflow:ellipsis;background:transparent;color:var(--vmd-edit-content-color);outline:0;border:1px solid var(--vmd-control-active-text-input-color);border-radius:4px;padding:0 4px}.notifications_50ZEK{position:absolute;z-index:1000;padding:4px;border-radius:4px;background:var(--vmd-control-border);-webkit-backdrop-filter:blur(var(--vmd-base-blur));backdrop-filter:blur(var(--vmd-base-blur));right:8px;left:4px;top:4px;display:flex;flex-direction:column;gap:4px}@keyframes notification-fade-out_1FHX2{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.notification_Yxzo-{animation:notification-fade-out_1FHX2 .25s ease forwards}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
|
|
1
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var t=document.createElement("style");t.appendChild(document.createTextNode('.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL{position:fixed!important;z-index:999999;width:520px;border-radius:8px;height:calc(100vh - 24px);width:calc(100vw - 34px);max-width:520px;box-shadow:0 5px 20px #0006}.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.dragging_bOvPC.dragging_bOvPC.dragging_bOvPC.dragging_bOvPC.dragging_bOvPC{transition:none;cursor:grabbing;opacity:.8;z-index:1000}.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL[data-position=top-right]{top:12px;right:12px}.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL[data-position=top-left]{top:12px;left:12px}.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL[data-position=bottom-left]{bottom:12px;left:12px}.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL.vmPopup_0hkGL[data-position=bottom-right]{bottom:12px;right:12px}.closePopupButton_igv9j.closePopupButton_igv9j.closePopupButton_igv9j.closePopupButton_igv9j.closePopupButton_igv9j{width:28px;height:28px;padding:6px;border:0;background:transparent;color:var(--vmd-base-color);display:flex;align-items:center;justify-content:center}html:has(.dragging_bOvPC.dragging_bOvPC.dragging_bOvPC.dragging_bOvPC.dragging_bOvPC) *{-webkit-user-select:none!important;user-select:none!important}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO{position:fixed;z-index:999999;width:36px;height:36px;border-radius:8px;transition:all .15s ease-in-out;cursor:pointer;-webkit-user-select:none;user-select:none}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.dragging_kUMCE.dragging_kUMCE.dragging_kUMCE.dragging_kUMCE.dragging_kUMCE{transition:none;cursor:grabbing;opacity:.8;z-index:1000}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.opened_NYAFW.opened_NYAFW.opened_NYAFW.opened_NYAFW.opened_NYAFW{opacity:0!important;pointer-events:none}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO[data-position=top-right]{top:12px;right:12px}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO[data-position=top-left]{top:12px;left:12px}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO[data-position=bottom-left]{bottom:12px;left:12px}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO[data-position=bottom-right]{bottom:12px;right:12px}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO>img{pointer-events:none;position:absolute;inset:0;border-radius:8px}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO>div{transition:all .15s ease-in-out;position:absolute;inset:0;border-radius:8px;border:2px solid #00000057}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO:not(.isConnected_eObxX.isConnected_eObxX.isConnected_eObxX.isConnected_eObxX.isConnected_eObxX){filter:grayscale(1)}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO>.vmsCount_HhX1W.vmsCount_HhX1W.vmsCount_HhX1W.vmsCount_HhX1W.vmsCount_HhX1W{left:-4px;top:-4px;pointer-events:none;position:absolute;display:flex;border-radius:8px;background:#005c26cf;padding:2px;font-weight:600;font-size:12px;line-height:12px;color:#2aff0a}.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO.vmButton_esipO>.keyboardHint_v8eo0.keyboardHint_v8eo0.keyboardHint_v8eo0.keyboardHint_v8eo0.keyboardHint_v8eo0{position:absolute;bottom:-3px;left:-2px;z-index:99999;font-family:monospace;font-weight:700!important;font-size:10px;line-height:10px;background:#1b3b00bf;color:#73ff00d4;letter-spacing:-1px;border-radius:2px}html:has(.dragging_kUMCE.dragging_kUMCE.dragging_kUMCE.dragging_kUMCE.dragging_kUMCE) *{-webkit-user-select:none!important;user-select:none!important}.iconToggleButton_R48wm.iconToggleButton_R48wm.iconToggleButton_R48wm.iconToggleButton_R48wm.iconToggleButton_R48wm{display:flex;align-items:center;gap:2px;position:relative;height:20px;outline:none;border-radius:4px;-webkit-backdrop-filter:blur(var(--vmd-control-blur));backdrop-filter:blur(var(--vmd-control-blur))}.activePosition_IXsRn.activePosition_IXsRn.activePosition_IXsRn.activePosition_IXsRn.activePosition_IXsRn{position:absolute;height:16px;width:16px;padding:1px;box-sizing:content-box!important;background:var(--vmd-control-active-bg);-webkit-backdrop-filter:blur(var(--vmd-base-blur));backdrop-filter:blur(var(--vmd-base-blur));border-radius:4px;transition:all 149ms ease;transform:translate(calc(20px * var(--index)))}.option_a5IcR.option_a5IcR.option_a5IcR.option_a5IcR.option_a5IcR{padding:1px;z-index:1;width:18px;height:18px;display:flex;align-items:center;justify-content:center;transition:all 149ms ease;color:var(--vmd-control-inactive-color)}.option_a5IcR.option_a5IcR.option_a5IcR.option_a5IcR.option_a5IcR.active_6QS-2.active_6QS-2.active_6QS-2.active_6QS-2.active_6QS-2{color:var(--vmd-control-active-color)}.option_a5IcR.option_a5IcR.option_a5IcR.option_a5IcR.option_a5IcR>svg{width:14px;height:14px}:root{--vmd-base-blur: 4px;--vmd-bg: #0c0a19e6;--vmd-overlay-bg: #0e1227bd;--vmd-base-color: #ccc;--vmd-control-active-bg: #e6e6e682;--vmd-control-active-color: #181818;--vmd-control-active-text-input-color: var(--vmd-base-color);--vmd-control-active-text-input-placeholder-color: #a3a3a3;--vmd-control-inactive-color: #8b8b8b;--vmd-control-border: #5b5468a6;--vmd-control-bg: transparent;--vmd-control-blur: 2px;--vmd-bg-transparent: #1f1c2600;--vmd-content-bg: transparent;--vmd-content-highlight-bg: #ffffff1c;--vmd-scrollbar-track-size: 8px;--vmd-scrollbar-bg-base: #81818170;--vmd-scrollbar-bg-active: #818181;--vmd-property-meta-color: #616161;--vmd-primary-bg: #0f6013;--vmd-primary-color: #5ab65e;--vmd-secondary-bg: #6b6902;--vmd-edit-content-color: #97503c;--vmd-header-height: 60px}.root_Xsw1F.root_Xsw1F.root_Xsw1F.root_Xsw1F.root_Xsw1F{display:contents;box-sizing:border-box}.root_Xsw1F.root_Xsw1F.root_Xsw1F.root_Xsw1F.root_Xsw1F *{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;box-sizing:border-box}.root_Xsw1F.root_Xsw1F.root_Xsw1F.root_Xsw1F.root_Xsw1F button{outline:none;background:transparent;border:0;cursor:pointer;margin:0;padding-block:0;padding-inline:0;color:var(--vmd-base-color)}.hierarchyButton_h3FD7.hierarchyButton_h3FD7.hierarchyButton_h3FD7.hierarchyButton_h3FD7.hierarchyButton_h3FD7{width:18px;height:18px;padding:2px;border-radius:6px}.hierarchyButton_h3FD7.hierarchyButton_h3FD7.hierarchyButton_h3FD7.hierarchyButton_h3FD7.hierarchyButton_h3FD7.active_4JTx5.active_4JTx5.active_4JTx5.active_4JTx5.active_4JTx5{background:#f0f0f01f}.treeItemHeader_9gR6Q.treeItemHeader_9gR6Q.treeItemHeader_9gR6Q.treeItemHeader_9gR6Q.treeItemHeader_9gR6Q{display:flex;align-items:center;gap:4px;margin:auto 0;cursor:pointer;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treeItemLabel_eiMgP.treeItemLabel_eiMgP.treeItemLabel_eiMgP.treeItemLabel_eiMgP.treeItemLabel_eiMgP{padding:0 4px;border-radius:4px}.treeItemMetaText_cmfX0.treeItemMetaText_cmfX0.treeItemMetaText_cmfX0.treeItemMetaText_cmfX0.treeItemMetaText_cmfX0{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treeItem_sRXPA.treeItem_sRXPA.treeItem_sRXPA.treeItem_sRXPA.treeItem_sRXPA{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:pre;height:22px;display:flex;flex-direction:row;align-items:center;padding-left:calc(8px + (var(--level) * 20px));position:sticky;top:calc(var(--vmd-header-height) + var(--vmd-control-panel-height));z-index:1}.treeItem_sRXPA.treeItem_sRXPA.treeItem_sRXPA.treeItem_sRXPA.treeItem_sRXPA:hover{background:var(--vmd-content-highlight-bg)}.treeItem_sRXPA.treeItem_sRXPA.treeItem_sRXPA.treeItem_sRXPA.treeItem_sRXPA:not([data-fitted=true])>header{opacity:.6}.vmTreeItem_t-7jc.vmTreeItem_t-7jc.vmTreeItem_t-7jc.vmTreeItem_t-7jc.vmTreeItem_t-7jc .treeItemLabel_eiMgP.treeItemLabel_eiMgP.treeItemLabel_eiMgP.treeItemLabel_eiMgP.treeItemLabel_eiMgP{background:var(--vmd-primary-bg)}.vmTreeItem_t-7jc.vmTreeItem_t-7jc.vmTreeItem_t-7jc.vmTreeItem_t-7jc.vmTreeItem_t-7jc .treeItemMetaText_cmfX0.treeItemMetaText_cmfX0.treeItemMetaText_cmfX0.treeItemMetaText_cmfX0.treeItemMetaText_cmfX0{color:var(--vmd-primary-color)}.extraTreeItem_z3KA1.extraTreeItem_z3KA1.extraTreeItem_z3KA1.extraTreeItem_z3KA1.extraTreeItem_z3KA1 .treeItemLabel_eiMgP.treeItemLabel_eiMgP.treeItemLabel_eiMgP.treeItemLabel_eiMgP.treeItemLabel_eiMgP{background:var(--vmd-secondary-bg)}.expandButton_B24E3.expandButton_B24E3.expandButton_B24E3.expandButton_B24E3.expandButton_B24E3{color:#a0a0a0;opacity:1!important;width:16px;height:16px;font-weight:700;cursor:pointer}.expandButton_B24E3.expandButton_B24E3.expandButton_B24E3.expandButton_B24E3.expandButton_B24E3.expanded_8-pD6.expanded_8-pD6.expanded_8-pD6.expanded_8-pD6.expanded_8-pD6{color:#b8b8b8;transform:rotate(90deg)}.expandButton_B24E3.expandButton_B24E3.expandButton_B24E3.expandButton_B24E3.expandButton_B24E3.disabled_MBq1Q.disabled_MBq1Q.disabled_MBq1Q.disabled_MBq1Q.disabled_MBq1Q{opacity:.35!important}.vmContentVirtualizedContent_LtS91.vmContentVirtualizedContent_LtS91.vmContentVirtualizedContent_LtS91.vmContentVirtualizedContent_LtS91.vmContentVirtualizedContent_LtS91{overflow:hidden}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar]{position:relative;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;color:var(--vmd-base-color);background:var(--vmd-bg);-webkit-backdrop-filter:blur(var(--vmd-base-blur));backdrop-filter:blur(var(--vmd-base-blur));display:flex;flex-direction:column;overflow:auto;overflow-y:auto;scrollbar-width:thin;overflow-anchor:none}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;inset:0;width:auto!important;height:auto!important;z-index:0}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;inset:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-content-wrapper::-webkit-scrollbar,.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-hide-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-content:after,.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-content:before{content:" ";display:table}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar].simplebar-dragging,.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-scrollbar:before{position:absolute;content:"";background:var(--vmd-scrollbar-bg-base);border-radius:7px;left:2px;right:2px;opacity:0;transition:opacity .2s .5s linear}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition-delay:0s;transition-duration:0s}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-track.simplebar-vertical{top:0;width:var(--vmd-scrollbar-track-size)}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-scrollbar:before{inset:2px}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-track.simplebar-horizontal{left:0;height:var(--vmd-scrollbar-track-size)}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-track.simplebar-horizontal .simplebar-scrollbar{inset:0 auto 0 0;min-height:0;min-width:10px;width:auto}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:scrollbar!important}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-dummy-scrollbar-size>div{width:200%;height:200%;margin:10px 0}.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57.vmContent_TIK57[data-simplebar] .simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.vmContentHeader_M1JNM.vmContentHeader_M1JNM.vmContentHeader_M1JNM.vmContentHeader_M1JNM.vmContentHeader_M1JNM{display:flex;flex-direction:column;height:var(--vmd-header-height);flex:none;padding:0 8px;position:sticky;top:0;z-index:2}.vmContentHeaderLogo_FRJDO.vmContentHeaderLogo_FRJDO.vmContentHeaderLogo_FRJDO.vmContentHeaderLogo_FRJDO.vmContentHeaderLogo_FRJDO{width:16px;margin-right:6px}.vmContentHeaderTitle_lYmde.vmContentHeaderTitle_lYmde.vmContentHeaderTitle_lYmde.vmContentHeaderTitle_lYmde.vmContentHeaderTitle_lYmde{display:flex;justify-content:space-between;align-items:center;flex:none;font-weight:600;z-index:1}.vmContentHeaderTitleText_RlIFH.vmContentHeaderTitleText_RlIFH.vmContentHeaderTitleText_RlIFH.vmContentHeaderTitleText_RlIFH.vmContentHeaderTitleText_RlIFH{font-size:16px;margin-right:auto}.vmContentControlPanel_CgUN9.vmContentControlPanel_CgUN9.vmContentControlPanel_CgUN9.vmContentControlPanel_CgUN9.vmContentControlPanel_CgUN9{width:100%;height:var(--vmd-control-panel-height);padding-bottom:4px;flex:none;display:flex;flex-direction:row;z-index:1;gap:4px;overflow:hidden;padding-right:6px}.vmContentControlPanel_CgUN9.vmContentControlPanel_CgUN9.vmContentControlPanel_CgUN9.vmContentControlPanel_CgUN9.vmContentControlPanel_CgUN9.searchIsActive_cJutI.searchIsActive_cJutI.searchIsActive_cJutI.searchIsActive_cJutI.searchIsActive_cJutI>.vmContentControlPanelActions_lONbA.vmContentControlPanelActions_lONbA.vmContentControlPanelActions_lONbA.vmContentControlPanelActions_lONbA.vmContentControlPanelActions_lONbA{margin-left:-106px}.vmContentControlPanelActions_lONbA.vmContentControlPanelActions_lONbA.vmContentControlPanelActions_lONbA.vmContentControlPanelActions_lONbA.vmContentControlPanelActions_lONbA{display:flex;flex-direction:row;align-items:center;gap:6px;transition:all .15s ease}.hiearchyToggleButton_0FTG-.hiearchyToggleButton_0FTG-.hiearchyToggleButton_0FTG-.hiearchyToggleButton_0FTG-.hiearchyToggleButton_0FTG-{display:flex}.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1{display:flex;position:relative;flex:1;-webkit-backdrop-filter:blur(var(--vmd-control-blur));backdrop-filter:blur(var(--vmd-control-blur))}.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1>svg{position:absolute;width:16px;inset:50% 0;transform:translate(6px,-50%);pointer-events:none;opacity:.7}.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1>input{background:var(--vmd-control-bg);border:1px solid var(--vmd-control-border);color:var(--vmd-control-active-text-input-color);border-radius:4px;outline:0;width:100%;padding:3px 26px;font-size:14px;text-overflow:ellipsis}.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1>input::placeholder{color:var(--vmd-control-active-text-input-placeholder-color)}.inputGhost_J-ksi.inputGhost_J-ksi.inputGhost_J-ksi.inputGhost_J-ksi.inputGhost_J-ksi{position:absolute;inset:0;display:flex;align-items:center;padding:3px 26px;font-size:14px;pointer-events:none;white-space:pre;overflow:hidden;z-index:0}.inputGhostTyped_UxVAJ.inputGhostTyped_UxVAJ.inputGhostTyped_UxVAJ.inputGhostTyped_UxVAJ.inputGhostTyped_UxVAJ{color:transparent;white-space:pre}.inputGhostSuggestion_Ys7F3.inputGhostSuggestion_Ys7F3.inputGhostSuggestion_Ys7F3.inputGhostSuggestion_Ys7F3.inputGhostSuggestion_Ys7F3{color:var(--vmd-control-active-text-input-placeholder-color);white-space:pre;opacity:.7}.inputSuggestions_5btGB.inputSuggestions_5btGB.inputSuggestions_5btGB.inputSuggestions_5btGB.inputSuggestions_5btGB{position:absolute;left:35px;top:calc(100% - 10px);display:flex;align-items:flex-start;font-size:14px;white-space:pre;z-index:3}.inputSuggestionsList_3Gl-h.inputSuggestionsList_3Gl-h.inputSuggestionsList_3Gl-h.inputSuggestionsList_3Gl-h.inputSuggestionsList_3Gl-h{min-width:120px;max-width:320px;padding:3px;border:1px solid var(--vmd-control-border);border-radius:5px;background:var(--vmd-control-bg);box-shadow:0 6px 18px #00000059;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.inputSuggestionItem_GcQXp.inputSuggestionItem_GcQXp.inputSuggestionItem_GcQXp.inputSuggestionItem_GcQXp.inputSuggestionItem_GcQXp{display:flex;align-items:baseline;cursor:pointer;gap:6px;padding:1px 2px;border-radius:3px;color:var(--vmd-control-active-text-input-placeholder-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inputSuggestionOwner_cMrNk.inputSuggestionOwner_cMrNk.inputSuggestionOwner_cMrNk.inputSuggestionOwner_cMrNk.inputSuggestionOwner_cMrNk{flex:none;max-width:90px;font-size:10px;line-height:1;overflow:hidden;text-overflow:ellipsis;background:var(--vmd-primary-bg);color:#fff;padding:2px;direction:rtl;border-radius:3px;opacity:.85}.inputSuggestionValue_6fYPI.inputSuggestionValue_6fYPI.inputSuggestionValue_6fYPI.inputSuggestionValue_6fYPI.inputSuggestionValue_6fYPI{overflow:hidden;text-overflow:ellipsis}.inputSuggestionItem_GcQXp.inputSuggestionItem_GcQXp.inputSuggestionItem_GcQXp.inputSuggestionItem_GcQXp.inputSuggestionItem_GcQXp.selected_OPRUb.selected_OPRUb.selected_OPRUb.selected_OPRUb.selected_OPRUb{color:var(--vmd-control-active-text-input-color);background:var(--vmd-content-highlight-bg)}.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1>input.inputWithSuggestion_C9PIe.inputWithSuggestion_C9PIe.inputWithSuggestion_C9PIe.inputWithSuggestion_C9PIe.inputWithSuggestion_C9PIe{background:transparent}.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1>button{position:absolute;right:6px;width:16px;transform:translate(4px,-50%);top:50%;opacity:.6;display:none}.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.filled_6JZa0.filled_6JZa0.filled_6JZa0.filled_6JZa0.filled_6JZa0>svg{opacity:.9}.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.vmContentInput_29GM1.filled_6JZa0.filled_6JZa0.filled_6JZa0.filled_6JZa0.filled_6JZa0>button{display:block}.gradientBlur_-y-re.gradientBlur_-y-re.gradientBlur_-y-re.gradientBlur_-y-re.gradientBlur_-y-re{position:absolute;top:0;left:0;width:100%;height:calc(100% + 6px);pointer-events:none;background:linear-gradient(to bottom,var(--vmd-overlay-bg) 0%,rgba(0,0,0,0) 100%)}.gradientBlur_-y-re.gradientBlur_-y-re.gradientBlur_-y-re.gradientBlur_-y-re.gradientBlur_-y-re:before{content:"";position:absolute;inset:0;background:transparent;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);-webkit-mask:linear-gradient(to bottom,var(--vmd-overlay-bg) 50%,rgba(0,0,0,0) 100%);mask:linear-gradient(to bottom,var(--vmd-overlay-bg) 50%,rgba(0,0,0,0) 100%)}[data-list-item-operations]{position:relative;right:12px;display:flex;align-items:center;margin-left:auto;gap:4px;width:0;transition:all .15s ease;overflow:hidden}*:has(>[data-list-item-operations]):hover>[data-list-item-operations]{width:auto}[data-list-item-operation]:active{transform:scale(.9)}.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:pre;background:var(--vmd-content-bg);height:22px;display:flex;flex-direction:row;align-items:center;position:relative;color:var(--vmd-property-meta-color);padding-left:calc(0px + 28px + (var(--level) * 15px))}.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG:hover,.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.isEditMode_S3NAq.isEditMode_S3NAq.isEditMode_S3NAq.isEditMode_S3NAq.isEditMode_S3NAq{background:var(--vmd-content-highlight-bg)}.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.expandable_np03F.expandable_np03F.expandable_np03F.expandable_np03F.expandable_np03F{cursor:pointer}.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG>span{flex:1;overflow:hidden;text-overflow:ellipsis;padding-right:12px;display:flex;flex-direction:row}.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG[data-fitted=false]{opacity:.5}.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.instance_jv3IW.instance_jv3IW.instance_jv3IW.instance_jv3IW.instance_jv3IW{--value-color: rgb(190 113 195)}.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.boolean_Z6znK.boolean_Z6znK.boolean_Z6znK.boolean_Z6znK.boolean_Z6znK,.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.number_U9H45.number_U9H45.number_U9H45.number_U9H45.number_U9H45,.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.object_bHf4I.object_bHf4I.object_bHf4I.object_bHf4I.object_bHf4I,.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.bigint_HkgX8.bigint_HkgX8.bigint_HkgX8.bigint_HkgX8.bigint_HkgX8,.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.symbol_oKSwT.symbol_oKSwT.symbol_oKSwT.symbol_oKSwT.symbol_oKSwT{--value-color: rgb(89, 153, 205)}.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.undefined_6CapW.undefined_6CapW.undefined_6CapW.undefined_6CapW.undefined_6CapW,.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.null_lugoL.null_lugoL.null_lugoL.null_lugoL.null_lugoL{--value-color: #499098}.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.primitive_v6LAV.string_87vm1.string_87vm1.string_87vm1.string_87vm1.string_87vm1{--value-color: #af7249}.propertyName_KicXG.propertyName_KicXG.propertyName_KicXG.propertyName_KicXG.propertyName_KicXG{color:#ccc}.propertyMeta_Ia9ce.propertyMeta_Ia9ce.propertyMeta_Ia9ce.propertyMeta_Ia9ce.propertyMeta_Ia9ce{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.propertyValue_fYO2g.propertyValue_fYO2g.propertyValue_fYO2g.propertyValue_fYO2g.propertyValue_fYO2g{color:var(--value-color, var(--vmd-property-meta-color));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.propertyValue_fYO2g.propertyValue_fYO2g.propertyValue_fYO2g.propertyValue_fYO2g.propertyValue_fYO2g:has(+.propertyName_KicXG.propertyName_KicXG.propertyName_KicXG.propertyName_KicXG.propertyName_KicXG){margin-right:4px}.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.property_sD8FG.isEditMode_S3NAq.isEditMode_S3NAq.isEditMode_S3NAq.isEditMode_S3NAq.isEditMode_S3NAq>[data-list-item-operations]{width:auto}.editContent_WSktI.editContent_WSktI.editContent_WSktI.editContent_WSktI.editContent_WSktI{min-width:180px;flex:none;text-overflow:ellipsis;background:transparent;color:var(--vmd-edit-content-color);outline:0;border:1px solid var(--vmd-control-active-text-input-color);border-radius:4px;padding:0 4px}.notifications_50ZEK.notifications_50ZEK.notifications_50ZEK.notifications_50ZEK.notifications_50ZEK{position:absolute;z-index:1000;padding:4px;border-radius:4px;background:var(--vmd-control-border);-webkit-backdrop-filter:blur(var(--vmd-base-blur));backdrop-filter:blur(var(--vmd-base-blur));right:8px;left:4px;top:4px;display:flex;flex-direction:column;gap:4px}@keyframes notification-fade-out_1FHX2{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.notification_Yxzo-.notification_Yxzo-.notification_Yxzo-.notification_Yxzo-.notification_Yxzo-{animation:notification-fade-out_1FHX2 .25s ease forwards}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -10892,11 +10892,11 @@ function requireReactDom_development() {
|
|
|
10892
10892
|
selectedValue["$" + selectedValues[i]] = true;
|
|
10893
10893
|
}
|
|
10894
10894
|
for (var _i = 0; _i < options2.length; _i++) {
|
|
10895
|
-
var
|
|
10896
|
-
if (options2[_i].selected !==
|
|
10897
|
-
options2[_i].selected =
|
|
10895
|
+
var selected2 = selectedValue.hasOwnProperty("$" + options2[_i].value);
|
|
10896
|
+
if (options2[_i].selected !== selected2) {
|
|
10897
|
+
options2[_i].selected = selected2;
|
|
10898
10898
|
}
|
|
10899
|
-
if (
|
|
10899
|
+
if (selected2 && setDefaultSelected) {
|
|
10900
10900
|
options2[_i].defaultSelected = true;
|
|
10901
10901
|
}
|
|
10902
10902
|
}
|
|
@@ -38024,7 +38024,7 @@ function getAllKeys(instance2) {
|
|
|
38024
38024
|
}
|
|
38025
38025
|
currentPrototype = nextPrototype;
|
|
38026
38026
|
}
|
|
38027
|
-
return
|
|
38027
|
+
return [...keysSet];
|
|
38028
38028
|
}
|
|
38029
38029
|
class MetaListItem extends ListItem {
|
|
38030
38030
|
constructor(devtools, key, content, _depth) {
|
|
@@ -38480,9 +38480,14 @@ const vmContentInput = "vmContentInput_29GM1";
|
|
|
38480
38480
|
const inputGhost = "inputGhost_J-ksi";
|
|
38481
38481
|
const inputGhostTyped = "inputGhostTyped_UxVAJ";
|
|
38482
38482
|
const inputGhostSuggestion = "inputGhostSuggestion_Ys7F3";
|
|
38483
|
+
const inputSuggestions = "inputSuggestions_5btGB";
|
|
38484
|
+
const inputSuggestionsList = "inputSuggestionsList_3Gl-h";
|
|
38485
|
+
const inputSuggestionItem = "inputSuggestionItem_GcQXp";
|
|
38486
|
+
const inputSuggestionOwner = "inputSuggestionOwner_cMrNk";
|
|
38487
|
+
const inputSuggestionValue = "inputSuggestionValue_6fYPI";
|
|
38488
|
+
const selected = "selected_OPRUb";
|
|
38483
38489
|
const inputWithSuggestion = "inputWithSuggestion_C9PIe";
|
|
38484
38490
|
const filled = "filled_6JZa0";
|
|
38485
|
-
const vmContentVirtualScroll = "vmContentVirtualScroll_TVyLu";
|
|
38486
38491
|
const gradientBlur = "gradientBlur_-y-re";
|
|
38487
38492
|
const css$2 = {
|
|
38488
38493
|
expandButton,
|
|
@@ -38501,9 +38506,14 @@ const css$2 = {
|
|
|
38501
38506
|
inputGhost,
|
|
38502
38507
|
inputGhostTyped,
|
|
38503
38508
|
inputGhostSuggestion,
|
|
38509
|
+
inputSuggestions,
|
|
38510
|
+
inputSuggestionsList,
|
|
38511
|
+
inputSuggestionItem,
|
|
38512
|
+
inputSuggestionOwner,
|
|
38513
|
+
inputSuggestionValue,
|
|
38514
|
+
selected,
|
|
38504
38515
|
inputWithSuggestion,
|
|
38505
38516
|
filled,
|
|
38506
|
-
vmContentVirtualScroll,
|
|
38507
38517
|
gradientBlur
|
|
38508
38518
|
};
|
|
38509
38519
|
const ExpandButton = ({
|
|
@@ -38639,7 +38649,6 @@ const MetaListItemRender = observer(
|
|
|
38639
38649
|
className: cx(css$1.property, css$1.primitive),
|
|
38640
38650
|
style: { "--level": item.depth },
|
|
38641
38651
|
"data-fitted": item.devtools.searchEngine.isItemFitted(item),
|
|
38642
|
-
title: item.stringifiedData,
|
|
38643
38652
|
"data-depth": item.depthLine,
|
|
38644
38653
|
children: item.content
|
|
38645
38654
|
},
|
|
@@ -39738,14 +39747,13 @@ const skipEvent = (e) => {
|
|
|
39738
39747
|
};
|
|
39739
39748
|
const FunctionPropertyContent = observer(
|
|
39740
39749
|
({ item }) => {
|
|
39741
|
-
const argLabels = Array.
|
|
39742
|
-
{ length: item.data.length },
|
|
39750
|
+
const argLabels = [...Array(item.data.length)].map(
|
|
39743
39751
|
(_14, i) => `arg${i + 1}`
|
|
39744
39752
|
);
|
|
39745
39753
|
return /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(jsxDevRuntimeExports.Fragment, { children: [
|
|
39746
39754
|
/* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$1.propertyName, children: item.property }, void 0, false, {
|
|
39747
39755
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/function.tsx",
|
|
39748
|
-
lineNumber:
|
|
39756
|
+
lineNumber: 14,
|
|
39749
39757
|
columnNumber: 9
|
|
39750
39758
|
}, void 0),
|
|
39751
39759
|
item.isEditMode ? /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(jsxDevRuntimeExports.Fragment, { children: [
|
|
@@ -39763,7 +39771,7 @@ const FunctionPropertyContent = observer(
|
|
|
39763
39771
|
false,
|
|
39764
39772
|
{
|
|
39765
39773
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/function.tsx",
|
|
39766
|
-
lineNumber:
|
|
39774
|
+
lineNumber: 18,
|
|
39767
39775
|
columnNumber: 13
|
|
39768
39776
|
},
|
|
39769
39777
|
void 0
|
|
@@ -39771,12 +39779,12 @@ const FunctionPropertyContent = observer(
|
|
|
39771
39779
|
`)`
|
|
39772
39780
|
] }, void 0, true, {
|
|
39773
39781
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/function.tsx",
|
|
39774
|
-
lineNumber:
|
|
39782
|
+
lineNumber: 16,
|
|
39775
39783
|
columnNumber: 11
|
|
39776
39784
|
}, void 0) : `(${argLabels.join(", ")})`
|
|
39777
39785
|
] }, void 0, true, {
|
|
39778
39786
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/function.tsx",
|
|
39779
|
-
lineNumber:
|
|
39787
|
+
lineNumber: 13,
|
|
39780
39788
|
columnNumber: 7
|
|
39781
39789
|
}, void 0);
|
|
39782
39790
|
}
|
|
@@ -39929,7 +39937,6 @@ const PropertyListItemRender = observer(
|
|
|
39929
39937
|
}),
|
|
39930
39938
|
style: { "--level": item.depth, "--order": item.order },
|
|
39931
39939
|
"data-fitted": item.devtools.searchEngine.isItemFitted(item),
|
|
39932
|
-
title: item.stringifiedData,
|
|
39933
39940
|
onClick: (e) => item.devtools.handlePropertyClick(item, e),
|
|
39934
39941
|
"data-depth": item.depthLine,
|
|
39935
39942
|
children: [
|
|
@@ -39938,12 +39945,12 @@ const PropertyListItemRender = observer(
|
|
|
39938
39945
|
item.extraContent
|
|
39939
39946
|
] }, void 0, true, {
|
|
39940
39947
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/index.tsx",
|
|
39941
|
-
lineNumber:
|
|
39948
|
+
lineNumber: 61,
|
|
39942
39949
|
columnNumber: 9
|
|
39943
39950
|
}, void 0),
|
|
39944
39951
|
/* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(ListItemOperations, { item }, void 0, false, {
|
|
39945
39952
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/index.tsx",
|
|
39946
|
-
lineNumber:
|
|
39953
|
+
lineNumber: 65,
|
|
39947
39954
|
columnNumber: 9
|
|
39948
39955
|
}, void 0)
|
|
39949
39956
|
]
|
|
@@ -40185,7 +40192,7 @@ const Notifications = withViewModel(NotificationsVM, ({ model }) => {
|
|
|
40185
40192
|
if (!model.items.size) {
|
|
40186
40193
|
return null;
|
|
40187
40194
|
}
|
|
40188
|
-
return /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css.notifications, children:
|
|
40195
|
+
return /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css.notifications, children: [...model.items.values()].map((item) => /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css.notification, children: item.title }, item.id, false, {
|
|
40189
40196
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/notifications/index.tsx",
|
|
40190
40197
|
lineNumber: 13,
|
|
40191
40198
|
columnNumber: 9
|
|
@@ -40336,6 +40343,8 @@ const VmDevtoolsContent = withViewModel(
|
|
|
40336
40343
|
value: devtools.searchEngine.searchText,
|
|
40337
40344
|
onChange: devtools.searchEngine.handleSearchInput,
|
|
40338
40345
|
onKeyDown: devtools.searchEngine.handleKeyDown,
|
|
40346
|
+
onFocus: devtools.searchEngine.handleSearchInputFocus,
|
|
40347
|
+
onBlur: devtools.searchEngine.handleSearchInputBlur,
|
|
40339
40348
|
placeholder: devtools.searchEngine.suggestionSuffix ? "" : "search by property path or ViewModel name",
|
|
40340
40349
|
className: devtools.searchEngine.suggestionSuffix ? css$2.inputWithSuggestion : void 0
|
|
40341
40350
|
},
|
|
@@ -40350,11 +40359,11 @@ const VmDevtoolsContent = withViewModel(
|
|
|
40350
40359
|
),
|
|
40351
40360
|
/* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("button", { onClick: devtools.searchEngine.resetSearch, children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(Xmark, {}, void 0, false, {
|
|
40352
40361
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
|
|
40353
|
-
lineNumber:
|
|
40362
|
+
lineNumber: 110,
|
|
40354
40363
|
columnNumber: 17
|
|
40355
40364
|
}, void 0) }, void 0, false, {
|
|
40356
40365
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
|
|
40357
|
-
lineNumber:
|
|
40366
|
+
lineNumber: 109,
|
|
40358
40367
|
columnNumber: 15
|
|
40359
40368
|
}, void 0)
|
|
40360
40369
|
]
|
|
@@ -40367,7 +40376,61 @@ const VmDevtoolsContent = withViewModel(
|
|
|
40367
40376
|
columnNumber: 13
|
|
40368
40377
|
},
|
|
40369
40378
|
void 0
|
|
40370
|
-
)
|
|
40379
|
+
),
|
|
40380
|
+
devtools.searchEngine.shouldShowSuggestions && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css$2.inputSuggestions, "aria-hidden": "true", children: [
|
|
40381
|
+
/* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputGhostTyped, children: devtools.searchEngine.searchText }, void 0, false, {
|
|
40382
|
+
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
|
|
40383
|
+
lineNumber: 115,
|
|
40384
|
+
columnNumber: 19
|
|
40385
|
+
}, void 0),
|
|
40386
|
+
/* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css$2.inputSuggestionsList, children: devtools.searchEngine.suggestionItems.map((suggestion, index) => /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
|
|
40387
|
+
"div",
|
|
40388
|
+
{
|
|
40389
|
+
onMouseEnter: () => {
|
|
40390
|
+
devtools.searchEngine.selectSuggestionAtIndex(index);
|
|
40391
|
+
},
|
|
40392
|
+
onMouseDown: (e) => {
|
|
40393
|
+
e.preventDefault();
|
|
40394
|
+
devtools.searchEngine.applySuggestionFromClick(
|
|
40395
|
+
suggestion,
|
|
40396
|
+
index
|
|
40397
|
+
);
|
|
40398
|
+
},
|
|
40399
|
+
className: cx(
|
|
40400
|
+
css$2.inputSuggestionItem,
|
|
40401
|
+
index === devtools.searchEngine.selectedSuggestionIndex && css$2.selected
|
|
40402
|
+
),
|
|
40403
|
+
children: [
|
|
40404
|
+
!devtools.searchEngine.isNestedSearch && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputSuggestionOwner, children: suggestion.vmName }, void 0, false, {
|
|
40405
|
+
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
|
|
40406
|
+
lineNumber: 138,
|
|
40407
|
+
columnNumber: 27
|
|
40408
|
+
}, void 0),
|
|
40409
|
+
/* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputSuggestionValue, children: suggestion.value }, void 0, false, {
|
|
40410
|
+
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
|
|
40411
|
+
lineNumber: 142,
|
|
40412
|
+
columnNumber: 25
|
|
40413
|
+
}, void 0)
|
|
40414
|
+
]
|
|
40415
|
+
},
|
|
40416
|
+
`${suggestion.ownerKey}/${suggestion.value}`,
|
|
40417
|
+
true,
|
|
40418
|
+
{
|
|
40419
|
+
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
|
|
40420
|
+
lineNumber: 120,
|
|
40421
|
+
columnNumber: 23
|
|
40422
|
+
},
|
|
40423
|
+
void 0
|
|
40424
|
+
)) }, void 0, false, {
|
|
40425
|
+
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
|
|
40426
|
+
lineNumber: 118,
|
|
40427
|
+
columnNumber: 19
|
|
40428
|
+
}, void 0)
|
|
40429
|
+
] }, void 0, true, {
|
|
40430
|
+
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
|
|
40431
|
+
lineNumber: 114,
|
|
40432
|
+
columnNumber: 17
|
|
40433
|
+
}, void 0)
|
|
40371
40434
|
] }, void 0, true, {
|
|
40372
40435
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
|
|
40373
40436
|
lineNumber: 47,
|
|
@@ -40393,7 +40456,7 @@ const VmDevtoolsContent = withViewModel(
|
|
|
40393
40456
|
false,
|
|
40394
40457
|
{
|
|
40395
40458
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
|
|
40396
|
-
lineNumber:
|
|
40459
|
+
lineNumber: 156,
|
|
40397
40460
|
columnNumber: 11
|
|
40398
40461
|
},
|
|
40399
40462
|
void 0
|
|
@@ -40403,7 +40466,7 @@ const VmDevtoolsContent = withViewModel(
|
|
|
40403
40466
|
false,
|
|
40404
40467
|
{
|
|
40405
40468
|
fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
|
|
40406
|
-
lineNumber:
|
|
40469
|
+
lineNumber: 152,
|
|
40407
40470
|
columnNumber: 9
|
|
40408
40471
|
},
|
|
40409
40472
|
void 0
|
|
@@ -40623,24 +40686,48 @@ class SearchEngine {
|
|
|
40623
40686
|
this.searchInputRef = createFocusableRef();
|
|
40624
40687
|
makeObservable(this, {
|
|
40625
40688
|
searchText: observable.ref,
|
|
40689
|
+
searchTextToSearch: observable.ref,
|
|
40690
|
+
selectedSuggestionIndex: observable.ref,
|
|
40691
|
+
isSearchInputFocused: observable.ref,
|
|
40692
|
+
isSuggestionsDismissed: observable.ref,
|
|
40693
|
+
selectedPathOwnerKey: observable.ref,
|
|
40694
|
+
selectedPathSegment: observable.ref,
|
|
40626
40695
|
formattedSearchText: computed,
|
|
40627
40696
|
segments: computed.struct,
|
|
40628
40697
|
endsWithDot: computed,
|
|
40698
|
+
isNestedSearch: computed,
|
|
40629
40699
|
isActive: computed,
|
|
40700
|
+
isSearchTextDebouncing: computed,
|
|
40701
|
+
shouldShowSuggestions: computed,
|
|
40702
|
+
suggestionItems: computed.struct,
|
|
40703
|
+
selectedSuggestion: computed,
|
|
40630
40704
|
suggestionSuffix: computed,
|
|
40705
|
+
selectSuggestionAtIndex: action,
|
|
40706
|
+
applySuggestion: action,
|
|
40707
|
+
applySuggestionFromClick: action,
|
|
40631
40708
|
handleSearchInput: action,
|
|
40709
|
+
handleSearchInputFocus: action,
|
|
40710
|
+
handleSearchInputBlur: action,
|
|
40632
40711
|
handleKeyDown: action,
|
|
40633
40712
|
resetSearch: action
|
|
40634
40713
|
});
|
|
40635
40714
|
}
|
|
40636
40715
|
searchInputRef;
|
|
40637
40716
|
searchText = "";
|
|
40717
|
+
searchTextToSearch = "";
|
|
40718
|
+
selectedSuggestionIndex = 0;
|
|
40719
|
+
isSearchInputFocused = false;
|
|
40720
|
+
isSuggestionsDismissed = false;
|
|
40721
|
+
selectedPathOwnerKey = null;
|
|
40722
|
+
selectedPathSegment = null;
|
|
40638
40723
|
searchCacheKey = "";
|
|
40639
40724
|
isSearching = false;
|
|
40725
|
+
searchTextToSearchTimeout = null;
|
|
40640
40726
|
scrollToSearchMatchTimeout = null;
|
|
40727
|
+
static searchDebounceMs = 150;
|
|
40641
40728
|
static itemHeight = 22;
|
|
40642
40729
|
get formattedSearchText() {
|
|
40643
|
-
return this.
|
|
40730
|
+
return this.searchTextToSearch.toLowerCase().trim();
|
|
40644
40731
|
}
|
|
40645
40732
|
/**
|
|
40646
40733
|
* Сегменты поиска, разбитые по точке.
|
|
@@ -40652,45 +40739,243 @@ class SearchEngine {
|
|
|
40652
40739
|
return all[all.length - 1] === "" ? all.slice(0, -1) : all;
|
|
40653
40740
|
}
|
|
40654
40741
|
get endsWithDot() {
|
|
40655
|
-
return this.
|
|
40742
|
+
return this.searchTextToSearch.trim().endsWith(".");
|
|
40743
|
+
}
|
|
40744
|
+
get isNestedSearch() {
|
|
40745
|
+
return this.endsWithDot || this.segments.length > 1;
|
|
40656
40746
|
}
|
|
40657
40747
|
get isActive() {
|
|
40658
40748
|
return this.formattedSearchText.length > 0;
|
|
40659
40749
|
}
|
|
40660
|
-
|
|
40661
|
-
|
|
40662
|
-
|
|
40663
|
-
|
|
40664
|
-
|
|
40665
|
-
|
|
40666
|
-
|
|
40667
|
-
|
|
40668
|
-
|
|
40669
|
-
|
|
40670
|
-
|
|
40750
|
+
get isSearchTextDebouncing() {
|
|
40751
|
+
return this.searchText !== this.searchTextToSearch;
|
|
40752
|
+
}
|
|
40753
|
+
get shouldShowSuggestions() {
|
|
40754
|
+
return this.isSearchInputFocused && !this.isSuggestionsDismissed && this.suggestionItems.length > 0;
|
|
40755
|
+
}
|
|
40756
|
+
get suggestionItems() {
|
|
40757
|
+
if (this.isSearchTextDebouncing && !this.searchText.includes(".")) return [];
|
|
40758
|
+
return this.buildSuggestionItemsForText(this.getActiveSearchText());
|
|
40759
|
+
}
|
|
40760
|
+
getActiveSearchText() {
|
|
40761
|
+
if (this.searchText.includes(".")) {
|
|
40762
|
+
return this.searchText;
|
|
40763
|
+
}
|
|
40764
|
+
return this.searchTextToSearch;
|
|
40765
|
+
}
|
|
40766
|
+
buildSuggestionItemsForText(text2) {
|
|
40767
|
+
const formatted = text2.toLowerCase().trim();
|
|
40768
|
+
if (!formatted) return [];
|
|
40769
|
+
const all = formatted.split(".");
|
|
40770
|
+
const segments = all[all.length - 1] === "" ? all.slice(0, -1) : all;
|
|
40771
|
+
if (segments.length === 0) return [];
|
|
40772
|
+
const endsWithDot = text2.trim().endsWith(".");
|
|
40773
|
+
const completingSegment = endsWithDot ? "" : segments[segments.length - 1];
|
|
40774
|
+
if (!endsWithDot && !completingSegment) return [];
|
|
40671
40775
|
const rootItems = this.config.getRootItems();
|
|
40672
|
-
const pathSegments =
|
|
40776
|
+
const pathSegments = endsWithDot ? segments : segments.slice(0, -1);
|
|
40673
40777
|
const candidates = this.getCandidatePropsAtDepth(rootItems, pathSegments);
|
|
40778
|
+
const suggestionsByVM = /* @__PURE__ */ new Map();
|
|
40779
|
+
const seen = /* @__PURE__ */ new Set();
|
|
40674
40780
|
for (const prop of candidates) {
|
|
40675
40781
|
const nameLower = prop.searchData.property;
|
|
40676
40782
|
const nameOriginal = prop.property ?? "";
|
|
40677
|
-
|
|
40678
|
-
|
|
40783
|
+
const vmName = this.getOwnerVMName(prop);
|
|
40784
|
+
const ownerKey = this.getOwnerKey(prop);
|
|
40785
|
+
const uniqueKey = `${ownerKey}/${nameLower}`;
|
|
40786
|
+
if (nameLower.startsWith(completingSegment) && nameLower.length >= completingSegment.length) {
|
|
40787
|
+
if (seen.has(uniqueKey)) continue;
|
|
40788
|
+
seen.add(uniqueKey);
|
|
40789
|
+
const suggestions = suggestionsByVM.get(vmName) ?? [];
|
|
40790
|
+
suggestions.push({
|
|
40791
|
+
value: nameOriginal,
|
|
40792
|
+
suffix: nameOriginal.slice(completingSegment.length),
|
|
40793
|
+
vmName,
|
|
40794
|
+
ownerKey
|
|
40795
|
+
});
|
|
40796
|
+
suggestionsByVM.set(vmName, suggestions);
|
|
40679
40797
|
}
|
|
40680
40798
|
}
|
|
40681
|
-
|
|
40799
|
+
const result = [];
|
|
40800
|
+
const groups = [...suggestionsByVM.values()];
|
|
40801
|
+
let offset = 0;
|
|
40802
|
+
while (result.length < 10) {
|
|
40803
|
+
let hasSuggestion = false;
|
|
40804
|
+
for (const group of groups) {
|
|
40805
|
+
const suggestion = group[offset];
|
|
40806
|
+
if (!suggestion) continue;
|
|
40807
|
+
result.push(suggestion);
|
|
40808
|
+
hasSuggestion = true;
|
|
40809
|
+
if (result.length >= 10) {
|
|
40810
|
+
return result;
|
|
40811
|
+
}
|
|
40812
|
+
}
|
|
40813
|
+
if (!hasSuggestion) break;
|
|
40814
|
+
offset++;
|
|
40815
|
+
}
|
|
40816
|
+
return result;
|
|
40817
|
+
}
|
|
40818
|
+
get selectedSuggestion() {
|
|
40819
|
+
if (this.suggestionItems.length === 0) return null;
|
|
40820
|
+
const index = Math.min(
|
|
40821
|
+
this.selectedSuggestionIndex,
|
|
40822
|
+
this.suggestionItems.length - 1
|
|
40823
|
+
);
|
|
40824
|
+
return this.suggestionItems[index] ?? null;
|
|
40825
|
+
}
|
|
40826
|
+
/**
|
|
40827
|
+
* Суффикс выбранного свойства, которое начинается с последнего сегмента.
|
|
40828
|
+
* Отображается как серая подсказка в инпуте.
|
|
40829
|
+
* Например: ввод "_pay" → suggestionSuffix = "load" (от "_payload")
|
|
40830
|
+
*/
|
|
40831
|
+
get suggestionSuffix() {
|
|
40832
|
+
return this.selectedSuggestion?.suffix ?? "";
|
|
40682
40833
|
}
|
|
40834
|
+
selectSuggestionAtIndex = (index) => {
|
|
40835
|
+
if (index < 0 || index >= this.suggestionItems.length) return;
|
|
40836
|
+
this.selectedSuggestionIndex = index;
|
|
40837
|
+
this.isSuggestionsDismissed = false;
|
|
40838
|
+
};
|
|
40839
|
+
applySuggestion = (suggestion, options) => {
|
|
40840
|
+
this.clearSearchDebounce();
|
|
40841
|
+
const hadPathSyntax = this.searchText.includes(".");
|
|
40842
|
+
const nextSearchText = this.searchText + suggestion.suffix;
|
|
40843
|
+
this.searchText = nextSearchText;
|
|
40844
|
+
this.searchTextToSearch = nextSearchText;
|
|
40845
|
+
this.selectedSuggestionIndex = 0;
|
|
40846
|
+
this.isSuggestionsDismissed = options?.dismissSuggestions ?? false;
|
|
40847
|
+
const lockedSegment = hadPathSyntax ? this.getFirstPathSegment(nextSearchText) : void 0;
|
|
40848
|
+
if (options?.commitOwner) {
|
|
40849
|
+
this.commitSuggestionOwner(suggestion, lockedSegment);
|
|
40850
|
+
} else if (!hadPathSyntax) {
|
|
40851
|
+
this.commitSuggestionOwner(suggestion);
|
|
40852
|
+
} else if (!this.selectedPathOwnerKey) {
|
|
40853
|
+
this.commitSuggestionOwner(suggestion, lockedSegment);
|
|
40854
|
+
}
|
|
40855
|
+
this.searchInputRef.current?.focus();
|
|
40856
|
+
this.scheduleScrollToFirstSearchMatch();
|
|
40857
|
+
};
|
|
40858
|
+
applySuggestionFromClick = (suggestion, index) => {
|
|
40859
|
+
this.selectSuggestionAtIndex(index);
|
|
40860
|
+
this.applySuggestion(suggestion, { commitOwner: true });
|
|
40861
|
+
};
|
|
40683
40862
|
handleSearchInput = (e) => {
|
|
40863
|
+
const previousSearchText = this.searchText;
|
|
40864
|
+
const previousSelectedSuggestion = this.selectedSuggestion;
|
|
40684
40865
|
this.searchText = e.target.value;
|
|
40685
|
-
this.
|
|
40866
|
+
this.isSuggestionsDismissed = false;
|
|
40867
|
+
this.handlePathOwnerSelectionFromInput(
|
|
40868
|
+
previousSearchText,
|
|
40869
|
+
this.searchText,
|
|
40870
|
+
previousSelectedSuggestion
|
|
40871
|
+
);
|
|
40872
|
+
this.selectedSuggestionIndex = 0;
|
|
40873
|
+
this.scheduleSearchTextDebounce();
|
|
40874
|
+
};
|
|
40875
|
+
handleSearchInputFocus = (_e) => {
|
|
40876
|
+
this.isSearchInputFocused = true;
|
|
40877
|
+
this.isSuggestionsDismissed = false;
|
|
40878
|
+
};
|
|
40879
|
+
handleSearchInputBlur = (_e) => {
|
|
40880
|
+
this.isSearchInputFocused = false;
|
|
40686
40881
|
};
|
|
40687
40882
|
handleKeyDown = (e) => {
|
|
40688
|
-
if (e.key === "
|
|
40883
|
+
if (e.key === "Escape") {
|
|
40884
|
+
e.preventDefault();
|
|
40885
|
+
e.stopPropagation();
|
|
40886
|
+
this.isSuggestionsDismissed = true;
|
|
40887
|
+
return;
|
|
40888
|
+
}
|
|
40889
|
+
if (e.key === "ArrowDown" && this.suggestionItems.length > 0) {
|
|
40890
|
+
e.preventDefault();
|
|
40891
|
+
this.selectedSuggestionIndex = (this.selectedSuggestionIndex + 1) % this.suggestionItems.length;
|
|
40892
|
+
return;
|
|
40893
|
+
}
|
|
40894
|
+
if (e.key === "ArrowUp" && this.suggestionItems.length > 0) {
|
|
40689
40895
|
e.preventDefault();
|
|
40690
|
-
this.
|
|
40691
|
-
|
|
40896
|
+
this.selectedSuggestionIndex = (this.selectedSuggestionIndex - 1 + this.suggestionItems.length) % this.suggestionItems.length;
|
|
40897
|
+
return;
|
|
40898
|
+
}
|
|
40899
|
+
if ((e.key === "Tab" || e.key === "Enter") && this.selectedSuggestion) {
|
|
40900
|
+
e.preventDefault();
|
|
40901
|
+
this.applySuggestion(this.selectedSuggestion, {
|
|
40902
|
+
dismissSuggestions: e.key === "Enter"
|
|
40903
|
+
});
|
|
40692
40904
|
}
|
|
40693
40905
|
};
|
|
40906
|
+
commitSuggestionOwner(suggestion, lockedSegment) {
|
|
40907
|
+
this.selectedPathOwnerKey = suggestion.ownerKey;
|
|
40908
|
+
this.selectedPathSegment = lockedSegment ?? suggestion.value.toLowerCase().trim();
|
|
40909
|
+
}
|
|
40910
|
+
handlePathOwnerSelectionFromInput(previousSearchText, nextSearchText, previousSelectedSuggestion) {
|
|
40911
|
+
const addedDot = nextSearchText.endsWith(".") && nextSearchText === `${previousSearchText}.`;
|
|
40912
|
+
const enteredPathSyntax = nextSearchText.includes(".") && !previousSearchText.includes(".");
|
|
40913
|
+
if (addedDot || enteredPathSyntax) {
|
|
40914
|
+
const pathSegment = this.getFirstPathSegment(
|
|
40915
|
+
addedDot ? previousSearchText : nextSearchText
|
|
40916
|
+
);
|
|
40917
|
+
if (this.selectedPathOwnerKey && this.selectedPathSegment === pathSegment) {
|
|
40918
|
+
this.searchTextToSearch = nextSearchText;
|
|
40919
|
+
this.clearSearchDebounce();
|
|
40920
|
+
return;
|
|
40921
|
+
}
|
|
40922
|
+
const suggestion = addedDot && previousSelectedSuggestion && previousSelectedSuggestion.value.toLowerCase() === pathSegment ? previousSelectedSuggestion : this.resolvePathOwnerSuggestion(
|
|
40923
|
+
pathSegment,
|
|
40924
|
+
this.selectedSuggestionIndex
|
|
40925
|
+
);
|
|
40926
|
+
if (suggestion) {
|
|
40927
|
+
this.commitSuggestionOwner(suggestion, pathSegment);
|
|
40928
|
+
}
|
|
40929
|
+
this.searchTextToSearch = nextSearchText;
|
|
40930
|
+
this.clearSearchDebounce();
|
|
40931
|
+
return;
|
|
40932
|
+
}
|
|
40933
|
+
const firstSegment = nextSearchText.toLowerCase().trim().split(".")[0] ?? "";
|
|
40934
|
+
if (!nextSearchText.includes(".") || !firstSegment || firstSegment !== this.selectedPathSegment) {
|
|
40935
|
+
this.selectedPathOwnerKey = null;
|
|
40936
|
+
this.selectedPathSegment = null;
|
|
40937
|
+
}
|
|
40938
|
+
}
|
|
40939
|
+
/**
|
|
40940
|
+
* При вводе точки debounce ещё не применил searchTextToSearch,
|
|
40941
|
+
* поэтому owner берём из подсказок предыдущего сегмента.
|
|
40942
|
+
* Если пользователь явно не выбирал — берём exact-match `service`, иначе первый в списке.
|
|
40943
|
+
*/
|
|
40944
|
+
getFirstPathSegment(text2) {
|
|
40945
|
+
return text2.toLowerCase().trim().split(".")[0] ?? "";
|
|
40946
|
+
}
|
|
40947
|
+
resolvePathOwnerSuggestion(pathSegment, selectedIndex) {
|
|
40948
|
+
if (!pathSegment) return null;
|
|
40949
|
+
const items = this.buildSuggestionItemsForText(pathSegment);
|
|
40950
|
+
if (items.length === 0) return null;
|
|
40951
|
+
const exactMatches = items.filter(
|
|
40952
|
+
(item) => item.value.toLowerCase() === pathSegment
|
|
40953
|
+
);
|
|
40954
|
+
if (exactMatches.length > 0) {
|
|
40955
|
+
return exactMatches[Math.min(selectedIndex, exactMatches.length - 1)] ?? exactMatches[0];
|
|
40956
|
+
}
|
|
40957
|
+
return items[Math.min(selectedIndex, items.length - 1)] ?? items[0];
|
|
40958
|
+
}
|
|
40959
|
+
clearSearchDebounce() {
|
|
40960
|
+
if (this.searchTextToSearchTimeout) {
|
|
40961
|
+
clearTimeout(this.searchTextToSearchTimeout);
|
|
40962
|
+
this.searchTextToSearchTimeout = null;
|
|
40963
|
+
}
|
|
40964
|
+
}
|
|
40965
|
+
scheduleSearchTextDebounce() {
|
|
40966
|
+
this.clearSearchDebounce();
|
|
40967
|
+
if (!this.searchText.trim()) {
|
|
40968
|
+
this.searchTextToSearch = "";
|
|
40969
|
+
return;
|
|
40970
|
+
}
|
|
40971
|
+
this.searchTextToSearchTimeout = setTimeout(() => {
|
|
40972
|
+
runInAction(() => {
|
|
40973
|
+
this.searchTextToSearchTimeout = null;
|
|
40974
|
+
this.searchTextToSearch = this.searchText;
|
|
40975
|
+
this.scheduleScrollToFirstSearchMatch();
|
|
40976
|
+
});
|
|
40977
|
+
}, SearchEngine.searchDebounceMs);
|
|
40978
|
+
}
|
|
40694
40979
|
scheduleScrollToFirstSearchMatch() {
|
|
40695
40980
|
if (this.scrollToSearchMatchTimeout) {
|
|
40696
40981
|
clearTimeout(this.scrollToSearchMatchTimeout);
|
|
@@ -40742,52 +41027,70 @@ class SearchEngine {
|
|
|
40742
41027
|
*/
|
|
40743
41028
|
getCandidatePropsAtDepth(rootItems, pathSegments) {
|
|
40744
41029
|
const allVMs = this.collectAllVMs(rootItems);
|
|
41030
|
+
const extras = rootItems.filter(
|
|
41031
|
+
(item) => item instanceof ExtraListItem
|
|
41032
|
+
);
|
|
40745
41033
|
if (pathSegments.length === 0) {
|
|
40746
|
-
|
|
40747
|
-
|
|
40748
|
-
|
|
40749
|
-
...vm.children.filter(
|
|
40750
|
-
(c) => c instanceof PropertyListItem
|
|
40751
|
-
)
|
|
40752
|
-
);
|
|
40753
|
-
}
|
|
40754
|
-
return props;
|
|
41034
|
+
return [...allVMs, ...extras].flatMap(
|
|
41035
|
+
(item) => this.getDirectPropertyChildren(item)
|
|
41036
|
+
);
|
|
40755
41037
|
}
|
|
40756
41038
|
const firstSeg = pathSegments[0];
|
|
40757
41039
|
const result = [];
|
|
40758
41040
|
for (const vm of allVMs) {
|
|
40759
|
-
|
|
40760
|
-
|
|
40761
|
-
);
|
|
41041
|
+
if (!this.isOwnerAllowedForFirstPathSegment(vm, firstSeg)) continue;
|
|
41042
|
+
const directProps = this.getDirectPropertyChildren(vm);
|
|
40762
41043
|
const firstSegmentIsExactProperty = directProps.some(
|
|
40763
41044
|
(prop) => prop.searchData.property === firstSeg
|
|
40764
41045
|
);
|
|
40765
41046
|
const vmNameMatch = !firstSegmentIsExactProperty && (vm.searchData.name.includes(firstSeg) || vm.searchData.id.includes(firstSeg));
|
|
40766
41047
|
if (vmNameMatch) {
|
|
40767
|
-
|
|
40768
|
-
result.push(...directProps);
|
|
40769
|
-
} else {
|
|
40770
|
-
result.push(
|
|
40771
|
-
...this.navigatePropertyPath(directProps, pathSegments.slice(1))
|
|
40772
|
-
);
|
|
40773
|
-
}
|
|
41048
|
+
result.push(...this.getOwnerMatchedPathCandidates(directProps, pathSegments));
|
|
40774
41049
|
} else if (firstSegmentIsExactProperty) {
|
|
40775
|
-
|
|
40776
|
-
if (pathSegments.length === 1) {
|
|
40777
|
-
for (const prop of matchingProps) {
|
|
40778
|
-
result.push(...prop.children);
|
|
40779
|
-
}
|
|
40780
|
-
} else {
|
|
40781
|
-
for (const prop of matchingProps) {
|
|
40782
|
-
result.push(
|
|
40783
|
-
...this.navigatePropertyPath(prop.children, pathSegments.slice(1))
|
|
40784
|
-
);
|
|
40785
|
-
}
|
|
40786
|
-
}
|
|
41050
|
+
result.push(...this.getPropertyPathCandidates(directProps, pathSegments));
|
|
40787
41051
|
}
|
|
40788
41052
|
}
|
|
41053
|
+
for (const extra of extras) {
|
|
41054
|
+
if (!this.isOwnerAllowedForFirstPathSegment(extra, firstSeg)) continue;
|
|
41055
|
+
const directProps = this.getDirectPropertyChildren(extra);
|
|
41056
|
+
const firstSegmentIsExactProperty = directProps.some(
|
|
41057
|
+
(prop) => prop.searchData.property === firstSeg
|
|
41058
|
+
);
|
|
41059
|
+
if (!firstSegmentIsExactProperty) continue;
|
|
41060
|
+
result.push(...this.getPropertyPathCandidates(directProps, pathSegments));
|
|
41061
|
+
}
|
|
40789
41062
|
return result;
|
|
40790
41063
|
}
|
|
41064
|
+
getOwnerMatchedPathCandidates(directProps, pathSegments) {
|
|
41065
|
+
if (pathSegments.length === 1) {
|
|
41066
|
+
return directProps;
|
|
41067
|
+
}
|
|
41068
|
+
return this.navigatePropertyPath(directProps, pathSegments.slice(1));
|
|
41069
|
+
}
|
|
41070
|
+
getPropertyPathCandidates(directProps, pathSegments) {
|
|
41071
|
+
const [firstSeg, ...restSegments] = pathSegments;
|
|
41072
|
+
const matchingProps = this.getPathMatchingProps(directProps, firstSeg);
|
|
41073
|
+
if (restSegments.length === 0) {
|
|
41074
|
+
return matchingProps.flatMap((prop) => prop.children);
|
|
41075
|
+
}
|
|
41076
|
+
return matchingProps.flatMap(
|
|
41077
|
+
(prop) => this.navigatePropertyPath(prop.children, restSegments)
|
|
41078
|
+
);
|
|
41079
|
+
}
|
|
41080
|
+
getDirectPropertyChildren(item) {
|
|
41081
|
+
return item.children.filter(
|
|
41082
|
+
(child) => child instanceof PropertyListItem
|
|
41083
|
+
);
|
|
41084
|
+
}
|
|
41085
|
+
isOwnerAllowedForFirstPathSegment(owner, firstSegment) {
|
|
41086
|
+
if (!this.selectedPathOwnerKey || this.selectedPathSegment !== firstSegment) {
|
|
41087
|
+
return true;
|
|
41088
|
+
}
|
|
41089
|
+
return owner.key === this.selectedPathOwnerKey;
|
|
41090
|
+
}
|
|
41091
|
+
isPathOwnerLockedToAnotherOwner(owner, firstSegment) {
|
|
41092
|
+
return !this.isOwnerAllowedForFirstPathSegment(owner, firstSegment);
|
|
41093
|
+
}
|
|
40791
41094
|
/**
|
|
40792
41095
|
* Уже введённый path-сегмент должен совпадать строго:
|
|
40793
41096
|
* `product.` заходит только в `product`, а не в `productAsyncTasks`
|
|
@@ -40796,6 +41099,26 @@ class SearchEngine {
|
|
|
40796
41099
|
getPathMatchingProps(props, segment) {
|
|
40797
41100
|
return props.filter((p) => p.searchData.property === segment);
|
|
40798
41101
|
}
|
|
41102
|
+
getOwnerVMName(item) {
|
|
41103
|
+
let parent = item.parentListItem;
|
|
41104
|
+
while (parent instanceof PropertyListItem) {
|
|
41105
|
+
parent = parent.parentListItem;
|
|
41106
|
+
}
|
|
41107
|
+
if (parent instanceof VMListItem) {
|
|
41108
|
+
return parent.displayName;
|
|
41109
|
+
}
|
|
41110
|
+
if (parent instanceof ExtraListItem) {
|
|
41111
|
+
return parent.displayName;
|
|
41112
|
+
}
|
|
41113
|
+
return "";
|
|
41114
|
+
}
|
|
41115
|
+
getOwnerKey(item) {
|
|
41116
|
+
let parent = item.parentListItem;
|
|
41117
|
+
while (parent instanceof PropertyListItem) {
|
|
41118
|
+
parent = parent.parentListItem;
|
|
41119
|
+
}
|
|
41120
|
+
return parent.key;
|
|
41121
|
+
}
|
|
40799
41122
|
/**
|
|
40800
41123
|
* Навигация вглубь по цепочке свойств.
|
|
40801
41124
|
* Возвращает свойства на нужной глубине.
|
|
@@ -40864,12 +41187,32 @@ class SearchEngine {
|
|
|
40864
41187
|
return this.getVMSearchItems(item);
|
|
40865
41188
|
}
|
|
40866
41189
|
if (item instanceof ExtraListItem) {
|
|
40867
|
-
return
|
|
41190
|
+
return this.getExtraSearchItems(item);
|
|
40868
41191
|
}
|
|
40869
41192
|
return [item];
|
|
40870
41193
|
}
|
|
41194
|
+
getExtraSearchItems(item) {
|
|
41195
|
+
if (this.isPathOwnerLockedToAnotherOwner(item, this.segments[0] ?? "")) {
|
|
41196
|
+
return [];
|
|
41197
|
+
}
|
|
41198
|
+
const directProps = this.getDirectPropertyChildren(item);
|
|
41199
|
+
const matchesByProperty = directProps.some(
|
|
41200
|
+
(prop) => prop.searchData.property.includes(this.segments[0] ?? "")
|
|
41201
|
+
);
|
|
41202
|
+
if (!matchesByProperty) return [];
|
|
41203
|
+
return [item, ...this.getPropertySearchItems(directProps, this.segments)];
|
|
41204
|
+
}
|
|
40871
41205
|
getVMSearchItems(vmItem) {
|
|
40872
41206
|
const result = [];
|
|
41207
|
+
const firstSeg = this.segments[0] ?? "";
|
|
41208
|
+
if (this.isPathOwnerLockedToAnotherOwner(vmItem, firstSeg)) {
|
|
41209
|
+
for (const child of vmItem.children) {
|
|
41210
|
+
if (child instanceof VMListItem) {
|
|
41211
|
+
result.push(...this.getVMSearchItems(child));
|
|
41212
|
+
}
|
|
41213
|
+
}
|
|
41214
|
+
return result;
|
|
41215
|
+
}
|
|
40873
41216
|
if (!this.vmMatchesSearch(vmItem)) {
|
|
40874
41217
|
for (const child of vmItem.children) {
|
|
40875
41218
|
if (child instanceof VMListItem) {
|
|
@@ -40880,7 +41223,6 @@ class SearchEngine {
|
|
|
40880
41223
|
}
|
|
40881
41224
|
result.push(vmItem);
|
|
40882
41225
|
const { segments } = this;
|
|
40883
|
-
const firstSeg = segments[0] ?? "";
|
|
40884
41226
|
const directProps = vmItem.children.filter(
|
|
40885
41227
|
(c) => c instanceof PropertyListItem
|
|
40886
41228
|
);
|
|
@@ -40936,6 +41278,9 @@ class SearchEngine {
|
|
|
40936
41278
|
const { segments } = this;
|
|
40937
41279
|
if (segments.length === 0) return true;
|
|
40938
41280
|
const firstSegment = segments[0];
|
|
41281
|
+
if (this.isPathOwnerLockedToAnotherOwner(item, firstSegment)) {
|
|
41282
|
+
return false;
|
|
41283
|
+
}
|
|
40939
41284
|
if (item.searchData.name.includes(firstSegment) || item.searchData.id.includes(firstSegment)) {
|
|
40940
41285
|
return true;
|
|
40941
41286
|
}
|
|
@@ -40966,6 +41311,7 @@ class SearchEngine {
|
|
|
40966
41311
|
const { segments } = this;
|
|
40967
41312
|
if (segments.length === 0) return false;
|
|
40968
41313
|
const firstSeg = segments[0];
|
|
41314
|
+
if (this.isPathOwnerLockedToAnotherOwner(item, firstSeg)) return false;
|
|
40969
41315
|
const hasPathSyntax = this.endsWithDot || segments.length > 1;
|
|
40970
41316
|
const firstSegmentIsExactProperty = hasPathSyntax && item.children.some(
|
|
40971
41317
|
(child) => child instanceof PropertyListItem && child.searchData.property === firstSeg
|
|
@@ -40983,14 +41329,15 @@ class SearchEngine {
|
|
|
40983
41329
|
propLevel++;
|
|
40984
41330
|
parent = parent.parentListItem;
|
|
40985
41331
|
}
|
|
40986
|
-
if (!(parent instanceof VMListItem))
|
|
41332
|
+
if (!(parent instanceof VMListItem) && !(parent instanceof ExtraListItem)) {
|
|
41333
|
+
return false;
|
|
41334
|
+
}
|
|
40987
41335
|
const firstSeg = segments[0];
|
|
41336
|
+
if (this.isPathOwnerLockedToAnotherOwner(parent, firstSeg)) return false;
|
|
40988
41337
|
const hasPathSyntax = this.endsWithDot || segments.length > 1;
|
|
40989
|
-
const parentDirectProps =
|
|
40990
|
-
(child) => child instanceof PropertyListItem
|
|
40991
|
-
);
|
|
41338
|
+
const parentDirectProps = this.getDirectPropertyChildren(parent);
|
|
40992
41339
|
const firstSegmentIsExactProperty = hasPathSyntax && parentDirectProps.some((prop) => prop.searchData.property === firstSeg);
|
|
40993
|
-
const vmMatchesByName = !firstSegmentIsExactProperty && (parent.searchData.name.includes(firstSeg) || parent.searchData.id.includes(firstSeg));
|
|
41340
|
+
const vmMatchesByName = parent instanceof VMListItem && !firstSegmentIsExactProperty && (parent.searchData.name.includes(firstSeg) || parent.searchData.id.includes(firstSeg));
|
|
40994
41341
|
const propSegments = vmMatchesByName ? segments.slice(1) : segments;
|
|
40995
41342
|
if (propSegments.length === 0) return false;
|
|
40996
41343
|
const targetLevel = propSegments.length - 1;
|
|
@@ -41032,14 +41379,15 @@ class SearchEngine {
|
|
|
41032
41379
|
propLevel++;
|
|
41033
41380
|
parent = parent.parentListItem;
|
|
41034
41381
|
}
|
|
41035
|
-
if (!(parent instanceof VMListItem))
|
|
41382
|
+
if (!(parent instanceof VMListItem) && !(parent instanceof ExtraListItem)) {
|
|
41383
|
+
return true;
|
|
41384
|
+
}
|
|
41036
41385
|
const firstSeg = segments[0];
|
|
41386
|
+
if (this.isPathOwnerLockedToAnotherOwner(parent, firstSeg)) return false;
|
|
41037
41387
|
const hasPathSyntax = this.endsWithDot || segments.length > 1;
|
|
41038
|
-
const parentDirectProps =
|
|
41039
|
-
(child) => child instanceof PropertyListItem
|
|
41040
|
-
);
|
|
41388
|
+
const parentDirectProps = this.getDirectPropertyChildren(parent);
|
|
41041
41389
|
const firstSegmentIsExactProperty = hasPathSyntax && parentDirectProps.some((prop) => prop.searchData.property === firstSeg);
|
|
41042
|
-
const vmMatchesByName = !firstSegmentIsExactProperty && (parent.searchData.name.includes(firstSeg) || parent.searchData.id.includes(firstSeg));
|
|
41390
|
+
const vmMatchesByName = parent instanceof VMListItem && !firstSegmentIsExactProperty && (parent.searchData.name.includes(firstSeg) || parent.searchData.id.includes(firstSeg));
|
|
41043
41391
|
const propSegments = vmMatchesByName ? segments.slice(1) : segments;
|
|
41044
41392
|
const depthToCheck = Math.min(propLevel, propSegments.length);
|
|
41045
41393
|
for (let i = 0; i < depthToCheck; i++) {
|
|
@@ -41069,11 +41417,17 @@ class SearchEngine {
|
|
|
41069
41417
|
return item.searchData.property === segment;
|
|
41070
41418
|
}
|
|
41071
41419
|
resetSearch = () => {
|
|
41420
|
+
this.clearSearchDebounce();
|
|
41072
41421
|
if (this.scrollToSearchMatchTimeout) {
|
|
41073
41422
|
clearTimeout(this.scrollToSearchMatchTimeout);
|
|
41074
41423
|
this.scrollToSearchMatchTimeout = null;
|
|
41075
41424
|
}
|
|
41076
41425
|
this.searchText = "";
|
|
41426
|
+
this.searchTextToSearch = "";
|
|
41427
|
+
this.selectedSuggestionIndex = 0;
|
|
41428
|
+
this.isSuggestionsDismissed = false;
|
|
41429
|
+
this.selectedPathOwnerKey = null;
|
|
41430
|
+
this.selectedPathSegment = null;
|
|
41077
41431
|
this.focusInput();
|
|
41078
41432
|
};
|
|
41079
41433
|
focusInput = () => {
|