Feliz 3.1.0
See the version list below for details.
dotnet add package Feliz --version 3.1.0
NuGet\Install-Package Feliz -Version 3.1.0
<PackageReference Include="Feliz" Version="3.1.0" />
<PackageVersion Include="Feliz" Version="3.1.0" />
<PackageReference Include="Feliz" />
paket add Feliz --version 3.1.0
#r "nuget: Feliz, 3.1.0"
#:package Feliz@3.1.0
#addin nuget:?package=Feliz&version=3.1.0
#tool nuget:?package=Feliz&version=3.1.0
Feliz 
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
let root = ReactDOM.createRoot (document.getElementById "root")
root.render (Counter())
✨ Features
- Flexible API design: Combine the reliability of F# type safety with the flexibility to interop easily with native JavaScript.
- Discoverable attributes with no more functions,
Htmlattributes 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 objbut instead utilizing a plethora of overloaded functions to account for the overloaded nature ofCSSattributes, covering 90%+ of the CSS styles, values and properties. - Compatible with Femto.
- Approximately Zero bundle size increase where everything function body is erased from the generated JavaScript unless you actually use said function.
🚀 Quick Start
# install the template (if you haven't already)
dotnet new -i Feliz.Template
# create a new Feliz project from the installed template
dotnet new feliz -n MyProject
# navigate to the created project folder
cd MyProject
# install the npm dependencies
npm install
# install .NET tools
dotnet tool restore
# start the development server
npm start
📚 Documentation
Feliz has extensive documentation at https://fable-hub.github.io/Feliz/ with live examples alongside code samples, check them out and if you have any question, let us know!
⌚ Changelog
Each project in Feliz has its own changelog file in the src folder. Check them out for the latest changes!
Here is a direct link to the Feliz changelog.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Fable.Core (>= 4.5.0)
- Fable.React.Types (>= 18.4.0)
- Fable.ReactDom.Types (>= 18.2.0)
- Feliz.CompilerPlugins (>= 3.0.0)
NuGet packages (131)
Showing the top 5 NuGet packages that depend on Feliz:
| Package | Downloads |
|---|---|
|
Feliz.Router
A router component for React and Elmish that is focused, powerful and extremely easy to use. |
|
|
Feliz.UseElmish
useElmish hooks to build Elmish components as React components |
|
|
Feliz.Bulma
Package Description |
|
|
Feliz.UseListener
React hooks for easy event listener management. |
|
|
Feliz.UseDeferred
Hooks for dead-simple data fetching with Feliz |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.1.1 | 385 | 12/22/2025 |
| 3.1.0 | 432 | 12/15/2025 |
| 3.0.0 | 1,046 | 12/10/2025 |
| 3.0.0-rc.16 | 295 | 12/8/2025 |
| 3.0.0-rc.15 | 461 | 12/1/2025 |
| 3.0.0-rc.14 | 169 | 11/28/2025 |
| 3.0.0-rc.13 | 135 | 11/27/2025 |
| 3.0.0-rc.12 | 299 | 11/21/2025 |
| 3.0.0-rc.11 | 280 | 11/21/2025 |
| 3.0.0-rc.10 | 369 | 11/18/2025 |
| 3.0.0-rc.9 | 366 | 11/18/2025 |
| 3.0.0-rc.8 | 189 | 11/14/2025 |
| 3.0.0-rc.5 | 109 | 11/7/2025 |
| 3.0.0-rc.4 | 153 | 11/3/2025 |
| 3.0.0-rc.3 | 228 | 10/25/2025 |
| 3.0.0-rc.2 | 152 | 10/7/2025 |
| 3.0.0-rc.1 | 175 | 10/2/2025 |
| 2.9.0 | 60,649 | 10/26/2024 |
| 2.8.0 | 35,465 | 6/22/2024 |
| 2.8.0-beta.0 | 3,235 | 12/25/2023 |
| 2.7.0 | 43,259 | 10/8/2023 |
| 2.6.0 | 68,618 | 3/21/2023 |
| 2.5.0 | 666 | 3/18/2023 |
| 2.4.1 | 4,576 | 2/23/2023 |
| 2.4.0 | 16,152 | 1/14/2023 |
| 2.3.0 | 25,090 | 12/27/2022 |
| 2.2.0 | 505 | 12/27/2022 |
| 2.1.0 | 495 | 12/27/2022 |
| 2.0.1 | 613 | 12/25/2022 |
| 2.0.0 | 9,923 | 12/25/2022 |
| 2.0.0-prerelease-003 | 7,207 | 9/16/2022 |
| 2.0.0-prerelease-002 | 8,526 | 9/1/2022 |
| 2.0.0-prerelease-001 | 348 | 8/26/2022 |
| 1.68.0 | 53,110 | 8/17/2022 |
| 1.67.0 | 9,327 | 8/5/2022 |
| 1.66.0 | 2,126 | 8/3/2022 |
| 1.65.0 | 30,127 | 7/9/2022 |
| 1.64.0 | 18,359 | 5/9/2022 |
| 1.63.0 | 920 | 5/9/2022 |
| 1.62.0 | 27,916 | 4/19/2022 |
| 1.61.0 | 27,355 | 3/12/2022 |
| 1.60.0 | 1,454 | 3/5/2022 |
| 1.59.0 | 13,282 | 2/24/2022 |
| 1.58.1 | 7,308 | 2/10/2022 |
| 1.58.0 | 1,394 | 2/3/2022 |
| 1.57.0 | 27,496 | 11/29/2021 |
| 1.56.0 | 4,088 | 11/8/2021 |
| 1.55.0 | 12,372 | 11/5/2021 |
| 1.54.0 | 3,867 | 10/24/2021 |
| 1.53.0 | 3,871 | 10/2/2021 |
| 1.52.0 | 10,734 | 9/10/2021 |
| 1.51.0 | 9,042 | 8/17/2021 |
| 1.50.0 | 3,042 | 8/8/2021 |
| 1.49.0 | 20,257 | 7/7/2021 |
| 1.48.0 | 659 | 7/7/2021 |
| 1.47.0 | 22,291 | 6/13/2021 |
| 1.46.0 | 2,319 | 6/8/2021 |
| 1.45.0 | 10,810 | 5/13/2021 |
| 1.44.0 | 1,964 | 5/3/2021 |
| 1.43.0 | 6,586 | 4/16/2021 |
| 1.42.0 | 1,710 | 4/10/2021 |
| 1.41.0 | 1,047 | 4/8/2021 |
| 1.40.1 | 5,250 | 3/30/2021 |
| 1.40.0 | 2,634 | 3/24/2021 |
| 1.39.0 | 685 | 3/24/2021 |
| 1.38.0 | 1,552 | 3/17/2021 |
| 1.37.0 | 5,086 | 3/8/2021 |
| 1.36.0 | 739 | 3/6/2021 |
| 1.35.0 | 1,419 | 2/28/2021 |
| 1.34.0 | 1,931 | 2/21/2021 |
| 1.33.1 | 16,977 | 2/21/2021 |
| 1.33.0 | 3,625 | 2/4/2021 |
| 1.32.0 | 18,626 | 12/27/2020 |
| 1.31.1 | 1,528 | 12/22/2020 |
| 1.31.0 | 1,046 | 12/22/2020 |
| 1.30.0 | 799 | 12/22/2020 |
| 1.29.0 | 2,290 | 12/15/2020 |
| 1.28.0 | 24,180 | 12/15/2020 |
| 1.27.0 | 843 | 12/13/2020 |
| 1.25.0 | 913 | 12/12/2020 |
| 1.24.0 | 1,322 | 12/10/2020 |
| 1.23.0 | 703 | 12/10/2020 |
| 1.22.1 | 743 | 12/10/2020 |
| 1.22.0 | 6,339 | 12/2/2020 |
| 1.21.0 | 908 | 12/2/2020 |
| 1.20.0 | 1,246 | 11/27/2020 |
| 1.19.0 | 692 | 11/26/2020 |
| 1.18.0 | 1,317 | 11/26/2020 |
| 1.17.0 | 12,865 | 11/15/2020 |
| 1.16.2 | 3,424 | 11/1/2020 |
| 1.16.1 | 827 | 10/30/2020 |
| 1.16.0 | 6,230 | 10/23/2020 |
| 1.15.0 | 1,181 | 10/23/2020 |
| 1.14.1 | 4,998 | 10/19/2020 |
| 1.14.0 | 4,867 | 9/19/2020 |
| 1.13.2 | 1,864 | 9/16/2020 |
| 1.13.1 | 14,025 | 9/1/2020 |
| 1.13.0 | 4,879 | 8/16/2020 |
| 1.12.1 | 1,495 | 8/10/2020 |
| 1.12.0 | 1,334 | 8/9/2020 |
| 1.11.0 | 2,584 | 8/8/2020 |
| 1.10.1 | 1,516 | 7/30/2020 |
| 1.10.0 | 797 | 7/29/2020 |
| 1.9.0 | 773 | 7/29/2020 |
| 1.8.0 | 831 | 7/29/2020 |
| 1.7.0 | 2,795 | 7/16/2020 |
| 1.6.0 | 9,724 | 7/3/2020 |
| 1.5.0 | 14,195 | 6/24/2020 |
| 1.4.0 | 833 | 6/24/2020 |
| 1.3.0 | 18,685 | 6/7/2020 |
| 1.2.0 | 4,488 | 6/4/2020 |
| 1.1.1 | 11,245 | 5/24/2020 |
| 1.1.0 | 5,500 | 5/21/2020 |
| 1.0.0 | 3,735 | 5/16/2020 |
| 0.86.0 | 4,745 | 5/9/2020 |
| 0.85.0 | 2,249 | 5/7/2020 |
| 0.84.0 | 938 | 5/4/2020 |
| 0.83.0 | 3,529 | 5/4/2020 |
| 0.82.0 | 858 | 5/3/2020 |
| 0.81.0 | 1,329 | 4/30/2020 |
| 0.80.0 | 876 | 4/28/2020 |
| 0.79.0 | 781 | 4/28/2020 |
| 0.78.0 | 1,764 | 4/27/2020 |
| 0.77.0 | 768 | 4/26/2020 |
| 0.76.0 | 1,706 | 4/26/2020 |
| 0.75.0 | 3,745 | 4/22/2020 |
| 0.74.2 | 5,962 | 4/20/2020 |
| 0.74.1 | 4,674 | 4/12/2020 |
| 0.74.0 | 6,722 | 3/29/2020 |
| 0.73.0 | 1,932 | 3/26/2020 |
| 0.72.0 | 6,227 | 3/22/2020 |
| 0.71.0 | 1,825 | 3/20/2020 |
| 0.70.0 | 2,719 | 3/17/2020 |
| 0.69.0 | 2,055 | 3/12/2020 |
| 0.68.10 | 6,747 | 12/10/2019 |
| 0.68.9 | 4,321 | 12/5/2019 |
| 0.68.8 | 1,773 | 12/5/2019 |
| 0.68.7 | 2,700 | 12/4/2019 |
| 0.68.6 | 1,749 | 12/1/2019 |
| 0.68.5 | 1,750 | 11/29/2019 |
| 0.68.3 | 4,329 | 11/27/2019 |
| 0.68.2 | 8,170 | 11/18/2019 |
| 0.68.1 | 1,702 | 11/18/2019 |
| 0.68.0 | 4,544 | 11/14/2019 |
| 0.67.2 | 2,619 | 11/13/2019 |
| 0.67.1 | 1,820 | 11/4/2019 |
| 0.67.0 | 2,072 | 11/4/2019 |
| 0.66.5 | 1,701 | 11/3/2019 |
| 0.66.4 | 1,464 | 11/3/2019 |
| 0.66.3 | 1,642 | 11/1/2019 |
| 0.66.2 | 1,535 | 11/1/2019 |
| 0.66.1 | 2,696 | 10/31/2019 |
| 0.66.0 | 1,834 | 10/30/2019 |
| 0.65.5 | 1,582 | 10/29/2019 |
| 0.65.4 | 1,613 | 10/28/2019 |
| 0.65.3 | 1,553 | 10/28/2019 |
| 0.65.2 | 1,361 | 10/27/2019 |
| 0.65.1 | 1,306 | 10/27/2019 |
| 0.65.0 | 1,684 | 10/27/2019 |
| 0.64.0 | 1,356 | 10/27/2019 |
| 0.63.0 | 1,790 | 10/22/2019 |
| 0.62.0 | 1,172 | 10/21/2019 |
| 0.61.0 | 1,136 | 10/21/2019 |
| 0.60.0 | 843 | 10/20/2019 |
| 0.59.0 | 1,368 | 10/20/2019 |
| 0.58.0 | 2,676 | 10/14/2019 |
| 0.57.2 | 1,400 | 10/12/2019 |
| 0.57.1 | 1,191 | 10/10/2019 |
| 0.57.0 | 1,875 | 10/8/2019 |
| 0.56.0 | 1,593 | 10/6/2019 |
| 0.55.0 | 842 | 10/6/2019 |
| 0.54.0 | 1,042 | 10/6/2019 |
| 0.53.0 | 1,342 | 10/5/2019 |
| 0.52.0 | 1,110 | 9/14/2019 |
| 0.51.0 | 832 | 9/14/2019 |
| 0.50.0 | 833 | 9/10/2019 |
| 0.49.0 | 876 | 9/9/2019 |
| 0.48.0 | 848 | 9/9/2019 |
| 0.47.0 | 1,232 | 8/31/2019 |
| 0.46.0 | 1,329 | 8/28/2019 |
| 0.45.0 | 840 | 8/28/2019 |
| 0.44.0 | 829 | 8/27/2019 |
| 0.42.0 | 882 | 8/26/2019 |
| 0.41.0 | 881 | 8/19/2019 |
| 0.40.0 | 1,470 | 8/13/2019 |
| 0.39.0 | 871 | 8/13/2019 |
| 0.38.0 | 897 | 8/5/2019 |
| 0.37.0 | 883 | 8/5/2019 |
| 0.36.0 | 916 | 7/31/2019 |
| 0.35.0 | 937 | 7/29/2019 |
| 0.34.0 | 892 | 7/28/2019 |
| 0.33.0 | 864 | 7/28/2019 |
| 0.32.0 | 889 | 7/28/2019 |
| 0.31.0 | 867 | 7/28/2019 |
| 0.30.0 | 882 | 7/27/2019 |
| 0.29.0 | 830 | 7/26/2019 |
| 0.28.0 | 850 | 7/26/2019 |
| 0.27.0 | 859 | 7/26/2019 |
| 0.26.0 | 838 | 7/26/2019 |
| 0.25.0 | 869 | 7/26/2019 |
| 0.24.0 | 825 | 7/25/2019 |
| 0.23.0 | 889 | 7/25/2019 |
| 0.22.0 | 854 | 7/25/2019 |
| 0.20.0 | 837 | 7/25/2019 |
| 0.19.0 | 859 | 7/25/2019 |
| 0.18.0 | 861 | 7/24/2019 |
| 0.17.0 | 855 | 7/24/2019 |
| 0.16.0 | 881 | 7/23/2019 |
| 0.15.0 | 837 | 7/22/2019 |
| 0.14.0 | 864 | 7/22/2019 |
| 0.13.0 | 853 | 7/22/2019 |
| 0.12.0 | 880 | 7/22/2019 |
| 0.11.0 | 803 | 7/22/2019 |
| 0.10.1 | 840 | 7/22/2019 |
| 0.10.0 | 883 | 7/22/2019 |
| 0.9.0 | 848 | 7/22/2019 |
| 0.8.0 | 854 | 7/22/2019 |
| 0.7.0 | 863 | 7/22/2019 |
| 0.6.0 | 891 | 7/22/2019 |
| 0.5.0 | 848 | 7/21/2019 |
| 0.4.0 | 822 | 7/21/2019 |
| 0.3.0 | 817 | 7/21/2019 |
| 0.2.0 | 854 | 7/21/2019 |
| 0.1.0 | 1,112 | 7/21/2019 |
### ✨ Added
- Added `useSyncExternalStore` hook support (by @mjblacker)
### 🐛 Fixed
- Fix `spellCheck` html prop naming convention from lowercase to camelCase, causing React warning "Invalid DOM property" (by @mjblacker)