All Projects → Zaid-Ajaj → Feliz

Zaid-Ajaj / Feliz

Licence: mit
A fresh retake of the React API in Fable and a collection of high-quality components to build React applications in F#, optimized for happiness

Programming Languages

dsl
153 projects
fsharp
127 projects

Projects that are alternatives of or similar to Feliz

SAFE.Simplified
A lightweight alternative template of SAFE for happy cross-IDE full-stack F# development
Stars: ✭ 97 (-64.47%)
Mutual labels:  fable, type-safe
Fable.remoting
Type-safe communication layer (RPC-style) for F# featuring Fable and .NET Apps
Stars: ✭ 175 (-35.9%)
Mutual labels:  type-safe, fable
FireSnapshot
A useful Firebase-Cloud-Firestore Wrapper with Codable.
Stars: ✭ 56 (-79.49%)
Mutual labels:  type-safe
FableStarter
An Elmish F# Fable template that uses Tailwind for styling and the Parcel bundler
Stars: ✭ 13 (-95.24%)
Mutual labels:  fable
fable-electron
Fable bindings for Electron apps
Stars: ✭ 30 (-89.01%)
Mutual labels:  fable
Feliz.ViewEngine
Feliz DSL and engine for HTML generation and server side rendering (SSR)
Stars: ✭ 53 (-80.59%)
Mutual labels:  fable
envy
envy: Deserialize environment variables into type-safe structs
Stars: ✭ 64 (-76.56%)
Mutual labels:  type-safe
remote memory
A simple library which provides a way to read and write the memory of other processes
Stars: ✭ 40 (-85.35%)
Mutual labels:  type-safe
Fable.Jester
Fable bindings for jest and friends for delightful Fable testing.
Stars: ✭ 28 (-89.74%)
Mutual labels:  fable
Feliz.Recoil
Fable bindings in Feliz style for Facebook's experimental state management library recoil.
Stars: ✭ 43 (-84.25%)
Mutual labels:  fable
Feliz.Bulma
Bulma UI (https://bulma.io) wrapper for amazing Feliz DSL
Stars: ✭ 57 (-79.12%)
Mutual labels:  fable
Fable.Lit
Write Fable Elmish apps with Lit
Stars: ✭ 64 (-76.56%)
Mutual labels:  fable
navigation-bar-with-feliz
Modern navigation bar built with Feliz
Stars: ✭ 20 (-92.67%)
Mutual labels:  fable
Feliz.MaterialUI.MaterialTable
Fable bindings written in the Feliz-style for material-table.
Stars: ✭ 17 (-93.77%)
Mutual labels:  fable
Fable.Extras
A more functional construct on-top of Fable.Core.
Stars: ✭ 42 (-84.62%)
Mutual labels:  fable
ts-json-validator
JSON Validator for TypeScript - Safer JSON.parse() validating by TypeScript types
Stars: ✭ 23 (-91.58%)
Mutual labels:  type-safe
Caterpillar
🐛 Caterpillar: Type-safe date formats in Swift, no more "yyyy-MM-dd'T'HH:mm:ssZ"
Stars: ✭ 49 (-82.05%)
Mutual labels:  type-safe
Thoth.Fetch
Thoth.Fetch provides an easy to use API for working with Fable.Fetch and Thoth.Json
Stars: ✭ 31 (-88.64%)
Mutual labels:  fable
Fable.SemanticUI
React.SeamanticUI to Fable bindings
Stars: ✭ 15 (-94.51%)
Mutual labels:  fable
chain
Extensible, Type Safe Error Handling in Haskell
Stars: ✭ 13 (-95.24%)
Mutual labels:  type-safe

Feliz Nuget Build status

A fresh retake of the React API in Fable, optimized for happiness.

Here is how it looks like:

module App

open Feliz

[<ReactComponent>]
let Counter() =
    let (count, setCount) = React.useState(0)
    Html.div [
        Html.button [
            prop.style [ style.marginRight 5 ]
            prop.onClick (fun _ -> setCount(count + 1))
            prop.text "Increment"
        ]

        Html.button [
            prop.style [ style.marginLeft 5 ]
            prop.onClick (fun _ -> setCount(count - 1))
            prop.text "Decrement"
        ]

        Html.h1 count
    ]

open Browser.Dom

ReactDOM.render(Counter(), document.getElementById "root")

Features

  • Consistent, lightweight formatting: no more awkward indentation using two lists for every element.
  • Discoverable attributes with no more functions, Html attributes or css properties globally available so they are easy to find.
  • Proper documentation: each attribute and CSS property
  • Full React API support: Feliz aims to support the React API for building components using hooks, context and more.
  • Fully Type-safe: no more Margin of obj but instead utilizing a plethora of overloaded functions to account for the overloaded nature of CSS attributes, covering 90%+ of the CSS styles, values and properties.
  • Included color list of most commonly used Html colors in the colors module.
  • Compatible with the current React DSL used in applications.
  • Compatible with Femto.
  • Approximately Zero bundle size increase where everything function body is erased from the generated javascript unless you actually use said function.

Documentation

Documentation on the improvements implemented in Feliz with respect to Fable 3 are currently WIP! Please hold tight until we update it and publish a migration guide.

Feliz has extensive documentation at https://zaid-ajaj.github.io/Feliz with live examples along side code samples, check them out and if you have any question, let us know!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].