 
   (event ::inspect-switch-display! [env display-type]
     (sg/run-tx env [::m/inspect-switch-display! ident display-type]))
+
+  (event ::kb-select! [env key-idx data]
+    (sg/run-tx env [::m/inspect-nav! ident key-idx panel-idx]))
 
   (render
 

      :grid-template-columns "min-content minmax(25%, auto)"
      :grid-row-gap "1px"
      :grid-column-gap ".5rem"}}
    (fn [{:keys [key val] :as entry} idx opts]
      (<< [:div.whitespace-no-wrap.font-bold.px-2.border-r.truncate.bg-gray-100.hover:bg-gray-300
           {:on-click [::inspect-nav! idx]}
           (render-edn-limit key)]
          [:div.whitespace-no-wrap.truncate
           {:on-click [::inspect-nav! idx]}
           (render-edn-limit val)])
      )))

(defmethod render-view :map
  [object active?]
  (map-vlist {:ident (:db/ident object)
              :tabindex (if active? 0 -1)}))

(def lazy-seq-vlist

(def seq-vlist
  (vlist/configure :fragment-vlist
    {:item-height 22}
    (fn [{:keys [val] :as entry} {:keys [idx focus] :as opts}]
      (<< [:div
           {:class (if focus
                     "border-b flex bg-gray-200"
                     "border-b flex hover:bg-gray-100")
            :on-click [::inspect-nav! idx]}
           [:div
            {:class "pl-4 px-2 border-r text-right"
             :style {:width "60px"}}
            idx]
           [:div.px-2.flex-1.truncate
            (render-edn-limit val)]]))))

(defn render-seq
  [object active?]
  (seq-vlist {:ident (:db/ident object)
              :select-event [::kb-select!]
              :tabindex (if active? 0 -1)}))

(defmethod render-view :vec [data active?]
