Releases: geist-org/geist-ui
v2.3.0-rc.0
Improvements & Features
ButtonDropdown
now allows for custom icon. #630Tabs
is added with a highlighting effect when hovering. #653Image
component supports rendering of SVG strings. #692- Export
useScale
function. #693 - Add a new style to the
Code
. #698 - Redesign the documentation site, now it will be easier to read.
Patches
- Complementary scale function for
Input.Password
. #685
Credits
Thanks to @songhn233 @nikhilgupta58
Canary
- This is a canary version (
2.3.0-rc.0
), not for production. you can runyarn add @geist-ui/core@canary
to install. - Documentation for canary release
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
Patches
- Fix the wrong file path of
hooks
inesm
mode. #603 - Fix the horizontal scrollbar of component
Select
is always visible. #655 - Fix typo of component
displayName
in development mode. #612 - Removed unnecessary code in
Grid
Component. #633 - Upgrade dependencies to be compatible with
Vite
andnext.js
.
Credits
Thanks to @Megrax @jstolwijk @zaguiini @mnismt @moatorres @RodrigoTomeES @craigglennie
v2.2.0
Improvements & Features
Scaleable
Scaleable is one of the most exciting features of this release, giving Geist a great deal of freedom and imagination, and EVERY COMPONENT fully supports the Scaleable feature.
We removed all size
props, so that each component no longer needs to be manually scaled, but instead the scale
props control the scaling function:
<Loading scale={0.5} />
<Loading scale={2/3} />
Developers are free to set the size of the component, and if necessary, you can specify a space in the component to be scaled:
<Button paddingLeft="20px" paddingRight={1.35} />
You can choose either a fixed CSS value or a scaling factor, and each component supports all scaleable props.
Also, you can also use a more streamlined alias attribute:
<Button h="50px" w="75%" />
💡 Learn more in the Scaleable documentation
More friendly type support
1. Shorter paths
We've noticed that many developers need to import component types to use, excessively long paths and unnecessary declarations should be omitted. The component types will now be exported by default under the root namespace:
// before
import { Button } from '@geist-ui/react'
import { ButtonProps } from '@geist-ui/react/dist/button/button'
// now
import { Button, ButtonProps } from '@geist-ui/react'
2. Alias of type
The types exported from the component will now be shorter and easier to recognize:
3. Easier identification of component names
We also compile an extra copy of the types
in the exported esm
package, so that when your project supports esm
mode, the type checking will be smarter and the hints will be better than before.
New components
Other optimizations
- Add
className
androwClassName
toTable
for overriding styles. #569 Table
component now fully supports TypeScript type derivation.- The
operation
property of the Table data has been removed and therender
property onTableColumn
. - We have refactored the types of the Table so that there are now fewer types, but they are more precise.
- Add props for popup container.
AutoComplete
. #558 #534 - Add
forwardRef
forAutoComplete
component. #542 - The Popup component is now better positioned
- Ensure compatibility with Yarn2 (berry) #561
- Fewer and more accurate error logs
- In DEV environment, previewable names (
displayName
) have been added for each component
Patches
- Fix path error under ESM. #603
- Fix shadow style for
AutoComplete
#547 - Fix size of loading icon.
AutoComplete
#546 - Upgrade
styled-jsx
to the latest version to support React 17. #520
Migration &Breaking changes
If you have any questions about the migration and the new version, please let us know by leaving a comment in the Discussions.
- All size props have been removed, use
scale
instead ofsize
. - Remove the
Row
andCol
components, this is a legacy component of the old layout system and it is recommended to useGrid
instead of it. - Remove the
Fieldset.Footer.Actions
andFieldset.Footer.Status
components, they don't really do anything, if your style has changed, just add some flex styles. - Remove the
disableAutoResize
andscale
properties of componentImage
, now the Scaleable function can work instead of it. - The
x
andy
of theSpacer
component have been changed tow
andh
. (Scaleable system props)
Credits
Thanks to @jorekai @Bowen7 @Gounlaf @Deep-Codes
v2.2.0-rc.8
Improvements & Features
This release includes Scaleable features from the last release(v2.2.0-canary.7
) and more feature updates, for more information, please visit the canary.7 release note.
For any help with migration or Scalable features, please leave a comment in the Discussion.
- Add
Rating
Component. #543 - Add
className
androwClassName
toTable
for overriding styles. #569 Table
component now fully supports TypeScript type derivation.- The
operation
property of the Table data has been removed and therender
property onTableColumn
. - We have refactored the types of the Table so that there are now fewer types, but they are more precise.
Credits
Thanks to @jorekai
Cancay
- This is a canary version (
2.2.0-rc.8
), and if you are interested, you can runyarn add @geist-ui/react@canary
to install. - Documentation for canary release
v2.2.0-rc.7
Improvements & Features
Scaleable
Scaleable is one of the most exciting features of this release, giving Geist a great deal of freedom and imagination, and EVERY COMPONENT fully supports the Scaleable feature.
We removed all size
props, so that each component no longer needs to be manually scaled, but instead the scale
props control the scaling function:
<Loading scale={0.5} />
<Loading scale={2/3} />
Developers are free to set the size of the component, and if necessary, you can specify a space in the component to be scaled:
<Button paddingLeft="20px" paddingRight={1.35} />
You can choose either a fixed CSS value or a scaling factor, and each component supports all scaleable props.
Also, you can also use a more streamlined alias attribute:
<Button h="50px" w="75%" />
💡 Learn more in the Scaleable documentation
More friendly type support
1. Shorter paths
We've noticed that many developers need to import component types to use, excessively long paths and unnecessary declarations should be omitted. The component types will now be exported by default under the root namespace:
// before
import { Button } from '@geist-ui/react'
import { ButtonProps } from '@geist-ui/react/dist/button/button'
// now
import { Button, ButtonProps } from '@geist-ui/react'
2. Alias of type
The types exported from the component will now be shorter and easier to recognize:
3. Easier identification of component names
We also compile an extra copy of the types
in the exported esm
package, so that when your project supports esm
mode, the type checking will be smarter and the hints will be better than before.
Other optimizations
- The Popup component is now better positioned
- Ensure compatibility with Yarn2 (berry) #561
- Fewer and more accurate error logs
- In DEV, previewable names (
displayName
) have been added for each component
Breaking change & Migration
If you have any questions about the migration and the new version, please let us know by leaving a comment in the Discussions.
- All size props have been removed, use
scale
instead ofsize
. - Remove the
Row
andCol
components, this is a legacy component of the old layout system and it is recommended to useGrid
instead of it. - Remove the
Fieldset.Footer.Actions
andFieldset.Footer.Status
components, they don't really do anything, if your style has changed, just add some flex styles. - Remove the
disableAutoResize
andscale
properties of componentImage
, now the Scaleable function can work instead of it. - The
x
andy
of theSpacer
component have been changed tow
andh
. (Scaleable system props)
Next version
Canary
- We plan to improve and resolve some of the features that are blocked by Scaleable, such as Rating
- Update all sample projects
- Optimize the implementation details of Scaleable on each component
- Released within 1 - 2 weeks
Minor (v2.2.0
)
- Includes all the new features of 2.2.0
- Plan to change package name to
@geist-ui/core
- Released within 2 - 4 weeks
Canary Documentation
- This is a canary version (
2.2.0-rc.7
), and if you are interested, you can runyarn add @geist-ui/react@canary
to install. - Documentation for canary release
v2.2.0-rc.6
Patches
- Fix path error under ESM.