Need help with Feliz?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

Zaid-Ajaj
308 Stars 47 Forks MIT License 694 Commits 18 Opened issues

Description

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

Services available

!
?

Need anything else?

Contributors list

# 116,338
React
F#
fable
type-sa...
302 commits
# 260,395
React
F#
fable
f-sharp
113 commits
# 145,000
F#
WPF
elm-arc...
React
12 commits
# 475,547
React
F#
Shell
HTML
9 commits
# 509,129
F#
dojo
React
fable
7 commits
# 40,989
F#
React N...
fable
elm
6 commits
# 447,243
React
Shell
fable
opencl
6 commits
# 18,315
F#
fable
React
jQuery
5 commits
# 249,475
React
F#
Shell
type-sa...
4 commits
# 257,236
React
F#
XML
eventst...
3 commits
# 398,807
React
F#
Shell
fable
3 commits
# 114,368
Emacs
F#
emacs-m...
React
3 commits
# 639,455
React
F#
Shell
fable
2 commits
# 564,399
React
F#
Shell
CSS
2 commits
# 461,662
React
F#
Shell
HTML
2 commits
# 213,261
React
F#
fable
Visual ...
2 commits
# 280,091
C#
F#
Shell
React
2 commits
# 396,875
F#
mvc-fra...
mvc-arc...
server-...
2 commits
# 501,704
Less
HTML
month-p...
React
2 commits
# 17,673
F#
dotnet-...
aurelia
serverl...
1 commit

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

[] 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!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.