 (def seq-vlist
   (vlist/configure :fragment-vlist
     {:item-height 22}
-    (fn [{:keys [val] :as entry} idx opts]
-      (<< [:div.border-b.flex
-           {:on-click [::inspect-nav! idx]}
-           [:div.pl-4.px-2.border-r.text-right {:style {:width "60px"}} idx]
-           [:div.px-2.flex-1.truncate (render-edn-limit val)]]))))
+    (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?]

      :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

     (fn [entry]
       (<< [:div "Show more ... " (pr-str entry)]))}

    (fn [{:keys [val] :as entry} {:keys [idx focus] :as opts}]
      (<< [:div.border-b.flex
           {:on-click [::inspect-nav! idx]}
           [:div.pl-4.px-2.border-r.text-right {:style {:width "60px"}} idx]
