{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-} module OryKratos.Types.Ui ( UiContainer (..), UiNode (..), UiNodeAnchorAttributes (..), UiNodeAttributes (..), UiNodeImageAttributes (..), UiNodeInputAttributes (..), UiNodeMeta (..), UiNodeScriptAttributes (..), UiNodeTextAttributes (..), UiText (..), ) where import Data.Aeson (FromJSON (..), ToJSON (..), Value, genericParseJSON, genericToEncoding, genericToJSON) import Data.Aeson.Types (Options (..), defaultOptions) import qualified Data.Char as Char import Data.Data (Data) import Data.Function ((&)) import Data.List (stripPrefix) import qualified Data.Map as Map import Data.Maybe (fromMaybe) import Data.Set (Set) import Data.Swagger (ToSchema, declareNamedSchema) import qualified Data.Swagger as Swagger import Data.Text (Text) import qualified Data.Text as T import Data.Time import Data.UUID (UUID) import GHC.Generics (Generic) import OryKratos.Types.Helper (customOptions, removeFieldLabelPrefix) -- | Container represents a HTML Form. The container can work with both HTTP Form and JSON requests data UiContainer = UiContainer { -- | Action should be used as the form action URL `