From ef24b99008d4d039ea5a9ab6866617929bf973ed Mon Sep 17 00:00:00 2001 From: Tim Forkmann Date: Tue, 16 Dec 2025 10:16:48 -0500 Subject: [PATCH] Update to Feliz 3.0 compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace Interop.reactApi.createElement with ReactLegacy.createElement - Change component imports from obj to ReactElement type This fixes compatibility with Feliz 3.0 which removed the ReactApi module. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/Feliz.GridLayout/GridLayout.fs | 4 ++-- src/Feliz.GridLayout/Interop.fs | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Feliz.GridLayout/GridLayout.fs b/src/Feliz.GridLayout/GridLayout.fs index bda1f60..e0357f3 100644 --- a/src/Feliz.GridLayout/GridLayout.fs +++ b/src/Feliz.GridLayout/GridLayout.fs @@ -35,7 +35,7 @@ type GridLayout = /// Creates a new ReactGridLayout component. static member inline gridChart(props: IGridLayoutProp seq) = - Interop.reactApi.createElement (Interop.gridLayout, createObj !!props) + ReactLegacy.createElement (Interop.gridLayout, createObj !!props) static member inline layoutElements(layoutElements: 'a array) : IGridLayoutProp = !!("layout" ==> layoutElements) static member inline layout props : ILayoutProp = !!(createObj !!props) @@ -94,7 +94,7 @@ type ResponsiveGridLayout = /// Creates a new ReactGridLayout component. static member inline responsiveGridChart(props: IResponsiveGridLayoutProp seq) = - Interop.reactApi.createElement (Interop.responsiveGridLayout, createObj !!props) + ReactLegacy.createElement (Interop.responsiveGridLayout, createObj !!props) static member inline layout props : ILayoutProp = !!(createObj !!props) diff --git a/src/Feliz.GridLayout/Interop.fs b/src/Feliz.GridLayout/Interop.fs index 144b978..50640f6 100644 --- a/src/Feliz.GridLayout/Interop.fs +++ b/src/Feliz.GridLayout/Interop.fs @@ -13,9 +13,9 @@ module Interop = let inline mkBreakPointProp (key: string) (value: obj) : IBreakPointProp = unbox (key, value) let inline mkLayoutsProp (key: string) (value: obj) : ILayoutsProp = unbox (key, value) - let gridLayout : obj = importDefault "react-grid-layout" - let gridItem : obj = importDefault "react-grid-layout" - let layout : obj = importDefault "react-grid-layout" - let responsive : obj = import "Responsive" "react-grid-layout" - let widthProvider : obj -> obj = import "WidthProvider" "react-grid-layout" + let gridLayout : Feliz.ReactElement = importDefault "react-grid-layout" + let gridItem : Feliz.ReactElement = importDefault "react-grid-layout" + let layout : Feliz.ReactElement = importDefault "react-grid-layout" + let responsive : Feliz.ReactElement = import "Responsive" "react-grid-layout" + let widthProvider : Feliz.ReactElement -> Feliz.ReactElement = import "WidthProvider" "react-grid-layout" let responsiveGridLayout = widthProvider responsive \ No newline at end of file