   (:require-macros [re-com.core :refer [handler-fn]])
   (:require [re-com.util     :refer [deref-or-value]]
             [re-com.box      :refer [flex-child-style]]
-            [re-com.validate :refer [css-style? vector-of-maps?] :refer-macros [validate-args-macro]]))
+            [re-com.validate :refer [css-style? html-attr? vector-of-maps?] :refer-macros [validate-args-macro]]))
 
 
 ;;--------------------------------------------------------------------------------------------------

;;--------------------------------------------------------------------------------------------------

(defn- pill-tabs    ;; tabs-like in action
  [& {:keys [model tabs on-change id-fn label-fn style vertical?]}]
  (let [current  (deref-or-value model)
        tabs     (deref-or-value tabs)
        _        (assert (not-empty (filter #(= current (id-fn %)) tabs)) "model not found in tabs vector")]
    [:ul
     {:class (str "rc-tabs noselect nav nav-pills" (when vertical? " nav-stacked"))
      :style (flex-child-style "none")
      :role  "tabslist"}
     (for [t tabs]
       (let [id        (id-fn  t)
             label     (label-fn  t)



(defn horizontal-pill-tabs
  [& {:keys [model tabs on-change id-fn class style attr label-fn]
      :or   {id-fn :id label-fn :label}
      :as   args}]
  {:pre [(validate-args-macro tabs-args-desc args "tabs")]}
