module Web.Hyperbole
(
liveApp
, Warp.run
, Page
, runPage
, document
, quickStartDocument
, DocumentHead
, quickStart
, mobileFriendly
, Route (..)
, routeRequest
, routeUri
, route
, Hyperbole
, request
, Request (..)
, respondError
, respondErrorView
, notFound
, redirect
, ToQuery (..)
, FromQuery (..)
, query
, setQuery
, modifyQuery
, clearQuery
, param
, lookupParam
, setParam
, deleteParam
, queryParams
, Session (..)
, session
, saveSession
, lookupSession
, modifySession
, modifySession_
, deleteSession
, pageTitle
, trigger
, pushEvent
, pushUpdate
, HyperView (..)
, hyper
, hyperState
, HasViewId (..)
, button
, search
, dropdown
, option
, Option
, onClick
, onDblClick
, onMouseEnter
, onMouseLeave
, onInput
, onLoad
, DelayMs
, onKeyDown
, onKeyUp
, Key (..)
, FromForm (..)
, FromFormF (..)
, formData
, GenFields (..)
, fieldNames
, FieldName (..)
, FormFields
, Field
, Identity
, form
, field
, label
, input
, checkbox
, radioGroup
, radio
, select
, checked
, textarea
, submit
, View.placeholder
, InputType (..)
, Validated (..)
, isInvalid
, validate
, invalidText
, QueryData
, ToParam (..)
, FromParam (..)
, ToEncoded
, FromEncoded
, target
, Response
, Root
, ConcurrencyMode (..)
, View (..)
, module View
, module Web.Hyperbole.View.Embed
, module Effectful
, URI (..)
, uri
, Application
, module GHC.Generics
, Default (..)
, ToJSON
, FromJSON
) where
import Data.Aeson (FromJSON, ToJSON)
import Data.Default
import Effectful (Eff, (:>))
import GHC.Generics (Generic, Rep)
import Network.Wai (Application)
import Network.Wai.Handler.Warp as Warp (run)
import Web.Atomic.CSS ()
import Web.Atomic.Types ()
import Web.Hyperbole.Application
import Web.Hyperbole.Data.Encoded (FromEncoded, ToEncoded)
import Web.Hyperbole.Data.Param
import Web.Hyperbole.Data.QueryData
import Web.Hyperbole.Document
import Web.Hyperbole.Effect.Client
import Web.Hyperbole.Effect.Hyperbole
import Web.Hyperbole.Effect.Query
import Web.Hyperbole.Effect.Request
import Web.Hyperbole.Effect.Response
import Web.Hyperbole.Effect.Session
import Web.Hyperbole.HyperView
import Web.Hyperbole.HyperView.Forms
import Web.Hyperbole.Page (Page, runPage)
import Web.Hyperbole.Route
import Web.Hyperbole.Types.Request
import Web.Hyperbole.Types.Response
import Web.Hyperbole.View hiding (placeholder)
import Web.Hyperbole.View qualified as View hiding (Attributable, Attributes, View)
import Web.Hyperbole.View.Embed