@atlaskit/react-select 2.7.6 → 3.0.1
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/dist/cjs/components/containers.compiled.css +26 -0
- package/dist/cjs/components/containers.js +80 -13
- package/dist/cjs/components/control.js +50 -9
- package/dist/cjs/components/group.js +60 -12
- package/dist/cjs/components/indicators.js +128 -15
- package/dist/cjs/components/input.js +50 -9
- package/dist/cjs/components/internal/a11y-text.js +14 -7
- package/dist/cjs/components/internal/dummy-input.js +21 -7
- package/dist/cjs/components/internal/required-input.js +24 -8
- package/dist/cjs/components/live-region.js +101 -7
- package/dist/cjs/components/menu.js +436 -27
- package/dist/cjs/components/multi-value.js +148 -22
- package/dist/cjs/components/option.js +41 -9
- package/dist/cjs/components/placeholder.js +29 -9
- package/dist/cjs/components/single-value.js +30 -9
- package/dist/cjs/select.js +1 -1
- package/dist/es2019/components/containers.compiled.css +26 -0
- package/dist/es2019/components/containers.js +93 -10
- package/dist/es2019/components/control.js +54 -8
- package/dist/es2019/components/group.js +67 -9
- package/dist/es2019/components/indicators.js +131 -11
- package/dist/es2019/components/input.js +53 -7
- package/dist/es2019/components/internal/a11y-text.js +12 -6
- package/dist/es2019/components/internal/dummy-input.js +19 -7
- package/dist/es2019/components/internal/required-input.js +22 -6
- package/dist/es2019/components/live-region.js +104 -6
- package/dist/es2019/components/menu.js +444 -19
- package/dist/es2019/components/multi-value.js +157 -15
- package/dist/es2019/components/option.js +45 -7
- package/dist/es2019/components/placeholder.js +33 -7
- package/dist/es2019/components/single-value.js +34 -7
- package/dist/es2019/select.js +1 -1
- package/dist/esm/components/containers.compiled.css +26 -0
- package/dist/esm/components/containers.js +78 -12
- package/dist/esm/components/control.js +51 -8
- package/dist/esm/components/group.js +60 -11
- package/dist/esm/components/indicators.js +127 -15
- package/dist/esm/components/input.js +50 -8
- package/dist/esm/components/internal/a11y-text.js +12 -6
- package/dist/esm/components/internal/dummy-input.js +20 -7
- package/dist/esm/components/internal/required-input.js +22 -7
- package/dist/esm/components/live-region.js +99 -6
- package/dist/esm/components/menu.js +437 -27
- package/dist/esm/components/multi-value.js +148 -21
- package/dist/esm/components/option.js +41 -8
- package/dist/esm/components/placeholder.js +29 -8
- package/dist/esm/components/single-value.js +30 -8
- package/dist/esm/select.js +1 -1
- package/dist/types/components/containers.d.ts +12 -8
- package/dist/types/components/control.d.ts +7 -3
- package/dist/types/components/group.d.ts +10 -6
- package/dist/types/components/index.d.ts +21 -21
- package/dist/types/components/indicators.d.ts +12 -8
- package/dist/types/components/input.d.ts +8 -4
- package/dist/types/components/internal/a11y-text.d.ts +2 -2
- package/dist/types/components/internal/dummy-input.d.ts +7 -3
- package/dist/types/components/internal/required-input.d.ts +4 -0
- package/dist/types/components/live-region.d.ts +0 -2
- package/dist/types/components/menu.d.ts +17 -13
- package/dist/types/components/multi-value.d.ts +13 -9
- package/dist/types/components/option.d.ts +8 -4
- package/dist/types/components/placeholder.d.ts +8 -4
- package/dist/types/components/single-value.d.ts +8 -4
- package/dist/types/select.d.ts +23 -25
- package/dist/types-ts4.5/components/containers.d.ts +12 -8
- package/dist/types-ts4.5/components/control.d.ts +7 -3
- package/dist/types-ts4.5/components/group.d.ts +10 -6
- package/dist/types-ts4.5/components/index.d.ts +21 -21
- package/dist/types-ts4.5/components/indicators.d.ts +12 -8
- package/dist/types-ts4.5/components/input.d.ts +8 -4
- package/dist/types-ts4.5/components/internal/a11y-text.d.ts +2 -2
- package/dist/types-ts4.5/components/internal/dummy-input.d.ts +7 -3
- package/dist/types-ts4.5/components/internal/required-input.d.ts +4 -0
- package/dist/types-ts4.5/components/live-region.d.ts +0 -2
- package/dist/types-ts4.5/components/menu.d.ts +17 -13
- package/dist/types-ts4.5/components/multi-value.d.ts +13 -9
- package/dist/types-ts4.5/components/option.d.ts +8 -4
- package/dist/types-ts4.5/components/placeholder.d.ts +8 -4
- package/dist/types-ts4.5/components/single-value.d.ts +8 -4
- package/dist/types-ts4.5/select.d.ts +23 -25
- package/package.json +3 -3
- package/dist/cjs/compiled/components/control.js +0 -65
- package/dist/cjs/compiled/components/group.js +0 -80
- package/dist/cjs/compiled/components/indicators.js +0 -158
- package/dist/cjs/compiled/components/input.js +0 -65
- package/dist/cjs/compiled/components/internal/a11y-text.js +0 -24
- package/dist/cjs/compiled/components/internal/dummy-input.js +0 -30
- package/dist/cjs/compiled/components/internal/required-input.js +0 -35
- package/dist/cjs/compiled/components/live-region.js +0 -117
- package/dist/cjs/compiled/components/menu.js +0 -489
- package/dist/cjs/compiled/components/multi-value.js +0 -173
- package/dist/cjs/compiled/components/option.js +0 -56
- package/dist/cjs/compiled/components/placeholder.js +0 -44
- package/dist/cjs/compiled/components/single-value.js +0 -45
- package/dist/cjs/emotion/components/containers.js +0 -117
- package/dist/cjs/emotion/components/control.js +0 -112
- package/dist/cjs/emotion/components/group.js +0 -72
- package/dist/cjs/emotion/components/indicators.js +0 -140
- package/dist/cjs/emotion/components/input.js +0 -94
- package/dist/cjs/emotion/components/internal/a11y-text.js +0 -37
- package/dist/cjs/emotion/components/internal/dummy-input.js +0 -45
- package/dist/cjs/emotion/components/internal/index.js +0 -34
- package/dist/cjs/emotion/components/internal/required-input.js +0 -45
- package/dist/cjs/emotion/components/internal/scroll-manager.js +0 -59
- package/dist/cjs/emotion/components/internal/use-scroll-capture.js +0 -132
- package/dist/cjs/emotion/components/internal/use-scroll-lock.js +0 -149
- package/dist/cjs/emotion/components/live-region.js +0 -120
- package/dist/cjs/emotion/components/menu.js +0 -456
- package/dist/cjs/emotion/components/multi-value.js +0 -199
- package/dist/cjs/emotion/components/option.js +0 -84
- package/dist/cjs/emotion/components/placeholder.js +0 -36
- package/dist/cjs/emotion/components/single-value.js +0 -42
- package/dist/es2019/compiled/components/control.js +0 -58
- package/dist/es2019/compiled/components/group.js +0 -72
- package/dist/es2019/compiled/components/indicators.js +0 -146
- package/dist/es2019/compiled/components/input.js +0 -56
- package/dist/es2019/compiled/components/internal/a11y-text.js +0 -13
- package/dist/es2019/compiled/components/internal/dummy-input.js +0 -20
- package/dist/es2019/compiled/components/internal/required-input.js +0 -25
- package/dist/es2019/compiled/components/live-region.js +0 -112
- package/dist/es2019/compiled/components/menu.js +0 -477
- package/dist/es2019/compiled/components/multi-value.js +0 -165
- package/dist/es2019/compiled/components/option.js +0 -48
- package/dist/es2019/compiled/components/placeholder.js +0 -36
- package/dist/es2019/compiled/components/single-value.js +0 -37
- package/dist/es2019/emotion/components/containers.js +0 -114
- package/dist/es2019/emotion/components/control.js +0 -108
- package/dist/es2019/emotion/components/group.js +0 -60
- package/dist/es2019/emotion/components/indicators.js +0 -131
- package/dist/es2019/emotion/components/input.js +0 -87
- package/dist/es2019/emotion/components/internal/a11y-text.js +0 -28
- package/dist/es2019/emotion/components/internal/dummy-input.js +0 -38
- package/dist/es2019/emotion/components/internal/index.js +0 -4
- package/dist/es2019/emotion/components/internal/required-input.js +0 -36
- package/dist/es2019/emotion/components/internal/scroll-manager.js +0 -51
- package/dist/es2019/emotion/components/internal/use-scroll-capture.js +0 -128
- package/dist/es2019/emotion/components/internal/use-scroll-lock.js +0 -143
- package/dist/es2019/emotion/components/live-region.js +0 -120
- package/dist/es2019/emotion/components/menu.js +0 -452
- package/dist/es2019/emotion/components/multi-value.js +0 -203
- package/dist/es2019/emotion/components/option.js +0 -79
- package/dist/es2019/emotion/components/placeholder.js +0 -29
- package/dist/es2019/emotion/components/single-value.js +0 -35
- package/dist/esm/compiled/components/control.js +0 -57
- package/dist/esm/compiled/components/group.js +0 -71
- package/dist/esm/compiled/components/indicators.js +0 -150
- package/dist/esm/compiled/components/input.js +0 -56
- package/dist/esm/compiled/components/internal/a11y-text.js +0 -15
- package/dist/esm/compiled/components/internal/dummy-input.js +0 -21
- package/dist/esm/compiled/components/internal/required-input.js +0 -26
- package/dist/esm/compiled/components/live-region.js +0 -109
- package/dist/esm/compiled/components/menu.js +0 -484
- package/dist/esm/compiled/components/multi-value.js +0 -162
- package/dist/esm/compiled/components/option.js +0 -47
- package/dist/esm/compiled/components/placeholder.js +0 -35
- package/dist/esm/compiled/components/single-value.js +0 -36
- package/dist/esm/emotion/components/containers.js +0 -110
- package/dist/esm/emotion/components/control.js +0 -104
- package/dist/esm/emotion/components/group.js +0 -66
- package/dist/esm/emotion/components/indicators.js +0 -135
- package/dist/esm/emotion/components/input.js +0 -90
- package/dist/esm/emotion/components/internal/a11y-text.js +0 -30
- package/dist/esm/emotion/components/internal/dummy-input.js +0 -39
- package/dist/esm/emotion/components/internal/index.js +0 -4
- package/dist/esm/emotion/components/internal/required-input.js +0 -37
- package/dist/esm/emotion/components/internal/scroll-manager.js +0 -51
- package/dist/esm/emotion/components/internal/use-scroll-capture.js +0 -126
- package/dist/esm/emotion/components/internal/use-scroll-lock.js +0 -143
- package/dist/esm/emotion/components/live-region.js +0 -117
- package/dist/esm/emotion/components/menu.js +0 -456
- package/dist/esm/emotion/components/multi-value.js +0 -193
- package/dist/esm/emotion/components/option.js +0 -76
- package/dist/esm/emotion/components/placeholder.js +0 -28
- package/dist/esm/emotion/components/single-value.js +0 -34
- package/dist/types/compiled/components/control.d.ts +0 -41
- package/dist/types/compiled/components/group.d.ts +0 -54
- package/dist/types/compiled/components/indicators.d.ts +0 -72
- package/dist/types/compiled/components/input.d.ts +0 -36
- package/dist/types/compiled/components/internal/a11y-text.d.ts +0 -3
- package/dist/types/compiled/components/internal/dummy-input.d.ts +0 -8
- package/dist/types/compiled/components/internal/required-input.d.ts +0 -10
- package/dist/types/compiled/components/live-region.d.ts +0 -17
- package/dist/types/compiled/components/menu.d.ts +0 -115
- package/dist/types/compiled/components/multi-value.d.ts +0 -57
- package/dist/types/compiled/components/option.d.ts +0 -48
- package/dist/types/compiled/components/placeholder.d.ts +0 -21
- package/dist/types/compiled/components/single-value.d.ts +0 -27
- package/dist/types/emotion/components/containers.d.ts +0 -54
- package/dist/types/emotion/components/control.d.ts +0 -42
- package/dist/types/emotion/components/group.d.ts +0 -52
- package/dist/types/emotion/components/indicators.d.ts +0 -73
- package/dist/types/emotion/components/input.d.ts +0 -37
- package/dist/types/emotion/components/internal/a11y-text.d.ts +0 -8
- package/dist/types/emotion/components/internal/dummy-input.d.ts +0 -9
- package/dist/types/emotion/components/internal/index.d.ts +0 -4
- package/dist/types/emotion/components/internal/required-input.d.ts +0 -10
- package/dist/types/emotion/components/internal/scroll-manager.d.ts +0 -17
- package/dist/types/emotion/components/internal/use-scroll-capture.d.ts +0 -12
- package/dist/types/emotion/components/internal/use-scroll-lock.d.ts +0 -9
- package/dist/types/emotion/components/live-region.d.ts +0 -23
- package/dist/types/emotion/components/menu.d.ts +0 -116
- package/dist/types/emotion/components/multi-value.d.ts +0 -47
- package/dist/types/emotion/components/option.d.ts +0 -49
- package/dist/types/emotion/components/placeholder.d.ts +0 -22
- package/dist/types/emotion/components/single-value.d.ts +0 -28
- package/dist/types-ts4.5/compiled/components/control.d.ts +0 -41
- package/dist/types-ts4.5/compiled/components/group.d.ts +0 -54
- package/dist/types-ts4.5/compiled/components/indicators.d.ts +0 -72
- package/dist/types-ts4.5/compiled/components/input.d.ts +0 -36
- package/dist/types-ts4.5/compiled/components/internal/a11y-text.d.ts +0 -3
- package/dist/types-ts4.5/compiled/components/internal/dummy-input.d.ts +0 -8
- package/dist/types-ts4.5/compiled/components/internal/required-input.d.ts +0 -10
- package/dist/types-ts4.5/compiled/components/live-region.d.ts +0 -17
- package/dist/types-ts4.5/compiled/components/menu.d.ts +0 -115
- package/dist/types-ts4.5/compiled/components/multi-value.d.ts +0 -57
- package/dist/types-ts4.5/compiled/components/option.d.ts +0 -48
- package/dist/types-ts4.5/compiled/components/placeholder.d.ts +0 -21
- package/dist/types-ts4.5/compiled/components/single-value.d.ts +0 -27
- package/dist/types-ts4.5/emotion/components/containers.d.ts +0 -54
- package/dist/types-ts4.5/emotion/components/control.d.ts +0 -42
- package/dist/types-ts4.5/emotion/components/group.d.ts +0 -52
- package/dist/types-ts4.5/emotion/components/indicators.d.ts +0 -73
- package/dist/types-ts4.5/emotion/components/input.d.ts +0 -37
- package/dist/types-ts4.5/emotion/components/internal/a11y-text.d.ts +0 -8
- package/dist/types-ts4.5/emotion/components/internal/dummy-input.d.ts +0 -9
- package/dist/types-ts4.5/emotion/components/internal/index.d.ts +0 -4
- package/dist/types-ts4.5/emotion/components/internal/required-input.d.ts +0 -10
- package/dist/types-ts4.5/emotion/components/internal/scroll-manager.d.ts +0 -17
- package/dist/types-ts4.5/emotion/components/internal/use-scroll-capture.d.ts +0 -12
- package/dist/types-ts4.5/emotion/components/internal/use-scroll-lock.d.ts +0 -9
- package/dist/types-ts4.5/emotion/components/live-region.d.ts +0 -23
- package/dist/types-ts4.5/emotion/components/menu.d.ts +0 -116
- package/dist/types-ts4.5/emotion/components/multi-value.d.ts +0 -47
- package/dist/types-ts4.5/emotion/components/option.d.ts +0 -49
- package/dist/types-ts4.5/emotion/components/placeholder.d.ts +0 -22
- package/dist/types-ts4.5/emotion/components/single-value.d.ts +0 -28
- /package/dist/cjs/{compiled/components → components}/control.compiled.css +0 -0
- /package/dist/cjs/{compiled/components → components}/group.compiled.css +0 -0
- /package/dist/cjs/{compiled/components → components}/indicators.compiled.css +0 -0
- /package/dist/cjs/{compiled/components → components}/input.compiled.css +0 -0
- /package/dist/cjs/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
- /package/dist/cjs/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
- /package/dist/cjs/{compiled/components → components}/internal/required-input.compiled.css +0 -0
- /package/dist/cjs/{compiled/components → components}/menu.compiled.css +0 -0
- /package/dist/cjs/{compiled/components → components}/multi-value.compiled.css +0 -0
- /package/dist/cjs/{compiled/components → components}/option.compiled.css +0 -0
- /package/dist/cjs/{compiled/components → components}/placeholder.compiled.css +0 -0
- /package/dist/cjs/{compiled/components → components}/single-value.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/control.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/group.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/indicators.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/input.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/internal/required-input.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/menu.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/multi-value.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/option.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/placeholder.compiled.css +0 -0
- /package/dist/es2019/{compiled/components → components}/single-value.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/control.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/group.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/indicators.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/input.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/internal/required-input.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/menu.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/multi-value.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/option.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/placeholder.compiled.css +0 -0
- /package/dist/esm/{compiled/components → components}/single-value.compiled.css +0 -0
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = useScrollLock;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];
|
|
9
|
-
var LOCK_STYLES = {
|
|
10
|
-
boxSizing: 'border-box',
|
|
11
|
-
// account for possible declaration `width: 100%;` on body
|
|
12
|
-
overflow: 'hidden',
|
|
13
|
-
position: 'relative',
|
|
14
|
-
height: '100%'
|
|
15
|
-
};
|
|
16
|
-
function preventTouchMove(e) {
|
|
17
|
-
e.preventDefault();
|
|
18
|
-
}
|
|
19
|
-
function allowTouchMove(e) {
|
|
20
|
-
e.stopPropagation();
|
|
21
|
-
}
|
|
22
|
-
function preventInertiaScroll() {
|
|
23
|
-
var top = this.scrollTop;
|
|
24
|
-
var totalScroll = this.scrollHeight;
|
|
25
|
-
var currentScroll = top + this.offsetHeight;
|
|
26
|
-
if (top === 0) {
|
|
27
|
-
this.scrollTop = 1;
|
|
28
|
-
} else if (currentScroll === totalScroll) {
|
|
29
|
-
this.scrollTop = top - 1;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// `ontouchstart` check works on most browsers
|
|
34
|
-
// `maxTouchPoints` works on IE10/11 and Surface
|
|
35
|
-
function isTouchDevice() {
|
|
36
|
-
// eslint-disable-next-line compat/compat
|
|
37
|
-
return 'ontouchstart' in window || navigator.maxTouchPoints;
|
|
38
|
-
}
|
|
39
|
-
var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
|
|
40
|
-
var activeScrollLocks = 0;
|
|
41
|
-
var listenerOptions = {
|
|
42
|
-
capture: false,
|
|
43
|
-
passive: false
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// TODO: Fill in the hook {description}.
|
|
47
|
-
/**
|
|
48
|
-
* {description}.
|
|
49
|
-
*/
|
|
50
|
-
function useScrollLock(_ref) {
|
|
51
|
-
var isEnabled = _ref.isEnabled,
|
|
52
|
-
_ref$accountForScroll = _ref.accountForScrollbars,
|
|
53
|
-
accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;
|
|
54
|
-
var originalStyles = (0, _react.useRef)({});
|
|
55
|
-
var scrollTarget = (0, _react.useRef)(null);
|
|
56
|
-
var addScrollLock = (0, _react.useCallback)(function (touchScrollTarget) {
|
|
57
|
-
if (!canUseDOM) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
var target = document.body;
|
|
61
|
-
var targetStyle = target && target.style;
|
|
62
|
-
if (accountForScrollbars) {
|
|
63
|
-
// store any styles already applied to the body
|
|
64
|
-
STYLE_KEYS.forEach(function (key) {
|
|
65
|
-
var val = targetStyle && targetStyle[key];
|
|
66
|
-
originalStyles.current[key] = val;
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// apply the lock styles and padding if this is the first scroll lock
|
|
71
|
-
if (accountForScrollbars && activeScrollLocks < 1) {
|
|
72
|
-
var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0;
|
|
73
|
-
var clientWidth = document.body ? document.body.clientWidth : 0;
|
|
74
|
-
var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;
|
|
75
|
-
Object.keys(LOCK_STYLES).forEach(function (key) {
|
|
76
|
-
var val = LOCK_STYLES[key];
|
|
77
|
-
if (targetStyle) {
|
|
78
|
-
targetStyle[key] = val;
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
if (targetStyle) {
|
|
82
|
-
targetStyle.paddingRight = "".concat(adjustedPadding, "px");
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// account for touch devices
|
|
87
|
-
if (target && isTouchDevice()) {
|
|
88
|
-
// Mobile Safari ignores { overflow: hidden } declaration on the body.
|
|
89
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
90
|
-
target.addEventListener('touchmove', preventTouchMove, listenerOptions);
|
|
91
|
-
|
|
92
|
-
// Allow scroll on provided target
|
|
93
|
-
if (touchScrollTarget) {
|
|
94
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
95
|
-
touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions);
|
|
96
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
97
|
-
touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// increment active scroll locks
|
|
102
|
-
activeScrollLocks += 1;
|
|
103
|
-
}, [accountForScrollbars]);
|
|
104
|
-
var removeScrollLock = (0, _react.useCallback)(function (touchScrollTarget) {
|
|
105
|
-
if (!canUseDOM) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
var target = document.body;
|
|
109
|
-
var targetStyle = target && target.style;
|
|
110
|
-
|
|
111
|
-
// safely decrement active scroll locks
|
|
112
|
-
activeScrollLocks = Math.max(activeScrollLocks - 1, 0);
|
|
113
|
-
|
|
114
|
-
// reapply original body styles, if any
|
|
115
|
-
if (accountForScrollbars && activeScrollLocks < 1) {
|
|
116
|
-
STYLE_KEYS.forEach(function (key) {
|
|
117
|
-
var val = originalStyles.current[key];
|
|
118
|
-
if (targetStyle) {
|
|
119
|
-
targetStyle[key] = val;
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// remove touch listeners
|
|
125
|
-
if (target && isTouchDevice()) {
|
|
126
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
127
|
-
target.removeEventListener('touchmove', preventTouchMove, listenerOptions);
|
|
128
|
-
if (touchScrollTarget) {
|
|
129
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
130
|
-
touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions);
|
|
131
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
132
|
-
touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}, [accountForScrollbars]);
|
|
136
|
-
(0, _react.useEffect)(function () {
|
|
137
|
-
if (!isEnabled) {
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
var element = scrollTarget.current;
|
|
141
|
-
addScrollLock(element);
|
|
142
|
-
return function () {
|
|
143
|
-
removeScrollLock(element);
|
|
144
|
-
};
|
|
145
|
-
}, [isEnabled, addScrollLock, removeScrollLock]);
|
|
146
|
-
return function (element) {
|
|
147
|
-
scrollTarget.current = element;
|
|
148
|
-
};
|
|
149
|
-
}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _react = require("react");
|
|
10
|
-
var _react2 = require("@emotion/react");
|
|
11
|
-
var _accessibility = require("../../accessibility");
|
|
12
|
-
var _a11yText = _interopRequireDefault(require("./internal/a11y-text"));
|
|
13
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
|
|
15
|
-
* @jsxRuntime classic
|
|
16
|
-
* @jsx jsx
|
|
17
|
-
* @jsxFrag React.Fragment
|
|
18
|
-
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
19
|
-
// ==============================
|
|
20
|
-
// Root Container
|
|
21
|
-
// ==============================
|
|
22
|
-
|
|
23
|
-
var LiveRegion = function LiveRegion(props) {
|
|
24
|
-
var ariaSelection = props.ariaSelection,
|
|
25
|
-
focusableOptions = props.focusableOptions,
|
|
26
|
-
isFocused = props.isFocused,
|
|
27
|
-
selectValue = props.selectValue,
|
|
28
|
-
selectProps = props.selectProps,
|
|
29
|
-
id = props.id;
|
|
30
|
-
var ariaLiveMessages = selectProps.ariaLiveMessages,
|
|
31
|
-
getOptionLabel = selectProps.getOptionLabel,
|
|
32
|
-
inputValue = selectProps.inputValue,
|
|
33
|
-
isOptionDisabled = selectProps.isOptionDisabled,
|
|
34
|
-
menuIsOpen = selectProps.menuIsOpen,
|
|
35
|
-
options = selectProps.options,
|
|
36
|
-
screenReaderStatus = selectProps.screenReaderStatus,
|
|
37
|
-
isLoading = selectProps.isLoading;
|
|
38
|
-
var ariaLive = selectProps['aria-live'];
|
|
39
|
-
|
|
40
|
-
// Update aria live message configuration when prop changes
|
|
41
|
-
var messages = (0, _react.useMemo)(function () {
|
|
42
|
-
return _objectSpread(_objectSpread({}, _accessibility.defaultAriaLiveMessages), ariaLiveMessages || {});
|
|
43
|
-
}, [ariaLiveMessages]);
|
|
44
|
-
|
|
45
|
-
// Update aria live selected option when prop changes
|
|
46
|
-
var ariaSelected = (0, _react.useMemo)(function () {
|
|
47
|
-
var message = '';
|
|
48
|
-
if (menuIsOpen) {
|
|
49
|
-
// we don't need to have selected message when the menu is open
|
|
50
|
-
return '';
|
|
51
|
-
}
|
|
52
|
-
if (ariaSelection && messages.onChange) {
|
|
53
|
-
var option = ariaSelection.option,
|
|
54
|
-
selectedOptions = ariaSelection.options,
|
|
55
|
-
removedValue = ariaSelection.removedValue,
|
|
56
|
-
removedValues = ariaSelection.removedValues,
|
|
57
|
-
value = ariaSelection.value;
|
|
58
|
-
// select-option when !isMulti does not return option so we assume selected option is value
|
|
59
|
-
var asOption = function asOption(val) {
|
|
60
|
-
return !Array.isArray(val) ? val : null;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
// If there is just one item from the action then get its label
|
|
64
|
-
var selected = removedValue || option || asOption(value);
|
|
65
|
-
var label = selected ? getOptionLabel(selected) : '';
|
|
66
|
-
|
|
67
|
-
// If there are multiple items from the action then return an array of labels
|
|
68
|
-
var multiSelected = selectedOptions || removedValues || undefined;
|
|
69
|
-
var labels = multiSelected ? multiSelected.map(getOptionLabel) : [];
|
|
70
|
-
if (!label && !labels.length) {
|
|
71
|
-
// return empty string if no labels provided
|
|
72
|
-
return '';
|
|
73
|
-
}
|
|
74
|
-
var onChangeProps = _objectSpread({
|
|
75
|
-
// multiSelected items are usually items that have already been selected
|
|
76
|
-
// or set by the user as a default value so we assume they are not disabled
|
|
77
|
-
isDisabled: selected && isOptionDisabled(selected, selectValue),
|
|
78
|
-
label: label,
|
|
79
|
-
labels: labels
|
|
80
|
-
}, ariaSelection);
|
|
81
|
-
message = messages.onChange(onChangeProps);
|
|
82
|
-
}
|
|
83
|
-
return message;
|
|
84
|
-
}, [ariaSelection, messages, isOptionDisabled, selectValue, getOptionLabel, menuIsOpen]);
|
|
85
|
-
var ariaResults = (0, _react.useMemo)(function () {
|
|
86
|
-
var resultsMsg = '';
|
|
87
|
-
if (isLoading) {
|
|
88
|
-
resultsMsg = 'Loading. ';
|
|
89
|
-
}
|
|
90
|
-
if (menuIsOpen && options.length && !isLoading && messages.onFilter) {
|
|
91
|
-
var resultsMessage = screenReaderStatus({
|
|
92
|
-
count: focusableOptions.length
|
|
93
|
-
});
|
|
94
|
-
resultsMsg = messages.onFilter({
|
|
95
|
-
inputValue: inputValue,
|
|
96
|
-
resultsMessage: resultsMessage
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
if (options && options.length === 0) {
|
|
100
|
-
resultsMsg = 'No options. ';
|
|
101
|
-
}
|
|
102
|
-
return resultsMsg;
|
|
103
|
-
}, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus, isLoading]);
|
|
104
|
-
var isInitialFocus = (ariaSelection === null || ariaSelection === void 0 ? void 0 : ariaSelection.action) === 'initial-input-focus';
|
|
105
|
-
var ScreenReaderText = (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)("span", {
|
|
106
|
-
id: "aria-selection"
|
|
107
|
-
}, ariaSelected), (0, _react2.jsx)("span", {
|
|
108
|
-
id: "aria-results"
|
|
109
|
-
}, ariaResults));
|
|
110
|
-
return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_a11yText.default, {
|
|
111
|
-
id: id
|
|
112
|
-
}, isInitialFocus && ScreenReaderText), (0, _react2.jsx)(_a11yText.default, {
|
|
113
|
-
"aria-live": ariaLive // Should be undefined by default unless a specific use case requires it
|
|
114
|
-
,
|
|
115
|
-
role: "status"
|
|
116
|
-
}, isFocused && !isInitialFocus && ScreenReaderText));
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
// eslint-disable-next-line @repo/internal/react/require-jsdoc
|
|
120
|
-
var _default = exports.default = LiveRegion;
|