Skip to content

Commit 85a945f

Browse files
authored
chore: v9 QA sweep (#1929)
1 parent ddb2d0c commit 85a945f

File tree

11 files changed

+133
-115
lines changed

11 files changed

+133
-115
lines changed

docs/changelogs/v6.md

Lines changed: 3 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Changelog
1+
# v6 Changelog
22

33
> **Tags:**
44
> - :boom: Breaking Change
@@ -331,6 +331,7 @@ improved autocompletion and documentation in certain IDEs and editors like VSCod
331331
## v6.0.0 (2019-06-07)
332332

333333
#### :boom: Breaking Change
334+
* All breaking changes are detailed in the [Migration Guide](https://github.com/zendeskgarden/react-components/blob/main/docs/migrations/v6.md). Follow the guide to upgrade to version 6.
334335
* `all packages`
335336
* [#342](https://github.com/zendeskgarden/react-components/pull/342) BREAKING CHANGE: upgrade to [email protected] and styled-components@v4 ([@austin94](https://github.com/austin94))
336337

@@ -342,43 +343,7 @@ improved autocompletion and documentation in certain IDEs and editors like VSCod
342343
* `all packages`
343344
* [#353](https://github.com/zendeskgarden/react-components/pull/353) chore(lerna): update versioning flow ([@austin94](https://github.com/austin94))
344345

345-
### Breaking Change Details
346-
347-
#### New versioning strategy
348-
349-
- Garden React packages are now published under a shared, fixed (common major) version number
350-
- You are still able to upgrade packages individually
351-
- This change will help us better communicate changes and allows consumers to better understand the state of their dependencies
352-
- This is the first release under the new versioning strategy, **v6.0.0**
353-
354-
#### New peer dependencies
355-
356-
From **v6.0.0** all Garden React libraries now require the following peer dependencies:
357-
358-
```bash
359-
react@^16.8.0
360-
react-dom@^16.8.0
361-
styled-components@^4.2.0
362-
@zendeskgarden/react-theming@^6.0.0
363-
```
364-
365-
[React v16 upgrade docs](https://reactjs.org/blog/2017/09/26/react-v16.0.html)
366-
[styled-components v4 upgrade docs](https://www.styled-components.com/docs/faqs#what-do-i-need-to-do-to-migrate-to-v4)
367-
368-
Beginning with v4, styled-components now uses the [React.forwardRef](https://reactjs.org/docs/react-api.html#reactforwardref) API.
369-
370-
This means that all existing `innerRef`, `menuRef`, `buttonRef`, etc. props are now replaced with `ref`.
371-
372-
#### How to upgrade
373-
374-
1. Upgrade `react` and `react-dom` to `latest`
375-
2. Upgrade all Garden dependencies to their most recent, pre v6 versions
376-
3. Upgrade styled-components and all Garden dependencies to `latest`
377-
1. Correct all `innerRef`, `buttonRef`, `menuRef`, etc. usages based on the [styled-components v4 upgrade docs](https://www.styled-components.com/docs/faqs#what-do-i-need-to-do-to-migrate-to-v4)
378-
379-
If you have any upgrade questions please [create an issue](https://github.com/zendeskgarden/react-components/issues).
380-
381-
#### Pre v6 changelogs
346+
## Pre v6 changelogs
382347

383348
[react-autocomplete](https://github.com/zendeskgarden/react-components/blob/930d97a0c923a98aa821a475c2557ceda22bec2c/packages/autocomplete/CHANGELOG.md),
384349
[react-avatars](https://github.com/zendeskgarden/react-components/blob/930d97a0c923a98aa821a475c2557ceda22bec2c/packages/avatars/CHANGELOG.md),

docs/changelogs/v7.md

Lines changed: 2 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Changelog
1+
# v7 Changelog
22

33
> **Tags:**
44
> - :boom: Breaking Change
@@ -151,6 +151,7 @@ _Note: Gaps between patch versions are faulty, broken or test releases._
151151
## v7.0.0 (2019-10-17)
152152

153153
#### :boom: Breaking Change
154+
* All breaking changes are detailed in the [Migration Guide](https://github.com/zendeskgarden/react-components/blob/main/docs/migrations/v7.md). Follow the guide to upgrade from version 6 to version 7.
154155
* `buttons`, `chrome`, `modals`, `pagination`, `selection`, `tabs`, `tooltips`
155156
* [#486](https://github.com/zendeskgarden/react-components/pull/486) chore(internal): deprecated react-selection and migrate Tabs and Pagination components BREAKING ([@austin94](https://github.com/austin94))
156157
* `breadcrumbs`, `buttons`, `chrome`, `modals`, `pagination`, `tabs`, `tooltips`
@@ -175,73 +176,6 @@ _Note: Gaps between patch versions are faulty, broken or test releases._
175176
* `buttons`, `modals`, `selection`, `tables`
176177
* [#490](https://github.com/zendeskgarden/react-components/pull/490) chore(deps): update dom-helpers ([@hzhu](https://github.com/hzhu))
177178

178-
### Breaking Changes
179-
180-
#### `react-loaders`
181-
182-
* The `Dots` and `Spinner` components no longer accept a `velocity` prop
183-
* To customize the speed of the animation use the `duration` prop to provide the time in MS.
184-
185-
#### `react-pagination`
186-
187-
* The `focusedKey` prop is no longer accepted
188-
* This state is no longer controllable
189-
* The `onStateChange` prop is no longer accepted
190-
* Use the `onChange` prop to receive `currentPage` updates.
191-
192-
#### `react-tabs`
193-
194-
* The `selectedKey` prop has been renamed to `selectedItem`
195-
* This API now aligns with other components
196-
* All `<TabPanel>` components now require an `item` prop instead of a `key` prop
197-
* Previously we used the `key` attribute to uniquely identify each tab
198-
* This created confusion as `key` is also a reserved prop name in React
199-
* The `onStateChange` prop is no longer valid
200-
* Use the `onChange` prop to receive `selectedItem` updates
201-
202-
#### Removal of deprecated packages
203-
204-
The following deprecated packages have been removed from the repository and will not be upgraded to `v7`:
205-
206-
* `@zendeskgarden/react-autocomplete`
207-
* Migrate to the `@zendeskgarden/react-dropdowns` package
208-
* `@zendeskgarden/react-checkboxes`
209-
* Migrate to the `@zendeskgarden/react-forms` package
210-
* `@zendeskgarden/react-menus`
211-
* Migrate to the `@zendeskgarden/react-dropdowns` package
212-
* `@zendeskgarden/react-radios`
213-
* Migrate to the `@zendeskgarden/react-forms` package
214-
* `@zendeskgarden/react-ranges`
215-
* Migrate to the `@zendeskgarden/react-forms` package
216-
* `@zendeskgarden/react-select`
217-
* Migrate to the `@zendeskgarden/react-dropdowns` package
218-
* `@zendeskgarden/react-textfields`
219-
* Migrate to the `@zendeskgarden/react-forms` package
220-
* `@zendeskgarden/react-toggles`
221-
* Migrate to the `@zendeskgarden/react-forms` package
222-
223-
#### Removal of deprecated Render-Prop Containers
224-
225-
In previous versions we have included render-prop containers for
226-
the common UX patterns provided in our components. To help make these
227-
assets more flexible, we have created a new repository [react-containers](https://github.com/zendeskgarden/react-containers).
228-
229-
In `v7` all render-prop containers (`*Container`) has been moved to standalone packages.
230-
These containers are now available as standard React Hooks as well as render-props.
231-
232-
### Migration Steps
233-
234-
* Upgrade all Garden React dependencies to their latest `v6.x` version
235-
* Check your console and testing environments to see if any deprecation warnings can be seen
236-
* Remove any usages of deprecated packages and containers
237-
* Upgrade all Garden React dependencies to their latest `v7.x` version
238-
* Update any `react-tabs`, `react-pagination`, and `react-loaders` usages affected by the breaking changes listed above
239-
240-
For this breaking change we were able to allow an open range for our peer dependency of `react-theming` to allow `v6` and `v7` versions.
241-
242-
This allows you to upgrade each package individually if necessary, ending with `react-theming`.
243-
If you have any questions about this process please open an issue.
244-
245179
## v6 changelog
246180

247181
https://github.com/zendeskgarden/react-components/blob/main/docs/changelogs/v6.md

docs/changelogs/v8.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Changelog
1+
# v8 Changelog
22

33
> **Tags:**
44
> - :boom: Breaking Change
@@ -2372,6 +2372,7 @@ utilities upgrade to `@zendeskgarden/[email protected]` first.
23722372
## v8.0.0 (2020-02-18)
23732373

23742374
#### :boom: Breaking Change
2375+
* All breaking changes are detailed in the [Migration Guide](https://github.com/zendeskgarden/react-components/blob/main/docs/migrations/v8.md). Follow the guide to upgrade from version 7 to version 8.
23752376
* `.template`, `avatars`, `breadcrumbs`, `buttons`, `chrome`, `datepickers`, `dropdowns`, `forms`, `grid`, `loaders`, `modals`, `notifications`, `pagination`, `selection`, `tables`, `tabs`, `tags`, `theming`, `tooltips`, `typography`, `utilities`
23762377
* [#639](https://github.com/zendeskgarden/react-components/pull/639) feat(build): bring master up-to-date with next ([@austin94](https://github.com/austin94))
23772378

docs/migration.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@ completely removed.
1313

1414
The theme object, along with its utility functions, introduce a minimal set of
1515
breaking changes for Garden version 9. It is important to proceed with caution
16-
when upgrading each Garden package individually.
17-
18-
To begin a v9 migration, these initial steps must be taken before upgrading individual packages:
16+
when upgrading each Garden package individually. To begin a v9 migration, these
17+
initial steps must be taken before upgrading individual packages:
1918

2019
- All existing v8 packages must be set to
2120
[v8.75.0](https://github.com/zendeskgarden/react-components/releases/tag/v8.75.0)

docs/migrations/v6.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Garden Migration Guide
2+
3+
## v6
4+
5+
### Breaking Change Details
6+
7+
#### New versioning strategy
8+
9+
- Garden React packages are now published under a shared, fixed (common major) version number
10+
- You are still able to upgrade packages individually
11+
- This change will help us better communicate changes and allows consumers to better understand the state of their dependencies
12+
- This is the first release under the new versioning strategy, **v6.0.0**
13+
14+
#### New peer dependencies
15+
16+
From **v6.0.0** all Garden React libraries now require the following peer dependencies:
17+
18+
```bash
19+
react@^16.8.0
20+
react-dom@^16.8.0
21+
styled-components@^4.2.0
22+
@zendeskgarden/react-theming@^6.0.0
23+
```
24+
25+
[React v16 upgrade docs](https://reactjs.org/blog/2017/09/26/react-v16.0.html)
26+
[styled-components v4 upgrade docs](https://www.styled-components.com/docs/faqs#what-do-i-need-to-do-to-migrate-to-v4)
27+
28+
Beginning with v4, styled-components now uses the [React.forwardRef](https://reactjs.org/docs/react-api.html#reactforwardref) API.
29+
30+
This means that all existing `innerRef`, `menuRef`, `buttonRef`, etc. props are now replaced with `ref`.
31+
32+
#### How to upgrade
33+
34+
1. Upgrade `react` and `react-dom` to `latest`
35+
2. Upgrade all Garden dependencies to their most recent, pre v6 versions
36+
3. Upgrade styled-components and all Garden dependencies to `latest`
37+
4. Correct all `innerRef`, `buttonRef`, `menuRef`, etc. usages based on the [styled-components v4 upgrade docs](https://www.styled-components.com/docs/faqs#what-do-i-need-to-do-to-migrate-to-v4)
38+
39+
If you have any upgrade questions please [create an issue](https://github.com/zendeskgarden/react-components/issues).

docs/migrations/v7.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Garden Migration Guide
2+
3+
## v7
4+
5+
### Breaking Changes
6+
7+
#### `react-loaders`
8+
9+
- The `Dots` and `Spinner` components no longer accept a `velocity` prop
10+
- To customize the speed of the animation use the `duration` prop to provide the time in MS.
11+
12+
#### `react-pagination`
13+
14+
- The `focusedKey` prop is no longer accepted
15+
- This state is no longer controllable
16+
- The `onStateChange` prop is no longer accepted
17+
- Use the `onChange` prop to receive `currentPage` updates.
18+
19+
#### `react-tabs`
20+
21+
- The `selectedKey` prop has been renamed to `selectedItem`
22+
- This API now aligns with other components
23+
- All `<TabPanel>` components now require an `item` prop instead of a `key` prop
24+
- Previously we used the `key` attribute to uniquely identify each tab
25+
- This created confusion as `key` is also a reserved prop name in React
26+
- The `onStateChange` prop is no longer valid
27+
- Use the `onChange` prop to receive `selectedItem` updates
28+
29+
#### Removal of deprecated packages
30+
31+
The following deprecated packages have been removed from the repository and will not be upgraded to `v7`:
32+
33+
- `@zendeskgarden/react-autocomplete`
34+
- Migrate to the `@zendeskgarden/react-dropdowns` package
35+
- `@zendeskgarden/react-checkboxes`
36+
- Migrate to the `@zendeskgarden/react-forms` package
37+
- `@zendeskgarden/react-menus`
38+
- Migrate to the `@zendeskgarden/react-dropdowns` package
39+
- `@zendeskgarden/react-radios`
40+
- Migrate to the `@zendeskgarden/react-forms` package
41+
- `@zendeskgarden/react-ranges`
42+
- Migrate to the `@zendeskgarden/react-forms` package
43+
- `@zendeskgarden/react-select`
44+
- Migrate to the `@zendeskgarden/react-dropdowns` package
45+
- `@zendeskgarden/react-textfields`
46+
- Migrate to the `@zendeskgarden/react-forms` package
47+
- `@zendeskgarden/react-toggles`
48+
- Migrate to the `@zendeskgarden/react-forms` package
49+
50+
#### Removal of deprecated Render-Prop Containers
51+
52+
In previous versions we have included render-prop containers for
53+
the common UX patterns provided in our components. To help make these
54+
assets more flexible, we have created a new repository [react-containers](https://github.com/zendeskgarden/react-containers).
55+
56+
In `v7` all render-prop containers (`*Container`) has been moved to standalone packages.
57+
These containers are now available as standard React Hooks as well as render-props.
58+
59+
### Migration Steps
60+
61+
- Upgrade all Garden React dependencies to their latest `v6.x` version
62+
- Check your console and testing environments to see if any deprecation warnings can be seen
63+
- Remove any usages of deprecated packages and containers
64+
- Upgrade all Garden React dependencies to their latest `v7.x` version
65+
- Update any `react-tabs`, `react-pagination`, and `react-loaders` usages affected by the breaking changes listed above
66+
67+
For this breaking change we were able to allow an open range for our peer dependency of `react-theming` to allow `v6` and `v7` versions.
68+
69+
This allows you to upgrade each package individually if necessary, ending with `react-theming`.
70+
If you have any questions about this process please open an issue.

packages/colorpickers/src/elements/ColorPickerDialog/index.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import React, {
1414
forwardRef,
1515
ReactElement
1616
} from 'react';
17+
import { useTheme } from 'styled-components';
1718
import PropTypes from 'prop-types';
1819
import { Button } from '@zendeskgarden/react-buttons';
1920
import { PLACEMENT } from '@zendeskgarden/react-modals';
@@ -27,7 +28,7 @@ import {
2728
StyledTooltipBody
2829
} from '../../styled';
2930
import { IColor, IColorPickerDialogProps } from '../../types';
30-
import { useText } from '@zendeskgarden/react-theming';
31+
import { DEFAULT_THEME, useText } from '@zendeskgarden/react-theming';
3132

3233
/**
3334
* @extends HTMLAttributes<HTMLDivElement>
@@ -70,6 +71,7 @@ export const ColorPickerDialog = forwardRef<HTMLDivElement, IColorPickerDialogPr
7071
'aria-label',
7172
'Color picker'
7273
);
74+
const theme = useTheme() || DEFAULT_THEME;
7375

7476
const openDialog = () => {
7577
setReferenceElement(buttonRef.current);
@@ -128,6 +130,7 @@ export const ColorPickerDialog = forwardRef<HTMLDivElement, IColorPickerDialogPr
128130
isAnimated={isAnimated}
129131
focusOnMount={false}
130132
placement={placement}
133+
offset={theme.space.base}
131134
referenceElement={referenceElement}
132135
onClose={() => {
133136
closeDialog();

packages/colorpickers/src/elements/ColorSwatchDialog/index.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ import React, {
1414
forwardRef,
1515
ReactElement
1616
} from 'react';
17+
import { useTheme } from 'styled-components';
1718
import PropTypes from 'prop-types';
1819
import { Button } from '@zendeskgarden/react-buttons';
1920
import { PLACEMENT } from '@zendeskgarden/react-modals';
20-
import { useText } from '@zendeskgarden/react-theming';
21+
import { DEFAULT_THEME, useText } from '@zendeskgarden/react-theming';
2122
import { composeEventHandlers } from '@zendeskgarden/container-utilities';
2223
import Chevron from '@zendeskgarden/svg-icons/src/16/chevron-down-stroke.svg';
2324
import { ColorSwatch } from '../ColorSwatch';
@@ -65,6 +66,7 @@ export const ColorSwatchDialog = forwardRef<HTMLDivElement, IColorSwatchDialogPr
6566
const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);
6667
const [rowIndex, setRowIndex] = useState<number | undefined>(defaultSelectedRowIndex);
6768
const [colIndex, setColIndex] = useState<number | undefined>(defaultSelectedColIndex);
69+
const theme = useTheme() || DEFAULT_THEME;
6870
let backgroundColor;
6971

7072
if (isControlled) {
@@ -159,6 +161,7 @@ export const ColorSwatchDialog = forwardRef<HTMLDivElement, IColorSwatchDialogPr
159161
hasArrow={hasArrow}
160162
focusOnMount={false}
161163
placement={placement}
164+
offset={theme.space.base}
162165
isAnimated={isAnimated}
163166
referenceElement={referenceElement}
164167
onClose={closeDialog}

packages/modals/src/elements/TooltipDialog/TooltipDialog.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const TooltipDialogComponent = React.forwardRef<HTMLDivElement, ITooltipDialogPr
3535
appendToNode,
3636
referenceElement,
3737
placement: _placement,
38+
offset: _offset,
3839
onClose,
3940
hasArrow,
4041
isAnimated,
@@ -81,7 +82,7 @@ const TooltipDialogComponent = React.forwardRef<HTMLDivElement, ITooltipDialogPr
8182
elements: { reference: referenceElement, floating: floatingElement },
8283
placement: floatingPlacement,
8384
middleware: [
84-
offset(theme.space.base * 3),
85+
offset(_offset === undefined ? theme.space.base * 3 : _offset),
8586
_placement === 'auto' ? autoPlacement() : undefined
8687
]
8788
});

packages/modals/src/types/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ export interface ITooltipDialogProps extends Omit<IModalProps, 'isCentered' | 'i
7979
* Positions the modal relative to the provided `HTMLElement`
8080
*/
8181
referenceElement?: HTMLElement | null;
82+
/** @ignore Modifies the placement offset from the reference element (internal only) */
83+
offset?: number;
8284
/**
8385
* Adjusts the placement of the tooltip
8486
**/

0 commit comments

Comments
 (0)