-----------------------------------------------------------------------------
-- |
-- Module      :  Miso.Html
-- Copyright   :  (C) 2016-2026 David M. Johnson
-- License     :  BSD3-style (see the file LICENSE)
-- Maintainer  :  David M. Johnson <code@dmj.io>
-- Stability   :  experimental
-- Portability :  non-portable
--
-- = Overview
--
-- "Miso.Html" is the HTML DSL re-export hub. It collects element smart
-- constructors, pre-wired event handlers, and the server-side rendering
-- typeclass into a single convenient import.
--
-- The top-level "Miso" module already re-exports everything from
-- "Miso.Html", so applications that @import Miso@ have the entire HTML
-- layer in scope without an additional import.  Import "Miso.Html"
-- directly only when you want the HTML DSL in isolation — for example,
-- in a view-only library that should not depend on the miso runtime.
--
-- __Note:__ "Miso.Html.Property" (@'Miso.Html.Property.id_'@,
-- @'Miso.Html.Property.class_'@, @'Miso.Html.Property.href_'@, …) is
-- /not/ re-exported here.  Import it separately, or use the top-level
-- "Miso" import which includes everything.
--
-- = Quick start
--
-- @
-- import "Miso"
-- import "Miso.Html.Property" ('Miso.Html.Property.class_')
--
-- data Action = Increment | Decrement | Reset
--
-- view :: Int -> 'Miso.Types.View' Int Action
-- view n =
--   'div_' [ 'Miso.Html.Property.class_' \"counter\" ]
--     [ 'h1_' [] [ 'Miso.text' \"Counter\" ]
--     , 'p_'  [] [ 'Miso.text' ('Miso.String.ms' n) ]
--     , 'button_' [ 'onClick' Increment ] [ 'Miso.text' \"+\" ]
--     , 'button_' [ 'onClick' Decrement ] [ 'Miso.text' \"-\" ]
--     , 'button_' [ 'onClick' Reset ]     [ 'Miso.text' \"Reset\" ]
--     ]
-- @
--
-- = Re-exported modules
--
-- ["Miso.Html.Element"]
--   Smart constructors for every standard HTML element (@'div_'@,
--   @'button_'@, @'input_'@, @'table_'@, …).  All names are suffixed
--   with @_@ to avoid clashing with 'Prelude' identifiers.
--
-- ["Miso.Html.Event"]
--   Pre-wired event-handler attributes (@'onClick'@, @'onInput'@,
--   @'onKeyDown'@, @'onDrop'@, …).  Covers mouse, keyboard, form, focus,
--   pointer, drag, touch, media, and lifecycle events.
--
-- ["Miso.Html.Render"]
--   The 'Miso.Html.Render.ToHtml' typeclass for serialising a
--   'Miso.Types.View' tree to a lazy @ByteString@ of UTF-8 HTML
--   (server-side rendering \/ SSR).
--
-- = See also
--
-- * "Miso.Html.Element" — full element reference with groupings
-- * "Miso.Html.Event" — full event-handler reference with naming conventions
-- * "Miso.Html.Property" — DOM properties and attributes (@'Miso.Html.Property.id_'@,
--   @'Miso.Html.Property.class_'@, @'Miso.Html.Property.src_'@, …)
-- * "Miso.Html.Render" — SSR rendering rules and @-fssr@ flag details
-- * "Miso.Svg" — SVG element, event, and property combinators
-- * "Miso.CSS" — structured CSS property DSL
-- * "Miso" — complete miso API including runtime, routing, and FFI
--
-- More information and examples are available at <http://github.com/dmjio/miso>.
--
----------------------------------------------------------------------------
module Miso.Html
   ( -- * Elements
     module Miso.Html.Element
     -- * Events
   , module Miso.Html.Event
     -- * Rendering
   , module Miso.Html.Render
   ) where
-----------------------------------------------------------------------------
import Miso.Html.Element
import Miso.Html.Event
import Miso.Html.Render
-----------------------------------------------------------------------------