mobx-view-model-devtools 0.0.16 → 0.0.18

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.d.ts CHANGED
@@ -85,6 +85,7 @@ declare class ViewModelDevtools {
85
85
  scrollContentRef: Ref<HTMLDivElement>;
86
86
  keyboardHandler: KeyboardHandler;
87
87
  searchEngine: SearchEngine;
88
+ isHierarchyMode: boolean;
88
89
  private expandedVmsSet;
89
90
  scrollListRef: Ref<VListHandle>;
90
91
  private autoscrollTimeout;
@@ -100,12 +101,13 @@ declare class ViewModelDevtools {
100
101
  handleExpandExtraPropertyClick(path: string): void;
101
102
  handleVmItemHeaderClick(vmItem: VmTreeItem): void;
102
103
  private getVmParams;
103
- private constructor();
104
104
  setStore(viewModels: ViewModelStoreBase<AnyViewModel> | undefined): void;
105
105
  setExtras(extras: Maybe<AnyObject>): void;
106
+ toggleHierarchyMode: () => void;
106
107
  private init;
107
108
  render(): void;
108
109
  private static _instance;
110
+ private constructor();
109
111
  static define(config?: ViewModelDevtoolsConfig): ViewModelDevtools;
110
112
  static connect(viewModels: ViewModelDevtoolsConfig['viewModels'], extras?: AnyObject): ViewModelDevtools;
111
113
  static connectViewModels(viewModels: ViewModelDevtoolsConfig['viewModels']): ViewModelDevtools;
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('/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--font-weight-semibold:600;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static_g5P-G{position:static}.container_ueeVi{width:100%}@media(min-width:40rem){.container_ueeVi{max-width:40rem}}@media(min-width:48rem){.container_ueeVi{max-width:48rem}}@media(min-width:64rem){.container_ueeVi{max-width:64rem}}@media(min-width:80rem){.container_ueeVi{max-width:80rem}}@media(min-width:96rem){.container_ueeVi{max-width:96rem}}.blur_9rZ6A{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.rootContainer_Z8gey *{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px}.vmButton_Xr1Q6{z-index:99;width:calc(var(--spacing)*9);height:calc(var(--spacing)*9);cursor:pointer;border-radius:var(--radius-lg);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:fixed}.vmButton_Xr1Q6[data-position=top-right],.vmButton_Xr1Q6[data-position=undefined]{top:calc(var(--spacing)*3);right:calc(var(--spacing)*3)}:is(.vmButton_Xr1Q6[data-position=top-right],.vmButton_Xr1Q6[data-position=undefined]).opened_gewqL{top:calc(var(--spacing)*-10)}.vmButton_Xr1Q6[data-position=top-left]{top:calc(var(--spacing)*3);left:calc(var(--spacing)*3)}.vmButton_Xr1Q6[data-position=top-left].opened_gewqL{top:calc(var(--spacing)*-10)}.vmButton_Xr1Q6[data-position=bottom-left]{bottom:calc(var(--spacing)*3);left:calc(var(--spacing)*3)}.vmButton_Xr1Q6[data-position=bottom-left].opened_gewqL{bottom:calc(var(--spacing)*-10)}.vmButton_Xr1Q6[data-position=bottom-right]{right:calc(var(--spacing)*3);bottom:calc(var(--spacing)*3)}.vmButton_Xr1Q6[data-position=bottom-right].opened_gewqL{bottom:calc(var(--spacing)*-10)}.vmButton_Xr1Q6>img{pointer-events:none;inset:calc(var(--spacing)*0);border-radius:var(--radius-lg);position:absolute}.vmButton_Xr1Q6>div{pointer-events:none;inset:calc(var(--spacing)*0);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:2px;border-color:#00000057;position:absolute}.vmButton_Xr1Q6>span{pointer-events:none;top:calc(var(--spacing)*-1);left:calc(var(--spacing)*-1);border-radius:var(--radius-lg);padding:calc(var(--spacing)*.5);--tw-leading:1;--tw-font-weight:var(--font-weight-semibold);font-size:12px;line-height:1;font-weight:var(--font-weight-semibold);color:#2aff0a;background-color:#005c26cf;display:flex;position:absolute}.vmButton_Xr1Q6.opened_gewqL{pointer-events:none}.vmButton_Xr1Q6:not(.isConnected_tjs3F){--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.vmPopup_Q4l4j{z-index:99;border-radius:var(--radius-lg);width:520px;height:calc(100vh - 24px);position:fixed}.vmPopup_Q4l4j>header button{width:28px;padding:6px}.vmPopup_Q4l4j[data-position=top-right],.vmPopup_Q4l4j[data-position=undefined]{top:calc(var(--spacing)*3);right:calc(var(--spacing)*3)}.vmPopup_Q4l4j[data-position=top-left]{top:calc(var(--spacing)*3);left:calc(var(--spacing)*3)}.vmPopup_Q4l4j[data-position=bottom-left]{bottom:calc(var(--spacing)*3);left:calc(var(--spacing)*3)}.vmPopup_Q4l4j[data-position=bottom-right]{right:calc(var(--spacing)*3);bottom:calc(var(--spacing)*3)}.vmContent_VAE7p{color:#ccc;background-color:#1e1e1e;flex-direction:column;display:flex;overflow:auto}.vmContent_VAE7p>header{height:calc(var(--spacing)*8);padding-left:calc(var(--spacing)*2);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);justify-content:space-between;align-items:center;display:flex}.vmContentInput_zbDAW{display:flex;position:relative}.vmContentInput_zbDAW>svg{pointer-events:none;opacity:.7;width:16px;position:absolute;inset:50% 0;transform:translate(6px,-50%)}.vmContentInput_zbDAW>input{text-overflow:ellipsis;background:#343434;border-radius:4px;outline:0;width:100%;padding:3px 26px;font-size:14px}.vmContentInput_zbDAW>button{opacity:.6;width:16px;display:none;position:absolute;top:50%;right:6px;transform:translate(4px,-50%)}.vmContentInput_zbDAW.filled_-3YUt>svg{opacity:.9}.vmContentInput_zbDAW.filled_-3YUt>button{display:block}.vmContentTree_BB36O{padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);scrollbar-width:thin;scrollbar-color:#81818170 #1e1e1e;flex-direction:column;display:flex;overflow:auto}.vmContentTree_BB36O:hover{scrollbar-color:#818181 #1e1e1e}.line_Xgaua.vmTreeItem_t-7jc{padding-left:calc(0px + (var(--level)*20px));z-index:1;position:sticky;top:-8px}.line_Xgaua.vmTreeItem_t-7jc>header{z-index:1;cursor:pointer;align-items:center;gap:calc(var(--spacing)*1);text-overflow:ellipsis;white-space:nowrap;background-color:#1e1e1e;margin-block:auto;display:flex;overflow:hidden}.line_Xgaua.vmTreeItem_t-7jc>header>label{background:#0f6013;border-radius:4px;padding:0 4px}.line_Xgaua.vmTreeItem_t-7jc>header>span{color:#5ab65e;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.line_Xgaua.vmTreeItem_t-7jc.extrasItem_MI9Fa>header>label{background:#6b6902}.line_Xgaua.vmTreeItem_t-7jc:not([data-fitted=true])>header{opacity:.6}.vmContentFilters_No1QW{background:#1e1e1e;width:100%;padding:0 8px}.propertyMeta_XxYHc{text-overflow:ellipsis;white-space:nowrap;color:#616161;overflow:hidden}.propertyMeta_XxYHc.small_Ipy6s{font-size:10px;line-height:15px}.propertyValue_s9qHJ{text-overflow:ellipsis;white-space:nowrap;color:#616161;overflow:hidden}.propertyValue_s9qHJ:has(+.property-name_2-sJi){margin-right:calc(var(--spacing)*1)}.line_Xgaua{text-overflow:ellipsis;white-space:nowrap;white-space:pre;height:22px;padding-left:calc(28px + (var(--level)*15px));background:#1e1e1e;flex-direction:row;align-items:center;font-size:14px;display:flex;position:relative;overflow:hidden}.line_Xgaua.expandable_2LUhL{cursor:pointer}.property_eoWZv[data-fitted=false]{opacity:.5}.property_eoWZv.instance_B-kEn>.propertyValue_s9qHJ{color:#ba82be}:is(.property_eoWZv.primitive_5yfCy.boolean_TwUVp,.property_eoWZv.primitive_5yfCy.number_AVdzm,.property_eoWZv.primitive_5yfCy.object_kn8wQ,.property_eoWZv.primitive_5yfCy.undefined_SMcns,.property_eoWZv.primitive_5yfCy.bigint_ZrO3O,.property_eoWZv.primitive_5yfCy.symbol_9GN4U)>.propertyValue_s9qHJ{color:#5999cd}.property_eoWZv.primitive_5yfCy.string_m1Kkx>.propertyValue_s9qHJ{color:#af7249}.expandButton_EObqt{color:#a0a0a0;cursor:pointer;width:16px;height:16px;font-weight:700;opacity:1!important}.expandButton_EObqt.expanded_uFpb7{color:#b8b8b8;transform:rotate(90deg)}.expandButton_EObqt.disabled_IDojS{opacity:.35!important}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}')),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('/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--font-weight-semibold:600;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static_g5P-G{position:static}.container_ueeVi{width:100%}@media(min-width:40rem){.container_ueeVi{max-width:40rem}}@media(min-width:48rem){.container_ueeVi{max-width:48rem}}@media(min-width:64rem){.container_ueeVi{max-width:64rem}}@media(min-width:80rem){.container_ueeVi{max-width:80rem}}@media(min-width:96rem){.container_ueeVi{max-width:96rem}}.blur_9rZ6A{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.rootContainer_Z8gey *{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px}.vmButton_Xr1Q6{z-index:99;width:calc(var(--spacing)*9);height:calc(var(--spacing)*9);cursor:pointer;border-radius:var(--radius-lg);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:fixed}.vmButton_Xr1Q6[data-position=top-right],.vmButton_Xr1Q6[data-position=undefined]{top:calc(var(--spacing)*3);right:calc(var(--spacing)*3)}:is(.vmButton_Xr1Q6[data-position=top-right],.vmButton_Xr1Q6[data-position=undefined]).opened_gewqL{top:calc(var(--spacing)*-10)}.vmButton_Xr1Q6[data-position=top-left]{top:calc(var(--spacing)*3);left:calc(var(--spacing)*3)}.vmButton_Xr1Q6[data-position=top-left].opened_gewqL{top:calc(var(--spacing)*-10)}.vmButton_Xr1Q6[data-position=bottom-left]{bottom:calc(var(--spacing)*3);left:calc(var(--spacing)*3)}.vmButton_Xr1Q6[data-position=bottom-left].opened_gewqL{bottom:calc(var(--spacing)*-10)}.vmButton_Xr1Q6[data-position=bottom-right]{right:calc(var(--spacing)*3);bottom:calc(var(--spacing)*3)}.vmButton_Xr1Q6[data-position=bottom-right].opened_gewqL{bottom:calc(var(--spacing)*-10)}.vmButton_Xr1Q6>img{pointer-events:none;inset:calc(var(--spacing)*0);border-radius:var(--radius-lg);position:absolute}.vmButton_Xr1Q6>div{pointer-events:none;inset:calc(var(--spacing)*0);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:2px;border-color:#00000057;position:absolute}.vmButton_Xr1Q6>span{pointer-events:none;top:calc(var(--spacing)*-1);left:calc(var(--spacing)*-1);border-radius:var(--radius-lg);padding:calc(var(--spacing)*.5);--tw-leading:1;--tw-font-weight:var(--font-weight-semibold);font-size:12px;line-height:1;font-weight:var(--font-weight-semibold);color:#2aff0a;background-color:#005c26cf;display:flex;position:absolute}.vmButton_Xr1Q6.opened_gewqL{pointer-events:none}.vmButton_Xr1Q6:not(.isConnected_tjs3F){--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.closePopupButton_-08HG{width:28px;padding:6px}.baseActions_pkHeO{flex-direction:row;align-items:center;gap:4px;height:16px;margin-left:6px;margin-right:auto;display:flex}.hierarchyButton_h3FD7{border-radius:6px;width:18px;height:18px;padding:2px}.hierarchyButton_h3FD7.active_4JTx5{background:#f0f0f01f}.vmPopup_Q4l4j{z-index:99;border-radius:var(--radius-lg);width:calc(100vw - 34px);max-width:520px;height:calc(100vh - 24px);position:fixed}.vmPopup_Q4l4j[data-position=top-right],.vmPopup_Q4l4j[data-position=undefined]{top:calc(var(--spacing)*3);right:calc(var(--spacing)*3)}.vmPopup_Q4l4j[data-position=top-left]{top:calc(var(--spacing)*3);left:calc(var(--spacing)*3)}.vmPopup_Q4l4j[data-position=bottom-left]{bottom:calc(var(--spacing)*3);left:calc(var(--spacing)*3)}.vmPopup_Q4l4j[data-position=bottom-right]{right:calc(var(--spacing)*3);bottom:calc(var(--spacing)*3)}.vmContent_VAE7p{color:#ccc;background-color:#1e1e1e;flex-direction:column;display:flex;overflow:auto}.vmContent_VAE7p>header{height:calc(var(--spacing)*8);padding-left:calc(var(--spacing)*2);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);justify-content:space-between;align-items:center;display:flex}.vmContentInput_zbDAW{display:flex;position:relative}.vmContentInput_zbDAW>svg{pointer-events:none;opacity:.7;width:16px;position:absolute;inset:50% 0;transform:translate(6px,-50%)}.vmContentInput_zbDAW>input{text-overflow:ellipsis;background:#343434;border-radius:4px;outline:0;width:100%;padding:3px 26px;font-size:14px}.vmContentInput_zbDAW>button{opacity:.6;width:16px;display:none;position:absolute;top:50%;right:6px;transform:translate(4px,-50%)}.vmContentInput_zbDAW.filled_-3YUt>svg{opacity:.9}.vmContentInput_zbDAW.filled_-3YUt>button{display:block}.vmContentTree_BB36O{padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);scrollbar-width:thin;scrollbar-color:#81818170 #1e1e1e;flex-direction:column;display:flex;overflow:auto}.vmContentTree_BB36O:hover{scrollbar-color:#818181 #1e1e1e}.line_Xgaua.vmTreeItem_t-7jc{padding-left:calc(0px + (var(--level)*20px));z-index:1;position:sticky;top:-8px}.line_Xgaua.vmTreeItem_t-7jc>header{z-index:1;cursor:pointer;align-items:center;gap:calc(var(--spacing)*1);text-overflow:ellipsis;white-space:nowrap;background-color:#1e1e1e;margin-block:auto;display:flex;overflow:hidden}.line_Xgaua.vmTreeItem_t-7jc>header>label{background:#0f6013;border-radius:4px;padding:0 4px}.line_Xgaua.vmTreeItem_t-7jc>header>span{color:#5ab65e;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.line_Xgaua.vmTreeItem_t-7jc.extrasItem_MI9Fa>header>label{background:#6b6902}.line_Xgaua.vmTreeItem_t-7jc:not([data-fitted=true])>header{opacity:.6}.vmContentFilters_No1QW{background:#1e1e1e;width:100%;padding:0 8px}.propertyMeta_XxYHc{text-overflow:ellipsis;white-space:nowrap;color:#616161;overflow:hidden}.propertyMeta_XxYHc.small_Ipy6s{font-size:10px;line-height:15px}.propertyValue_s9qHJ{text-overflow:ellipsis;white-space:nowrap;color:#616161;overflow:hidden}.propertyValue_s9qHJ:has(+.property-name_2-sJi){margin-right:calc(var(--spacing)*1)}.line_Xgaua{text-overflow:ellipsis;white-space:nowrap;white-space:pre;height:22px;padding-left:calc(28px + (var(--level)*15px));background:#1e1e1e;flex-direction:row;align-items:center;font-size:14px;display:flex;position:relative;overflow:hidden}.line_Xgaua.expandable_2LUhL{cursor:pointer}.property_eoWZv[data-fitted=false]{opacity:.5}.property_eoWZv.instance_B-kEn>.propertyValue_s9qHJ{color:#ba82be}:is(.property_eoWZv.primitive_5yfCy.boolean_TwUVp,.property_eoWZv.primitive_5yfCy.number_AVdzm,.property_eoWZv.primitive_5yfCy.object_kn8wQ,.property_eoWZv.primitive_5yfCy.undefined_SMcns,.property_eoWZv.primitive_5yfCy.bigint_ZrO3O,.property_eoWZv.primitive_5yfCy.symbol_9GN4U)>.propertyValue_s9qHJ{color:#5999cd}.property_eoWZv.primitive_5yfCy.string_m1Kkx>.propertyValue_s9qHJ{color:#af7249}.expandButton_EObqt{color:#a0a0a0;cursor:pointer;width:16px;height:16px;font-weight:700;opacity:1!important}.expandButton_EObqt.expanded_uFpb7{color:#b8b8b8;transform:rotate(90deg)}.expandButton_EObqt.disabled_IDojS{opacity:.35!important}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
2
2
  function getDefaultExportFromCjs(x2) {
3
3
  return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
4
4
  }
@@ -30569,9 +30569,15 @@ const generateVmId = (ctx) => {
30569
30569
  const mergeVMConfigs = (...configs) => {
30570
30570
  const result = {
30571
30571
  ...viewModelsConfig,
30572
- startViewTransitions: structuredClone(
30573
- viewModelsConfig.startViewTransitions
30574
- )
30572
+ startViewTransitions: structuredClone(viewModelsConfig.startViewTransitions),
30573
+ observable: {
30574
+ viewModels: {
30575
+ ...viewModelsConfig.observable.viewModels
30576
+ },
30577
+ viewModelStores: {
30578
+ ...viewModelsConfig.observable.viewModelStores
30579
+ }
30580
+ }
30575
30581
  };
30576
30582
  configs.forEach((config) => {
30577
30583
  if (!config) {
@@ -35330,6 +35336,10 @@ const rootContainer = "rootContainer_Z8gey";
35330
35336
  const vmButton = "vmButton_Xr1Q6";
35331
35337
  const opened = "opened_gewqL";
35332
35338
  const isConnected = "isConnected_tjs3F";
35339
+ const closePopupButton = "closePopupButton_-08HG";
35340
+ const baseActions = "baseActions_pkHeO";
35341
+ const hierarchyButton = "hierarchyButton_h3FD7";
35342
+ const active = "active_4JTx5";
35333
35343
  const vmPopup = "vmPopup_Q4l4j";
35334
35344
  const vmContent = "vmContent_VAE7p";
35335
35345
  const vmContentInput = "vmContentInput_zbDAW";
@@ -35364,6 +35374,10 @@ const css = {
35364
35374
  vmButton,
35365
35375
  opened,
35366
35376
  isConnected,
35377
+ closePopupButton,
35378
+ baseActions,
35379
+ hierarchyButton,
35380
+ active,
35367
35381
  vmPopup,
35368
35382
  vmContent,
35369
35383
  vmContentInput,
@@ -36465,14 +36479,15 @@ const VmTreeItemRender = withViewModel(
36465
36479
  type: "vm",
36466
36480
  item: vmItem
36467
36481
  });
36482
+ const depth = model.devtools.isHierarchyMode ? vmItem.depth : 0;
36468
36483
  return /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(jsxDevRuntimeExports.Fragment, { children: [
36469
36484
  /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36470
36485
  "div",
36471
36486
  {
36472
36487
  className: cx(css.line, css.vmTreeItem),
36473
36488
  "data-fitted": itemSearchResult.isFittedByName || itemSearchResult.isFittedById,
36474
- "data-depth": String().padEnd(vmItem.depth, "-"),
36475
- style: { "--level": vmItem.depth },
36489
+ "data-depth": String().padEnd(depth, "-"),
36490
+ style: { "--level": depth },
36476
36491
  children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("header", { onClick: () => model.handleVmItemHeaderClick(vmItem), children: [
36477
36492
  /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36478
36493
  ExpandButton,
@@ -36486,24 +36501,24 @@ const VmTreeItemRender = withViewModel(
36486
36501
  false,
36487
36502
  {
36488
36503
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/vm-tree-item-render/index.tsx",
36489
- lineNumber: 31,
36504
+ lineNumber: 33,
36490
36505
  columnNumber: 13
36491
36506
  },
36492
36507
  void 0
36493
36508
  ),
36494
36509
  /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("label", { title: vmItem.displayName, children: vmItem.displayName }, void 0, false, {
36495
36510
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/vm-tree-item-render/index.tsx",
36496
- lineNumber: 37,
36511
+ lineNumber: 39,
36497
36512
  columnNumber: 13
36498
36513
  }, void 0),
36499
36514
  /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { title: vmItem.vm.id, children: vmItem.vm.id }, void 0, false, {
36500
36515
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/vm-tree-item-render/index.tsx",
36501
- lineNumber: 38,
36516
+ lineNumber: 40,
36502
36517
  columnNumber: 13
36503
36518
  }, void 0)
36504
36519
  ] }, void 0, true, {
36505
36520
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/vm-tree-item-render/index.tsx",
36506
- lineNumber: 30,
36521
+ lineNumber: 32,
36507
36522
  columnNumber: 11
36508
36523
  }, void 0)
36509
36524
  },
@@ -36511,7 +36526,7 @@ const VmTreeItemRender = withViewModel(
36511
36526
  false,
36512
36527
  {
36513
36528
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/vm-tree-item-render/index.tsx",
36514
- lineNumber: 22,
36529
+ lineNumber: 24,
36515
36530
  columnNumber: 9
36516
36531
  },
36517
36532
  void 0
@@ -36529,17 +36544,17 @@ const VmTreeItemRender = withViewModel(
36529
36544
  ),
36530
36545
  extraRight: order !== arr.length - 1 && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("span", { className: css.propertyMeta, children: `,` }, void 0, false, {
36531
36546
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/vm-tree-item-render/index.tsx",
36532
- lineNumber: 54,
36547
+ lineNumber: 56,
36533
36548
  columnNumber: 17
36534
36549
  }, void 0),
36535
- level: vmItem.depth,
36550
+ level: depth,
36536
36551
  path: property2
36537
36552
  },
36538
36553
  property2,
36539
36554
  false,
36540
36555
  {
36541
36556
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/vm-tree-item-render/index.tsx",
36542
- lineNumber: 42,
36557
+ lineNumber: 44,
36543
36558
  columnNumber: 11
36544
36559
  },
36545
36560
  void 0
@@ -36553,14 +36568,14 @@ const VmTreeItemRender = withViewModel(
36553
36568
  false,
36554
36569
  {
36555
36570
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/vm-tree-item-render/index.tsx",
36556
- lineNumber: 63,
36571
+ lineNumber: 65,
36557
36572
  columnNumber: 13
36558
36573
  },
36559
36574
  void 0
36560
36575
  ))
36561
36576
  ] }, void 0, true, {
36562
36577
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/vm-tree-item-render/index.tsx",
36563
- lineNumber: 21,
36578
+ lineNumber: 23,
36564
36579
  columnNumber: 7
36565
36580
  }, void 0);
36566
36581
  }
@@ -36579,89 +36594,165 @@ const VmDevtoolsContent = observer(
36579
36594
  lineNumber: 27,
36580
36595
  columnNumber: 11
36581
36596
  }, void 0),
36582
- headerContent
36583
- ] }, void 0, true, {
36584
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36585
- lineNumber: 26,
36586
- columnNumber: 9
36587
- }, void 0),
36588
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css.vmContentFilters, children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: `${css.vmContentInput} ${model.devtools.searchEngine.isActive && css.filled}`, children: [
36589
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(Magnifier, {}, void 0, false, {
36590
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36591
- lineNumber: 32,
36592
- columnNumber: 13
36593
- }, void 0),
36594
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36595
- "input",
36597
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css.baseActions, children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36598
+ "button",
36596
36599
  {
36597
- ref: model.devtools.searchEngine.searchInputRef,
36598
- autoFocus: true,
36599
- placeholder: "search by property path or ViewModel name"
36600
+ className: cx(css.hierarchyButton, {
36601
+ [css.active]: model.devtools.isHierarchyMode
36602
+ }),
36603
+ onClick: model.devtools.toggleHierarchyMode,
36604
+ children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36605
+ "svg",
36606
+ {
36607
+ xmlns: "http://www.w3.org/2000/svg",
36608
+ fill: "none",
36609
+ viewBox: "0 0 16 16",
36610
+ children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36611
+ "path",
36612
+ {
36613
+ fill: "currentColor",
36614
+ "fill-rule": "evenodd",
36615
+ d: "M12.25 2.5h-8.5a.75.75 0 0 0-.75.75v1.5c0 .414.336.75.75.75h8.5a.75.75 0 0 0 .75-.75v-1.5a.75.75 0 0 0-.75-.75m0 4.5H5v3.13c0 .69.56 1.25 1.25 1.25H7v-.13A2.25 2.25 0 0 1 9.25 9h3a2.25 2.25 0 0 1 2.25 2.25v1.5A2.25 2.25 0 0 1 12.25 15h-3a2.25 2.25 0 0 1-2.246-2.12H6.25a2.75 2.75 0 0 1-2.75-2.75V6.986a2.25 2.25 0 0 1-2-2.236v-1.5A2.25 2.25 0 0 1 3.75 1h8.5a2.25 2.25 0 0 1 2.25 2.25v1.5A2.25 2.25 0 0 1 12.25 7m-3 3.5h3a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-3a.75.75 0 0 1-.75-.75v-1.5a.75.75 0 0 1 .75-.75",
36616
+ "clip-rule": "evenodd"
36617
+ },
36618
+ void 0,
36619
+ false,
36620
+ {
36621
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36622
+ lineNumber: 40,
36623
+ columnNumber: 17
36624
+ },
36625
+ void 0
36626
+ )
36627
+ },
36628
+ void 0,
36629
+ false,
36630
+ {
36631
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36632
+ lineNumber: 35,
36633
+ columnNumber: 15
36634
+ },
36635
+ void 0
36636
+ )
36600
36637
  },
36601
36638
  void 0,
36602
36639
  false,
36603
36640
  {
36604
36641
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36605
- lineNumber: 33,
36642
+ lineNumber: 29,
36606
36643
  columnNumber: 13
36607
36644
  },
36608
36645
  void 0
36609
- ),
36610
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("button", { onClick: model.devtools.searchEngine.resetSearch, children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(XMark, {}, void 0, false, {
36646
+ ) }, void 0, false, {
36611
36647
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36612
- lineNumber: 39,
36613
- columnNumber: 15
36614
- }, void 0) }, void 0, false, {
36615
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36616
- lineNumber: 38,
36617
- columnNumber: 13
36618
- }, void 0)
36648
+ lineNumber: 28,
36649
+ columnNumber: 11
36650
+ }, void 0),
36651
+ headerContent
36619
36652
  ] }, void 0, true, {
36620
36653
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36621
- lineNumber: 31,
36622
- columnNumber: 11
36623
- }, void 0) }, void 0, false, {
36624
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36625
- lineNumber: 30,
36654
+ lineNumber: 26,
36626
36655
  columnNumber: 9
36627
36656
  }, void 0),
36628
- /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(oe, { className: css.vmContentTree, ref: model.devtools.scrollListRef, itemSize: 22, children: [
36629
- model.devtools.vmTree.map((vmItem) => /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36630
- VmTreeItemRender,
36631
- {
36632
- payload: { vmItem, devtools: model.devtools }
36633
- },
36634
- vmItem.key,
36635
- false,
36636
- {
36637
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36638
- lineNumber: 45,
36639
- columnNumber: 13
36640
- },
36641
- void 0
36642
- )),
36643
- !!model.devtools.extras && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36644
- ExtrasItemRender,
36645
- {
36646
- payload: {
36647
- extras: model.devtools.extras,
36648
- devtools: model.devtools
36649
- }
36650
- },
36651
- void 0,
36652
- false,
36653
- {
36654
- fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36655
- lineNumber: 51,
36656
- columnNumber: 13
36657
- },
36658
- void 0
36659
- )
36660
- ] }, void 0, true, {
36657
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("div", { className: css.vmContentFilters, children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36658
+ "div",
36659
+ {
36660
+ className: `${css.vmContentInput} ${model.devtools.searchEngine.isActive && css.filled}`,
36661
+ children: [
36662
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(Magnifier, {}, void 0, false, {
36663
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36664
+ lineNumber: 55,
36665
+ columnNumber: 13
36666
+ }, void 0),
36667
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36668
+ "input",
36669
+ {
36670
+ ref: model.devtools.searchEngine.searchInputRef,
36671
+ autoFocus: true,
36672
+ placeholder: "search by property path or ViewModel name"
36673
+ },
36674
+ void 0,
36675
+ false,
36676
+ {
36677
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36678
+ lineNumber: 56,
36679
+ columnNumber: 13
36680
+ },
36681
+ void 0
36682
+ ),
36683
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("button", { onClick: model.devtools.searchEngine.resetSearch, children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(XMark, {}, void 0, false, {
36684
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36685
+ lineNumber: 62,
36686
+ columnNumber: 15
36687
+ }, void 0) }, void 0, false, {
36688
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36689
+ lineNumber: 61,
36690
+ columnNumber: 13
36691
+ }, void 0)
36692
+ ]
36693
+ },
36694
+ void 0,
36695
+ true,
36696
+ {
36697
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36698
+ lineNumber: 52,
36699
+ columnNumber: 11
36700
+ },
36701
+ void 0
36702
+ ) }, void 0, false, {
36661
36703
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36662
- lineNumber: 43,
36704
+ lineNumber: 51,
36663
36705
  columnNumber: 9
36664
- }, void 0)
36706
+ }, void 0),
36707
+ /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36708
+ oe,
36709
+ {
36710
+ className: css.vmContentTree,
36711
+ ref: model.devtools.scrollListRef,
36712
+ itemSize: 22,
36713
+ children: [
36714
+ model.devtools.vmTree.map((vmItem) => /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36715
+ VmTreeItemRender,
36716
+ {
36717
+ payload: { vmItem, devtools: model.devtools }
36718
+ },
36719
+ vmItem.key,
36720
+ false,
36721
+ {
36722
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36723
+ lineNumber: 72,
36724
+ columnNumber: 13
36725
+ },
36726
+ void 0
36727
+ )),
36728
+ !!model.devtools.extras && /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(
36729
+ ExtrasItemRender,
36730
+ {
36731
+ payload: {
36732
+ extras: model.devtools.extras,
36733
+ devtools: model.devtools
36734
+ }
36735
+ },
36736
+ void 0,
36737
+ false,
36738
+ {
36739
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36740
+ lineNumber: 78,
36741
+ columnNumber: 13
36742
+ },
36743
+ void 0
36744
+ )
36745
+ ]
36746
+ },
36747
+ void 0,
36748
+ true,
36749
+ {
36750
+ fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36751
+ lineNumber: 66,
36752
+ columnNumber: 9
36753
+ },
36754
+ void 0
36755
+ )
36665
36756
  ] }, void 0, true, {
36666
36757
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-content/index.tsx",
36667
36758
  lineNumber: 25,
@@ -36676,7 +36767,7 @@ const VmDevtoolsPopup = observer(() => {
36676
36767
  {
36677
36768
  className: css.vmPopup,
36678
36769
  "data-position": `${model.devtools.config.position}`,
36679
- headerContent: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("button", { onClick: model.handleClosePopupClick, children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(XMark, {}, void 0, false, {
36770
+ headerContent: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV("button", { className: css.closePopupButton, onClick: model.handleClosePopupClick, children: /* @__PURE__ */ jsxDevRuntimeExports.jsxDEV(XMark, {}, void 0, false, {
36680
36771
  fileName: "/home/js2me/projects/open-source/mobx-view-model-devtools/src/ui/devtools-popup/index.tsx",
36681
36772
  lineNumber: 17,
36682
36773
  columnNumber: 11
@@ -36886,7 +36977,7 @@ class KeyboardHandler2 extends KeyboardHandler$1 {
36886
36977
  }
36887
36978
  },
36888
36979
  {
36889
- shortcuts: ["Ctrl+ArrowDown"],
36980
+ shortcuts: ["Ctrl+ArrowDown", "PageDown"],
36890
36981
  action: () => {
36891
36982
  if (!devtools.scrollListRef.current) return;
36892
36983
  devtools.scrollListRef.current.scrollTo(
@@ -36895,7 +36986,7 @@ class KeyboardHandler2 extends KeyboardHandler$1 {
36895
36986
  }
36896
36987
  },
36897
36988
  {
36898
- shortcuts: ["Ctrl+ArrowUp"],
36989
+ shortcuts: ["Ctrl+ArrowUp", "PageUp"],
36899
36990
  action: () => {
36900
36991
  if (!devtools.scrollListRef.current) return;
36901
36992
  devtools.scrollListRef.current.scrollTo(
@@ -37136,6 +37227,7 @@ class ViewModelDevtools {
37136
37227
  this.projectVmStore = this.config.viewModels;
37137
37228
  this.expandedVmsSet = observable.set();
37138
37229
  this.isAllVmsExpandedByDefault = true;
37230
+ this.isHierarchyMode = true;
37139
37231
  this.expandedVmItemsPaths = observable.set();
37140
37232
  this.logoUrl = "data:image/png;base64,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";
37141
37233
  this.inputRef = createFocusableRef();
@@ -37147,9 +37239,11 @@ class ViewModelDevtools {
37147
37239
  isPopupOpened: observable.ref,
37148
37240
  isAllVmsExpandedByDefault: observable,
37149
37241
  projectVmStore: observable.ref,
37242
+ isHierarchyMode: observable.ref,
37150
37243
  extras: observable.ref,
37151
37244
  setStore: action,
37152
37245
  setExtras: action,
37246
+ toggleHierarchyMode: action,
37153
37247
  handleExpandVmPropertyClick: action,
37154
37248
  handleExpandExtraPropertyClick: action,
37155
37249
  allVms: computed.struct,
@@ -37171,6 +37265,7 @@ class ViewModelDevtools {
37171
37265
  scrollContentRef;
37172
37266
  keyboardHandler;
37173
37267
  searchEngine;
37268
+ isHierarchyMode;
37174
37269
  expandedVmsSet;
37175
37270
  scrollListRef;
37176
37271
  autoscrollTimeout;
@@ -37295,6 +37390,9 @@ class ViewModelDevtools {
37295
37390
  setExtras(extras) {
37296
37391
  this.extras = extras;
37297
37392
  }
37393
+ toggleHierarchyMode = () => {
37394
+ this.isHierarchyMode = !this.isHierarchyMode;
37395
+ };
37298
37396
  init() {
37299
37397
  reaction(
37300
37398
  () => this.searchEngine.formattedSearchText,
@@ -37318,9 +37416,12 @@ class ViewModelDevtools {
37318
37416
  }
37319
37417
  }
37320
37418
  );
37321
- if (lastFoundElementIndex !== void 0) {
37419
+ if (lastFoundElementIndex === void 0) {
37420
+ this.scrollListRef.current?.scrollTo(90);
37421
+ } else {
37322
37422
  this.scrollListRef.current?.scrollToIndex(lastFoundElementIndex, {
37323
- align: "end",
37423
+ align: "center",
37424
+ offset: -65,
37324
37425
  smooth: true
37325
37426
  });
37326
37427
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobx-view-model-devtools",
3
- "version": "0.0.16",
3
+ "version": "0.0.18",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "js2me",
@@ -9,14 +9,19 @@
9
9
  "mobx": "^6.15.0",
10
10
  "mobx-react-lite": "^4.1.1",
11
11
  "mobx-swiss-knife": "^1.10.0",
12
- "mobx-view-model": "^8.8.0",
12
+ "mobx-view-model": "^8.8.1",
13
13
  "react": "^18.3.1",
14
14
  "react-dom": "^18.3.1",
15
15
  "virtua": "^0.46.5",
16
16
  "yummies": "^6.0.0"
17
17
  },
18
18
  "peerDependencies": {
19
- "mobx-view-model": "^8.8.0"
19
+ "mobx-view-model": "^8.8.1"
20
+ },
21
+ "peerDependenciesMeta": {
22
+ "mobx-view-model": {
23
+ "optional": true
24
+ }
20
25
  },
21
26
  "main": "index.js",
22
27
  "exports": {