RFC: migrate from FuelUI to UI Primitives #1059
pedronauck
started this conversation in
Ideas
Replies: 1 comment
-
|
Looks good. Don't we have a pagination component that we use on the explorer? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This RFC proposes the adoption of the newly developed ui-primitives package, specifically designed for the explorer, across our main products: Wallet, Portal, and Bridge. This shift from the existing fuel-ui framework is motivated by the advanced features of the new UI package, which leverages RadixUI Themes and TailwindCSS. Unlike FuelUI, which is built on Stitches and RadixUI Primitives and predominantly employs CSS with style objects, the new ui-primitives package utilizes a class-based approach, as seen in TailwindCSS. This transition is expected to update our UI design and development process significantly.
📋 Breaking Changes
Below is a comprehensive list of the most significant changes we must address to migrate our products to the new UI framework successfully. This includes adaptations and modifications essential for the transition.
Biggest tasks
@tabler-icons/reactdirectly as the new package<GlobalStyle />in the legacy codeTokens that changed
$snakeCasetokekab-caseaccentcolor scale was removed. No more$accent9or$accent8, now is justaccentintentsrelated props changed tocolorprops as RadixUIcrimson → redbodyBg → backgroundbodyColor → colorbodyInverse → ❌dialogBg → panel-solidinput<intents><scale> → ❌intentsBase<scale> → gray-<scale>intentsError<scale> → errorintentsInfo<scale> → infointentsSuccess<scale> → successintentsPrimary<scale> → accentintentsSecondary<scale> → ❌intentsWarning<scale> → warningscales<color><scale> → <color>-<scale>semantic<variant><intent>* → ❌textColor → colortextHeading → headingtextActive → ❌textIcon → icontextInverse → ❌textLink → linktextLinkActive → ❌textLinkDisabled → ❌textLinkHover → ❌textLinkVisisted → ❌textMuted → mutedtextSubtext → secondaryMissing components
ButtonLink(should be replaced byButtonusingasa prop)ContentLoaderFormInputAmountMenu(changed in the new package toDropdown)PaginationPasswordStrenghProps/Components that changed
cssproperty for styling removed ❌Box.Centeredremoved ❌<Box.* />Grid.ItemremovedBox.Stackremoved ❌<Icon />now received aReactComponentaticonprop instead ofstring🎯 Planning
The optimal approach for executing this migration involves breaking down the major tasks and managing them on Linear, tracking the entire process as a milestone. Given the extensive nature of this project, taking incremental steps will promote a more effective and controlled transition.
A considerable portion of this migration centers on transforming the existing style object CSS into a TailwindCSS format using
tailwind-variants, a methodology successfully implemented in the explorer. To facilitate this, certain automation scripts and tools can be employed. Notable among these are:The script for this conversion process could follow these steps:
styleobjects within components intotv()format.cssObj()into TailwindCSS class declarations.css={}properties withtailwind-variants.By systematically following these steps, we can ensure a smooth and efficient transition to the new UI framework.
Beta Was this translation helpful? Give feedback.
All reactions