@atlaskit/react-select 2.0.7 → 2.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 +13 -0
- package/dist/cjs/components/internal/notify-open-layer-observer.js +21 -0
- package/dist/cjs/select.js +11 -1
- package/dist/es2019/components/internal/notify-open-layer-observer.js +16 -0
- package/dist/es2019/select.js +11 -1
- package/dist/esm/components/internal/notify-open-layer-observer.js +15 -0
- package/dist/esm/select.js +11 -1
- package/dist/types/components/internal/notify-open-layer-observer.d.ts +9 -0
- package/dist/types/select.d.ts +1 -0
- package/dist/types-ts4.5/components/internal/notify-open-layer-observer.d.ts +9 -0
- package/dist/types-ts4.5/select.d.ts +1 -0
- package/package.json +8 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @atlaskit/react-select
|
|
2
2
|
|
|
3
|
+
## 2.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#135853](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/135853)
|
|
8
|
+
[`37d9e41733fc5`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/37d9e41733fc5) -
|
|
9
|
+
Select components now sync with the experimental open layer observer, using the
|
|
10
|
+
useNotifyOpenLayerObserver hook.
|
|
11
|
+
|
|
12
|
+
This is used to close any open select menus when page layout slots are resized.
|
|
13
|
+
|
|
14
|
+
These changes are behind feature flags.
|
|
15
|
+
|
|
3
16
|
## 2.0.7
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NotifyOpenLayerObserver = NotifyOpenLayerObserver;
|
|
7
|
+
var _openLayerObserver = require("@atlaskit/layering/experimental/open-layer-observer");
|
|
8
|
+
/**
|
|
9
|
+
* Functional component wrapper around `useNotifyOpenLayerObserver`.
|
|
10
|
+
*
|
|
11
|
+
* This is needed as Select is a class component, which cannot use hooks directly.
|
|
12
|
+
*/
|
|
13
|
+
function NotifyOpenLayerObserver(_ref) {
|
|
14
|
+
var isOpen = _ref.isOpen,
|
|
15
|
+
onClose = _ref.onClose;
|
|
16
|
+
(0, _openLayerObserver.useNotifyOpenLayerObserver)({
|
|
17
|
+
isOpen: isOpen,
|
|
18
|
+
onClose: onClose
|
|
19
|
+
});
|
|
20
|
+
return null;
|
|
21
|
+
}
|
package/dist/cjs/select.js
CHANGED
|
@@ -21,6 +21,7 @@ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
|
21
21
|
var _builtins = require("./builtins");
|
|
22
22
|
var _components = require("./components");
|
|
23
23
|
var _internal = require("./components/internal");
|
|
24
|
+
var _notifyOpenLayerObserver = require("./components/internal/notify-open-layer-observer");
|
|
24
25
|
var _liveRegion = _interopRequireDefault(require("./components/live-region"));
|
|
25
26
|
var _menu = require("./components/menu");
|
|
26
27
|
var _filters = require("./filters");
|
|
@@ -826,6 +827,12 @@ var Select = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
826
827
|
}
|
|
827
828
|
event.preventDefault();
|
|
828
829
|
});
|
|
830
|
+
(0, _defineProperty2.default)(_this, "handleOpenLayerObserverCloseSignal", function () {
|
|
831
|
+
if (!(0, _platformFeatureFlags.fg)('platform_dst_layer_observer_select')) {
|
|
832
|
+
return;
|
|
833
|
+
}
|
|
834
|
+
_this.onMenuClose();
|
|
835
|
+
});
|
|
829
836
|
_this.state.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);
|
|
830
837
|
_this.state.selectValue = (0, _utils.cleanValue)(_props.value);
|
|
831
838
|
// Set focusedOption if menuIsOpen is set on init (e.g. defaultMenuIsOpen)
|
|
@@ -1831,7 +1838,10 @@ var Select = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
1831
1838
|
innerProps: _objectSpread({}, testId && {
|
|
1832
1839
|
'data-testid': "".concat(testId, "-select--indicators-container")
|
|
1833
1840
|
})
|
|
1834
|
-
}), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField()
|
|
1841
|
+
}), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField(), /*#__PURE__*/_react.default.createElement(_notifyOpenLayerObserver.NotifyOpenLayerObserver, {
|
|
1842
|
+
isOpen: (0, _platformFeatureFlags.fg)('platform_dst_layer_observer_select') && this.props.menuIsOpen,
|
|
1843
|
+
onClose: this.handleOpenLayerObserverCloseSignal
|
|
1844
|
+
}));
|
|
1835
1845
|
}
|
|
1836
1846
|
}], [{
|
|
1837
1847
|
key: "getDerivedStateFromProps",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useNotifyOpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-observer';
|
|
2
|
+
/**
|
|
3
|
+
* Functional component wrapper around `useNotifyOpenLayerObserver`.
|
|
4
|
+
*
|
|
5
|
+
* This is needed as Select is a class component, which cannot use hooks directly.
|
|
6
|
+
*/
|
|
7
|
+
export function NotifyOpenLayerObserver({
|
|
8
|
+
isOpen,
|
|
9
|
+
onClose
|
|
10
|
+
}) {
|
|
11
|
+
useNotifyOpenLayerObserver({
|
|
12
|
+
isOpen,
|
|
13
|
+
onClose
|
|
14
|
+
});
|
|
15
|
+
return null;
|
|
16
|
+
}
|
package/dist/es2019/select.js
CHANGED
|
@@ -7,6 +7,7 @@ import { fg } from '@atlaskit/platform-feature-flags';
|
|
|
7
7
|
import { formatGroupLabel as formatGroupLabelBuiltin, getOptionLabel as getOptionLabelBuiltin, getOptionValue as getOptionValueBuiltin, isOptionDisabled as isOptionDisabledBuiltin } from './builtins';
|
|
8
8
|
import { defaultComponents } from './components';
|
|
9
9
|
import { DummyInput, RequiredInput, ScrollManager } from './components/internal';
|
|
10
|
+
import { NotifyOpenLayerObserver } from './components/internal/notify-open-layer-observer';
|
|
10
11
|
import LiveRegion from './components/live-region';
|
|
11
12
|
import { MenuPlacer } from './components/menu';
|
|
12
13
|
import { createFilter } from './filters';
|
|
@@ -802,6 +803,12 @@ export default class Select extends Component {
|
|
|
802
803
|
}
|
|
803
804
|
event.preventDefault();
|
|
804
805
|
});
|
|
806
|
+
_defineProperty(this, "handleOpenLayerObserverCloseSignal", () => {
|
|
807
|
+
if (!fg('platform_dst_layer_observer_select')) {
|
|
808
|
+
return;
|
|
809
|
+
}
|
|
810
|
+
this.onMenuClose();
|
|
811
|
+
});
|
|
805
812
|
this.state.instancePrefix = 'react-select-' + (this.props.instanceId || ++instanceId);
|
|
806
813
|
this.state.selectValue = cleanValue(_props.value);
|
|
807
814
|
// Set focusedOption if menuIsOpen is set on init (e.g. defaultMenuIsOpen)
|
|
@@ -1867,7 +1874,10 @@ export default class Select extends Component {
|
|
|
1867
1874
|
'data-testid': `${testId}-select--indicators-container`
|
|
1868
1875
|
})
|
|
1869
1876
|
}
|
|
1870
|
-
}), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField()
|
|
1877
|
+
}), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField(), /*#__PURE__*/React.createElement(NotifyOpenLayerObserver, {
|
|
1878
|
+
isOpen: fg('platform_dst_layer_observer_select') && this.props.menuIsOpen,
|
|
1879
|
+
onClose: this.handleOpenLayerObserverCloseSignal
|
|
1880
|
+
}));
|
|
1871
1881
|
}
|
|
1872
1882
|
}
|
|
1873
1883
|
_defineProperty(Select, "defaultProps", defaultProps);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useNotifyOpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-observer';
|
|
2
|
+
/**
|
|
3
|
+
* Functional component wrapper around `useNotifyOpenLayerObserver`.
|
|
4
|
+
*
|
|
5
|
+
* This is needed as Select is a class component, which cannot use hooks directly.
|
|
6
|
+
*/
|
|
7
|
+
export function NotifyOpenLayerObserver(_ref) {
|
|
8
|
+
var isOpen = _ref.isOpen,
|
|
9
|
+
onClose = _ref.onClose;
|
|
10
|
+
useNotifyOpenLayerObserver({
|
|
11
|
+
isOpen: isOpen,
|
|
12
|
+
onClose: onClose
|
|
13
|
+
});
|
|
14
|
+
return null;
|
|
15
|
+
}
|
package/dist/esm/select.js
CHANGED
|
@@ -18,6 +18,7 @@ import { fg } from '@atlaskit/platform-feature-flags';
|
|
|
18
18
|
import { formatGroupLabel as formatGroupLabelBuiltin, getOptionLabel as getOptionLabelBuiltin, getOptionValue as getOptionValueBuiltin, isOptionDisabled as isOptionDisabledBuiltin } from './builtins';
|
|
19
19
|
import { defaultComponents } from './components';
|
|
20
20
|
import { DummyInput, RequiredInput, ScrollManager } from './components/internal';
|
|
21
|
+
import { NotifyOpenLayerObserver } from './components/internal/notify-open-layer-observer';
|
|
21
22
|
import LiveRegion from './components/live-region';
|
|
22
23
|
import { MenuPlacer } from './components/menu';
|
|
23
24
|
import { createFilter } from './filters';
|
|
@@ -817,6 +818,12 @@ var Select = /*#__PURE__*/function (_Component) {
|
|
|
817
818
|
}
|
|
818
819
|
event.preventDefault();
|
|
819
820
|
});
|
|
821
|
+
_defineProperty(_this, "handleOpenLayerObserverCloseSignal", function () {
|
|
822
|
+
if (!fg('platform_dst_layer_observer_select')) {
|
|
823
|
+
return;
|
|
824
|
+
}
|
|
825
|
+
_this.onMenuClose();
|
|
826
|
+
});
|
|
820
827
|
_this.state.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);
|
|
821
828
|
_this.state.selectValue = cleanValue(_props.value);
|
|
822
829
|
// Set focusedOption if menuIsOpen is set on init (e.g. defaultMenuIsOpen)
|
|
@@ -1822,7 +1829,10 @@ var Select = /*#__PURE__*/function (_Component) {
|
|
|
1822
1829
|
innerProps: _objectSpread({}, testId && {
|
|
1823
1830
|
'data-testid': "".concat(testId, "-select--indicators-container")
|
|
1824
1831
|
})
|
|
1825
|
-
}), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField()
|
|
1832
|
+
}), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField(), /*#__PURE__*/React.createElement(NotifyOpenLayerObserver, {
|
|
1833
|
+
isOpen: fg('platform_dst_layer_observer_select') && this.props.menuIsOpen,
|
|
1834
|
+
onClose: this.handleOpenLayerObserverCloseSignal
|
|
1835
|
+
}));
|
|
1826
1836
|
}
|
|
1827
1837
|
}], [{
|
|
1828
1838
|
key: "getDerivedStateFromProps",
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useNotifyOpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-observer';
|
|
2
|
+
type NotifyOpenLayerObserverProps = Parameters<typeof useNotifyOpenLayerObserver>[0];
|
|
3
|
+
/**
|
|
4
|
+
* Functional component wrapper around `useNotifyOpenLayerObserver`.
|
|
5
|
+
*
|
|
6
|
+
* This is needed as Select is a class component, which cannot use hooks directly.
|
|
7
|
+
*/
|
|
8
|
+
export declare function NotifyOpenLayerObserver({ isOpen, onClose }: NotifyOpenLayerObserverProps): null;
|
|
9
|
+
export {};
|
package/dist/types/select.d.ts
CHANGED
|
@@ -694,6 +694,7 @@ export default class Select<Option = unknown, IsMulti extends boolean = false, G
|
|
|
694
694
|
renderFormField(): React.JSX.Element | undefined;
|
|
695
695
|
renderLiveRegion(): React.JSX.Element;
|
|
696
696
|
renderMultiselectMessage(): React.JSX.Element;
|
|
697
|
+
handleOpenLayerObserverCloseSignal: () => void;
|
|
697
698
|
render(): React.JSX.Element;
|
|
698
699
|
}
|
|
699
700
|
export type PublicBaseSelectProps<Option, IsMulti extends boolean, Group extends GroupBase<Option>> = JSX.LibraryManagedAttributes<typeof Select, SelectProps<Option, IsMulti, Group>>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useNotifyOpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-observer';
|
|
2
|
+
type NotifyOpenLayerObserverProps = Parameters<typeof useNotifyOpenLayerObserver>[0];
|
|
3
|
+
/**
|
|
4
|
+
* Functional component wrapper around `useNotifyOpenLayerObserver`.
|
|
5
|
+
*
|
|
6
|
+
* This is needed as Select is a class component, which cannot use hooks directly.
|
|
7
|
+
*/
|
|
8
|
+
export declare function NotifyOpenLayerObserver({ isOpen, onClose }: NotifyOpenLayerObserverProps): null;
|
|
9
|
+
export {};
|
|
@@ -694,6 +694,7 @@ export default class Select<Option = unknown, IsMulti extends boolean = false, G
|
|
|
694
694
|
renderFormField(): React.JSX.Element | undefined;
|
|
695
695
|
renderLiveRegion(): React.JSX.Element;
|
|
696
696
|
renderMultiselectMessage(): React.JSX.Element;
|
|
697
|
+
handleOpenLayerObserverCloseSignal: () => void;
|
|
697
698
|
render(): React.JSX.Element;
|
|
698
699
|
}
|
|
699
700
|
export type PublicBaseSelectProps<Option, IsMulti extends boolean, Group extends GroupBase<Option>> = JSX.LibraryManagedAttributes<typeof Select, SelectProps<Option, IsMulti, Group>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/react-select",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "A forked version of react-select to only be used in atlaskit/select",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -30,11 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@atlaskit/ds-lib": "^4.0.0",
|
|
33
|
-
"@atlaskit/icon": "^25.
|
|
33
|
+
"@atlaskit/icon": "^25.5.0",
|
|
34
|
+
"@atlaskit/layering": "^2.1.0",
|
|
34
35
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
35
|
-
"@atlaskit/primitives": "^14.
|
|
36
|
+
"@atlaskit/primitives": "^14.3.0",
|
|
36
37
|
"@atlaskit/spinner": "^18.0.0",
|
|
37
|
-
"@atlaskit/tokens": "^4.
|
|
38
|
+
"@atlaskit/tokens": "^4.6.0",
|
|
38
39
|
"@babel/runtime": "^7.0.0",
|
|
39
40
|
"@emotion/react": "^11.7.1",
|
|
40
41
|
"@floating-ui/dom": "^1.0.1",
|
|
@@ -69,6 +70,9 @@
|
|
|
69
70
|
},
|
|
70
71
|
"platform-visual-refresh-icons-legacy-facade": {
|
|
71
72
|
"type": "boolean"
|
|
73
|
+
},
|
|
74
|
+
"platform_dst_layer_observer_select": {
|
|
75
|
+
"type": "boolean"
|
|
72
76
|
}
|
|
73
77
|
},
|
|
74
78
|
"techstack": {
|