mobx-view-model-devtools 0.0.43 → 0.0.45

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/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.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)}}();
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}.inputSuggestionOwner_cMrNk.inputSuggestionOwner_cMrNk.inputSuggestionOwner_cMrNk.inputSuggestionOwner_cMrNk.inputSuggestionOwner_cMrNk.extras_THr24.extras_THr24.extras_THr24.extras_THr24.extras_THr24{background:var(--vmd-secondary-bg)}.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.inaccessible_YWXKM.inaccessible_YWXKM.inaccessible_YWXKM.inaccessible_YWXKM.inaccessible_YWXKM{--value-color: var(--vmd-property-meta-color)}.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;
@@ -38006,25 +38006,147 @@ const ignoredPrototypes = /* @__PURE__ */ new Set([
38006
38006
  globalThis.Iterator.prototype
38007
38007
  ]);
38008
38008
  function getAllKeys(instance2) {
38009
+ try {
38010
+ return collectKeys(instance2);
38011
+ } catch {
38012
+ return [];
38013
+ }
38014
+ }
38015
+ function collectKeys(instance2) {
38009
38016
  const keysSet = new Set(Object.keys(instance2));
38010
38017
  let currentPrototype = Object.getPrototypeOf(instance2);
38011
38018
  while (currentPrototype) {
38012
38019
  if (currentPrototype === globalThis.Object.prototype) {
38013
38020
  break;
38014
38021
  }
38015
- const descriptors = Object.getOwnPropertyDescriptors(currentPrototype);
38016
- for (const key in descriptors) {
38017
- if (!ignoredKeys.has(key)) {
38018
- keysSet.add(key);
38022
+ try {
38023
+ const descriptors = Object.getOwnPropertyDescriptors(currentPrototype);
38024
+ for (const key in descriptors) {
38025
+ if (!ignoredKeys.has(key)) {
38026
+ keysSet.add(key);
38027
+ }
38019
38028
  }
38029
+ } catch {
38030
+ break;
38031
+ }
38032
+ let nextPrototype;
38033
+ try {
38034
+ nextPrototype = Object.getPrototypeOf(currentPrototype);
38035
+ } catch {
38036
+ break;
38020
38037
  }
38021
- const nextPrototype = Object.getPrototypeOf(currentPrototype);
38022
38038
  if (ignoredPrototypes.has(nextPrototype)) {
38023
38039
  break;
38024
38040
  }
38025
38041
  currentPrototype = nextPrototype;
38026
38042
  }
38027
- return Array.from(keysSet);
38043
+ return [...keysSet];
38044
+ }
38045
+ const INACCESSIBLE = Symbol("mobx-view-model-devtools/inaccessible");
38046
+ const INACCESSIBLE_DISPLAY_LABEL = "< Inaccessible >";
38047
+ function isInaccessible(value) {
38048
+ return value === INACCESSIBLE;
38049
+ }
38050
+ function runSafely(fn, fallback) {
38051
+ try {
38052
+ return fn();
38053
+ } catch {
38054
+ return fallback;
38055
+ }
38056
+ }
38057
+ function safeGet(obj, key) {
38058
+ if (obj === null || obj === void 0) {
38059
+ return void 0;
38060
+ }
38061
+ try {
38062
+ return Reflect.get(obj, key);
38063
+ } catch {
38064
+ return INACCESSIBLE;
38065
+ }
38066
+ }
38067
+ function safeTypeof(value) {
38068
+ if (isInaccessible(value)) {
38069
+ return "object";
38070
+ }
38071
+ try {
38072
+ return typeof value;
38073
+ } catch {
38074
+ return "object";
38075
+ }
38076
+ }
38077
+ function safeObjectTag(value) {
38078
+ if (isInaccessible(value)) {
38079
+ return "[object Inaccessible]";
38080
+ }
38081
+ try {
38082
+ return Object.prototype.toString.call(value);
38083
+ } catch {
38084
+ return "[object Inaccessible]";
38085
+ }
38086
+ }
38087
+ function safeConstructorName(value) {
38088
+ const name = runSafely(() => {
38089
+ return value?.constructor?.name;
38090
+ }, null);
38091
+ if (name) {
38092
+ return name;
38093
+ }
38094
+ const tag = safeObjectTag(value);
38095
+ const match = /^\[object (.+)\]$/.exec(tag);
38096
+ if (match?.[1] && match[1] !== "Object") {
38097
+ return match[1];
38098
+ }
38099
+ return "Object";
38100
+ }
38101
+ function isRestrictedObject(value) {
38102
+ if (isInaccessible(value)) {
38103
+ return true;
38104
+ }
38105
+ if (!safeIsObjectLike(value)) {
38106
+ return false;
38107
+ }
38108
+ const constructorName = runSafely(() => {
38109
+ return value?.constructor?.name;
38110
+ }, null);
38111
+ if (constructorName) {
38112
+ return false;
38113
+ }
38114
+ const canStringify = runSafely(() => {
38115
+ String(value);
38116
+ return true;
38117
+ }, false);
38118
+ return !canStringify;
38119
+ }
38120
+ function safeIsFunction(value) {
38121
+ return safeTypeof(value) === "function";
38122
+ }
38123
+ function safeIsObjectLike(value) {
38124
+ if (value === null || isInaccessible(value)) {
38125
+ return false;
38126
+ }
38127
+ const type = safeTypeof(value);
38128
+ return type === "object" || type === "function";
38129
+ }
38130
+ function safeObjectKeys(value) {
38131
+ if (isInaccessible(value)) {
38132
+ return [];
38133
+ }
38134
+ return runSafely(() => Object.keys(value), []);
38135
+ }
38136
+ function safeHasOwn(value, key) {
38137
+ if (isInaccessible(value)) {
38138
+ return false;
38139
+ }
38140
+ return runSafely(() => Object.hasOwn(value, key), false);
38141
+ }
38142
+ function safeString(value) {
38143
+ if (isInaccessible(value)) {
38144
+ return "[Inaccessible]";
38145
+ }
38146
+ return runSafely(() => String(value), "[Inaccessible]");
38147
+ }
38148
+ function safeFunctionLength(fn) {
38149
+ return runSafely(() => fn.length, 0);
38028
38150
  }
38029
38151
  class MetaListItem extends ListItem {
38030
38152
  constructor(devtools, key, content, _depth) {
@@ -38121,6 +38243,8 @@ class PropertyListItem extends ListItem {
38121
38243
  computed(this, "propertyClosingTag");
38122
38244
  computed(this, "dataType");
38123
38245
  computed(this, "stringifiedDataType");
38246
+ computed(this, "instanceClassName");
38247
+ computed(this, "isInaccessibleDisplay");
38124
38248
  computed(this, "extraContent");
38125
38249
  observable.ref(this, "failedStringify");
38126
38250
  observable.ref(this, "editContent");
@@ -38138,40 +38262,63 @@ class PropertyListItem extends ListItem {
38138
38262
  }
38139
38263
  get data() {
38140
38264
  this.dataWatchAtom.reportObserved();
38141
- return this.property && this.parent.data[this.property];
38265
+ if (!this.property) {
38266
+ return void 0;
38267
+ }
38268
+ return safeGet(this.parent.data, this.property);
38142
38269
  }
38143
38270
  get descriptor() {
38144
38271
  if (!this.property) {
38145
38272
  return null;
38146
38273
  }
38147
- return Object.getOwnPropertyDescriptor(this.parent.data, this.property);
38274
+ try {
38275
+ return Object.getOwnPropertyDescriptor(this.parent.data, this.property);
38276
+ } catch {
38277
+ return null;
38278
+ }
38148
38279
  }
38149
38280
  get dataType() {
38150
- return typeof this.data;
38281
+ return safeTypeof(this.data);
38151
38282
  }
38152
38283
  get stringifiedDataType() {
38153
- return Object.prototype.toString.call(this.data);
38284
+ return safeObjectTag(this.data);
38285
+ }
38286
+ get instanceClassName() {
38287
+ return safeConstructorName(this.data);
38288
+ }
38289
+ get isInaccessibleDisplay() {
38290
+ return isRestrictedObject(this.data);
38291
+ }
38292
+ get inaccessibleDisplayLabel() {
38293
+ return INACCESSIBLE_DISPLAY_LABEL;
38154
38294
  }
38155
38295
  get type() {
38156
- if (Array.isArray(this.data)) {
38296
+ const data = this.data;
38297
+ if (isRestrictedObject(data)) {
38298
+ return "primitive";
38299
+ }
38300
+ if (Array.isArray(data)) {
38157
38301
  return "array";
38158
38302
  }
38159
- if (_exports.isObject(this.data) && this.data.constructor?.name && this.data.constructor.name !== "Object") {
38160
- return "instance";
38161
- } else if (_exports.isFunction(this.data)) {
38303
+ if (safeIsFunction(data)) {
38162
38304
  return "function";
38163
- } else if (_exports.isObject(this.data)) {
38305
+ }
38306
+ if (safeIsObjectLike(data)) {
38307
+ const className = safeConstructorName(data);
38308
+ if (className && className !== "Object") {
38309
+ return "instance";
38310
+ }
38164
38311
  return "object";
38165
- } else if (this.stringifiedDataType.startsWith("[object ") && this.data && typeof this.data === "object" && "constructor" in this.data) {
38312
+ }
38313
+ if (this.stringifiedDataType.startsWith("[object ") && data !== null && safeTypeof(data) === "object" && safeHasOwn(data, "constructor")) {
38166
38314
  return "instance";
38167
- } else {
38168
- return "primitive";
38169
38315
  }
38316
+ return "primitive";
38170
38317
  }
38171
38318
  get children() {
38172
38319
  let listItems = [];
38173
38320
  if (this.type === "array") {
38174
- listItems = Object.keys(this.data).map(
38321
+ listItems = safeObjectKeys(this.data).map(
38175
38322
  (property2, order) => PropertyListItem.create(
38176
38323
  this.devtools,
38177
38324
  property2,
@@ -38190,7 +38337,7 @@ class PropertyListItem extends ListItem {
38190
38337
  )
38191
38338
  );
38192
38339
  } else if (this.type === "function") {
38193
- listItems = Object.keys(this.data).map((property2, order) => {
38340
+ listItems = safeObjectKeys(this.data).map((property2, order) => {
38194
38341
  return PropertyListItem.create(
38195
38342
  this.devtools,
38196
38343
  property2,
@@ -38296,6 +38443,9 @@ class PropertyListItem extends ListItem {
38296
38443
  return this.type !== "instance" && !this.failedStringify;
38297
38444
  }
38298
38445
  get stringifiedData() {
38446
+ if (isInaccessible(this.data)) {
38447
+ return INACCESSIBLE_DISPLAY_LABEL;
38448
+ }
38299
38449
  switch (this.type) {
38300
38450
  case "object":
38301
38451
  case "array": {
@@ -38313,9 +38463,9 @@ class PropertyListItem extends ListItem {
38313
38463
  case "symbol":
38314
38464
  return `Symbol(${Symbol.keyFor(this.data) || ""})`;
38315
38465
  case "string":
38316
- return `"${super.stringifiedData}"`;
38466
+ return `"${safeString(this.data)}"`;
38317
38467
  }
38318
- return super.stringifiedData;
38468
+ return safeString(this.data);
38319
38469
  }
38320
38470
  }
38321
38471
  }
@@ -38431,10 +38581,10 @@ class ExtraListItem extends ListItem {
38431
38581
  }
38432
38582
  searchData;
38433
38583
  displayName;
38434
- constructor(devtools, extras) {
38584
+ constructor(devtools, extras2) {
38435
38585
  const displayName = "Extras";
38436
38586
  const key = `extra$$$-${displayName}-`;
38437
- super(devtools, key, extras);
38587
+ super(devtools, key, extras2);
38438
38588
  this.displayName = displayName;
38439
38589
  this.searchData = {
38440
38590
  name: displayName.toLowerCase().trim()
@@ -38476,6 +38626,7 @@ const vmContentHeaderTitleText = "vmContentHeaderTitleText_RlIFH";
38476
38626
  const vmContentControlPanel = "vmContentControlPanel_CgUN9";
38477
38627
  const searchIsActive = "searchIsActive_cJutI";
38478
38628
  const vmContentControlPanelActions = "vmContentControlPanelActions_lONbA";
38629
+ const hiearchyToggleButton = "hiearchyToggleButton_0FTG-";
38479
38630
  const vmContentInput = "vmContentInput_29GM1";
38480
38631
  const inputGhost = "inputGhost_J-ksi";
38481
38632
  const inputGhostTyped = "inputGhostTyped_UxVAJ";
@@ -38484,6 +38635,7 @@ const inputSuggestions = "inputSuggestions_5btGB";
38484
38635
  const inputSuggestionsList = "inputSuggestionsList_3Gl-h";
38485
38636
  const inputSuggestionItem = "inputSuggestionItem_GcQXp";
38486
38637
  const inputSuggestionOwner = "inputSuggestionOwner_cMrNk";
38638
+ const extras = "extras_THr24";
38487
38639
  const inputSuggestionValue = "inputSuggestionValue_6fYPI";
38488
38640
  const selected = "selected_OPRUb";
38489
38641
  const inputWithSuggestion = "inputWithSuggestion_C9PIe";
@@ -38502,6 +38654,7 @@ const css$2 = {
38502
38654
  vmContentControlPanel,
38503
38655
  searchIsActive,
38504
38656
  vmContentControlPanelActions,
38657
+ hiearchyToggleButton,
38505
38658
  vmContentInput,
38506
38659
  inputGhost,
38507
38660
  inputGhostTyped,
@@ -38510,6 +38663,7 @@ const css$2 = {
38510
38663
  inputSuggestionsList,
38511
38664
  inputSuggestionItem,
38512
38665
  inputSuggestionOwner,
38666
+ extras,
38513
38667
  inputSuggestionValue,
38514
38668
  selected,
38515
38669
  inputWithSuggestion,
@@ -38611,6 +38765,7 @@ const property = "property_sD8FG";
38611
38765
  const isEditMode = "isEditMode_S3NAq";
38612
38766
  const expandable = "expandable_np03F";
38613
38767
  const instance = "instance_jv3IW";
38768
+ const inaccessible = "inaccessible_YWXKM";
38614
38769
  const primitive = "primitive_v6LAV";
38615
38770
  const boolean = "boolean_Z6znK";
38616
38771
  const number = "number_U9H45";
@@ -38627,6 +38782,7 @@ const css$1 = {
38627
38782
  isEditMode,
38628
38783
  expandable,
38629
38784
  instance,
38785
+ inaccessible,
38630
38786
  primitive,
38631
38787
  boolean,
38632
38788
  number,
@@ -39747,8 +39903,7 @@ const skipEvent = (e) => {
39747
39903
  };
39748
39904
  const FunctionPropertyContent = observer(
39749
39905
  ({ item }) => {
39750
- const argLabels = Array.from(
39751
- { length: item.data.length },
39906
+ const argLabels = [...Array(safeFunctionLength(item.data))].map(
39752
39907
  (_14, i) => `arg${i + 1}`
39753
39908
  );
39754
39909
  return /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(jsxDevRuntimeExports.Fragment, { children: [
@@ -39792,37 +39947,36 @@ const FunctionPropertyContent = observer(
39792
39947
  );
39793
39948
  const InstancePropertyContent = observer(
39794
39949
  ({ item }) => {
39795
- const Constructor = item.data.constructor;
39796
- const className = Constructor.name;
39950
+ const valueLabel = item.isInaccessibleDisplay ? item.inaccessibleDisplayLabel : item.instanceClassName;
39797
39951
  return /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(jsxDevRuntimeExports.Fragment, { children: [
39798
39952
  item.property === void 0 ? null : /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(jsxDevRuntimeExports.Fragment, { children: [
39799
39953
  /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$1.propertyName, children: item.property }, void 0, false, {
39800
39954
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/instance.tsx",
39801
- lineNumber: 14,
39955
+ lineNumber: 15,
39802
39956
  columnNumber: 13
39803
39957
  }, void 0),
39804
39958
  ": "
39805
39959
  ] }, void 0, true, {
39806
39960
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/instance.tsx",
39807
- lineNumber: 13,
39961
+ lineNumber: 14,
39808
39962
  columnNumber: 11
39809
39963
  }, void 0),
39810
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$1.propertyValue, children: `${className}` }, void 0, false, {
39964
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$1.propertyValue, children: valueLabel }, void 0, false, {
39811
39965
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/instance.tsx",
39812
- lineNumber: 18,
39966
+ lineNumber: 19,
39813
39967
  columnNumber: 9
39814
39968
  }, void 0),
39815
- item.isExpanded && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(jsxDevRuntimeExports.Fragment, { children: [
39969
+ item.isExpanded && !item.isInaccessibleDisplay && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(jsxDevRuntimeExports.Fragment, { children: [
39816
39970
  " ",
39817
39971
  `{`
39818
39972
  ] }, void 0, true, {
39819
39973
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/instance.tsx",
39820
- lineNumber: 19,
39821
- columnNumber: 29
39974
+ lineNumber: 20,
39975
+ columnNumber: 60
39822
39976
  }, void 0)
39823
39977
  ] }, void 0, true, {
39824
39978
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/instance.tsx",
39825
- lineNumber: 11,
39979
+ lineNumber: 12,
39826
39980
  columnNumber: 7
39827
39981
  }, void 0);
39828
39982
  }
@@ -39869,7 +40023,7 @@ const PrimitivePropertyContent = observer(
39869
40023
  lineNumber: 10,
39870
40024
  columnNumber: 11
39871
40025
  }, void 0),
39872
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$1.propertyValue, children: item.stringifiedData }, void 0, false, {
40026
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$1.propertyValue, children: item.isInaccessibleDisplay ? item.inaccessibleDisplayLabel : item.stringifiedData }, void 0, false, {
39873
40027
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/primitive.tsx",
39874
40028
  lineNumber: 15,
39875
40029
  columnNumber: 9
@@ -39931,6 +40085,7 @@ const PropertyListItemRender = observer(
39931
40085
  "div",
39932
40086
  {
39933
40087
  className: cx(css$1.property, css$1[item.type], css$1[item.dataType], {
40088
+ [css$1.inaccessible]: item.isInaccessibleDisplay,
39934
40089
  [css$1.null]: item.data === null,
39935
40090
  [css$1.expandable]: item.isExpandable,
39936
40091
  [css$1.expanded]: item.isExpanded,
@@ -39946,12 +40101,12 @@ const PropertyListItemRender = observer(
39946
40101
  item.extraContent
39947
40102
  ] }, void 0, true, {
39948
40103
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/index.tsx",
39949
- lineNumber: 61,
40104
+ lineNumber: 62,
39950
40105
  columnNumber: 9
39951
40106
  }, void 0),
39952
40107
  /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(ListItemOperations, { item }, void 0, false, {
39953
40108
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/list-items/property-list-item-render/index.tsx",
39954
- lineNumber: 65,
40109
+ lineNumber: 66,
39955
40110
  columnNumber: 9
39956
40111
  }, void 0)
39957
40112
  ]
@@ -40193,7 +40348,7 @@ const Notifications = withViewModel(NotificationsVM, ({ model }) => {
40193
40348
  if (!model.items.size) {
40194
40349
  return null;
40195
40350
  }
40196
- return /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css.notifications, children: Array.from(model.items.values()).map((item) => /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css.notification, children: item.title }, item.id, false, {
40351
+ 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, {
40197
40352
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/notifications/index.tsx",
40198
40353
  lineNumber: 13,
40199
40354
  columnNumber: 9
@@ -40247,190 +40402,221 @@ const VmDevtoolsContent = withViewModel(
40247
40402
  lineNumber: 40,
40248
40403
  columnNumber: 11
40249
40404
  }, void 0),
40250
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: cx(css$2.vmContentControlPanel, {
40251
- [css$2.searchIsActive]: devtools.searchEngine.isActive
40252
- }), children: [
40253
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css$2.vmContentControlPanelActions, children: [
40254
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40255
- IconToggleButton,
40256
- {
40257
- onUpdate: devtools.handleChangePresentationMode,
40258
- options: [
40259
- {
40260
- value: "tree",
40261
- icon: FolderTree
40262
- },
40263
- {
40264
- value: "list",
40265
- icon: ListUl
40266
- }
40267
- ],
40268
- value: devtools.presentationMode
40269
- },
40270
- void 0,
40271
- false,
40272
- {
40273
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40274
- lineNumber: 51,
40275
- columnNumber: 15
40276
- },
40277
- void 0
40278
- ),
40279
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40280
- IconToggleButton,
40281
- {
40282
- onUpdate: devtools.handleSortPropertiesChange,
40283
- options: [
40284
- {
40285
- value: "none",
40286
- icon: BarsDescendingAlignCenter
40287
- },
40405
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40406
+ "div",
40407
+ {
40408
+ className: cx(css$2.vmContentControlPanel, {
40409
+ [css$2.searchIsActive]: devtools.searchEngine.isActive
40410
+ }),
40411
+ children: [
40412
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css$2.vmContentControlPanelActions, children: [
40413
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40414
+ IconToggleButton,
40288
40415
  {
40289
- value: "asc",
40290
- icon: BarsAscendingAlignLeftArrowDown
40416
+ onUpdate: devtools.handleChangePresentationMode,
40417
+ options: [
40418
+ {
40419
+ value: "tree",
40420
+ icon: FolderTree
40421
+ },
40422
+ {
40423
+ value: "list",
40424
+ icon: ListUl
40425
+ }
40426
+ ],
40427
+ value: devtools.presentationMode
40291
40428
  },
40429
+ void 0,
40430
+ false,
40292
40431
  {
40293
- value: "desc",
40294
- icon: BarsDescendingAlignLeftArrowUp
40295
- }
40296
- ],
40297
- value: devtools.sortPropertiesBy
40298
- },
40299
- void 0,
40300
- false,
40301
- {
40302
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40303
- lineNumber: 65,
40304
- columnNumber: 15
40305
- },
40306
- void 0
40307
- )
40308
- ] }, void 0, true, {
40309
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40310
- lineNumber: 50,
40311
- columnNumber: 13
40312
- }, void 0),
40313
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40314
- "div",
40315
- {
40316
- className: cx(css$2.vmContentInput, devtools.searchEngine.isActive && css$2.filled),
40317
- children: [
40318
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(Magnifier, {}, void 0, false, {
40319
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40320
- lineNumber: 87,
40321
- columnNumber: 15
40322
- }, void 0),
40323
- devtools.searchEngine.suggestionSuffix && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css$2.inputGhost, "aria-hidden": "true", children: [
40324
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputGhostTyped, children: devtools.searchEngine.searchText }, void 0, false, {
40325
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40326
- lineNumber: 90,
40327
- columnNumber: 19
40328
- }, void 0),
40329
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputGhostSuggestion, children: devtools.searchEngine.suggestionSuffix }, void 0, false, {
40330
40432
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40331
- lineNumber: 93,
40332
- columnNumber: 19
40333
- }, void 0)
40334
- ] }, void 0, true, {
40335
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40336
- lineNumber: 89,
40337
- columnNumber: 17
40338
- }, void 0),
40433
+ lineNumber: 53,
40434
+ columnNumber: 15
40435
+ },
40436
+ void 0
40437
+ ),
40339
40438
  /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40340
- "input",
40439
+ IconToggleButton,
40341
40440
  {
40342
- ref: devtools.searchEngine.searchInputRef,
40343
- autoFocus: true,
40344
- value: devtools.searchEngine.searchText,
40345
- onChange: devtools.searchEngine.handleSearchInput,
40346
- onKeyDown: devtools.searchEngine.handleKeyDown,
40347
- onFocus: devtools.searchEngine.handleSearchInputFocus,
40348
- onBlur: devtools.searchEngine.handleSearchInputBlur,
40349
- placeholder: devtools.searchEngine.suggestionSuffix ? "" : "search by property path or ViewModel name",
40350
- className: devtools.searchEngine.suggestionSuffix ? css$2.inputWithSuggestion : void 0
40441
+ onUpdate: devtools.handleSortPropertiesChange,
40442
+ options: [
40443
+ {
40444
+ value: "none",
40445
+ icon: BarsDescendingAlignCenter
40446
+ },
40447
+ {
40448
+ value: "asc",
40449
+ icon: BarsAscendingAlignLeftArrowDown
40450
+ },
40451
+ {
40452
+ value: "desc",
40453
+ icon: BarsDescendingAlignLeftArrowUp
40454
+ }
40455
+ ],
40456
+ value: devtools.sortPropertiesBy
40351
40457
  },
40352
40458
  void 0,
40353
40459
  false,
40354
40460
  {
40355
40461
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40356
- lineNumber: 98,
40462
+ lineNumber: 67,
40357
40463
  columnNumber: 15
40358
40464
  },
40359
40465
  void 0
40360
- ),
40361
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("button", { onClick: devtools.searchEngine.resetSearch, children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(Xmark, {}, void 0, false, {
40466
+ )
40467
+ ] }, void 0, true, {
40468
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40469
+ lineNumber: 52,
40470
+ columnNumber: 13
40471
+ }, void 0),
40472
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40473
+ "div",
40474
+ {
40475
+ className: cx(
40476
+ css$2.vmContentInput,
40477
+ devtools.searchEngine.isActive && css$2.filled
40478
+ ),
40479
+ children: [
40480
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(Magnifier, {}, void 0, false, {
40481
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40482
+ lineNumber: 92,
40483
+ columnNumber: 15
40484
+ }, void 0),
40485
+ devtools.searchEngine.suggestionSuffix && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css$2.inputGhost, "aria-hidden": "true", children: [
40486
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputGhostTyped, children: devtools.searchEngine.searchText }, void 0, false, {
40487
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40488
+ lineNumber: 95,
40489
+ columnNumber: 19
40490
+ }, void 0),
40491
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputGhostSuggestion, children: devtools.searchEngine.suggestionSuffix }, void 0, false, {
40492
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40493
+ lineNumber: 98,
40494
+ columnNumber: 19
40495
+ }, void 0)
40496
+ ] }, void 0, true, {
40497
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40498
+ lineNumber: 94,
40499
+ columnNumber: 17
40500
+ }, void 0),
40501
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40502
+ "input",
40503
+ {
40504
+ ref: devtools.searchEngine.searchInputRef,
40505
+ autoFocus: true,
40506
+ value: devtools.searchEngine.searchText,
40507
+ onChange: devtools.searchEngine.handleSearchInput,
40508
+ onKeyDown: devtools.searchEngine.handleKeyDown,
40509
+ onFocus: devtools.searchEngine.handleSearchInputFocus,
40510
+ onBlur: devtools.searchEngine.handleSearchInputBlur,
40511
+ placeholder: devtools.searchEngine.suggestionSuffix ? "" : "search by property path or ViewModel name",
40512
+ className: devtools.searchEngine.suggestionSuffix ? css$2.inputWithSuggestion : void 0
40513
+ },
40514
+ void 0,
40515
+ false,
40516
+ {
40517
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40518
+ lineNumber: 103,
40519
+ columnNumber: 15
40520
+ },
40521
+ void 0
40522
+ ),
40523
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("button", { onClick: devtools.searchEngine.resetSearch, children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(Xmark, {}, void 0, false, {
40524
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40525
+ lineNumber: 123,
40526
+ columnNumber: 17
40527
+ }, void 0) }, void 0, false, {
40528
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40529
+ lineNumber: 122,
40530
+ columnNumber: 15
40531
+ }, void 0)
40532
+ ]
40533
+ },
40534
+ void 0,
40535
+ true,
40536
+ {
40362
40537
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40363
- lineNumber: 110,
40538
+ lineNumber: 86,
40539
+ columnNumber: 13
40540
+ },
40541
+ void 0
40542
+ ),
40543
+ devtools.searchEngine.shouldShowSuggestions && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css$2.inputSuggestions, "aria-hidden": "true", children: [
40544
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputGhostTyped, children: devtools.searchEngine.searchText }, void 0, false, {
40545
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40546
+ lineNumber: 128,
40364
40547
  columnNumber: 17
40365
- }, void 0) }, void 0, false, {
40548
+ }, void 0),
40549
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css$2.inputSuggestionsList, children: devtools.searchEngine.suggestionItems.map(
40550
+ (suggestion, index) => /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40551
+ "div",
40552
+ {
40553
+ onMouseEnter: () => {
40554
+ devtools.searchEngine.selectSuggestionAtIndex(index);
40555
+ },
40556
+ onMouseDown: (e) => {
40557
+ e.preventDefault();
40558
+ devtools.searchEngine.applySuggestionFromClick(
40559
+ suggestion,
40560
+ index
40561
+ );
40562
+ },
40563
+ className: cx(
40564
+ css$2.inputSuggestionItem,
40565
+ index === devtools.searchEngine.selectedSuggestionIndex && css$2.selected
40566
+ ),
40567
+ children: [
40568
+ !devtools.searchEngine.isNestedSearch && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40569
+ "span",
40570
+ {
40571
+ className: `${css$2.inputSuggestionOwner} ${css$2[suggestion.owner.type]}`,
40572
+ children: suggestion.owner.name
40573
+ },
40574
+ void 0,
40575
+ false,
40576
+ {
40577
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40578
+ lineNumber: 154,
40579
+ columnNumber: 27
40580
+ },
40581
+ void 0
40582
+ ),
40583
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputSuggestionValue, children: suggestion.value }, void 0, false, {
40584
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40585
+ lineNumber: 160,
40586
+ columnNumber: 25
40587
+ }, void 0)
40588
+ ]
40589
+ },
40590
+ `${suggestion.owner.key}/${suggestion.value}`,
40591
+ true,
40592
+ {
40593
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40594
+ lineNumber: 134,
40595
+ columnNumber: 23
40596
+ },
40597
+ void 0
40598
+ )
40599
+ ) }, void 0, false, {
40366
40600
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40367
- lineNumber: 109,
40368
- columnNumber: 15
40601
+ lineNumber: 131,
40602
+ columnNumber: 17
40369
40603
  }, void 0)
40370
- ]
40371
- },
40372
- void 0,
40373
- true,
40374
- {
40375
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40376
- lineNumber: 84,
40377
- columnNumber: 13
40378
- },
40379
- void 0
40380
- ),
40381
- devtools.searchEngine.shouldShowSuggestions && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css$2.inputSuggestions, "aria-hidden": "true", children: [
40382
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputGhostTyped, children: devtools.searchEngine.searchText }, void 0, false, {
40383
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40384
- lineNumber: 115,
40385
- columnNumber: 19
40386
- }, void 0),
40387
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css$2.inputSuggestionsList, children: devtools.searchEngine.suggestionItems.map((suggestion, index) => /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40388
- "div",
40389
- {
40390
- onClick: (e) => {
40391
- e.preventDefault();
40392
- devtools.searchEngine.applySuggestion(suggestion);
40393
- },
40394
- className: cx(
40395
- css$2.inputSuggestionItem,
40396
- index === devtools.searchEngine.selectedSuggestionIndex && css$2.selected
40397
- ),
40398
- children: [
40399
- !devtools.searchEngine.isNestedSearch && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputSuggestionOwner, children: suggestion.vmName }, void 0, false, {
40400
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40401
- lineNumber: 132,
40402
- columnNumber: 27
40403
- }, void 0),
40404
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css$2.inputSuggestionValue, children: suggestion.value }, void 0, false, {
40405
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40406
- lineNumber: 136,
40407
- columnNumber: 25
40408
- }, void 0)
40409
- ]
40410
- },
40411
- `${suggestion.vmName}/${suggestion.value}`,
40412
- true,
40413
- {
40604
+ ] }, void 0, true, {
40414
40605
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40415
- lineNumber: 120,
40416
- columnNumber: 23
40417
- },
40418
- void 0
40419
- )) }, void 0, false, {
40420
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40421
- lineNumber: 118,
40422
- columnNumber: 19
40423
- }, void 0)
40424
- ] }, void 0, true, {
40606
+ lineNumber: 127,
40607
+ columnNumber: 15
40608
+ }, void 0)
40609
+ ]
40610
+ },
40611
+ void 0,
40612
+ true,
40613
+ {
40425
40614
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40426
- lineNumber: 114,
40427
- columnNumber: 17
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: 47,
40432
- columnNumber: 11
40433
- }, void 0)
40615
+ lineNumber: 47,
40616
+ columnNumber: 11
40617
+ },
40618
+ void 0
40619
+ )
40434
40620
  ] }, void 0, true, {
40435
40621
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40436
40622
  lineNumber: 37,
@@ -40441,27 +40627,17 @@ const VmDevtoolsContent = withViewModel(
40441
40627
  {
40442
40628
  className: css$2.vmContentVirtualScroll,
40443
40629
  style: { height: model.virtualHeight },
40444
- children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
40445
- "div",
40446
- {
40447
- className: css$2.vmContentVirtualizedContent,
40448
- children: model.itemNodes
40449
- },
40450
- void 0,
40451
- false,
40452
- {
40453
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40454
- lineNumber: 150,
40455
- columnNumber: 11
40456
- },
40457
- void 0
40458
- )
40630
+ children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css$2.vmContentVirtualizedContent, children: model.itemNodes }, void 0, false, {
40631
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40632
+ lineNumber: 175,
40633
+ columnNumber: 11
40634
+ }, void 0)
40459
40635
  },
40460
40636
  void 0,
40461
40637
  false,
40462
40638
  {
40463
40639
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
40464
- lineNumber: 146,
40640
+ lineNumber: 171,
40465
40641
  columnNumber: 9
40466
40642
  },
40467
40643
  void 0
@@ -40685,6 +40861,8 @@ class SearchEngine {
40685
40861
  selectedSuggestionIndex: observable.ref,
40686
40862
  isSearchInputFocused: observable.ref,
40687
40863
  isSuggestionsDismissed: observable.ref,
40864
+ selectedPathOwnerKey: observable.ref,
40865
+ selectedPathSegment: observable.ref,
40688
40866
  formattedSearchText: computed,
40689
40867
  segments: computed.struct,
40690
40868
  endsWithDot: computed,
@@ -40695,7 +40873,9 @@ class SearchEngine {
40695
40873
  suggestionItems: computed.struct,
40696
40874
  selectedSuggestion: computed,
40697
40875
  suggestionSuffix: computed,
40876
+ selectSuggestionAtIndex: action,
40698
40877
  applySuggestion: action,
40878
+ applySuggestionFromClick: action,
40699
40879
  handleSearchInput: action,
40700
40880
  handleSearchInputFocus: action,
40701
40881
  handleSearchInputBlur: action,
@@ -40709,6 +40889,8 @@ class SearchEngine {
40709
40889
  selectedSuggestionIndex = 0;
40710
40890
  isSearchInputFocused = false;
40711
40891
  isSuggestionsDismissed = false;
40892
+ selectedPathOwnerKey = null;
40893
+ selectedPathSegment = null;
40712
40894
  searchCacheKey = "";
40713
40895
  isSearching = false;
40714
40896
  searchTextToSearchTimeout = null;
@@ -40740,35 +40922,48 @@ class SearchEngine {
40740
40922
  return this.searchText !== this.searchTextToSearch;
40741
40923
  }
40742
40924
  get shouldShowSuggestions() {
40743
- return this.isSearchInputFocused && !this.isSuggestionsDismissed && this.suggestionItems.length > 0;
40925
+ return true;
40744
40926
  }
40745
40927
  get suggestionItems() {
40746
- if (this.isSearchTextDebouncing) return [];
40747
- if (!this.isActive) return [];
40748
- const { segments } = this;
40928
+ if (this.isSearchTextDebouncing && !this.searchText.includes("."))
40929
+ return [];
40930
+ return this.buildSuggestionItemsForText(this.getActiveSearchText());
40931
+ }
40932
+ getActiveSearchText() {
40933
+ if (this.searchText.includes(".")) {
40934
+ return this.searchText;
40935
+ }
40936
+ return this.searchTextToSearch;
40937
+ }
40938
+ buildSuggestionItemsForText(text2) {
40939
+ const formatted = text2.toLowerCase().trim();
40940
+ if (!formatted) return [];
40941
+ const all = formatted.split(".");
40942
+ const segments = all[all.length - 1] === "" ? all.slice(0, -1) : all;
40749
40943
  if (segments.length === 0) return [];
40750
- const completingSegment = this.endsWithDot ? "" : segments[segments.length - 1];
40751
- if (!this.endsWithDot && !completingSegment) return [];
40944
+ const endsWithDot = text2.trim().endsWith(".");
40945
+ const completingSegment = endsWithDot ? "" : segments[segments.length - 1];
40946
+ if (!endsWithDot && !completingSegment) return [];
40752
40947
  const rootItems = this.config.getRootItems();
40753
- const pathSegments = this.endsWithDot ? segments : segments.slice(0, -1);
40948
+ const pathSegments = endsWithDot ? segments : segments.slice(0, -1);
40754
40949
  const candidates = this.getCandidatePropsAtDepth(rootItems, pathSegments);
40755
40950
  const suggestionsByVM = /* @__PURE__ */ new Map();
40756
40951
  const seen = /* @__PURE__ */ new Set();
40757
40952
  for (const prop of candidates) {
40758
40953
  const nameLower = prop.searchData.property;
40759
40954
  const nameOriginal = prop.property ?? "";
40760
- const vmName = this.getOwnerVMName(prop);
40761
- const uniqueKey = `${vmName}/${nameLower}`;
40955
+ const owner = this.getOwnerInfo(prop);
40956
+ const uniqueKey = `${owner.key}/${nameLower}`;
40762
40957
  if (nameLower.startsWith(completingSegment) && nameLower.length >= completingSegment.length) {
40763
40958
  if (seen.has(uniqueKey)) continue;
40764
40959
  seen.add(uniqueKey);
40765
- const suggestions = suggestionsByVM.get(vmName) ?? [];
40960
+ const suggestions = suggestionsByVM.get(owner.name) ?? [];
40766
40961
  suggestions.push({
40767
40962
  value: nameOriginal,
40768
40963
  suffix: nameOriginal.slice(completingSegment.length),
40769
- vmName
40964
+ owner
40770
40965
  });
40771
- suggestionsByVM.set(vmName, suggestions);
40966
+ suggestionsByVM.set(owner.name, suggestions);
40772
40967
  }
40773
40968
  }
40774
40969
  const result = [];
@@ -40806,20 +41001,45 @@ class SearchEngine {
40806
41001
  get suggestionSuffix() {
40807
41002
  return this.selectedSuggestion?.suffix ?? "";
40808
41003
  }
40809
- applySuggestion = (suggestion) => {
41004
+ selectSuggestionAtIndex = (index) => {
41005
+ if (index < 0 || index >= this.suggestionItems.length) return;
41006
+ this.selectedSuggestionIndex = index;
41007
+ this.isSuggestionsDismissed = false;
41008
+ };
41009
+ applySuggestion = (suggestion, options) => {
40810
41010
  this.clearSearchDebounce();
41011
+ const hadPathSyntax = this.searchText.includes(".");
40811
41012
  const nextSearchText = this.searchText + suggestion.suffix;
40812
41013
  this.searchText = nextSearchText;
40813
41014
  this.searchTextToSearch = nextSearchText;
40814
41015
  this.selectedSuggestionIndex = 0;
40815
- this.isSuggestionsDismissed = false;
41016
+ this.isSuggestionsDismissed = options?.dismissSuggestions ?? false;
41017
+ const lockedSegment = hadPathSyntax ? this.getFirstPathSegment(nextSearchText) : void 0;
41018
+ if (options?.commitOwner) {
41019
+ this.commitSuggestionOwner(suggestion, lockedSegment);
41020
+ } else if (!hadPathSyntax) {
41021
+ this.commitSuggestionOwner(suggestion);
41022
+ } else if (!this.selectedPathOwnerKey) {
41023
+ this.commitSuggestionOwner(suggestion, lockedSegment);
41024
+ }
40816
41025
  this.searchInputRef.current?.focus();
40817
41026
  this.scheduleScrollToFirstSearchMatch();
40818
41027
  };
41028
+ applySuggestionFromClick = (suggestion, index) => {
41029
+ this.selectSuggestionAtIndex(index);
41030
+ this.applySuggestion(suggestion, { commitOwner: true });
41031
+ };
40819
41032
  handleSearchInput = (e) => {
41033
+ const previousSearchText = this.searchText;
41034
+ const previousSelectedSuggestion = this.selectedSuggestion;
40820
41035
  this.searchText = e.target.value;
40821
- this.selectedSuggestionIndex = 0;
40822
41036
  this.isSuggestionsDismissed = false;
41037
+ this.handlePathOwnerSelectionFromInput(
41038
+ previousSearchText,
41039
+ this.searchText,
41040
+ previousSelectedSuggestion
41041
+ );
41042
+ this.selectedSuggestionIndex = 0;
40823
41043
  this.scheduleSearchTextDebounce();
40824
41044
  };
40825
41045
  handleSearchInputFocus = (_e) => {
@@ -40846,11 +41066,66 @@ class SearchEngine {
40846
41066
  this.selectedSuggestionIndex = (this.selectedSuggestionIndex - 1 + this.suggestionItems.length) % this.suggestionItems.length;
40847
41067
  return;
40848
41068
  }
40849
- if (e.key === "Tab" && this.suggestionSuffix) {
41069
+ if ((e.key === "Tab" || e.key === "Enter") && this.selectedSuggestion) {
40850
41070
  e.preventDefault();
40851
- this.applySuggestion(this.selectedSuggestion);
41071
+ this.applySuggestion(this.selectedSuggestion, {
41072
+ dismissSuggestions: e.key === "Enter"
41073
+ });
40852
41074
  }
40853
41075
  };
41076
+ commitSuggestionOwner(suggestion, lockedSegment) {
41077
+ this.selectedPathOwnerKey = suggestion.owner.key;
41078
+ this.selectedPathSegment = lockedSegment ?? suggestion.value.toLowerCase().trim();
41079
+ }
41080
+ handlePathOwnerSelectionFromInput(previousSearchText, nextSearchText, previousSelectedSuggestion) {
41081
+ const addedDot = nextSearchText.endsWith(".") && nextSearchText === `${previousSearchText}.`;
41082
+ const enteredPathSyntax = nextSearchText.includes(".") && !previousSearchText.includes(".");
41083
+ if (addedDot || enteredPathSyntax) {
41084
+ const pathSegment = this.getFirstPathSegment(
41085
+ addedDot ? previousSearchText : nextSearchText
41086
+ );
41087
+ if (this.selectedPathOwnerKey && this.selectedPathSegment === pathSegment) {
41088
+ this.searchTextToSearch = nextSearchText;
41089
+ this.clearSearchDebounce();
41090
+ return;
41091
+ }
41092
+ const suggestion = addedDot && previousSelectedSuggestion && previousSelectedSuggestion.value.toLowerCase() === pathSegment ? previousSelectedSuggestion : this.resolvePathOwnerSuggestion(
41093
+ pathSegment,
41094
+ this.selectedSuggestionIndex
41095
+ );
41096
+ if (suggestion) {
41097
+ this.commitSuggestionOwner(suggestion, pathSegment);
41098
+ }
41099
+ this.searchTextToSearch = nextSearchText;
41100
+ this.clearSearchDebounce();
41101
+ return;
41102
+ }
41103
+ const firstSegment = nextSearchText.toLowerCase().trim().split(".")[0] ?? "";
41104
+ if (!nextSearchText.includes(".") || !firstSegment || firstSegment !== this.selectedPathSegment) {
41105
+ this.selectedPathOwnerKey = null;
41106
+ this.selectedPathSegment = null;
41107
+ }
41108
+ }
41109
+ /**
41110
+ * При вводе точки debounce ещё не применил searchTextToSearch,
41111
+ * поэтому owner берём из подсказок предыдущего сегмента.
41112
+ * Если пользователь явно не выбирал — берём exact-match `service`, иначе первый в списке.
41113
+ */
41114
+ getFirstPathSegment(text2) {
41115
+ return text2.toLowerCase().trim().split(".")[0] ?? "";
41116
+ }
41117
+ resolvePathOwnerSuggestion(pathSegment, selectedIndex) {
41118
+ if (!pathSegment) return null;
41119
+ const items = this.buildSuggestionItemsForText(pathSegment);
41120
+ if (items.length === 0) return null;
41121
+ const exactMatches = items.filter(
41122
+ (item) => item.value.toLowerCase() === pathSegment
41123
+ );
41124
+ if (exactMatches.length > 0) {
41125
+ return exactMatches[Math.min(selectedIndex, exactMatches.length - 1)] ?? exactMatches[0];
41126
+ }
41127
+ return items[Math.min(selectedIndex, items.length - 1)] ?? items[0];
41128
+ }
40854
41129
  clearSearchDebounce() {
40855
41130
  if (this.searchTextToSearchTimeout) {
40856
41131
  clearTimeout(this.searchTextToSearchTimeout);
@@ -40883,7 +41158,9 @@ class SearchEngine {
40883
41158
  scrollToFirstSearchMatch() {
40884
41159
  if (!this.isActive) return;
40885
41160
  const listItems = this.getListItems(this.config.getRootItems());
40886
- const index = listItems.findIndex((item) => this.isSearchTargetMatched(item));
41161
+ const index = listItems.findIndex(
41162
+ (item) => this.isSearchTargetMatched(item)
41163
+ );
40887
41164
  if (index < 0) return;
40888
41165
  const virtualizerOffset = this.config.getItemOffset(index);
40889
41166
  const offset = virtualizerOffset > 0 ? virtualizerOffset : index * SearchEngine.itemHeight;
@@ -40922,29 +41199,35 @@ class SearchEngine {
40922
41199
  */
40923
41200
  getCandidatePropsAtDepth(rootItems, pathSegments) {
40924
41201
  const allVMs = this.collectAllVMs(rootItems);
40925
- const extras = rootItems.filter(
41202
+ const extras2 = rootItems.filter(
40926
41203
  (item) => item instanceof ExtraListItem
40927
41204
  );
40928
41205
  if (pathSegments.length === 0) {
40929
- return [...allVMs, ...extras].flatMap(
41206
+ return [...allVMs, ...extras2].flatMap(
40930
41207
  (item) => this.getDirectPropertyChildren(item)
40931
41208
  );
40932
41209
  }
40933
41210
  const firstSeg = pathSegments[0];
40934
41211
  const result = [];
40935
41212
  for (const vm of allVMs) {
41213
+ if (!this.isOwnerAllowedForFirstPathSegment(vm, firstSeg)) continue;
40936
41214
  const directProps = this.getDirectPropertyChildren(vm);
40937
41215
  const firstSegmentIsExactProperty = directProps.some(
40938
41216
  (prop) => prop.searchData.property === firstSeg
40939
41217
  );
40940
41218
  const vmNameMatch = !firstSegmentIsExactProperty && (vm.searchData.name.includes(firstSeg) || vm.searchData.id.includes(firstSeg));
40941
41219
  if (vmNameMatch) {
40942
- result.push(...this.getOwnerMatchedPathCandidates(directProps, pathSegments));
41220
+ result.push(
41221
+ ...this.getOwnerMatchedPathCandidates(directProps, pathSegments)
41222
+ );
40943
41223
  } else if (firstSegmentIsExactProperty) {
40944
- result.push(...this.getPropertyPathCandidates(directProps, pathSegments));
41224
+ result.push(
41225
+ ...this.getPropertyPathCandidates(directProps, pathSegments)
41226
+ );
40945
41227
  }
40946
41228
  }
40947
- for (const extra of extras) {
41229
+ for (const extra of extras2) {
41230
+ if (!this.isOwnerAllowedForFirstPathSegment(extra, firstSeg)) continue;
40948
41231
  const directProps = this.getDirectPropertyChildren(extra);
40949
41232
  const firstSegmentIsExactProperty = directProps.some(
40950
41233
  (prop) => prop.searchData.property === firstSeg
@@ -40975,6 +41258,15 @@ class SearchEngine {
40975
41258
  (child) => child instanceof PropertyListItem
40976
41259
  );
40977
41260
  }
41261
+ isOwnerAllowedForFirstPathSegment(owner, firstSegment) {
41262
+ if (!this.selectedPathOwnerKey || this.selectedPathSegment !== firstSegment) {
41263
+ return true;
41264
+ }
41265
+ return owner.key === this.selectedPathOwnerKey;
41266
+ }
41267
+ isPathOwnerLockedToAnotherOwner(owner, firstSegment) {
41268
+ return !this.isOwnerAllowedForFirstPathSegment(owner, firstSegment);
41269
+ }
40978
41270
  /**
40979
41271
  * Уже введённый path-сегмент должен совпадать строго:
40980
41272
  * `product.` заходит только в `product`, а не в `productAsyncTasks`
@@ -40983,18 +41275,18 @@ class SearchEngine {
40983
41275
  getPathMatchingProps(props, segment) {
40984
41276
  return props.filter((p) => p.searchData.property === segment);
40985
41277
  }
40986
- getOwnerVMName(item) {
41278
+ getOwnerInfo(item) {
40987
41279
  let parent = item.parentListItem;
40988
41280
  while (parent instanceof PropertyListItem) {
40989
41281
  parent = parent.parentListItem;
40990
41282
  }
40991
41283
  if (parent instanceof VMListItem) {
40992
- return parent.displayName;
41284
+ return { name: parent.displayName, type: "vm", key: parent.key };
40993
41285
  }
40994
41286
  if (parent instanceof ExtraListItem) {
40995
- return parent.displayName;
41287
+ return { name: parent.displayName, type: "extras", key: parent.key };
40996
41288
  }
40997
- return "";
41289
+ return { name: "", type: "unknown", key: "-unknown" };
40998
41290
  }
40999
41291
  /**
41000
41292
  * Навигация вглубь по цепочке свойств.
@@ -41069,6 +41361,9 @@ class SearchEngine {
41069
41361
  return [item];
41070
41362
  }
41071
41363
  getExtraSearchItems(item) {
41364
+ if (this.isPathOwnerLockedToAnotherOwner(item, this.segments[0] ?? "")) {
41365
+ return [];
41366
+ }
41072
41367
  const directProps = this.getDirectPropertyChildren(item);
41073
41368
  const matchesByProperty = directProps.some(
41074
41369
  (prop) => prop.searchData.property.includes(this.segments[0] ?? "")
@@ -41078,6 +41373,15 @@ class SearchEngine {
41078
41373
  }
41079
41374
  getVMSearchItems(vmItem) {
41080
41375
  const result = [];
41376
+ const firstSeg = this.segments[0] ?? "";
41377
+ if (this.isPathOwnerLockedToAnotherOwner(vmItem, firstSeg)) {
41378
+ for (const child of vmItem.children) {
41379
+ if (child instanceof VMListItem) {
41380
+ result.push(...this.getVMSearchItems(child));
41381
+ }
41382
+ }
41383
+ return result;
41384
+ }
41081
41385
  if (!this.vmMatchesSearch(vmItem)) {
41082
41386
  for (const child of vmItem.children) {
41083
41387
  if (child instanceof VMListItem) {
@@ -41088,7 +41392,6 @@ class SearchEngine {
41088
41392
  }
41089
41393
  result.push(vmItem);
41090
41394
  const { segments } = this;
41091
- const firstSeg = segments[0] ?? "";
41092
41395
  const directProps = vmItem.children.filter(
41093
41396
  (c) => c instanceof PropertyListItem
41094
41397
  );
@@ -41144,6 +41447,9 @@ class SearchEngine {
41144
41447
  const { segments } = this;
41145
41448
  if (segments.length === 0) return true;
41146
41449
  const firstSegment = segments[0];
41450
+ if (this.isPathOwnerLockedToAnotherOwner(item, firstSegment)) {
41451
+ return false;
41452
+ }
41147
41453
  if (item.searchData.name.includes(firstSegment) || item.searchData.id.includes(firstSegment)) {
41148
41454
  return true;
41149
41455
  }
@@ -41174,6 +41480,7 @@ class SearchEngine {
41174
41480
  const { segments } = this;
41175
41481
  if (segments.length === 0) return false;
41176
41482
  const firstSeg = segments[0];
41483
+ if (this.isPathOwnerLockedToAnotherOwner(item, firstSeg)) return false;
41177
41484
  const hasPathSyntax = this.endsWithDot || segments.length > 1;
41178
41485
  const firstSegmentIsExactProperty = hasPathSyntax && item.children.some(
41179
41486
  (child) => child instanceof PropertyListItem && child.searchData.property === firstSeg
@@ -41195,6 +41502,7 @@ class SearchEngine {
41195
41502
  return false;
41196
41503
  }
41197
41504
  const firstSeg = segments[0];
41505
+ if (this.isPathOwnerLockedToAnotherOwner(parent, firstSeg)) return false;
41198
41506
  const hasPathSyntax = this.endsWithDot || segments.length > 1;
41199
41507
  const parentDirectProps = this.getDirectPropertyChildren(parent);
41200
41508
  const firstSegmentIsExactProperty = hasPathSyntax && parentDirectProps.some((prop) => prop.searchData.property === firstSeg);
@@ -41244,6 +41552,7 @@ class SearchEngine {
41244
41552
  return true;
41245
41553
  }
41246
41554
  const firstSeg = segments[0];
41555
+ if (this.isPathOwnerLockedToAnotherOwner(parent, firstSeg)) return false;
41247
41556
  const hasPathSyntax = this.endsWithDot || segments.length > 1;
41248
41557
  const parentDirectProps = this.getDirectPropertyChildren(parent);
41249
41558
  const firstSegmentIsExactProperty = hasPathSyntax && parentDirectProps.some((prop) => prop.searchData.property === firstSeg);
@@ -41286,6 +41595,8 @@ class SearchEngine {
41286
41595
  this.searchTextToSearch = "";
41287
41596
  this.selectedSuggestionIndex = 0;
41288
41597
  this.isSuggestionsDismissed = false;
41598
+ this.selectedPathOwnerKey = null;
41599
+ this.selectedPathSegment = null;
41289
41600
  this.focusInput();
41290
41601
  };
41291
41602
  focusInput = () => {
@@ -41425,8 +41736,8 @@ class ViewModelDevtools {
41425
41736
  setStore(viewModels) {
41426
41737
  this.projectVmStore = viewModels;
41427
41738
  }
41428
- setExtras(extras) {
41429
- this.extras = extras;
41739
+ setExtras(extras2) {
41740
+ this.extras = extras2;
41430
41741
  }
41431
41742
  handleChangePresentationMode = (mode) => {
41432
41743
  this.presentationMode = mode === "list" ? "list" : "tree";
@@ -41492,10 +41803,10 @@ class ViewModelDevtools {
41492
41803
  }
41493
41804
  return ViewModelDevtools._instance;
41494
41805
  }
41495
- static connect(viewModels, extras) {
41806
+ static connect(viewModels, extras2) {
41496
41807
  const devtools = ViewModelDevtools.define();
41497
41808
  devtools.setStore(viewModels);
41498
- devtools.setExtras(extras);
41809
+ devtools.setExtras(extras2);
41499
41810
  return devtools;
41500
41811
  }
41501
41812
  static connectViewModels(viewModels) {
@@ -41503,9 +41814,9 @@ class ViewModelDevtools {
41503
41814
  devtools.setStore(viewModels);
41504
41815
  return devtools;
41505
41816
  }
41506
- static connectExtras(extras) {
41817
+ static connectExtras(extras2) {
41507
41818
  const devtools = ViewModelDevtools.define();
41508
- devtools.setExtras(extras);
41819
+ devtools.setExtras(extras2);
41509
41820
  return devtools;
41510
41821
  }
41511
41822
  }