{-# OPTIONS_GHC -fno-warn-orphans #-} module Foundation.Instances.ButtonClass (ButtonClass(..)) where import Import.NoFoundation import Utils.Form import Foundation.Type import qualified Data.List as List -- instance RenderMessage UniWorX ButtonSubmit import Foundation.I18n () data instance ButtonClass UniWorX = BCIsButton | BCDefault | BCPrimary | BCSuccess | BCInfo | BCWarning | BCDanger | BCLink | BCMassInputAdd | BCMassInputDelete deriving (Enum, Eq, Ord, Bounded, Read, Show, Generic, Typeable) deriving anyclass (Universe, Finite) instance PathPiece (ButtonClass UniWorX) where toPathPiece BCIsButton = "btn" toPathPiece bClass = ("btn-" <>) . camelToPathPiece' 1 $ tshow bClass fromPathPiece = flip List.lookup $ map (toPathPiece &&& id) universeF instance Button UniWorX ButtonSubmit where btnClasses BtnSubmit = [BCIsButton, BCPrimary]