h,C;      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                    0.6.2 None"%None"% lweb-view:Default CSS to remove unintuitive default styles. This or  is required. import Data.String.Interpolate (i) toDocument :: ByteString -> ByteString toDocument cnt = [i| #{cnt} |]web-view.Alternatively, the reset is available on a CDN import Data.String.Interpolate (i) toDocument :: ByteString -> ByteString toDocument cnt = [i| #{cnt} |]None"%=> web-viewHexidecimal Color. Can be specified with or without the leading #. Recommended to use an AppColor type instead of manually using hex colors. See  web-viewToColor allows you to create a type containing your application's colors: data AppColor = White | Primary | Dark instance ToColor AppColor where colorValue White = "#FFF" colorValue Dark = "#333" colorValue Primary = "#00F" hello :: View c () hello = el (bg Primary . color White) "Hello"web-viewElement's attributes do not include class, which is separated. FlatAttributes generate the class attribute and include itweb-viewOptions for styles that support specifying various sides. This has a "fake" Num instance to support literals +border 5 border (X 2) border (TRBL 0 5 0 0)web-viewMedia allows for responsive designs that change based on characteristics of the window. See https://github.com/seanhess/web-view/blob/master/example/Example/Layout.hsLayout Exampleweb-view"Milliseconds, used for transitions!web-viewPx, converted to Rem. Allows for the user to change the document font size and have the app scale accordingly. But allows the programmer to code in pixels to match a design&web-view(Use a type as a css style property value(web-view!The value of a css style property*web-viewPsuedos allow for specifying styles that only apply in certain conditions. See   etc 0el (color Primary . hover (color White)) "hello"/web-viewConvert a type into a className segment to generate unique compound style names based on the value1web-view A class name4web-view)The selector to use for the given atomic @;web-viewA child selector limits>web-viewA parent selector limits the selector to only apply when a descendent of the parent in question?web-view'The styles to apply for a given atomic @@web-view>Atomic classes include a selector and the corresponding stylesDweb-view!All the atomic classes used in a Eweb-viewElement functions expect a modifier function as their first argument. These can add attributes and classes. Combine multiple Es with () userEmail :: User -> View c () userEmail user = input (fontSize 16 . active) (text user.email) where active = isActive user then bold else id9If you don't want to specify any attributes, you can use  4plainView :: View c () plainView = el id "No styles"Iweb-viewThe Attributes for an M. Classes are merged and managed separately from the other attributes.Mweb-viewA single HTML tag. Note that the class attribute is stored separately from the rest of the attributes to make adding styles easierVweb-viewRaw embedded HTML or SVG. See Wweb-viewConstruct an ElementXweb-view Create a 4 given only a 1Yweb-view0Create a class name, escaping special charactersr\aYWX >FHIJLKD;<=@ABC123STVUMNPORQ #%$E G*,-+.!"45986:7()?/0  &'SVUTMOPNRQWILKJHGFED@BCA?>;=<46789:5X123Y/0\*.-,+()&'a#%$!"   r  None "#%&=>!web-viewSet to a specific widthweb-viewSet to a specific heightweb-viewAllow width to grow to contents but not shrink any smaller than valueweb-viewAllow height to grow to contents but not shrink any smaller than valueweb-view-Space surrounding the children of the element7To create even spacing around and between all elements: col (pad 10 . gap 10) $ do el_ "one" el_ "two" el_ "three"web-view&The space between child elements. See web-viewAdd a drop shadow to an element input (shadow Inner) "Inset Shadow" button (shadow ()) "Click Me"web-view Round the corners of the elementweb-viewSet the background color. See  web-viewSet the text color. See  web-viewSet the list style of an item ol id $ do li (list Decimal) "First" li (list Decimal) "Second" li (list Decimal) "Third"web-viewSet a border around the element el (border 1) "all sides" el (border (X 1)) "only left and right"web-viewSet a border color. See  web-view7Use a button-like cursor when hovering over the elementButton-like elements: btn = pointer . bg Primary . hover (bg PrimaryLight) options = row id $ do el btn "Login" el btn "Sign Up"web-view%Animate changes to the given property el (transition 100 (Height 400)) "Tall" el (transition 100 (Height 100)) "Small"web-view*Set Top, Right, Bottom and Left. Requires  Absolute or Fixed. Also see  web-viewposition:absolute. See stack and popoutweb-viewSet container displayel (display None) HIDDENweb-view#Apply when hovering over an element 1el (bg Primary . hover (bg PrimaryLight)) "Hover"web-view2Apply when the mouse is pressed down on an elementweb-viewApply to even-numbered childrenweb-viewApply to odd-numbered childrenweb-viewApply when the Media matches the current window. This allows for responsive designs el (width 100 . media (MinWidth 800) (width 400)) "Big if window > 800"web-view8Apply when the element is somewhere inside an anscestor.For example, the HTMX library applies an "htmx-request" class to the body when a request is pending. We can use this to create a loading indicator el (pad 10) $ do el (parent "htmx-request" flexRow . hide) "Loading..." el (parent "htmx-request" hide . flexRow) "Normal Content"web-viewAdd a single class width :: PxRem -> Mod width n = addClass $ cls ("w" -. n) & prop "width" n & prop @Int "flex-shrink" 0web-view"Construct a class from a ClassNameweb-viewConstruct a mod from a ClassName with no CSS properties. Convenience for situations where external CSS classes need to be referenced. 8el (extClass "btn" . extClass "btn-primary") "Click me!"web-viewAdd a property to a classweb-viewHyphenate classnames:;None"%"  None"#%1(web-view(Views are HTML fragments that carry all D used by any child element. view :: View c () view = col (pad 10 . gap 10) $ do el bold "Hello" el_ "World"They can also have a context which can be used to create type-safe or context-aware elements. See  or  for an exampleweb-view Extract the  from a web-view Views have a  built-in for convienient access to static data, and to add type-safety to view functions. See 'Web.View.Element.ListItem and https://hackage.haskell.org/package/hyperbole/docs/Web-Hyperbole.html numberView :: View Int () numberView = do num <- context el_ $ do "Number: " text (pack $ show num)web-viewRun a view with a specific  in a parent  with a different context.  parentView :: View c () parentView = do addContext 1 numberView addContext 2 numberView addContext 3 numberViewweb-view-Inserts contents into the first child elementweb-view8Create a new element constructor with the given tag name