Semantic-UI-React icon indicating copy to clipboard operation
Semantic-UI-React copied to clipboard

chore: Semantic UI React v3

Open layershifter opened this issue 4 years ago β€’ 19 comments
trafficstars

This PR tracks work Semantic UI React v3 πŸŽ‰ This PR should not be merged.


  • [ ] use React.forwardRef() in all components
    • [x] Form
    • [x] FormButton
    • [x] FormCheckbox
    • [ ] FormDropdown
    • [x] FormGroup
    • [ ] FormInput
    • [ ] FormRadio
    • [ ] FormSelect
    • [ ] FormTextArea
    • [ ] Select
  • [x] BREAKING CHANGE remove Ref component #4286
  • [x] BREAKING CHANGE remove Visibility component #4257
  • [x] BREAKING CHANGE Input, Button & TextArea are forwarding refs to native elements
  • [ ] BREAKING CHANGE Transition static props
  • [ ] BREAKING CHANGE Event handling: remove eventStack
  • [ ] remove .displayName in production
  • [ ] update contributing guide
  • [ ] update introduction to remove AutoControlledComponent mentions
  • [ ] rename classname generators
  • [ ] validateTrigger should handle forwardRef
  • [ ] verify eventStack.sub() calls
  • [ ] enable ESLint plugin for rules of hooks

layershifter avatar Jul 23 '21 12:07 layershifter

size-limit report

Path Size
bundle-size/dist/Button.size.js 54.04 KB (-8.79% πŸ”½)
bundle-size/dist/Icon.size.js 27.35 KB (+7.85% πŸ”Ί)
bundle-size/dist/Image.size.js 49.6 KB (-8.74% πŸ”½)
bundle-size/dist/Modal.size.js 62.6 KB (-10.12% πŸ”½)
bundle-size/dist/Portal.size.js 37.17 KB (-9.29% πŸ”½)

github-actions[bot] avatar Jul 23 '21 12:07 github-actions[bot]

Codecov Report

Base: 99.75% // Head: 99.51% // Decreases project coverage by -0.23% :warning:

Coverage data is based on head (88974b5) compared to base (80c4d82). Patch coverage: 99.05% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4233      +/-   ##
==========================================
- Coverage   99.75%   99.51%   -0.24%     
==========================================
  Files         180      186       +6     
  Lines        3248     3511     +263     
==========================================
+ Hits         3240     3494     +254     
- Misses          8       17       +9     
Impacted Files Coverage Ξ”
src/lib/hooks/useClassNamesOnNode.js 100.00% <ΓΈ> (ΓΈ)
src/modules/Popup/lib/createReferenceProxy.js 57.14% <ΓΈ> (ΓΈ)
src/modules/Search/SearchCategoryLayout.js 100.00% <ΓΈ> (ΓΈ)
src/lib/hooks/useEventCallback.js 75.00% <75.00%> (ΓΈ)
src/modules/Dimmer/Dimmer.js 90.47% <88.23%> (-9.53%) :arrow_down:
src/lib/hooks/useAutoControlledValue.js 91.66% <91.66%> (ΓΈ)
src/modules/Sticky/Sticky.js 94.64% <94.54%> (-4.44%) :arrow_down:
src/modules/Modal/Modal.js 98.83% <98.52%> (-1.17%) :arrow_down:
src/modules/Popup/Popup.js 98.94% <98.80%> (+0.01%) :arrow_up:
src/addons/Confirm/Confirm.js 100.00% <100.00%> (ΓΈ)
... and 165 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

codecov-commenter avatar Jul 23 '21 12:07 codecov-commenter

@layershifter this is a lot of work. Pretty exciting to see... I was not sure if this was even going to be possible to get done with everyone spending most of their time on day jobs.

Does this PR also resolve the warnings that come from React.StrictMode? If not, I wonder if we should consider looking at those in a different ticket that could be worked on after this comes in.

brianespinosa avatar Aug 06 '21 15:08 brianespinosa

Does this PR also resolve the warnings that come from React.StrictMode?

Yes, it should solve them all πŸ˜‹

layershifter avatar Aug 06 '21 15:08 layershifter

It surely looks like a lot of effort is paid by the authors to have the current update in this PR :) well done!

I'm excited about the possibility to see findDOMNode warnings gone with React.StrictMode, too! Do you think v3 is out by the end of 2021?

emutanen avatar Aug 13 '21 08:08 emutanen

Do you think v3 is out by the end of 2021?

The plan is to release it till end of August/September πŸ˜‹

layershifter avatar Aug 13 '21 10:08 layershifter

Do you think v3 is out by the end of 2021?

The plan is to release it till end of August/September πŸ˜‹

Any updates on estimated release?

orjanb-ne avatar Nov 03 '21 13:11 orjanb-ne

Do you think v3 is out by the end of 2021?

The plan is to release it till end of August/September πŸ˜‹

Any updates on estimated release?

I am a bit curious about the status as well? As totally new to React, this was by looks and features the absolutely most appealing UI framework I could find. Really love how easy it is to work with in React, great work done so far!

So I am really hoping this project hasn't halted development or is in the process of slowly dying. Would be a waste both great potential and all the good work committed so far :-)

sunech avatar Nov 14 '21 17:11 sunech

Do you think v3 is out by the end of 2021?

The plan is to release it till end of August/September πŸ˜‹

Any updates on estimated release?

I am a bit curious about the status as well? As totally new to React, this was by looks and features the absolutely most appealing UI framework I could find. Really love how easy it is to work with in React, great work done so far!

So I am really hoping this project hasn't halted development or is in the process of slowly dying. Would be a waste both great potential and all the good work committed so far :-)

Seems we are a lot on hold on this.

@layershifter : looking at your github activity, you seems focused on fluent-ui. DO you think you'll have time soon back for semantic-ui ?

elee-mathieu-plasse avatar Nov 26 '21 15:11 elee-mathieu-plasse

@layershifter : looking at your github activity, you seems focused on fluent-ui. DO you think you'll have time soon back for semantic-ui ?

The difference is that Fluent UI is my paid job while SUIR is my passion. It's hard to find balance especially during work from home time.

This PR requires around a week of full time work to get it finished and released. I don't want to give broken promises (I as previous estimate failed 😬), but I will try to allocate some time in December. Honestly, I want to get this released ASAP, but we can't go with partially working things.

layershifter avatar Nov 26 '21 17:11 layershifter

@layershifter : looking at your github activity, you seems focused on fluent-ui. DO you think you'll have time soon back for semantic-ui ?

The difference is that Fluent UI is my paid job while SUIR is my passion. It's hard to find balance especially during work from home time.

This PR requires around a week of full time work to get it finished and released. I don't want to give broken promises (I as previous estimate failed 😬), but I will try to allocate some time in December. Honestly, I want to get this released ASAP, but we can't go with partially working things.

Thanks for those info, didn't know there is still that much work ! You do a good work on this, thanks for it.

elee-mathieu-plasse avatar Nov 29 '21 11:11 elee-mathieu-plasse

@layershifter Is there any way to help out with this? I know too well how trying to release bigger changes to hobby projects tends to be overwhelming, and never takes the amount of time you think it will...

piksel avatar Dec 28 '21 09:12 piksel

@layershifter Is there any way to help out with this? I know too well how trying to release bigger changes to hobby projects tends to be overwhelming, and never takes the amount of time you think it will...

@piksel unfortunately I don't think so, as remaining components are hardest ones πŸ™„


Current update, for this week I to solve few more issues in 2.x, you can notice work happening in master. On next week I plan to rebase this PR and continue with it.

The really bad thing is that it cannot be chunked into smaller pieces as all components should be updated for v3 πŸ˜₯

layershifter avatar Jan 19 '22 14:01 layershifter

Minor update: hard components like Dropdown & Search are done. The next step is to finish all remaining and publish beta.

layershifter avatar Feb 18 '22 14:02 layershifter

@layershifter is this something you're interested in getting help with?

I'm a Semantic UI React user w/ a big interest in seeing a V3 :grinning:

bolivier avatar Apr 19 '22 15:04 bolivier

Sincerely caring about the future of SUIR, I think it is crucial to get some traction on v3.

I cannot contribute with code unfortunately, but if we can donate or in any other way help, please let us know.

sunech avatar Apr 19 '22 19:04 sunech

Fortunately/unfortunately #4354 has higher priority now to at least unblock people with installing the package with React 18.

I will put effort to finish forwardRef() work on remaining components. It ~~should be trivial~~ as usually not. Once it will be done v3 will go to alpha for early adopters.

@layershifter is this something you're interested in getting help with?

The truth is that this PR does not scale πŸ€” However, there are remaining items that will be transformed to issues once forwardRef() work will be done. There is a ton of work that is not described yet, I should fix that. And for sure, I appreciate any help then.

layershifter avatar Apr 19 '22 22:04 layershifter

@layershifter I'm totally happy to submit PRs for the forwardRef work if that's helpful.

bolivier avatar Apr 19 '22 23:04 bolivier

Following this for the ref updates...

PerryRylance avatar Jun 23 '22 12:06 PerryRylance

Looking forward to this library using React.forwardRef() πŸ‘

Any estimate on when this will be released ? :)

mfrtrifork avatar Sep 29 '22 09:09 mfrtrifork

@mfrtrifork I've had a good time contributing PRs here. If you have some time, it'll probably release faster with more help πŸ˜„

I think there's still some low hanging fruit in the unfinished input components.

bolivier avatar Sep 29 '22 14:09 bolivier

@bolivier I am sorry but I am completely swamped at the moment. So unfortunately I will not be able to contribute right now.

But nevertheless I look forward to v3 regardless of the release date :)

mfrtrifork avatar Sep 29 '22 18:09 mfrtrifork

How can I help? :]

felixmosh avatar Oct 03 '22 10:10 felixmosh

@felixmosh I submitted a few diffs adding ref forwarding to input components, and there's a few left. Most of them were pretty straightforward.

bolivier avatar Oct 03 '22 16:10 bolivier

How can I help? πŸ‘€

malixsys avatar Nov 11 '22 00:11 malixsys

@layershifter where can I find that Form uses forwardRef? Here nothing reminds me about that you checked the Form checkbox. Isn't the branch the freshest tip?

tourman avatar Dec 11 '22 18:12 tourman

@layershifter where can I find that Form uses forwardRef? Here nothing reminds me about that you checked the Form checkbox. Isn't the branch the freshest tip?

~~Indeed, Form have not been updated yet. I unchecked it.~~ It's me doing bad rebases. It's in now.

How can I help? πŸ‘€

@malixsys submit PRs to this branch with transforms to remaining components, for example #4359.

All components should be using React.forwardRef, then we can proceed with beta release.

layershifter avatar Dec 12 '22 09:12 layershifter

@layershifter, Do FormGroup, FormCheckbox, FormButton are converted as well? because i don't see the code of react.forwardRef in these files.

felixmosh avatar Dec 12 '22 10:12 felixmosh

@layershifter, Do FormGroup, FormCheckbox, FormButton are converted as well? because i don't see the code of react.forwardRef in these files.

Yeah, sorry. @bolivier made this changes, but I made a bad rebase. Now they are in, the list should be update to date.

layershifter avatar Dec 12 '22 10:12 layershifter

@layershifter are these 2 PR's OK? https://github.com/Semantic-Org/Semantic-UI-React/pull/4404 https://github.com/Semantic-Org/Semantic-UI-React/pull/4406

felixmosh avatar Dec 12 '22 11:12 felixmosh