vadimdemedes/ink (ink)
### [`v5.0.1`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v5.0.1)
[Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v5.0.0...v5.0.1)
- Fix: Only focus active elements ([#631](https://redirect.github.com/vadimdemedes/ink/issues/631)) [`d8bcff8`](https://redirect.github.com/vadimdemedes/ink/commit/d8bcff8)
### [`v5.0.0`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v5.0.0)
[Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.4.1...v5.0.0)
Even though this release is major, it doesn't have any breaking changes. The reason it's 5.0.0 is because after [#635](https://redirect.github.com/vadimdemedes/ink/issues/635), Ink requires Node.js 18.
Huge thanks to [@sindresorhus](https://redirect.github.com/sindresorhus) for maintaining Ink 💛
#### Highlights
- Use simpler CI detection ([#638](https://redirect.github.com/vadimdemedes/ink/issues/638)) [`fd0698b`](https://redirect.github.com/vadimdemedes/ink/commit/fd0698b)
- Require Node.js 18 ([#635](https://redirect.github.com/vadimdemedes/ink/issues/635)) [`d73468a`](https://redirect.github.com/vadimdemedes/ink/commit/d73468a)
### [`v4.4.1`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.4.1)
[Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.4.0...v4.4.1)
#### Highlights
- Fix React Devtools integration ([#626](https://redirect.github.com/vadimdemedes/ink/issues/626)) [`3d02a16`](https://redirect.github.com/vadimdemedes/ink/commit/3d02a16)
- Fix inability to read user input after app exit ([#622](https://redirect.github.com/vadimdemedes/ink/issues/622)) [`45dcc1e`](https://redirect.github.com/vadimdemedes/ink/commit/45dcc1e)
- Fix broken link escapes ([#623](https://redirect.github.com/vadimdemedes/ink/issues/623)) [`adc2c0c`](https://redirect.github.com/vadimdemedes/ink/commit/adc2c0c)
### [`v4.4.0`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.4.0)
[Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.3.1...v4.4.0)
#### Highlights
- Add `index` property to `Transform` ([#619](https://redirect.github.com/vadimdemedes/ink/issues/619)) [`0ee8e89`](https://redirect.github.com/vadimdemedes/ink/commit/0ee8e89)
- Use `readable` event instead of `data` to read from stdin ([#616](https://redirect.github.com/vadimdemedes/ink/issues/616)) [`814f33e`](https://redirect.github.com/vadimdemedes/ink/commit/814f33e)
#### Credits
Thanks to [@isaacs](https://redirect.github.com/isaacs) and [@matteodepalo](https://redirect.github.com/matteodepalo) for contributing to this release!
### [`v4.3.1`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.3.1)
[Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.3.0...v4.3.1)
This release brings back compatibility with Node.js v14.x. See [https://github.com/vadimdemedes/ink/issues/617](https://redirect.github.com/vadimdemedes/ink/issues/617) for details. Thanks [@newhouse](https://redirect.github.com/newhouse) and [@AlCalzone](https://redirect.github.com/AlCalzone) for handling it!
### [`v4.3.0`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.3.0)
[Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.2.0...v4.3.0)
#### Highlights
- Speed up generation of output ([#564](https://redirect.github.com/vadimdemedes/ink/issues/564)) [`9ff4d20`](https://redirect.github.com/vadimdemedes/ink/commit/9ff4d20)
- Dim border color ([#582](https://redirect.github.com/vadimdemedes/ink/issues/582)) [`8a04760`](https://redirect.github.com/vadimdemedes/ink/commit/8a04760)
- Batch state updates in `useInput` callback ([#581](https://redirect.github.com/vadimdemedes/ink/issues/581)) [`eed2a11`](https://redirect.github.com/vadimdemedes/ink/commit/eed2a11)
#### Thank you
Huge shoutout goes to [@AlCalzone](https://redirect.github.com/AlCalzone) for performance improvements in the generation of output, which speeds up rendering and significantly reduces CPU usage 🔥
### [`v4.2.0`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.2.0)
[Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.1.0...v4.2.0)
#### New features
##### Custom border style
[`fb66872`](https://redirect.github.com/vadimdemedes/ink/commit/fb66872)
With the addition of [`borderStyle`](https://redirect.github.com/vadimdemedes/ink#borderstyle) prop to [`Box`](https://redirect.github.com/vadimdemedes/ink#box), you can define custom border style for rendering borders.
```jsx
Content
```
##### Individual colors for each border side
[`015202c`](https://redirect.github.com/vadimdemedes/ink/commit/015202c)
[`Box`](https://redirect.github.com/vadimdemedes/ink#box) has supported [`borderColor`](https://redirect.github.com/vadimdemedes/ink#bordercolor) prop for a while now to change the color of the border. In this release, there are new `borderTopColor`, `borderBottomColor`, `borderLeftColor` and `borderRightColor` props to change the color for each border side individually.
```jsx
So colorful
```
##### Toggle visibility of individual border sides
[`3e0aeab`](https://redirect.github.com/vadimdemedes/ink/commit/3e0aeab)
As you can see, this is a pretty border-themed release. Continuing with the trend, now you toggle visibility of any border side individually via [`borderTop`](https://redirect.github.com/vadimdemedes/ink#bordertop), [`borderBottom`](https://redirect.github.com/vadimdemedes/ink#borderbottom), [`borderLeft`](https://redirect.github.com/vadimdemedes/ink#borderleft) and [`borderRight`](https://redirect.github.com/vadimdemedes/ink#borderright) props.
For example, if you wanted to hide top and bottom borders, you'd pass `false` to `borderTop` and `borderBottom` props respectively.
```jsx
Content
```
#### Other changes
- Rework parsing keyboard input in `useInput` ([#576](https://redirect.github.com/vadimdemedes/ink/issues/576)) [`6f99ca3`](https://redirect.github.com/vadimdemedes/ink/commit/6f99ca3)
- Detect arrow keys when pressed together with meta key [`8180c1c`](https://redirect.github.com/vadimdemedes/ink/commit/8180c1c)
- Fix tab key incorrectly having `ctrl` equal to `true` [`26b8364`](https://redirect.github.com/vadimdemedes/ink/commit/26b8364)
- Fix arrow and page up/down keys detected as meta keys ([#573](https://redirect.github.com/vadimdemedes/ink/issues/573)) [`09261d5`](https://redirect.github.com/vadimdemedes/ink/commit/09261d5)
- Improve diffing of styles ([#566](https://redirect.github.com/vadimdemedes/ink/issues/566)) [`690d48c`](https://redirect.github.com/vadimdemedes/ink/commit/690d48c)
### [`v4.1.0`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.1.0)
[Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.0.0...v4.1.0)
#### Highlights
##### Support for `gap` in `Box`
[`4a67772`](https://redirect.github.com/vadimdemedes/ink/commit/4a67772)
[`Box`](https://redirect.github.com/vadimdemedes/ink#box) supports [`gap`](https://redirect.github.com/vadimdemedes/ink#gap) prop now to easily add space between columns and rows without manually assigning margins. Similar to CSS, [`gap`](https://redirect.github.com/vadimdemedes/ink#gap-1) is a shorthand for setting both [`columnGap`](https://redirect.github.com/vadimdemedes/ink#columngap) and [`rowGap`](https://redirect.github.com/vadimdemedes/ink#rowgap) at the same time.
```jsx
AB
// A B
```
##### Wrapping of flex items
[`7bdbde5`](https://redirect.github.com/vadimdemedes/ink/commit/7bdbde5)
[@jodevsa](https://redirect.github.com/jodevsa) contributed support for wrapping of flex items in via [`flexWrap`](https://redirect.github.com/vadimdemedes/ink#flexwrap) prop, similar to [`flex-wrap`](https://developer.mozilla.org/en-US/docs/Web/CSS/flex-wrap) CSS property.
```jsx
ABC
// A
// B C
```
##### Customizable overflow behavior in `Box`
[`6278b81`](https://redirect.github.com/vadimdemedes/ink/commit/6278b81)
[`Box`]() supports an [`overflow`](https://redirect.github.com/vadimdemedes/ink#overflow) prop, which controls the visibility of an element's overflow. It can be set to `"visible"` (default) and `"hidden"`, which hides any content that overflows element's boundaries. Like in CSS, `overflow` is a shorthand for setting both [`overflowX`](https://redirect.github.com/vadimdemedes/ink#overflowx) and [`overflowY`](https://redirect.github.com/vadimdemedes/ink#overflowy).
```jsx
Hello World
// Hello
```
##### WASM build of Yoga
[`c97a2ee`](https://redirect.github.com/vadimdemedes/ink/commit/c97a2ee)
Thanks to [@amitdahan](https://redirect.github.com/amitdahan), Ink now uses a WASM build of [Yoga](https://redirect.github.com/facebook/yoga) provided by the [`yoga-wasm-web`](https://redirect.github.com/shuding/yoga-wasm-web) package. Starting with this release, Ink no longer uses [`yoga-layout-prebuilt`](https://redirect.github.com/vadimdemedes/yoga-layout-prebuilt) package that is lagging behind Yoga releases.
##### Faster rendering
[`e635106`](https://redirect.github.com/vadimdemedes/ink/commit/e635106)
[@AlCalzone](https://redirect.github.com/AlCalzone) contributed an impressive performance boost (~150%) to [`slice-ansi`](https://redirect.github.com/chalk/slice-ansi), which Ink heavily uses for generating output before writing it to the terminal. This release updates Ink to use a newer version of `slice-ansi`, so this should translate to faster rendering in Ink as well.
#### Other changes
- Fix missing element dimensions ([#561](https://redirect.github.com/vadimdemedes/ink/issues/561)) [`5f09368`](https://redirect.github.com/vadimdemedes/ink/commit/5f09368)
### [`v4.0.0`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.0.0)
[Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v3.2.0...v4.0.0)
#### Breaking changes
- This package is now pure ESM. Please [read this](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c).
- Require Node.js 14.16 ([#546](https://redirect.github.com/vadimdemedes/ink/issues/546)) [`aaf45a1`](https://redirect.github.com/vadimdemedes/ink/commit/aaf45a1)
- Require React 18. ([#546](https://redirect.github.com/vadimdemedes/ink/issues/546)) [`aaf45a1`](https://redirect.github.com/vadimdemedes/ink/commit/aaf45a1)
- Delete support for `hsl`, `hsv`, `hwb` and `ansi` color formats in `Text`'s [`color`](https://redirect.github.com/vadimdemedes/ink#color) prop.
- Move `react-devtools-core` to optional peer dependency ([#498](https://redirect.github.com/vadimdemedes/ink/issues/498)) [`8c2378a`](https://redirect.github.com/vadimdemedes/ink/commit/8c2378a)
#### Thank you
Major shoutout goes to [@pepicrft](https://redirect.github.com/pepicrft) and [@amitdahan](https://redirect.github.com/amitdahan) for leading the migration of Ink to ESM 💛
Thanks to [@sindresorhus](https://redirect.github.com/sindresorhus) for support and helping reviewing these massive changes 👏
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
3.2.0
->5.0.1
Release Notes
vadimdemedes/ink (ink)
### [`v5.0.1`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v5.0.1) [Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v5.0.0...v5.0.1) - Fix: Only focus active elements ([#631](https://redirect.github.com/vadimdemedes/ink/issues/631)) [`d8bcff8`](https://redirect.github.com/vadimdemedes/ink/commit/d8bcff8) ### [`v5.0.0`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v5.0.0) [Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.4.1...v5.0.0) Even though this release is major, it doesn't have any breaking changes. The reason it's 5.0.0 is because after [#635](https://redirect.github.com/vadimdemedes/ink/issues/635), Ink requires Node.js 18. Huge thanks to [@sindresorhus](https://redirect.github.com/sindresorhus) for maintaining Ink 💛 #### Highlights - Use simpler CI detection ([#638](https://redirect.github.com/vadimdemedes/ink/issues/638)) [`fd0698b`](https://redirect.github.com/vadimdemedes/ink/commit/fd0698b) - Require Node.js 18 ([#635](https://redirect.github.com/vadimdemedes/ink/issues/635)) [`d73468a`](https://redirect.github.com/vadimdemedes/ink/commit/d73468a) ### [`v4.4.1`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.4.1) [Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.4.0...v4.4.1) #### Highlights - Fix React Devtools integration ([#626](https://redirect.github.com/vadimdemedes/ink/issues/626)) [`3d02a16`](https://redirect.github.com/vadimdemedes/ink/commit/3d02a16) - Fix inability to read user input after app exit ([#622](https://redirect.github.com/vadimdemedes/ink/issues/622)) [`45dcc1e`](https://redirect.github.com/vadimdemedes/ink/commit/45dcc1e) - Fix broken link escapes ([#623](https://redirect.github.com/vadimdemedes/ink/issues/623)) [`adc2c0c`](https://redirect.github.com/vadimdemedes/ink/commit/adc2c0c) ### [`v4.4.0`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.4.0) [Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.3.1...v4.4.0) #### Highlights - Add `index` property to `Transform` ([#619](https://redirect.github.com/vadimdemedes/ink/issues/619)) [`0ee8e89`](https://redirect.github.com/vadimdemedes/ink/commit/0ee8e89) - Use `readable` event instead of `data` to read from stdin ([#616](https://redirect.github.com/vadimdemedes/ink/issues/616)) [`814f33e`](https://redirect.github.com/vadimdemedes/ink/commit/814f33e) #### Credits Thanks to [@isaacs](https://redirect.github.com/isaacs) and [@matteodepalo](https://redirect.github.com/matteodepalo) for contributing to this release! ### [`v4.3.1`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.3.1) [Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.3.0...v4.3.1) This release brings back compatibility with Node.js v14.x. See [https://github.com/vadimdemedes/ink/issues/617](https://redirect.github.com/vadimdemedes/ink/issues/617) for details. Thanks [@newhouse](https://redirect.github.com/newhouse) and [@AlCalzone](https://redirect.github.com/AlCalzone) for handling it! ### [`v4.3.0`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.3.0) [Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.2.0...v4.3.0) #### Highlights - Speed up generation of output ([#564](https://redirect.github.com/vadimdemedes/ink/issues/564)) [`9ff4d20`](https://redirect.github.com/vadimdemedes/ink/commit/9ff4d20) - Dim border color ([#582](https://redirect.github.com/vadimdemedes/ink/issues/582)) [`8a04760`](https://redirect.github.com/vadimdemedes/ink/commit/8a04760) - Batch state updates in `useInput` callback ([#581](https://redirect.github.com/vadimdemedes/ink/issues/581)) [`eed2a11`](https://redirect.github.com/vadimdemedes/ink/commit/eed2a11) #### Thank you Huge shoutout goes to [@AlCalzone](https://redirect.github.com/AlCalzone) for performance improvements in the generation of output, which speeds up rendering and significantly reduces CPU usage 🔥 ### [`v4.2.0`](https://redirect.github.com/vadimdemedes/ink/releases/tag/v4.2.0) [Compare Source](https://redirect.github.com/vadimdemedes/ink/compare/v4.1.0...v4.2.0) #### New features ##### Custom border style [`fb66872`](https://redirect.github.com/vadimdemedes/ink/commit/fb66872) With the addition of [`borderStyle`](https://redirect.github.com/vadimdemedes/ink#borderstyle) prop to [`Box`](https://redirect.github.com/vadimdemedes/ink#box), you can define custom border style for rendering borders. ```jsxConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.