Skip to content
This repository has been archived by the owner on Mar 31, 2021. It is now read-only.

Fannypack v5 Roadmap #92

Closed
jxom opened this issue Aug 22, 2019 · 2 comments
Closed

Fannypack v5 Roadmap #92

jxom opened this issue Aug 22, 2019 · 2 comments
Labels
help wanted Extra attention is needed umbrella ☂️

Comments

@jxom
Copy link
Owner

jxom commented Aug 22, 2019

Fannypack v5 is now underway - a complete rewrite of the underlying internals of Fannypack. This issue aims to be an umbrella issue to track work in progress of the rewrite. The new Fannypack will use Emotion for it's CSS-in-JS solution & use Reakit v1 to leverage accessibility, customisability & composibility in it's components.

The main motivation to rewrite Fannypack is to support Reakit v1, hooks, smaller bundle size, as well as better composability, themeability and accessibility. Whilst a major refactor of v4 could have been quite possible, I felt a rewrite was more appropriate as I wanted to start off fresh & incorporate learnings from v4.

Fannypack v5's API will be very similar to v4, however there are a few breaking changes as noted below.

I'm planning to incrementally migrate every component from v4 onto v5. Component styling will remain the same as v4.

Check out the v5 branch

Here is the current TODO list for v5. Feel free to build any uncompleted component below. If you would like to take on a component, please comment which component you would like to take (make sure nobody has mentioned it in the comments too!). Once you have commented, please raise an issue with the title 'Add <{Component}>', and I will label this as 'in-progress'.

Here is a contributing guide to get you started

Foundation

  • Provider
  • GlobalStyles

Primitives

  • Box
  • Block
  • Flex
  • Grid
  • Inline
  • InlineBlock
  • InlineFlex

Typography

  • Blockquote
  • Code
  • Heading
  • Link
  • List
  • Paragraph
  • Text

Layout

  • Columns
  • Container
  • FieldStack
  • Group
  • Set
  • Stack

Components

  • Accordian
  • ActionButtons
  • Alert
  • Avatar
  • Badge
  • Button
  • Breadcrumb
  • Callout
  • CalloutOverlay
  • Card
  • Dialog
  • DialogModal
  • Divider
  • DropdownMenu
  • Icon
  • Image
  • Menu
  • Navigation
  • Pagination
  • Popover
  • ProgressBar
  • Rating
  • SideNav
  • Spinner
  • Table
  • Tabs
  • Tag
  • Timeline
  • Toast
  • Tooltip
  • TopNav

Form

  • Autosuggest
  • AutosuggestField
  • Checkbox
  • CheckboxField
  • CheckboxGroup
  • CheckboxGroupField
  • FieldStack
  • FieldWrapper
  • Input
  • InputField
  • Label
  • PhoneNumberInput
  • PhoneNumberInputField
  • Radio
  • RadioButtons
  • RadioButtonsField
  • RadioGroup
  • RadioGroupField
  • Select
  • SelectField
  • SelectMenu
  • SelectMenuField
  • Switch
  • SwitchField
  • Textarea
  • TextareaField

Form Adaptors

  • Formik
  • React Final Form
  • React Hook Form
  • Redux Form

Utilities

  • Backdrop
  • Clickable
  • Composite
  • Drawer
  • Hidden
  • Modal
  • Overlay
  • Portal
  • Rover
  • Tabbable

Shells

  • Page.Content
  • Page.WithSidebar
  • Page.WithHeader

Addons

  • PaymentCardInput
  • PhotoUpload
  • HighlightedCode
  • Markdown

Copy Blocks

  • Hero sections
  • Feature sections
  • Call-to-action sections
  • Pricing sections
  • Testimonial sections
  • FAQ sections
  • Newsletter signup sections
  • Stats sections
  • Footers
  • Contact us form
  • Meet the team

Fannypack v5 will also introduce a few breaking changes.

Breaking changes to date

  • Removed absolute, fixed, static, sticky props from <Box>.

    • They could introduce an "impossible" state. E.g. <Box fixed absolute>
    • Migration Steps:
      • Use the position prop. <Box fixed> -> <Box position="fixed">
  • Removed row, column, rowReverse, columnReverse from <Flex>.

    • They could introduce an "impossible" state. E.g. <Flex row column>
    • Migration Steps:
      • Use the flexDirection prop. <Flex row> -> <Box flexDirection="row">
  • Added a fresh palette colour scheme. See more

  • Added a subtle animation to the hover & active event on Button.

  • Converted Fannypack's breakpoints into it's own theme field. See more

    • theme.layout.mobileBreakpoint -> theme.breakpoints.mobile
    • theme.layout.tabletBreakpoint -> theme.breakpoints.tablet
    • theme.layout.desktopBreakpoint -> theme.breakpoints.desktop
    • theme.layout.widescreenBreakpoint -> theme.breakpoints.widescreen
    • theme.layout.fullHDBreakpoint -> theme.breakpoints.fullHD
  • Moved HighlightedCode to a separate package (fannypack-addon-highlighted-code) as a Fannypack "addon".

  • Renamed layout.gapFactor to layout.gapUnit

  • Renamed verticalAt to verticalBreakpoint on <Group>

@jxom jxom added umbrella ☂️ help wanted Extra attention is needed labels Aug 22, 2019
@jxom jxom mentioned this issue Aug 22, 2019
6 tasks
@jxom jxom mentioned this issue Sep 18, 2019
@jxom jxom closed this as completed Jul 26, 2020
@ferryarman
Copy link

@jxom just wondering is v5 available for public or it's currently limited to group of people ?

@jxom
Copy link
Owner Author

jxom commented Jul 29, 2020

@ferryarman - It is available at https://github.com/bumbag/bumbag-ui

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
help wanted Extra attention is needed umbrella ☂️
Projects
None yet
Development

No branches or pull requests

2 participants