-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] MUI v5 update #87
Open
ArtemyB
wants to merge
61
commits into
Shmew:master
Choose a base branch
from
ArtemyB:mui-v5
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Fixed the tool to account for the new bugs in the docs - Ran the generator over the newer docs - Updated the links to account for the legacy status
Update to Mui v4.12
…S v17+, updated NuGet-packages and dotnet-tools, small fix of build.fsx to get rid of compile-time errors.
…rors in generated code). Includes bindings for MUI-Core/Material-UI and MUI-X/Date-Pickers. Docs-app runs with new MUI v5, but lacks proper theming - theming API bindings needs fixing. Details: - Updated docs HTML's cache - directory structure changed according to new MUI docs structure. - Changes in all projects except Feliz.Generator. - Fixed Docs project to make it run with new MUI v5 bindings, Webpack 5, pnpm and Fable 3 dotnet tool. - For docs project: updated Webpack to v5. - Updated packages (NuGet and NPM). - Changed .editorconfig to indent size 4 and added some configs for Fantomas. - Reformatted most of the code (to indent size of 4) - except Feliz.Generator project and Feliz.MaterialUI's auto-generated code.
… MUI v5). [Docs App]: Packages moved to separate Paket group, updated FSharp.Core to 6.0.5, updated Elmish to 4.0.0-beta3. + Some minor fixes.
…lz.MaterialUI.Icons project. Removed package.json.lock - replaced by pnpm-lock.yaml.
…d.fsx" script. Actualized build pipeline in it (build.fsx was not updated and may not work properly).
…s done via FParsec recursively, being translated into intermediate AST (TsType DU). Then this AST is translated into PropOverload (Regular or Enum), used by Feliz.Generator. For now this translation is used only for "componentProps" prop as a replacement for a naive, non-recursive core-lib-based approach, that doesn't handle complex type signatures.
…ode" case in the AST for it.
… be some redundant special case handlings, however generated bindings has no compile-time errors and the Docs App is still working properly. - Added handling of more doc type signature cases: "HTML element", "element type", bool and int literal. - Fixed root doc type parser application order. - Moved doc type signature literal cases to a separate DU in AST.
- Added missing NPM-packages (date-fns, @mui/x-date-pickers, @mui/system). - MUI X DatePickers moved to the separate projects: Feliz.MuiX.DatePickers and Feliz.MuiX.DatePickersPro. - FIxed some API translation cases (mostly for DatePickers). Updated DocsApp a little bit, e.g. added a simple example of DateTimePicker usage. - Some refactorings (including the ones needed for a separate DatePickers API translation).
Now 2 kinds of files are generated: "ClassNames.fs" with component global classes names (MuiClasses module) and "ClassesProps.fs" for compnent "classes" prop (as in MUI v4).
…ed package-projects to include versions, slightly actualized ReadMe-files, added new Release-Notes entry.
- Grid's "container" and "item" props special handling as property instead of method (returns "true" value of the prop). - "Unstable_Grid2" component added (without props -- Grid component props can be used). - Added special case for "number"-props: `int` and `float` overloads are generated.
… generated via ts2fable with small fixes to make them compile)
…-object and callback with OwnerState are expected for the component slot, the F# api will take only seq<IReactProperty> (further transformed into object).
…d to ReactElementType). Put into "MuiComponents" type.
…e repo URL updates).
…ponent binding. Removed StylesProvider component (for being obsolete in MUI 5).
…finition to address recent FCS updates that makes the old definition incompilable (e.g. by Fable v4.0.0-theta-018).
…oat` parameters.
Some notes:
|
- Update MUI to v5.11.9 (latest stable), MUI Lab to 5.0.0-alpha.120, MUI X Date-Pickers to 5.0.18; and regenerate bindings. - Adjust ApiParser to handle new `slotProps` prop (future replacement for `componentsProps`). - Bump Feliz.MaterialUI to v5.11.0-beta.0, Feliz.MuiX.DatePickers and Feliz.MuiX.DatePickersPro to v5.0.0-beta.0 - Docs-App: update Fable to 4.0.0-theta-018 and add/update some NuGet packages (Feliz.CompilerPlugins, Fable.Core, Feliz.UseElmish, Feliz.Router).
- Update dependencies to reflect Feliz 2+ and Fable.React 9+ requirements. - Bump versions to: Feliz.MaterialUI 5.11.0-beta.1, Feliz.MaterialUI.Icons 5.10.0-beta.1, Feliz.MuiX.DatePickers 5.0.0-beta.1, Feliz.MuiX.DatePickersPro 5.0.0-beta.1. - Update `react` NPM-package to v18, add `usy-sync-external-store` NPM-package (required by `Feliz.UseElmish v2+`). - Docs-App: make proper fixes to make the app work with Feliz 2+ and Fable.React 9+.
…logger version mismatch error
Updated to |
- Bump `Feiz.MaterialUI` to v5.11.0-beta.3. - Update Release Notes. closes #5
- Add `circularProgress`'s `size` and `skeleton`'s `height` and `weight` prop overloads accepting `string` value.
… FCS bug Resolves (as a workaround) the following Fable issue: fable-compiler/Fable#3752 The solution is to make all the big modules (with a lot of bindings) recursive (i.e., mark them with `rec` modifier). The workaround is taken from the originating F# issue: dotnet/fsharp#17415 Update Fable .NET tool version to `4.19.3`. Bump package versions: - Feliz.MaterialUI to v5.11.0-beta.4 - Feliz.MaterialUI.Icons to v5.10.0-beta.3 - Feliz.MuiX.DatePickers to v5.0.0-beta.3 - Feliz.MuiX.DatePickersPro to v5.0.0-beta.3 closes #7
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issues covered: #84 and #85.
Took @Linschlager's mui-v5 branch as a starting point and finally got a more or less complete MUI v5 bindings - at least the docs-app is already working (there is a published version here). Except that I've started using this new version in some of my personal projects. For now all works fine, but as bugs will arise, I'll be making proper fixes.
Lots of components have not been tested/used completely yet, that's why it's WIP and the version marked as alpha. One of the major changes -- there are separate packages for MUI X DatePickers (both community and pro) and Material Icons. At the moment I've published NuGet-packages only to my GitHub feed - see my fork of the repo.