Skip to content
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

V1 Release #11

Open
14 tasks done
chrisrzhou opened this issue Dec 3, 2021 · 2 comments
Open
14 tasks done

V1 Release #11

chrisrzhou opened this issue Dec 3, 2021 · 2 comments
Assignees
Labels

Comments

@chrisrzhou
Copy link
Member

chrisrzhou commented Dec 3, 2021

Goals

  • Significantly simplify and streamline APIs and concepts (remove unimportant methods, improve names/interfaces)
  • Remove opinionated defaults (e.g. default theme spec).
  • Improve types (promote static usage of uinix-ui while offering dynamic/friendly hooks)
  • Improve docs
  • Improve tests and coverage

New Features

  • New configuration (enableCssVariables, namespace).
  • load API now returns a cleanup function (i.e. "unload").

Breaking Changes

Removed

  • Remove styles.typography (also removes rendering font support).
    • Rendering styles.typography.fontFaces is naturally removed (consumers should handle rendering/loading fonts).
    • styles.typography.global is naturally removed (just use globalStyles`).
    • useTypographyVariant hook is naturally removed.
    • Text.variant no longer reads from styles.typography.variants and simply reads from styles.variants.
  • Remove default theme spec (consumers must explicitly provide one).
  • Remove unvaluable create* methods (e.g. createStyles, createTheme, createIcons, createConfig).
  • merge util removed, install or import from uinix-fp instead.
  • Remove all use* hooks (it's better for consumers to directly access their system statically).

Changed

  • styles.breakpoints is now moved to config.responsiveBreakpoints.
  • styles.global is renamed to globalStyles.
  • Icon no longer conditionally renders as button or div (consumers now control this).
  • createSystem is removed and load is renamed to createSystem.
  • useVariant hook is renamed to useStyleVariant.
  • styles.variants is removed. useStyleVariant hook directly accesses styles rules.
  • Components
    • variant prop is renamed to styleVariant (interoperable with styles, styleProps props).
    • Style prop precedence now follows with the following importance: style < styleVariant < styles < shorthandProp
@chrisrzhou chrisrzhou self-assigned this Mar 14, 2022
@chrisrzhou
Copy link
Member Author

chrisrzhou commented May 26, 2022

[email protected] has been released, which can further narrow the responsibility of uinix-ui to simply integrate against the system of four components.

@chrisrzhou
Copy link
Member Author

chrisrzhou commented Nov 28, 2022

V1's API has been reduced and finalized in https://github.com/uinix-js/uinix-ui/blob/c2d7f40076f2764d14830d57b3161ed71e710634/index.js.

This greatly minimized API facilitates upcoming internal tasks:

  • Update types
  • Update tests
  • Update docs
  • Draft migration guide to @1 in Github release notes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant