@atlaskit/dropdown-menu 11.0.0 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/codemods/11.0.0-lite-mode.tsx +12 -0
- package/codemods/__tests__/11.0.0-lite-mode.test.tsx +22 -2
- package/codemods/__tests__/convert-triggerType.test.tsx +89 -6
- package/codemods/migrates/convert-trigger-type.tsx +14 -5
- package/codemods/migrates/deprecate-autoFocus.tsx +18 -0
- package/codemods/migrates/deprecate-boundariesElement.tsx +9 -0
- package/codemods/migrates/deprecate-isCompact.tsx +18 -0
- package/codemods/migrates/deprecate-isHidden.tsx +18 -0
- package/codemods/migrates/deprecate-isMenuFixed.tsx +9 -0
- package/dist/cjs/checkbox/dropdown-item-checkbox.js +5 -2
- package/dist/cjs/dropdown-menu-item.js +3 -1
- package/dist/cjs/dropdown-menu.js +45 -30
- package/dist/cjs/index.js +12 -12
- package/dist/cjs/internal/components/menu-wrapper.js +5 -2
- package/dist/cjs/internal/hooks/use-radio-state.js +2 -2
- package/dist/cjs/internal/utils/get-icon-colors.js +3 -3
- package/dist/cjs/internal/utils/reset-options-in-group.js +2 -2
- package/dist/cjs/internal/utils/use-generated-id.js +29 -0
- package/dist/cjs/radio/dropdown-item-radio-group.js +2 -2
- package/dist/cjs/radio/dropdown-item-radio.js +5 -2
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/visual-regression/index.js +93 -0
- package/dist/es2019/checkbox/dropdown-item-checkbox.js +2 -1
- package/dist/es2019/dropdown-menu.js +38 -31
- package/dist/es2019/internal/components/menu-wrapper.js +2 -1
- package/dist/es2019/internal/utils/get-icon-colors.js +3 -3
- package/dist/es2019/internal/utils/use-generated-id.js +18 -0
- package/dist/es2019/radio/dropdown-item-radio.js +2 -1
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/visual-regression/index.js +30 -0
- package/dist/esm/checkbox/dropdown-item-checkbox.js +4 -2
- package/dist/esm/dropdown-menu-item.js +2 -1
- package/dist/esm/dropdown-menu.js +43 -30
- package/dist/esm/internal/components/menu-wrapper.js +4 -2
- package/dist/esm/internal/hooks/use-radio-state.js +2 -2
- package/dist/esm/internal/utils/get-icon-colors.js +3 -3
- package/dist/esm/internal/utils/reset-options-in-group.js +2 -2
- package/dist/esm/internal/utils/use-generated-id.js +21 -0
- package/dist/esm/radio/dropdown-item-radio-group.js +2 -2
- package/dist/esm/radio/dropdown-item-radio.js +4 -2
- package/dist/esm/version.json +1 -1
- package/dist/esm/visual-regression/index.js +86 -0
- package/dist/types/checkbox/dropdown-item-checkbox-group.d.ts +1 -0
- package/dist/types/checkbox/dropdown-item-checkbox.d.ts +1 -0
- package/dist/types/dropdown-menu-item.d.ts +1 -0
- package/dist/types/dropdown-menu.d.ts +1 -0
- package/dist/types/internal/components/menu-wrapper.d.ts +1 -0
- package/dist/types/internal/utils/get-icon-colors.d.ts +3 -3
- package/dist/types/internal/utils/use-generated-id.d.ts +5 -0
- package/dist/types/radio/dropdown-item-radio.d.ts +1 -0
- package/dist/types/types.d.ts +6 -0
- package/dist/types/visual-regression/index.d.ts +1 -0
- package/package.json +10 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# @atlaskit/dropdown-menu
|
|
2
2
|
|
|
3
|
+
## 11.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`bb8a0f713e8`](https://bitbucket.org/atlassian/atlassian-frontend/commits/bb8a0f713e8) - Add zIndex prop to pass custom z-index for the menu if it clashes with other components on the screen
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- [`58884c2f6c1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/58884c2f6c1) - Internal code change turning on a new linting rule.
|
|
12
|
+
- [`94886036118`](https://bitbucket.org/atlassian/atlassian-frontend/commits/94886036118) - Internal refactor to properly use render props to avoid unwanted re-mounts and improve test coverage
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
15
|
+
## 11.0.3
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [`19d72473dfb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/19d72473dfb) - Updates usage of deprecated token names so they're aligned with the latest naming conventions. No UI or visual changes
|
|
20
|
+
- [`19d72473dfb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/19d72473dfb) - Bump dependency tiny-invariant to latest"
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
|
|
23
|
+
## 11.0.2
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- Updated dependencies
|
|
28
|
+
|
|
29
|
+
## 11.0.1
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- [`c2dd770a743`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c2dd770a743) - Add new prop which controls is outside click should be bound using capture
|
|
34
|
+
- Updated dependencies
|
|
35
|
+
|
|
3
36
|
## 11.0.0
|
|
4
37
|
|
|
5
38
|
### Major Changes
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { createTransformer } from '@atlaskit/codemod-utils';
|
|
2
2
|
|
|
3
3
|
import convertTriggerType from './migrates/convert-trigger-type';
|
|
4
|
+
import deprecateAutoFocus from './migrates/deprecate-autoFocus';
|
|
5
|
+
import deprecateboundariesElement from './migrates/deprecate-boundariesElement';
|
|
6
|
+
import deprecateIsCompact from './migrates/deprecate-isCompact';
|
|
7
|
+
import deprecateIsHidden from './migrates/deprecate-isHidden';
|
|
8
|
+
import deprecateIsMenuFixed from './migrates/deprecate-isMenuFixed';
|
|
4
9
|
import deprecateItems from './migrates/deprecate-items';
|
|
5
10
|
import deprecateOnItemActivated from './migrates/deprecate-onItemActivated';
|
|
6
11
|
import deprecateOnPositioned from './migrates/deprecate-onPositioned';
|
|
@@ -22,6 +27,13 @@ const transformer = createTransformer([
|
|
|
22
27
|
deprecateOnItemActivated,
|
|
23
28
|
deprecateOnPositioned,
|
|
24
29
|
deprecateShouldFitContainer,
|
|
30
|
+
deprecateboundariesElement,
|
|
31
|
+
deprecateIsMenuFixed,
|
|
32
|
+
|
|
33
|
+
// props on *Items
|
|
34
|
+
...deprecateAutoFocus(),
|
|
35
|
+
...deprecateIsCompact(),
|
|
36
|
+
...deprecateIsHidden(),
|
|
25
37
|
|
|
26
38
|
replaceShouldAllowMultiline,
|
|
27
39
|
updatePositionValue,
|
|
@@ -12,7 +12,7 @@ describe('apply all needed codemods for version 11.0.0 major bump', () => {
|
|
|
12
12
|
`
|
|
13
13
|
import React from "react";
|
|
14
14
|
import DropdownMenu, {
|
|
15
|
-
DropdownItemGroupCheckbox as MyComponent, DropdownItemCheckbox,
|
|
15
|
+
DropdownItemGroupCheckbox as MyComponent, DropdownItemCheckbox, DropdownItem, DropdownItemRadio,
|
|
16
16
|
} from "@atlaskit/dropdown-menu";
|
|
17
17
|
|
|
18
18
|
export default () => (
|
|
@@ -24,14 +24,31 @@ describe('apply all needed codemods for version 11.0.0 major bump', () => {
|
|
|
24
24
|
onPositioned={() => {}}
|
|
25
25
|
position="bottom left"
|
|
26
26
|
shouldFitContainer={false}
|
|
27
|
+
boundariesElement={document.body}
|
|
28
|
+
isMenuFixed
|
|
27
29
|
shouldAllowMultiline>
|
|
30
|
+
<DropdownItem
|
|
31
|
+
isHidden
|
|
32
|
+
autoFocus
|
|
33
|
+
isCompact
|
|
34
|
+
>Cut</DropdownItem>
|
|
35
|
+
<DropdownItemCheckbox
|
|
36
|
+
isHidden
|
|
37
|
+
autoFocus
|
|
38
|
+
isCompact
|
|
39
|
+
>Copy</DropdownItemCheckbox>
|
|
40
|
+
<DropdownItemRadio
|
|
41
|
+
isHidden
|
|
42
|
+
autoFocus
|
|
43
|
+
isCompact
|
|
44
|
+
>Paste</DropdownItemRadio>
|
|
28
45
|
</DropdownMenu>
|
|
29
46
|
);
|
|
30
47
|
`,
|
|
31
48
|
`
|
|
32
49
|
import React from "react";
|
|
33
50
|
import DropdownMenu, {
|
|
34
|
-
DropdownItemCheckboxGroup as MyComponent, DropdownItemCheckbox,
|
|
51
|
+
DropdownItemCheckboxGroup as MyComponent, DropdownItemCheckbox, DropdownItem, DropdownItemRadio,
|
|
35
52
|
} from "@atlaskit/dropdown-menu";
|
|
36
53
|
|
|
37
54
|
export default () => (
|
|
@@ -40,6 +57,9 @@ describe('apply all needed codemods for version 11.0.0 major bump', () => {
|
|
|
40
57
|
placement="bottom-start"
|
|
41
58
|
shouldTitleWrap
|
|
42
59
|
shouldDescriptionWrap>
|
|
60
|
+
<DropdownItem>Cut</DropdownItem>
|
|
61
|
+
<DropdownItemCheckbox>Copy</DropdownItemCheckbox>
|
|
62
|
+
<DropdownItemRadio>Paste</DropdownItemRadio>
|
|
43
63
|
</DropdownMenu>
|
|
44
64
|
);
|
|
45
65
|
`,
|
|
@@ -66,7 +66,7 @@ describe('update position value', () => {
|
|
|
66
66
|
import DropdownMenu from "@atlaskit/dropdown-menu";
|
|
67
67
|
|
|
68
68
|
export default () => (
|
|
69
|
-
<DropdownMenu
|
|
69
|
+
<DropdownMenu
|
|
70
70
|
trigger={
|
|
71
71
|
<div>
|
|
72
72
|
<button/> trigger
|
|
@@ -81,20 +81,103 @@ describe('update position value', () => {
|
|
|
81
81
|
import DropdownMenu from "@atlaskit/dropdown-menu";
|
|
82
82
|
|
|
83
83
|
export default () => (
|
|
84
|
-
|
|
84
|
+
<DropdownMenu
|
|
85
|
+
/* TODO: (from codemod)
|
|
85
86
|
The usage of the 'trigger', 'triggerType' and 'triggerButtonProps' prop in this component could not be transformed and requires manual intervention.
|
|
86
|
-
Since version 11.0.0, we simplified the API and
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
Since version 11.0.0, we have simplified the API and now only use the 'trigger' prop.
|
|
88
|
+
Please refer to https://hello.atlassian.net/wiki/spaces/DST/pages/1330997516/Dropdown+menu+upgrade+guide for more details.
|
|
89
|
+
And feel free to reach out to us on our support channel if you have more queries – #help-design-system. */
|
|
89
90
|
trigger={
|
|
90
91
|
<div>
|
|
91
92
|
<button/> trigger
|
|
92
93
|
</div>
|
|
93
94
|
}
|
|
94
95
|
triggerType="button">
|
|
95
|
-
</DropdownMenu>
|
|
96
|
+
</DropdownMenu>
|
|
96
97
|
);
|
|
97
98
|
`,
|
|
98
99
|
'should only add comments triggerType prop when trigger is an object',
|
|
99
100
|
);
|
|
101
|
+
|
|
102
|
+
defineInlineTest(
|
|
103
|
+
{ default: transformer, parser: 'tsx' },
|
|
104
|
+
{},
|
|
105
|
+
`
|
|
106
|
+
import React from "react";
|
|
107
|
+
import DropdownMenu from "@atlaskit/dropdown-menu";
|
|
108
|
+
|
|
109
|
+
export default () => (
|
|
110
|
+
<DropdownMenu
|
|
111
|
+
trigger={
|
|
112
|
+
<div>
|
|
113
|
+
<button/> trigger
|
|
114
|
+
</div>
|
|
115
|
+
}>
|
|
116
|
+
</DropdownMenu>
|
|
117
|
+
);
|
|
118
|
+
`,
|
|
119
|
+
`
|
|
120
|
+
import React from "react";
|
|
121
|
+
import DropdownMenu from "@atlaskit/dropdown-menu";
|
|
122
|
+
|
|
123
|
+
export default () => (
|
|
124
|
+
<DropdownMenu
|
|
125
|
+
/* TODO: (from codemod)
|
|
126
|
+
The usage of the 'trigger', 'triggerType' and 'triggerButtonProps' prop in this component could not be transformed and requires manual intervention.
|
|
127
|
+
Since version 11.0.0, we have simplified the API and now only use the 'trigger' prop.
|
|
128
|
+
Please refer to https://hello.atlassian.net/wiki/spaces/DST/pages/1330997516/Dropdown+menu+upgrade+guide for more details.
|
|
129
|
+
And feel free to reach out to us on our support channel if you have more queries – #help-design-system. */
|
|
130
|
+
trigger={
|
|
131
|
+
<div>
|
|
132
|
+
<button/> trigger
|
|
133
|
+
</div>
|
|
134
|
+
}>
|
|
135
|
+
</DropdownMenu>
|
|
136
|
+
);
|
|
137
|
+
`,
|
|
138
|
+
'should only add comments triggerType prop when trigger is an object',
|
|
139
|
+
);
|
|
140
|
+
|
|
141
|
+
defineInlineTest(
|
|
142
|
+
{ default: transformer, parser: 'tsx' },
|
|
143
|
+
{},
|
|
144
|
+
`
|
|
145
|
+
import React from "react";
|
|
146
|
+
import DropdownMenu from "@atlaskit/dropdown-menu";
|
|
147
|
+
|
|
148
|
+
export default () => (
|
|
149
|
+
<DropdownMenuWrapper>
|
|
150
|
+
<DropdownMenu
|
|
151
|
+
trigger={
|
|
152
|
+
<div>
|
|
153
|
+
<button/> trigger
|
|
154
|
+
</div>
|
|
155
|
+
}>
|
|
156
|
+
</DropdownMenu>
|
|
157
|
+
</DropdownMenuWrapper>
|
|
158
|
+
);
|
|
159
|
+
`,
|
|
160
|
+
`
|
|
161
|
+
import React from "react";
|
|
162
|
+
import DropdownMenu from "@atlaskit/dropdown-menu";
|
|
163
|
+
|
|
164
|
+
export default () => (
|
|
165
|
+
<DropdownMenuWrapper>
|
|
166
|
+
<DropdownMenu
|
|
167
|
+
/* TODO: (from codemod)
|
|
168
|
+
The usage of the 'trigger', 'triggerType' and 'triggerButtonProps' prop in this component could not be transformed and requires manual intervention.
|
|
169
|
+
Since version 11.0.0, we have simplified the API and now only use the 'trigger' prop.
|
|
170
|
+
Please refer to https://hello.atlassian.net/wiki/spaces/DST/pages/1330997516/Dropdown+menu+upgrade+guide for more details.
|
|
171
|
+
And feel free to reach out to us on our support channel if you have more queries – #help-design-system. */
|
|
172
|
+
trigger={
|
|
173
|
+
<div>
|
|
174
|
+
<button/> trigger
|
|
175
|
+
</div>
|
|
176
|
+
}>
|
|
177
|
+
</DropdownMenu>
|
|
178
|
+
</DropdownMenuWrapper>
|
|
179
|
+
);
|
|
180
|
+
`,
|
|
181
|
+
'should only add comments that do not appear on the DOM',
|
|
182
|
+
);
|
|
100
183
|
});
|
|
@@ -9,8 +9,9 @@ import {
|
|
|
9
9
|
|
|
10
10
|
const comment = `
|
|
11
11
|
The usage of the 'trigger', 'triggerType' and 'triggerButtonProps' prop in this component could not be transformed and requires manual intervention.
|
|
12
|
-
Since version 11.0.0, we simplified the API and
|
|
13
|
-
|
|
12
|
+
Since version 11.0.0, we have simplified the API and now only use the 'trigger' prop.
|
|
13
|
+
Please refer to https://hello.atlassian.net/wiki/spaces/DST/pages/1330997516/Dropdown+menu+upgrade+guide for more details.
|
|
14
|
+
And feel free to reach out to us on our support channel if you have more queries – #help-design-system.
|
|
14
15
|
`;
|
|
15
16
|
|
|
16
17
|
const convertTriggerType = (j: core.JSCodeshift, source: Collection<Node>) => {
|
|
@@ -30,8 +31,8 @@ const convertTriggerType = (j: core.JSCodeshift, source: Collection<Node>) => {
|
|
|
30
31
|
const triggerTypeProp = getJSXAttributesByName(j, element, 'triggerType');
|
|
31
32
|
const triggerProp = getJSXAttributesByName(j, element, 'trigger');
|
|
32
33
|
|
|
33
|
-
// just skip when
|
|
34
|
-
if (
|
|
34
|
+
// just skip when trigger is not defined
|
|
35
|
+
if (triggerProp.length === 0) {
|
|
35
36
|
return;
|
|
36
37
|
}
|
|
37
38
|
|
|
@@ -49,7 +50,15 @@ const convertTriggerType = (j: core.JSCodeshift, source: Collection<Node>) => {
|
|
|
49
50
|
});
|
|
50
51
|
} else {
|
|
51
52
|
// for anything else we left a inline message
|
|
52
|
-
|
|
53
|
+
// Overriding the comment prefix to be 'TODO: (from codemod)'
|
|
54
|
+
// to avoid trailing spaces.
|
|
55
|
+
addCommentBefore(
|
|
56
|
+
j,
|
|
57
|
+
triggerProp,
|
|
58
|
+
comment,
|
|
59
|
+
'block',
|
|
60
|
+
'TODO: (from codemod)',
|
|
61
|
+
);
|
|
53
62
|
}
|
|
54
63
|
});
|
|
55
64
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// eslint-disable-next-line @repo/internal/fs/filename-pattern-match
|
|
2
|
+
import { createRemoveFuncFor } from '@atlaskit/codemod-utils';
|
|
3
|
+
|
|
4
|
+
const deprecateAutoFocus = () => [
|
|
5
|
+
createRemoveFuncFor('@atlaskit/dropdown-menu', 'DropdownItem', 'autoFocus'),
|
|
6
|
+
createRemoveFuncFor(
|
|
7
|
+
'@atlaskit/dropdown-menu',
|
|
8
|
+
'DropdownItemCheckbox',
|
|
9
|
+
'autoFocus',
|
|
10
|
+
),
|
|
11
|
+
createRemoveFuncFor(
|
|
12
|
+
'@atlaskit/dropdown-menu',
|
|
13
|
+
'DropdownItemRadio',
|
|
14
|
+
'autoFocus',
|
|
15
|
+
),
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
export default deprecateAutoFocus;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// eslint-disable-next-line @repo/internal/fs/filename-pattern-match
|
|
2
|
+
import { createRemoveFuncAddCommentFor } from '@atlaskit/codemod-utils';
|
|
3
|
+
|
|
4
|
+
const deprecateItems = createRemoveFuncAddCommentFor(
|
|
5
|
+
'@atlaskit/dropdown-menu',
|
|
6
|
+
'boundariesElement',
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
export default deprecateItems;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// eslint-disable-next-line @repo/internal/fs/filename-pattern-match
|
|
2
|
+
import { createRemoveFuncFor } from '@atlaskit/codemod-utils';
|
|
3
|
+
|
|
4
|
+
const deprecateIsCompact = () => [
|
|
5
|
+
createRemoveFuncFor('@atlaskit/dropdown-menu', 'DropdownItem', 'isCompact'),
|
|
6
|
+
createRemoveFuncFor(
|
|
7
|
+
'@atlaskit/dropdown-menu',
|
|
8
|
+
'DropdownItemCheckbox',
|
|
9
|
+
'isCompact',
|
|
10
|
+
),
|
|
11
|
+
createRemoveFuncFor(
|
|
12
|
+
'@atlaskit/dropdown-menu',
|
|
13
|
+
'DropdownItemRadio',
|
|
14
|
+
'isCompact',
|
|
15
|
+
),
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
export default deprecateIsCompact;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// eslint-disable-next-line @repo/internal/fs/filename-pattern-match
|
|
2
|
+
import { createRemoveFuncFor } from '@atlaskit/codemod-utils';
|
|
3
|
+
|
|
4
|
+
const deprecateIsHidden = () => [
|
|
5
|
+
createRemoveFuncFor('@atlaskit/dropdown-menu', 'DropdownItem', 'isHidden'),
|
|
6
|
+
createRemoveFuncFor(
|
|
7
|
+
'@atlaskit/dropdown-menu',
|
|
8
|
+
'DropdownItemCheckbox',
|
|
9
|
+
'isHidden',
|
|
10
|
+
),
|
|
11
|
+
createRemoveFuncFor(
|
|
12
|
+
'@atlaskit/dropdown-menu',
|
|
13
|
+
'DropdownItemRadio',
|
|
14
|
+
'isHidden',
|
|
15
|
+
),
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
export default deprecateIsHidden;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// eslint-disable-next-line @repo/internal/fs/filename-pattern-match
|
|
2
|
+
import { createRemoveFuncAddCommentFor } from '@atlaskit/codemod-utils';
|
|
3
|
+
|
|
4
|
+
const deprecateItems = createRemoveFuncAddCommentFor(
|
|
5
|
+
'@atlaskit/dropdown-menu',
|
|
6
|
+
'isMenuFixed',
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
export default deprecateItems;
|
|
@@ -31,6 +31,8 @@ var _getIconColors = _interopRequireDefault(require("../internal/utils/get-icon-
|
|
|
31
31
|
|
|
32
32
|
var _isVoiceOverSupported = _interopRequireDefault(require("../internal/utils/is-voice-over-supported"));
|
|
33
33
|
|
|
34
|
+
var _excluded = ["id", "isSelected", "defaultSelected", "onClick", "shouldTitleWrap", "shouldDescriptionWrap"];
|
|
35
|
+
|
|
34
36
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
35
37
|
|
|
36
38
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -54,7 +56,7 @@ var DropdownItemCheckbox = function DropdownItemCheckbox(props) {
|
|
|
54
56
|
shouldTitleWrap = _props$shouldTitleWra === void 0 ? true : _props$shouldTitleWra,
|
|
55
57
|
_props$shouldDescript = props.shouldDescriptionWrap,
|
|
56
58
|
shouldDescriptionWrap = _props$shouldDescript === void 0 ? true : _props$shouldDescript,
|
|
57
|
-
rest = (0, _objectWithoutProperties2.default)(props,
|
|
59
|
+
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
58
60
|
|
|
59
61
|
if (process.env.NODE_ENV !== 'production' && typeof isSelected !== 'undefined' && typeof defaultSelected !== 'undefined') {
|
|
60
62
|
// eslint-disable-next-line no-console
|
|
@@ -98,7 +100,8 @@ var DropdownItemCheckbox = function DropdownItemCheckbox(props) {
|
|
|
98
100
|
primaryColor: iconColors.primary,
|
|
99
101
|
secondaryColor: iconColors.secondary
|
|
100
102
|
}),
|
|
101
|
-
ref: itemRef
|
|
103
|
+
ref: itemRef // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
104
|
+
|
|
102
105
|
}, rest));
|
|
103
106
|
};
|
|
104
107
|
|
|
@@ -19,6 +19,8 @@ var _linkItem = _interopRequireDefault(require("@atlaskit/menu/link-item"));
|
|
|
19
19
|
|
|
20
20
|
var _useRegisterItemWithFocusManager = _interopRequireDefault(require("./internal/hooks/use-register-item-with-focus-manager"));
|
|
21
21
|
|
|
22
|
+
var _excluded = ["elemBefore", "elemAfter", "href", "shouldTitleWrap", "shouldDescriptionWrap"];
|
|
23
|
+
|
|
22
24
|
/**
|
|
23
25
|
* __Dropdown menu item__
|
|
24
26
|
*
|
|
@@ -36,7 +38,7 @@ var DropdownMenuItem = function DropdownMenuItem(props) {
|
|
|
36
38
|
shouldTitleWrap = _props$shouldTitleWra === void 0 ? true : _props$shouldTitleWra,
|
|
37
39
|
_props$shouldDescript = props.shouldDescriptionWrap,
|
|
38
40
|
shouldDescriptionWrap = _props$shouldDescript === void 0 ? true : _props$shouldDescript,
|
|
39
|
-
rest = (0, _objectWithoutProperties2.default)(props,
|
|
41
|
+
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
40
42
|
var itemRef = (0, _useRegisterItemWithFocusManager.default)();
|
|
41
43
|
|
|
42
44
|
if (href) {
|
|
@@ -9,6 +9,8 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
12
14
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
15
|
|
|
14
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -45,7 +47,14 @@ var _menuWrapper = _interopRequireDefault(require("./internal/components/menu-wr
|
|
|
45
47
|
|
|
46
48
|
var _selectionStore = _interopRequireDefault(require("./internal/context/selection-store"));
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
var _useGeneratedId = _interopRequireDefault(require("./internal/utils/use-generated-id"));
|
|
51
|
+
|
|
52
|
+
var _excluded = ["ref"];
|
|
53
|
+
|
|
54
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
55
|
+
|
|
56
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
57
|
+
|
|
49
58
|
var gridSize = (0, _constants.gridSize)();
|
|
50
59
|
var spinnerContainerStyles = (0, _core.css)({
|
|
51
60
|
display: 'flex',
|
|
@@ -54,6 +63,7 @@ var spinnerContainerStyles = (0, _core.css)({
|
|
|
54
63
|
justifyContent: 'center'
|
|
55
64
|
});
|
|
56
65
|
var MAX_HEIGHT = "calc(100vh - ".concat(gridSize * 2, "px)");
|
|
66
|
+
var fallbackPlacements = ['bottom', 'bottom-end', 'right-start', 'left-start', 'auto'];
|
|
57
67
|
/**
|
|
58
68
|
* __Dropdown menu__
|
|
59
69
|
*
|
|
@@ -73,7 +83,7 @@ var DropdownMenu = function DropdownMenu(props) {
|
|
|
73
83
|
children = props.children,
|
|
74
84
|
_props$placement = props.placement,
|
|
75
85
|
placement = _props$placement === void 0 ? 'bottom-start' : _props$placement,
|
|
76
|
-
|
|
86
|
+
_trigger = props.trigger,
|
|
77
87
|
_props$shouldFlip = props.shouldFlip,
|
|
78
88
|
shouldFlip = _props$shouldFlip === void 0 ? true : _props$shouldFlip,
|
|
79
89
|
_props$isLoading = props.isLoading,
|
|
@@ -82,7 +92,9 @@ var DropdownMenu = function DropdownMenu(props) {
|
|
|
82
92
|
autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,
|
|
83
93
|
testId = props.testId,
|
|
84
94
|
_props$statusLabel = props.statusLabel,
|
|
85
|
-
statusLabel = _props$statusLabel === void 0 ? 'Loading' : _props$statusLabel
|
|
95
|
+
statusLabel = _props$statusLabel === void 0 ? 'Loading' : _props$statusLabel,
|
|
96
|
+
_props$zIndex = props.zIndex,
|
|
97
|
+
zIndex = _props$zIndex === void 0 ? _constants.layers.modal() : _props$zIndex;
|
|
86
98
|
|
|
87
99
|
var _useControlledState = (0, _useControlled.default)(isOpen, function () {
|
|
88
100
|
return defaultOpen;
|
|
@@ -137,40 +149,43 @@ var DropdownMenu = function DropdownMenu(props) {
|
|
|
137
149
|
};
|
|
138
150
|
|
|
139
151
|
(0, _useKeydownEvent.default)(handleDownArrow, isFocused);
|
|
140
|
-
|
|
141
|
-
var renderTrigger = function renderTrigger(triggerProps) {
|
|
142
|
-
if (typeof Trigger === 'function') {
|
|
143
|
-
var ref = triggerProps.ref,
|
|
144
|
-
providedProps = (0, _objectWithoutProperties2.default)(triggerProps, ["ref"]);
|
|
145
|
-
return (0, _core.jsx)(Trigger, (0, _extends2.default)({}, providedProps, bindFocus, {
|
|
146
|
-
triggerRef: ref,
|
|
147
|
-
isSelected: isLocalOpen,
|
|
148
|
-
onClick: handleTriggerClicked,
|
|
149
|
-
testId: testId && "".concat(testId, "--trigger")
|
|
150
|
-
}));
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
return (0, _core.jsx)(_standardButton.default, (0, _extends2.default)({}, triggerProps, bindFocus, {
|
|
154
|
-
isSelected: isLocalOpen,
|
|
155
|
-
iconAfter: (0, _core.jsx)(_chevronDown.default, {
|
|
156
|
-
size: "medium",
|
|
157
|
-
label: "expand"
|
|
158
|
-
}),
|
|
159
|
-
onClick: handleTriggerClicked,
|
|
160
|
-
testId: testId && "".concat(testId, "--trigger")
|
|
161
|
-
}), Trigger);
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
var fallbackPlacements = ['bottom', 'bottom-end', 'right-start', 'left-start', 'auto'];
|
|
152
|
+
var id = (0, _useGeneratedId.default)();
|
|
165
153
|
return (0, _core.jsx)(_selectionStore.default, null, (0, _core.jsx)(_popup.default, {
|
|
154
|
+
id: isLocalOpen ? id : undefined,
|
|
166
155
|
shouldFlip: shouldFlip,
|
|
167
156
|
isOpen: isLocalOpen,
|
|
168
157
|
onClose: handleOnClose,
|
|
169
|
-
zIndex:
|
|
158
|
+
zIndex: zIndex,
|
|
170
159
|
placement: placement,
|
|
171
160
|
fallbackPlacements: fallbackPlacements,
|
|
172
161
|
testId: testId && "".concat(testId, "--content"),
|
|
173
|
-
|
|
162
|
+
shouldUseCaptureOnOutsideClick: true,
|
|
163
|
+
trigger: function trigger(triggerProps) {
|
|
164
|
+
if (typeof _trigger === 'function') {
|
|
165
|
+
var ref = triggerProps.ref,
|
|
166
|
+
providedProps = (0, _objectWithoutProperties2.default)(triggerProps, _excluded);
|
|
167
|
+
return _trigger(_objectSpread(_objectSpread(_objectSpread({}, providedProps), bindFocus), {}, {
|
|
168
|
+
triggerRef: ref,
|
|
169
|
+
isSelected: isLocalOpen,
|
|
170
|
+
onClick: handleTriggerClicked,
|
|
171
|
+
testId: testId && "".concat(testId, "--trigger")
|
|
172
|
+
}));
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return (0, _core.jsx)(_standardButton.default, (0, _extends2.default)({}, bindFocus, {
|
|
176
|
+
ref: triggerProps.ref,
|
|
177
|
+
"aria-controls": triggerProps['aria-controls'],
|
|
178
|
+
"aria-expanded": triggerProps['aria-expanded'],
|
|
179
|
+
"aria-haspopup": triggerProps['aria-haspopup'],
|
|
180
|
+
isSelected: isLocalOpen,
|
|
181
|
+
iconAfter: (0, _core.jsx)(_chevronDown.default, {
|
|
182
|
+
size: "medium",
|
|
183
|
+
label: "expand"
|
|
184
|
+
}),
|
|
185
|
+
onClick: handleTriggerClicked,
|
|
186
|
+
testId: testId && "".concat(testId, "--trigger")
|
|
187
|
+
}), _trigger);
|
|
188
|
+
},
|
|
174
189
|
content: function content(_ref) {
|
|
175
190
|
var setInitialFocusRef = _ref.setInitialFocusRef;
|
|
176
191
|
return (0, _core.jsx)(_focusManager.default, null, (0, _core.jsx)(_menuWrapper.default, {
|
package/dist/cjs/index.js
CHANGED
|
@@ -5,18 +5,6 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
Object.defineProperty(exports, "default", {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: function get() {
|
|
11
|
-
return _dropdownMenu.default;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(exports, "DropdownItemGroup", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function get() {
|
|
17
|
-
return _dropdownMenuItemGroup.default;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
8
|
Object.defineProperty(exports, "DropdownItem", {
|
|
21
9
|
enumerable: true,
|
|
22
10
|
get: function get() {
|
|
@@ -35,6 +23,12 @@ Object.defineProperty(exports, "DropdownItemCheckboxGroup", {
|
|
|
35
23
|
return _dropdownItemCheckboxGroup.default;
|
|
36
24
|
}
|
|
37
25
|
});
|
|
26
|
+
Object.defineProperty(exports, "DropdownItemGroup", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function get() {
|
|
29
|
+
return _dropdownMenuItemGroup.default;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
38
32
|
Object.defineProperty(exports, "DropdownItemRadio", {
|
|
39
33
|
enumerable: true,
|
|
40
34
|
get: function get() {
|
|
@@ -47,6 +41,12 @@ Object.defineProperty(exports, "DropdownItemRadioGroup", {
|
|
|
47
41
|
return _dropdownItemRadioGroup.default;
|
|
48
42
|
}
|
|
49
43
|
});
|
|
44
|
+
Object.defineProperty(exports, "default", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function get() {
|
|
47
|
+
return _dropdownMenu.default;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
50
|
|
|
51
51
|
var _dropdownMenu = _interopRequireDefault(require("./dropdown-menu"));
|
|
52
52
|
|
|
@@ -23,6 +23,8 @@ var _isCheckboxItem = _interopRequireDefault(require("../utils/is-checkbox-item"
|
|
|
23
23
|
|
|
24
24
|
var _isRadioItem = _interopRequireDefault(require("../utils/is-radio-item"));
|
|
25
25
|
|
|
26
|
+
var _excluded = ["onClose", "setInitialFocusRef"];
|
|
27
|
+
|
|
26
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
29
|
|
|
28
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -37,7 +39,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
37
39
|
var MenuWrapper = function MenuWrapper(_ref) {
|
|
38
40
|
var onClose = _ref.onClose,
|
|
39
41
|
setInitialFocusRef = _ref.setInitialFocusRef,
|
|
40
|
-
props = (0, _objectWithoutProperties2.default)(_ref,
|
|
42
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
41
43
|
|
|
42
44
|
var _useContext = (0, _react.useContext)(_focusManager.FocusManagerContext),
|
|
43
45
|
menuItemRefs = _useContext.menuItemRefs;
|
|
@@ -56,7 +58,8 @@ var MenuWrapper = function MenuWrapper(_ref) {
|
|
|
56
58
|
}
|
|
57
59
|
};
|
|
58
60
|
|
|
59
|
-
setInitialFocusRef && setInitialFocusRef(menuItemRefs[0]);
|
|
61
|
+
setInitialFocusRef && setInitialFocusRef(menuItemRefs[0]); // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
62
|
+
|
|
60
63
|
return /*#__PURE__*/_react.default.createElement(_menuGroup.default, (0, _extends2.default)({
|
|
61
64
|
onClick: closeOnMenuItemClick
|
|
62
65
|
}, props));
|
|
@@ -19,9 +19,9 @@ var _selectionStore = require("../context/selection-store");
|
|
|
19
19
|
|
|
20
20
|
var _resetOptionsInGroup = _interopRequireDefault(require("../utils/reset-options-in-group"));
|
|
21
21
|
|
|
22
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
23
|
|
|
24
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
25
|
|
|
26
26
|
function useRadioState(_ref) {
|
|
27
27
|
var id = _ref.id,
|
|
@@ -10,13 +10,13 @@ var _colors = require("@atlaskit/theme/colors");
|
|
|
10
10
|
var getIconColors = function getIconColors(isSelected) {
|
|
11
11
|
if (isSelected) {
|
|
12
12
|
return {
|
|
13
|
-
primary: "var(--ds-background-
|
|
14
|
-
secondary: "var(--ds-
|
|
13
|
+
primary: "var(--ds-background-brand-bold, ".concat(_colors.B400, ")"),
|
|
14
|
+
secondary: "var(--ds-surface, ".concat(_colors.N40, ")")
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
return {
|
|
19
|
-
primary: "var(--ds-border
|
|
19
|
+
primary: "var(--ds-border, ".concat(_colors.N40, ")"),
|
|
20
20
|
secondary: "var(--ds-UNSAFE_util-transparent, ".concat(_colors.N40, ")")
|
|
21
21
|
};
|
|
22
22
|
};
|
|
@@ -9,9 +9,9 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
13
|
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
15
|
|
|
16
16
|
var resetOptionsInGroup = function resetOptionsInGroup(group) {
|
|
17
17
|
return Object.keys(group || {}).reduce(function (accumulator, current) {
|