@atlaskit/select 15.7.2 → 15.7.3
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 +6 -0
- package/dist/cjs/PopupSelect/PopupSelect.js +24 -1
- package/dist/cjs/Select.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/PopupSelect/PopupSelect.js +23 -1
- package/dist/es2019/Select.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/PopupSelect/PopupSelect.js +25 -1
- package/dist/esm/Select.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/PopupSelect/PopupSelect.d.ts +3 -0
- package/dist/types-ts4.0/PopupSelect/PopupSelect.d.ts +3 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atlaskit/select
|
|
2
2
|
|
|
3
|
+
## 15.7.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`5e578b89178`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5e578b89178) - Fixed an issue in PopupSelect that caused the page to scroll to the top.
|
|
8
|
+
|
|
3
9
|
## 15.7.2
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -132,6 +132,7 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
132
132
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isOpenControlled", _this.props.isOpen !== undefined);
|
|
133
133
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "defaultOpenState", _this.isOpenControlled ? _this.props.isOpen : _this.props.defaultIsOpen);
|
|
134
134
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
135
|
+
focusLockEnabled: false,
|
|
135
136
|
isOpen: (_this$defaultOpenStat = _this.defaultOpenState) !== null && _this$defaultOpenStat !== void 0 ? _this$defaultOpenStat : false,
|
|
136
137
|
mergedComponents: _components.defaultComponents,
|
|
137
138
|
mergedPopperProps: defaultPopperProps
|
|
@@ -188,6 +189,14 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
188
189
|
onChange(value, actionMeta);
|
|
189
190
|
}
|
|
190
191
|
});
|
|
192
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleFirstPopperUpdate", function () {
|
|
193
|
+
// When the popup opens it's focused into. Since the popup is inside a portal, it's position is
|
|
194
|
+
// initially set to 0,0 - this causes the window scroll position to jump to the top. To prevent
|
|
195
|
+
// this we defer enabling the focus-lock until after Popper has positioned the popup the first time.
|
|
196
|
+
_this.setState({
|
|
197
|
+
focusLockEnabled: true
|
|
198
|
+
});
|
|
199
|
+
});
|
|
191
200
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "open", function (options) {
|
|
192
201
|
var onOpen = _this.props.onOpen;
|
|
193
202
|
|
|
@@ -245,6 +254,10 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
245
254
|
isOpen: false
|
|
246
255
|
});
|
|
247
256
|
|
|
257
|
+
_this.setState({
|
|
258
|
+
focusLockEnabled: false
|
|
259
|
+
});
|
|
260
|
+
|
|
248
261
|
if (_this.targetRef != null) {
|
|
249
262
|
_this.targetRef.focus();
|
|
250
263
|
}
|
|
@@ -328,6 +341,7 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
328
341
|
target = _this$props4.target,
|
|
329
342
|
props = (0, _objectWithoutProperties2.default)(_this$props4, _excluded);
|
|
330
343
|
var _this$state = _this.state,
|
|
344
|
+
focusLockEnabled = _this$state.focusLockEnabled,
|
|
331
345
|
isOpen = _this$state.isOpen,
|
|
332
346
|
mergedComponents = _this$state.mergedComponents,
|
|
333
347
|
mergedPopperProps = _this$state.mergedPopperProps;
|
|
@@ -344,7 +358,15 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
344
358
|
return null;
|
|
345
359
|
}
|
|
346
360
|
|
|
347
|
-
var popper = /*#__PURE__*/_react.default.createElement(_reactPopper.Popper,
|
|
361
|
+
var popper = /*#__PURE__*/_react.default.createElement(_reactPopper.Popper, (0, _extends2.default)({}, mergedPopperProps, {
|
|
362
|
+
onFirstUpdate: function onFirstUpdate(state) {
|
|
363
|
+
var _mergedPopperProps$on;
|
|
364
|
+
|
|
365
|
+
_this.handleFirstPopperUpdate();
|
|
366
|
+
|
|
367
|
+
(_mergedPopperProps$on = mergedPopperProps.onFirstUpdate) === null || _mergedPopperProps$on === void 0 ? void 0 : _mergedPopperProps$on.call(mergedPopperProps, state);
|
|
368
|
+
}
|
|
369
|
+
}), function (_ref2) {
|
|
348
370
|
var placement = _ref2.placement,
|
|
349
371
|
ref = _ref2.ref,
|
|
350
372
|
style = _ref2.style;
|
|
@@ -357,6 +379,7 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
357
379
|
maxWidth: maxMenuWidth,
|
|
358
380
|
id: _this.popperWrapperId
|
|
359
381
|
}, /*#__PURE__*/_react.default.createElement(_reactFocusLock.default, {
|
|
382
|
+
disabled: !focusLockEnabled,
|
|
360
383
|
returnFocus: true
|
|
361
384
|
}, /*#__PURE__*/_react.default.createElement(_reactSelect.default, (0, _extends2.default)({
|
|
362
385
|
backspaceRemovesValue: false,
|
package/dist/cjs/Select.js
CHANGED
|
@@ -14,7 +14,7 @@ var _analyticsNext = require("@atlaskit/analytics-next");
|
|
|
14
14
|
var _createSelect = _interopRequireDefault(require("./createSelect"));
|
|
15
15
|
|
|
16
16
|
var packageName = "@atlaskit/select";
|
|
17
|
-
var packageVersion = "15.7.
|
|
17
|
+
var packageVersion = "15.7.3";
|
|
18
18
|
var SelectWithoutAnalytics = (0, _createSelect.default)(_reactSelect.default);
|
|
19
19
|
exports.SelectWithoutAnalytics = SelectWithoutAnalytics;
|
|
20
20
|
var createAndFireEventOnAtlaskit = (0, _analyticsNext.createAndFireEvent)('atlaskit');
|
package/dist/cjs/version.json
CHANGED
|
@@ -71,6 +71,7 @@ export default class PopupSelect extends PureComponent {
|
|
|
71
71
|
_defineProperty(this, "defaultOpenState", this.isOpenControlled ? this.props.isOpen : this.props.defaultIsOpen);
|
|
72
72
|
|
|
73
73
|
_defineProperty(this, "state", {
|
|
74
|
+
focusLockEnabled: false,
|
|
74
75
|
isOpen: (_this$defaultOpenStat = this.defaultOpenState) !== null && _this$defaultOpenStat !== void 0 ? _this$defaultOpenStat : false,
|
|
75
76
|
mergedComponents: defaultComponents,
|
|
76
77
|
mergedPopperProps: defaultPopperProps
|
|
@@ -135,6 +136,15 @@ export default class PopupSelect extends PureComponent {
|
|
|
135
136
|
}
|
|
136
137
|
});
|
|
137
138
|
|
|
139
|
+
_defineProperty(this, "handleFirstPopperUpdate", () => {
|
|
140
|
+
// When the popup opens it's focused into. Since the popup is inside a portal, it's position is
|
|
141
|
+
// initially set to 0,0 - this causes the window scroll position to jump to the top. To prevent
|
|
142
|
+
// this we defer enabling the focus-lock until after Popper has positioned the popup the first time.
|
|
143
|
+
this.setState({
|
|
144
|
+
focusLockEnabled: true
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
|
|
138
148
|
_defineProperty(this, "open", options => {
|
|
139
149
|
const {
|
|
140
150
|
onOpen
|
|
@@ -194,6 +204,9 @@ export default class PopupSelect extends PureComponent {
|
|
|
194
204
|
this.setState({
|
|
195
205
|
isOpen: false
|
|
196
206
|
});
|
|
207
|
+
this.setState({
|
|
208
|
+
focusLockEnabled: false
|
|
209
|
+
});
|
|
197
210
|
|
|
198
211
|
if (this.targetRef != null) {
|
|
199
212
|
this.targetRef.focus();
|
|
@@ -286,6 +299,7 @@ export default class PopupSelect extends PureComponent {
|
|
|
286
299
|
...props
|
|
287
300
|
} = this.props;
|
|
288
301
|
const {
|
|
302
|
+
focusLockEnabled,
|
|
289
303
|
isOpen,
|
|
290
304
|
mergedComponents,
|
|
291
305
|
mergedPopperProps
|
|
@@ -300,7 +314,14 @@ export default class PopupSelect extends PureComponent {
|
|
|
300
314
|
return null;
|
|
301
315
|
}
|
|
302
316
|
|
|
303
|
-
const popper = /*#__PURE__*/React.createElement(Popper, mergedPopperProps,
|
|
317
|
+
const popper = /*#__PURE__*/React.createElement(Popper, _extends({}, mergedPopperProps, {
|
|
318
|
+
onFirstUpdate: state => {
|
|
319
|
+
var _mergedPopperProps$on;
|
|
320
|
+
|
|
321
|
+
this.handleFirstPopperUpdate();
|
|
322
|
+
(_mergedPopperProps$on = mergedPopperProps.onFirstUpdate) === null || _mergedPopperProps$on === void 0 ? void 0 : _mergedPopperProps$on.call(mergedPopperProps, state);
|
|
323
|
+
}
|
|
324
|
+
}), ({
|
|
304
325
|
placement,
|
|
305
326
|
ref,
|
|
306
327
|
style
|
|
@@ -314,6 +335,7 @@ export default class PopupSelect extends PureComponent {
|
|
|
314
335
|
maxWidth: maxMenuWidth,
|
|
315
336
|
id: this.popperWrapperId
|
|
316
337
|
}, /*#__PURE__*/React.createElement(FocusLock, {
|
|
338
|
+
disabled: !focusLockEnabled,
|
|
317
339
|
returnFocus: true
|
|
318
340
|
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
319
341
|
backspaceRemovesValue: false,
|
package/dist/es2019/Select.js
CHANGED
|
@@ -2,7 +2,7 @@ import Select from 'react-select';
|
|
|
2
2
|
import { withAnalyticsEvents, withAnalyticsContext, createAndFireEvent } from '@atlaskit/analytics-next';
|
|
3
3
|
import createSelect from './createSelect';
|
|
4
4
|
const packageName = "@atlaskit/select";
|
|
5
|
-
const packageVersion = "15.7.
|
|
5
|
+
const packageVersion = "15.7.3";
|
|
6
6
|
export const SelectWithoutAnalytics = createSelect(Select);
|
|
7
7
|
const createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');
|
|
8
8
|
export default withAnalyticsContext({
|
package/dist/es2019/version.json
CHANGED
|
@@ -106,6 +106,7 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
106
106
|
_defineProperty(_assertThisInitialized(_this), "defaultOpenState", _this.isOpenControlled ? _this.props.isOpen : _this.props.defaultIsOpen);
|
|
107
107
|
|
|
108
108
|
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
109
|
+
focusLockEnabled: false,
|
|
109
110
|
isOpen: (_this$defaultOpenStat = _this.defaultOpenState) !== null && _this$defaultOpenStat !== void 0 ? _this$defaultOpenStat : false,
|
|
110
111
|
mergedComponents: defaultComponents,
|
|
111
112
|
mergedPopperProps: defaultPopperProps
|
|
@@ -167,6 +168,15 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
167
168
|
}
|
|
168
169
|
});
|
|
169
170
|
|
|
171
|
+
_defineProperty(_assertThisInitialized(_this), "handleFirstPopperUpdate", function () {
|
|
172
|
+
// When the popup opens it's focused into. Since the popup is inside a portal, it's position is
|
|
173
|
+
// initially set to 0,0 - this causes the window scroll position to jump to the top. To prevent
|
|
174
|
+
// this we defer enabling the focus-lock until after Popper has positioned the popup the first time.
|
|
175
|
+
_this.setState({
|
|
176
|
+
focusLockEnabled: true
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
|
|
170
180
|
_defineProperty(_assertThisInitialized(_this), "open", function (options) {
|
|
171
181
|
var onOpen = _this.props.onOpen;
|
|
172
182
|
|
|
@@ -225,6 +235,10 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
225
235
|
isOpen: false
|
|
226
236
|
});
|
|
227
237
|
|
|
238
|
+
_this.setState({
|
|
239
|
+
focusLockEnabled: false
|
|
240
|
+
});
|
|
241
|
+
|
|
228
242
|
if (_this.targetRef != null) {
|
|
229
243
|
_this.targetRef.focus();
|
|
230
244
|
}
|
|
@@ -316,6 +330,7 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
316
330
|
props = _objectWithoutProperties(_this$props4, _excluded);
|
|
317
331
|
|
|
318
332
|
var _this$state = _this.state,
|
|
333
|
+
focusLockEnabled = _this$state.focusLockEnabled,
|
|
319
334
|
isOpen = _this$state.isOpen,
|
|
320
335
|
mergedComponents = _this$state.mergedComponents,
|
|
321
336
|
mergedPopperProps = _this$state.mergedPopperProps;
|
|
@@ -332,7 +347,15 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
332
347
|
return null;
|
|
333
348
|
}
|
|
334
349
|
|
|
335
|
-
var popper = /*#__PURE__*/React.createElement(Popper, mergedPopperProps,
|
|
350
|
+
var popper = /*#__PURE__*/React.createElement(Popper, _extends({}, mergedPopperProps, {
|
|
351
|
+
onFirstUpdate: function onFirstUpdate(state) {
|
|
352
|
+
var _mergedPopperProps$on;
|
|
353
|
+
|
|
354
|
+
_this.handleFirstPopperUpdate();
|
|
355
|
+
|
|
356
|
+
(_mergedPopperProps$on = mergedPopperProps.onFirstUpdate) === null || _mergedPopperProps$on === void 0 ? void 0 : _mergedPopperProps$on.call(mergedPopperProps, state);
|
|
357
|
+
}
|
|
358
|
+
}), function (_ref2) {
|
|
336
359
|
var placement = _ref2.placement,
|
|
337
360
|
ref = _ref2.ref,
|
|
338
361
|
style = _ref2.style;
|
|
@@ -345,6 +368,7 @@ var PopupSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
345
368
|
maxWidth: maxMenuWidth,
|
|
346
369
|
id: _this.popperWrapperId
|
|
347
370
|
}, /*#__PURE__*/React.createElement(FocusLock, {
|
|
371
|
+
disabled: !focusLockEnabled,
|
|
348
372
|
returnFocus: true
|
|
349
373
|
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
350
374
|
backspaceRemovesValue: false,
|
package/dist/esm/Select.js
CHANGED
|
@@ -2,7 +2,7 @@ import Select from 'react-select';
|
|
|
2
2
|
import { withAnalyticsEvents, withAnalyticsContext, createAndFireEvent } from '@atlaskit/analytics-next';
|
|
3
3
|
import createSelect from './createSelect';
|
|
4
4
|
var packageName = "@atlaskit/select";
|
|
5
|
-
var packageVersion = "15.7.
|
|
5
|
+
var packageVersion = "15.7.3";
|
|
6
6
|
export var SelectWithoutAnalytics = createSelect(Select);
|
|
7
7
|
var createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');
|
|
8
8
|
export default withAnalyticsContext({
|
package/dist/esm/version.json
CHANGED
|
@@ -70,6 +70,7 @@ export interface PopupSelectProps<Option = OptionType, IsMulti extends boolean =
|
|
|
70
70
|
isInvalid?: boolean;
|
|
71
71
|
}
|
|
72
72
|
interface State<Modifiers = string> {
|
|
73
|
+
focusLockEnabled: boolean;
|
|
73
74
|
isOpen: boolean;
|
|
74
75
|
mergedComponents: Object;
|
|
75
76
|
mergedPopperProps: PopperPropsNoChildren<defaultModifiers | Modifiers>;
|
|
@@ -84,6 +85,7 @@ export default class PopupSelect<Option = OptionType, IsMulti extends boolean =
|
|
|
84
85
|
isOpenControlled: boolean;
|
|
85
86
|
defaultOpenState: boolean | undefined;
|
|
86
87
|
state: {
|
|
88
|
+
focusLockEnabled: boolean;
|
|
87
89
|
isOpen: boolean;
|
|
88
90
|
mergedComponents: {
|
|
89
91
|
Control: React.FC<import("../types").ControlProps<OptionType, boolean>>;
|
|
@@ -112,6 +114,7 @@ export default class PopupSelect<Option = OptionType, IsMulti extends boolean =
|
|
|
112
114
|
handleKeyDown: (event: KeyboardEvent) => void;
|
|
113
115
|
handleClick: ({ target }: MouseEvent) => void;
|
|
114
116
|
handleSelectChange: (value: ValueType<Option, IsMulti>, actionMeta: ActionMeta<Option>) => void;
|
|
117
|
+
handleFirstPopperUpdate: () => void;
|
|
115
118
|
/**
|
|
116
119
|
* Opens the popup
|
|
117
120
|
*
|
|
@@ -70,6 +70,7 @@ export interface PopupSelectProps<Option = OptionType, IsMulti extends boolean =
|
|
|
70
70
|
isInvalid?: boolean;
|
|
71
71
|
}
|
|
72
72
|
interface State<Modifiers = string> {
|
|
73
|
+
focusLockEnabled: boolean;
|
|
73
74
|
isOpen: boolean;
|
|
74
75
|
mergedComponents: Object;
|
|
75
76
|
mergedPopperProps: PopperPropsNoChildren<defaultModifiers | Modifiers>;
|
|
@@ -84,6 +85,7 @@ export default class PopupSelect<Option = OptionType, IsMulti extends boolean =
|
|
|
84
85
|
isOpenControlled: boolean;
|
|
85
86
|
defaultOpenState: boolean | undefined;
|
|
86
87
|
state: {
|
|
88
|
+
focusLockEnabled: boolean;
|
|
87
89
|
isOpen: boolean;
|
|
88
90
|
mergedComponents: {
|
|
89
91
|
Control: React.FC<import("../types").ControlProps<OptionType, boolean>>;
|
|
@@ -112,6 +114,7 @@ export default class PopupSelect<Option = OptionType, IsMulti extends boolean =
|
|
|
112
114
|
handleKeyDown: (event: KeyboardEvent) => void;
|
|
113
115
|
handleClick: ({ target }: MouseEvent) => void;
|
|
114
116
|
handleSelectChange: (value: ValueType<Option, IsMulti>, actionMeta: ActionMeta<Option>) => void;
|
|
117
|
+
handleFirstPopperUpdate: () => void;
|
|
115
118
|
/**
|
|
116
119
|
* Opens the popup
|
|
117
120
|
*
|
package/package.json
CHANGED