(ns auto-ap.ssr.components.inputs) (defn select- [params & children] (into [:select {:class "bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500" :name (:name params)} (cond->> (map (fn [[k v]] [:option {:value k :selected (= v (:value params))} v]) (:options params)) (:allow-blank? params) (conj [:option {:value "" :selected (not (:value params))} ""]))] children)) (defn text-input- [params] [:input (update params :class str " bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500") ]) (defn field- [params & rest] (into [:div [:label {:class "block mb-2 text-sm font-medium text-gray-900 dark:text-white"} (:label params)]] rest))