gitextract_46835c3y/ ├── .dockerignore ├── .github/ │ └── workflows/ │ ├── haskell.yaml │ └── packcheck.yaml ├── .gitignore ├── .hlint.yaml ├── .packcheck.ignore ├── CHANGELOG.md ├── DOCTODO.md ├── Dockerfile ├── LICENSE ├── README.md ├── bin/ │ ├── dev │ ├── docgen │ └── release ├── cabal.project ├── client/ │ ├── declarations.d.ts │ ├── dist/ │ │ ├── action.d.ts │ │ ├── browser.d.ts │ │ ├── events.d.ts │ │ ├── http.d.ts │ │ ├── hyperbole.js │ │ ├── hyperview.d.ts │ │ ├── index.d.ts │ │ ├── lib.d.ts │ │ ├── message.d.ts │ │ ├── response.d.ts │ │ └── sockets.d.ts │ ├── package.json │ ├── src/ │ │ ├── action.ts │ │ ├── browser.ts │ │ ├── events.ts │ │ ├── http.ts │ │ ├── hyperview.ts │ │ ├── index.ts │ │ ├── lib.ts │ │ ├── message.ts │ │ ├── response.ts │ │ └── sockets.ts │ ├── tsconfig.json │ ├── util/ │ │ └── live-reload.js │ └── webpack.config.js ├── demo/ │ ├── .dockerignore │ ├── App/ │ │ ├── Cache.hs │ │ ├── Config.hs │ │ ├── Docs/ │ │ │ ├── Markdown.hs │ │ │ ├── Page.hs │ │ │ └── Snippet.hs │ │ ├── Docs.hs │ │ ├── Page/ │ │ │ ├── Application.hs │ │ │ ├── CSS.hs │ │ │ ├── Concurrency.hs │ │ │ ├── Examples.hs │ │ │ ├── Forms.hs │ │ │ ├── HyperboleEffect.hs │ │ │ ├── Hyperviews.hs │ │ │ ├── Interactivity.hs │ │ │ ├── Intro/ │ │ │ │ ├── Basics.hs │ │ │ │ └── Intro.hs │ │ │ ├── OAuth2.hs │ │ │ ├── SideEffects.hs │ │ │ ├── State.hs │ │ │ └── ViewFunctions.hs │ │ ├── Route.hs │ │ └── Style.hs │ ├── App.hs │ ├── Example/ │ │ ├── CSS/ │ │ │ ├── External.hs │ │ │ ├── Loading.hs │ │ │ ├── Tooltips.hs │ │ │ └── Transitions.hs │ │ ├── Chat.hs │ │ ├── Colors.hs │ │ ├── Concurrency/ │ │ │ ├── LazyLoading.hs │ │ │ ├── Overlap.hs │ │ │ ├── Polling.hs │ │ │ ├── Progress.hs │ │ │ └── Tasks.hs │ │ ├── Contact.hs │ │ ├── Contacts.hs │ │ ├── Counter.hs │ │ ├── Data/ │ │ │ └── ProgrammingLanguage.hs │ │ ├── DataLists/ │ │ │ ├── Autocomplete.hs │ │ │ ├── DataTable.hs │ │ │ ├── Filter.hs │ │ │ └── LoadMore.hs │ │ ├── Docs/ │ │ │ ├── App.hs │ │ │ ├── BasicPage.hs │ │ │ ├── CSS.hs │ │ │ ├── Client.hs │ │ │ ├── Component.hs │ │ │ ├── Encoding.hs │ │ │ ├── Interactive.hs │ │ │ ├── MultiPage.hs │ │ │ ├── MultiView.hs │ │ │ ├── Nested.hs │ │ │ ├── Nesting.hs │ │ │ ├── Page/ │ │ │ │ ├── Messages.hs │ │ │ │ └── Users.hs │ │ │ ├── Params.hs │ │ │ ├── QueryMessage.hs │ │ │ ├── Sessions.hs │ │ │ ├── SideEffects.hs │ │ │ ├── State.hs │ │ │ ├── UniqueViewId.hs │ │ │ └── ViewFunctions.hs │ │ ├── Document.hs │ │ ├── Effects/ │ │ │ ├── Debug.hs │ │ │ ├── Todos.hs │ │ │ └── Users.hs │ │ ├── Errors.hs │ │ ├── FormSimple.hs │ │ ├── FormValidation.hs │ │ ├── Interactivity/ │ │ │ ├── Events.hs │ │ │ └── Inputs.hs │ │ ├── Javascript.hs │ │ ├── Push.hs │ │ ├── Requests.hs │ │ ├── Scrollbars.hs │ │ ├── Simple.hs │ │ ├── State/ │ │ │ ├── Effects.hs │ │ │ ├── Query.hs │ │ │ ├── Sessions.hs │ │ │ ├── Stateless.hs │ │ │ └── ViewState.hs │ │ ├── Style/ │ │ │ └── Cyber.hs │ │ ├── Style.hs │ │ ├── Tags.hs │ │ ├── Test.hs │ │ ├── Todos/ │ │ │ ├── Todo.hs │ │ │ └── TodoCSS.hs │ │ ├── Trigger.hs │ │ └── View/ │ │ ├── Icon.hs │ │ ├── Inputs.hs │ │ ├── Layout.hs │ │ ├── Loader.hs │ │ ├── Menu.hs │ │ └── SortableTable.hs │ ├── Main.hs │ ├── README.md │ ├── demo.cabal │ ├── fourmolu.yaml │ ├── hie.yaml │ ├── package.yaml │ └── static/ │ ├── custom.js │ ├── cyber.css │ ├── docs.js │ ├── external.css │ ├── prism.css │ ├── prism.js │ ├── test.js │ └── todomvc.css ├── docs/ │ ├── Main.hs │ ├── app-document.md │ ├── app-effects.md │ ├── app-live.md │ ├── app-pages.md │ ├── app-routes.md │ ├── atomic.md │ ├── comparison.md │ ├── concurrency-overlap.md │ ├── dev.md │ ├── docgen.cabal │ ├── effectful.md │ ├── effects-custom.md │ ├── effects-other.md │ ├── forms-simple.md │ ├── forms-validated.md │ ├── hyperviews-intro.md │ ├── hyperviews-multi.md │ ├── hyperviews-nesting.md │ ├── hyperviews-unique.md │ ├── interactivity-events.md │ ├── interactivity-events2.md │ ├── interactivity-inputs.md │ ├── interactivity-javascript.md │ ├── interactivity-pushevent.md │ ├── intro-downsides.md │ ├── intro-links.md │ ├── intro.md │ ├── javascript_api.md │ ├── multi-same.md │ ├── nix.md │ ├── outline.md │ ├── package.yaml │ ├── pages.md │ ├── state-browser.md │ ├── state-effects.md │ ├── state-sessions.md │ ├── state-stateless.md │ ├── state-threading.md │ ├── state-viewstate.md │ ├── view-components.md │ ├── view-functions-end.md │ ├── view-functions-wrap.md │ └── view-functions.md ├── flake.nix ├── fourmolu.yaml ├── hie.yaml ├── hyperbole.cabal ├── package.yaml ├── src/ │ └── Web/ │ ├── Hyperbole/ │ │ ├── Application.hs │ │ ├── Data/ │ │ │ ├── Cookie.hs │ │ │ ├── Encoded.hs │ │ │ ├── JSON.hs │ │ │ ├── Param.hs │ │ │ ├── QueryData.hs │ │ │ └── URI.hs │ │ ├── Document.hs │ │ ├── Effect/ │ │ │ ├── Client.hs │ │ │ ├── GenRandom.hs │ │ │ ├── Hyperbole.hs │ │ │ ├── OAuth2.hs │ │ │ ├── Query.hs │ │ │ ├── Request.hs │ │ │ ├── Response.hs │ │ │ └── Session.hs │ │ ├── HyperView/ │ │ │ ├── Event.hs │ │ │ ├── Forms.hs │ │ │ ├── Handled.hs │ │ │ ├── Hyper.hs │ │ │ ├── Input.hs │ │ │ └── Types.hs │ │ ├── HyperView.hs │ │ ├── Page.hs │ │ ├── Route.hs │ │ ├── Server/ │ │ │ ├── Handler.hs │ │ │ ├── Message.hs │ │ │ ├── Options.hs │ │ │ ├── Socket.hs │ │ │ └── Wai.hs │ │ ├── TypeList.hs │ │ ├── Types/ │ │ │ ├── Client.hs │ │ │ ├── Event.hs │ │ │ ├── Request.hs │ │ │ └── Response.hs │ │ ├── View/ │ │ │ ├── CSS.hs │ │ │ ├── Embed.hs │ │ │ ├── Render.hs │ │ │ ├── Tag.hs │ │ │ ├── Types.hs │ │ │ ├── ViewAction.hs │ │ │ └── ViewId.hs │ │ └── View.hs │ └── Hyperbole.hs └── test/ ├── Spec.hs └── Test/ ├── EncodedSpec.hs ├── FormSpec.hs ├── ParamSpec.hs ├── QuerySpec.hs ├── RouteSpec.hs ├── SessionSpec.hs ├── URISpec.hs ├── ViewActionSpec.hs ├── ViewIdSpec.hs └── ViewSpec.hs