Code Monkey home page Code Monkey logo

purescript-dom-indexed's Introduction

Halogen

Latest release CI

Halogen is a type-safe library for building user interfaces in PureScript.

  • Declarative Write simple views for each state in your application, and Halogen will efficiently and intelligently update the right components and re-render your user interface.
  • Component Architecture Write encapsulated components which manage their own state, and compose them together to build complex user interfaces. Or, use a single component to implement an Elm-like architecture.
  • Entirely PureScript Halogen and its virtual DOM implementation are written in PureScript. Halogen's performance and bundle sizes are roughly equivalent to popular JavaScript UI libraries like React and Angular.

Read the documentation to learn how to use Halogen in your own projects.

Installation

Install Halogen with Spago:

spago install halogen

Or create a new Halogen app from a template.

Documentation

You can find the Halogen documentation on the documentation site or in the docs folder. Documentation is divided into several categories:

We also recommend these community resources for learning how to use Halogen in your applications:

There are several ways to get help if you get stuck using Halogen:

Examples

This repository contains several self-contained examples, ranging from a basic button to controlling external components.

You may also want to review the Real World Halogen example application, which demonstrates routing, state management, authentication, making requests, and other real world examples with commented explanations.

Contributing

The main purpose of this repository is to continue evolving Halogen, making it faster and easier to use. Halogen is developed in the open on GitHub and we're grateful for community-contributed bugfixes and improvements.

You can take part in improving Halogen by opening or participating in issues, opening pull requests to add new features, documentation, or tests, and by helping other Halogen users on Discord and Discourse.

License & Credits

Halogen is licensed under the Apache License 2.0. The Halogen logo was designed by Matthew Park.

purescript-dom-indexed's People

Contributors

cryogenian avatar garyb avatar gbagan avatar joe-op avatar monamayrhofer avatar natefaubion avatar rnons avatar themoritz avatar thomashoneyman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

purescript-dom-indexed's Issues

onBeforeInput event

There does not seem to be any mention of the beforeinput event within this package.

Is there a reason for this?

And if no, where would that event find it's place? From a quick look over this package it seems like GlobalEvents would be a good candidate - because then it's colocated with onInput, however i am not sure of all the implications of putting it there...

type GlobalEvents r =
( onContextMenu :: Event
, onInput :: Event
| r
)

Thanks a lot!

Split HTMLInput

https://pursuit.purescript.org/packages/purescript-dom-indexed/10.0.0/docs/DOM.HTML.Indexed#t:HTMLinput

Rather than having one input type which takes this type to set it's type https://pursuit.purescript.org/packages/purescript-dom-indexed/12.0.0/docs/DOM.HTML.Indexed.InputType#t:InputType

It would be better to have a dedicated type for each html input. So instead of HTMLInput + InputButton you get HTMLInputButton. I suggest this because right now it's possible to make combinations that are not valid. Thus we have types that are not correct by construction.

Example of invalid combination. HTMLInput has attribute onSearch https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/search_event This attribute is only valid when html input is of type search. At the moment the onSearch event is allowed by any input type.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.