@atlaskit/react-select 3.0.0 → 3.0.2
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 +16 -0
- package/dist/cjs/components/containers.compiled.css +26 -0
- package/dist/cjs/components/containers.js +80 -12
- package/dist/cjs/components/control.js +50 -7
- package/dist/cjs/components/group.js +60 -10
- package/dist/cjs/components/indicators.js +128 -13
- package/dist/cjs/components/input.js +50 -7
- package/dist/cjs/components/internal/a11y-text.js +14 -5
- package/dist/cjs/components/internal/dummy-input.js +21 -5
- package/dist/cjs/components/internal/required-input.js +24 -6
- package/dist/cjs/components/live-region.js +101 -5
- package/dist/cjs/components/menu.js +436 -25
- package/dist/cjs/components/multi-value.js +148 -17
- package/dist/cjs/components/option.js +41 -7
- package/dist/cjs/components/placeholder.js +29 -7
- package/dist/cjs/components/single-value.js +30 -7
- package/dist/es2019/components/containers.compiled.css +26 -0
- package/dist/es2019/components/containers.js +93 -9
- package/dist/es2019/components/control.js +54 -6
- package/dist/es2019/components/group.js +67 -7
- package/dist/es2019/components/indicators.js +131 -9
- package/dist/es2019/components/input.js +53 -5
- package/dist/es2019/components/internal/a11y-text.js +12 -4
- package/dist/es2019/components/internal/dummy-input.js +19 -5
- package/dist/es2019/components/internal/required-input.js +22 -4
- package/dist/es2019/components/live-region.js +104 -4
- package/dist/es2019/components/menu.js +444 -17
- package/dist/es2019/components/multi-value.js +158 -11
- package/dist/es2019/components/option.js +45 -5
- package/dist/es2019/components/placeholder.js +33 -5
- package/dist/es2019/components/single-value.js +34 -5
- package/dist/esm/components/containers.compiled.css +26 -0
- package/dist/esm/components/containers.js +78 -11
- package/dist/esm/components/control.js +51 -6
- package/dist/esm/components/group.js +60 -9
- package/dist/esm/components/indicators.js +127 -13
- package/dist/esm/components/input.js +50 -6
- package/dist/esm/components/internal/a11y-text.js +12 -4
- package/dist/esm/components/internal/dummy-input.js +20 -5
- package/dist/esm/components/internal/required-input.js +22 -5
- package/dist/esm/components/live-region.js +99 -4
- package/dist/esm/components/menu.js +437 -25
- package/dist/esm/components/multi-value.js +148 -16
- package/dist/esm/components/option.js +41 -6
- package/dist/esm/components/placeholder.js +29 -6
- package/dist/esm/components/single-value.js +30 -6
- 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 -23
- package/dist/types/styles.d.ts +21 -21
- package/dist/types/types.d.ts +1 -4
- package/dist/types/utils.d.ts +1 -1
- 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 -23
- package/dist/types-ts4.5/styles.d.ts +21 -21
- package/dist/types-ts4.5/types.d.ts +1 -4
- package/dist/types-ts4.5/utils.d.ts +1 -1
- package/package.json +2 -4
- 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,94 +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.inputCSS = exports.default = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var _react = require("@emotion/react");
|
|
12
|
-
var _utils = require("../../utils");
|
|
13
|
-
var _excluded = ["innerRef", "isDisabled", "isHidden", "inputClassName", "testId"];
|
|
14
|
-
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; }
|
|
15
|
-
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; } /**
|
|
16
|
-
* @jsxRuntime classic
|
|
17
|
-
* @jsx jsx
|
|
18
|
-
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
19
|
-
var inputCSS = exports.inputCSS = function inputCSS(_ref) {
|
|
20
|
-
var isDisabled = _ref.isDisabled,
|
|
21
|
-
value = _ref.value;
|
|
22
|
-
return _objectSpread(_objectSpread({
|
|
23
|
-
visibility: isDisabled ? 'hidden' : 'visible',
|
|
24
|
-
// force css to recompute when value change due to @emotion bug.
|
|
25
|
-
// We can remove it whenever the bug is fixed.
|
|
26
|
-
transform: value ? 'translateZ(0)' : ''
|
|
27
|
-
}, containerStyle), {}, {
|
|
28
|
-
margin: "var(--ds-space-025, 2px)",
|
|
29
|
-
paddingBottom: "var(--ds-space-025, 2px)",
|
|
30
|
-
paddingTop: "var(--ds-space-025, 2px)",
|
|
31
|
-
color: "var(--ds-text, #172B4D)"
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var spacingStyle = {
|
|
35
|
-
gridArea: '1 / 2',
|
|
36
|
-
font: 'inherit',
|
|
37
|
-
minWidth: '2px',
|
|
38
|
-
border: 0,
|
|
39
|
-
margin: 0,
|
|
40
|
-
outline: 0,
|
|
41
|
-
padding: 0
|
|
42
|
-
};
|
|
43
|
-
var containerStyle = {
|
|
44
|
-
flex: '1 1 auto',
|
|
45
|
-
display: 'inline-grid',
|
|
46
|
-
gridArea: '1 / 1 / 2 / 3',
|
|
47
|
-
gridTemplateColumns: '0 min-content',
|
|
48
|
-
'&:after': _objectSpread({
|
|
49
|
-
content: 'attr(data-value) " "',
|
|
50
|
-
visibility: 'hidden',
|
|
51
|
-
whiteSpace: 'pre'
|
|
52
|
-
}, spacingStyle)
|
|
53
|
-
};
|
|
54
|
-
var inputStyle = function inputStyle(isHidden) {
|
|
55
|
-
return _objectSpread({
|
|
56
|
-
label: 'input',
|
|
57
|
-
color: 'inherit',
|
|
58
|
-
background: 0,
|
|
59
|
-
opacity: isHidden ? 0 : 1,
|
|
60
|
-
width: '100%'
|
|
61
|
-
}, spacingStyle);
|
|
62
|
-
};
|
|
63
|
-
var Input = function Input(props) {
|
|
64
|
-
var cx = props.cx,
|
|
65
|
-
value = props.value;
|
|
66
|
-
var _cleanCommonProps = (0, _utils.cleanCommonProps)(props),
|
|
67
|
-
innerRef = _cleanCommonProps.innerRef,
|
|
68
|
-
isDisabled = _cleanCommonProps.isDisabled,
|
|
69
|
-
isHidden = _cleanCommonProps.isHidden,
|
|
70
|
-
inputClassName = _cleanCommonProps.inputClassName,
|
|
71
|
-
testId = _cleanCommonProps.testId,
|
|
72
|
-
innerProps = (0, _objectWithoutProperties2.default)(_cleanCommonProps, _excluded);
|
|
73
|
-
var dataId = testId ? "".concat(testId, "-select--input") : null;
|
|
74
|
-
return (0, _react.jsx)("div", (0, _extends2.default)({}, (0, _utils.getStyleProps)(props, 'input', {
|
|
75
|
-
'input-container': true
|
|
76
|
-
}), {
|
|
77
|
-
"data-value": value || '',
|
|
78
|
-
"data-testid": dataId && "".concat(dataId, "-container")
|
|
79
|
-
}), (0, _react.jsx)("input", (0, _extends2.default)({
|
|
80
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
|
|
81
|
-
className: cx({
|
|
82
|
-
input: true
|
|
83
|
-
}, inputClassName),
|
|
84
|
-
ref: innerRef
|
|
85
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
86
|
-
,
|
|
87
|
-
style: inputStyle(isHidden),
|
|
88
|
-
disabled: isDisabled,
|
|
89
|
-
"data-testid": dataId
|
|
90
|
-
}, innerProps)));
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
// eslint-disable-next-line @repo/internal/react/require-jsdoc
|
|
94
|
-
var _default = exports.default = Input;
|
|
@@ -1,37 +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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _react = require("@emotion/react");
|
|
10
|
-
/**
|
|
11
|
-
* @jsxRuntime classic
|
|
12
|
-
* @jsx jsx
|
|
13
|
-
*/
|
|
14
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
15
|
-
|
|
16
|
-
// Assistive text to describe visual elements. Hidden for sighted users.
|
|
17
|
-
var styles = (0, _react.css)({
|
|
18
|
-
width: 1,
|
|
19
|
-
height: 1,
|
|
20
|
-
padding: 0,
|
|
21
|
-
position: 'absolute',
|
|
22
|
-
zIndex: 9999,
|
|
23
|
-
border: 0,
|
|
24
|
-
clip: 'rect(1px, 1px, 1px, 1px)',
|
|
25
|
-
label: 'a11yText',
|
|
26
|
-
overflow: 'hidden',
|
|
27
|
-
userSelect: 'none',
|
|
28
|
-
// while hidden text is sitting in the DOM, it should not be selectable
|
|
29
|
-
whiteSpace: 'nowrap'
|
|
30
|
-
});
|
|
31
|
-
var A11yText = function A11yText(props) {
|
|
32
|
-
return (0, _react.jsx)("span", (0, _extends2.default)({
|
|
33
|
-
css: styles
|
|
34
|
-
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
35
|
-
}, props));
|
|
36
|
-
};
|
|
37
|
-
var _default = exports.default = A11yText;
|
|
@@ -1,45 +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 = DummyInput;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
-
var _react = require("@emotion/react");
|
|
11
|
-
var _utils = require("../../../utils");
|
|
12
|
-
var _excluded = ["innerRef"];
|
|
13
|
-
/**
|
|
14
|
-
* @jsxRuntime classic
|
|
15
|
-
* @jsx jsx
|
|
16
|
-
*/
|
|
17
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
18
|
-
var dummyInputStyles = (0, _react.css)({
|
|
19
|
-
width: 1,
|
|
20
|
-
padding: 0,
|
|
21
|
-
position: 'relative',
|
|
22
|
-
background: 0,
|
|
23
|
-
border: 0,
|
|
24
|
-
caretColor: 'transparent',
|
|
25
|
-
color: 'transparent',
|
|
26
|
-
// eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
|
|
27
|
-
fontSize: 'inherit',
|
|
28
|
-
gridArea: '1 / 1 / 2 / 3',
|
|
29
|
-
insetInlineStart: -100,
|
|
30
|
-
label: 'dummyInput',
|
|
31
|
-
opacity: 0,
|
|
32
|
-
outline: 0,
|
|
33
|
-
transform: 'scale(.01)'
|
|
34
|
-
});
|
|
35
|
-
function DummyInput(_ref) {
|
|
36
|
-
var innerRef = _ref.innerRef,
|
|
37
|
-
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
38
|
-
// Remove animation props not meant for HTML elements
|
|
39
|
-
var filteredProps = (0, _utils.removeProps)(props, 'onExited', 'in', 'enter', 'exit', 'appear');
|
|
40
|
-
return (0, _react.jsx)("input", (0, _extends2.default)({
|
|
41
|
-
ref: innerRef
|
|
42
|
-
}, filteredProps, {
|
|
43
|
-
css: dummyInputStyles
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
Object.defineProperty(exports, "A11yText", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function get() {
|
|
10
|
-
return _a11yText.default;
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
Object.defineProperty(exports, "DummyInput", {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
get: function get() {
|
|
16
|
-
return _dummyInput.default;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports, "RequiredInput", {
|
|
20
|
-
enumerable: true,
|
|
21
|
-
get: function get() {
|
|
22
|
-
return _requiredInput.default;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
Object.defineProperty(exports, "ScrollManager", {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function get() {
|
|
28
|
-
return _scrollManager.default;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
var _a11yText = _interopRequireDefault(require("./a11y-text"));
|
|
32
|
-
var _dummyInput = _interopRequireDefault(require("./dummy-input"));
|
|
33
|
-
var _scrollManager = _interopRequireDefault(require("./scroll-manager"));
|
|
34
|
-
var _requiredInput = _interopRequireDefault(require("./required-input"));
|
|
@@ -1,45 +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 _react = require("@emotion/react");
|
|
9
|
-
var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
|
|
10
|
-
/**
|
|
11
|
-
* @jsxRuntime classic
|
|
12
|
-
* @jsx jsx
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
16
|
-
|
|
17
|
-
var styles = (0, _react.css)({
|
|
18
|
-
width: '100%',
|
|
19
|
-
position: 'absolute',
|
|
20
|
-
insetBlockEnd: 0,
|
|
21
|
-
insetInlineEnd: 0,
|
|
22
|
-
insetInlineStart: 0,
|
|
23
|
-
label: 'requiredInput',
|
|
24
|
-
opacity: 0,
|
|
25
|
-
pointerEvents: 'none'
|
|
26
|
-
});
|
|
27
|
-
var RequiredInput = function RequiredInput(_ref) {
|
|
28
|
-
var name = _ref.name,
|
|
29
|
-
onFocus = _ref.onFocus;
|
|
30
|
-
return (0, _react.jsx)("input", {
|
|
31
|
-
required: true,
|
|
32
|
-
name: name,
|
|
33
|
-
tabIndex: -1,
|
|
34
|
-
"aria-hidden": "true",
|
|
35
|
-
onFocus: onFocus,
|
|
36
|
-
css: styles
|
|
37
|
-
// Prevent `Switching from uncontrolled to controlled` error
|
|
38
|
-
,
|
|
39
|
-
value: "",
|
|
40
|
-
onChange: _noop.default
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
// eslint-disable-next-line @repo/internal/react/require-jsdoc
|
|
45
|
-
var _default = exports.default = RequiredInput;
|
|
@@ -1,59 +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 = ScrollManager;
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _react2 = require("@emotion/react");
|
|
10
|
-
var _useScrollCapture = _interopRequireDefault(require("./use-scroll-capture"));
|
|
11
|
-
var _useScrollLock = _interopRequireDefault(require("./use-scroll-lock"));
|
|
12
|
-
/**
|
|
13
|
-
* @jsxRuntime classic
|
|
14
|
-
* @jsx jsx
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
18
|
-
|
|
19
|
-
var styles = (0, _react2.css)({
|
|
20
|
-
position: 'fixed',
|
|
21
|
-
insetBlockEnd: 0,
|
|
22
|
-
insetBlockStart: 0,
|
|
23
|
-
insetInlineEnd: 0,
|
|
24
|
-
insetInlineStart: 0
|
|
25
|
-
});
|
|
26
|
-
var blurSelectInput = function blurSelectInput(event) {
|
|
27
|
-
var element = event.target;
|
|
28
|
-
return element.ownerDocument.activeElement && element.ownerDocument.activeElement.blur();
|
|
29
|
-
};
|
|
30
|
-
function ScrollManager(_ref) {
|
|
31
|
-
var children = _ref.children,
|
|
32
|
-
lockEnabled = _ref.lockEnabled,
|
|
33
|
-
_ref$captureEnabled = _ref.captureEnabled,
|
|
34
|
-
captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled,
|
|
35
|
-
onBottomArrive = _ref.onBottomArrive,
|
|
36
|
-
onBottomLeave = _ref.onBottomLeave,
|
|
37
|
-
onTopArrive = _ref.onTopArrive,
|
|
38
|
-
onTopLeave = _ref.onTopLeave;
|
|
39
|
-
var setScrollCaptureTarget = (0, _useScrollCapture.default)({
|
|
40
|
-
isEnabled: captureEnabled,
|
|
41
|
-
onBottomArrive: onBottomArrive,
|
|
42
|
-
onBottomLeave: onBottomLeave,
|
|
43
|
-
onTopArrive: onTopArrive,
|
|
44
|
-
onTopLeave: onTopLeave
|
|
45
|
-
});
|
|
46
|
-
var setScrollLockTarget = (0, _useScrollLock.default)({
|
|
47
|
-
isEnabled: lockEnabled
|
|
48
|
-
});
|
|
49
|
-
var targetRef = function targetRef(element) {
|
|
50
|
-
setScrollCaptureTarget(element);
|
|
51
|
-
setScrollLockTarget(element);
|
|
52
|
-
};
|
|
53
|
-
return (0, _react2.jsx)(_react.Fragment, null, lockEnabled &&
|
|
54
|
-
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions, @atlassian/a11y/interactive-element-not-keyboard-focusable
|
|
55
|
-
(0, _react2.jsx)("div", {
|
|
56
|
-
onClick: blurSelectInput,
|
|
57
|
-
css: styles
|
|
58
|
-
}), children(targetRef));
|
|
59
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = useScrollCapture;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _utils = require("../../../utils");
|
|
9
|
-
var cancelScroll = function cancelScroll(event) {
|
|
10
|
-
if (event.cancelable) {
|
|
11
|
-
event.preventDefault();
|
|
12
|
-
}
|
|
13
|
-
event.stopPropagation();
|
|
14
|
-
};
|
|
15
|
-
// TODO: Fill in the hook {description}.
|
|
16
|
-
/**
|
|
17
|
-
* {description}.
|
|
18
|
-
*/
|
|
19
|
-
function useScrollCapture(_ref) {
|
|
20
|
-
var isEnabled = _ref.isEnabled,
|
|
21
|
-
onBottomArrive = _ref.onBottomArrive,
|
|
22
|
-
onBottomLeave = _ref.onBottomLeave,
|
|
23
|
-
onTopArrive = _ref.onTopArrive,
|
|
24
|
-
onTopLeave = _ref.onTopLeave;
|
|
25
|
-
var isBottom = (0, _react.useRef)(false);
|
|
26
|
-
var isTop = (0, _react.useRef)(false);
|
|
27
|
-
var touchStart = (0, _react.useRef)(0);
|
|
28
|
-
var scrollTarget = (0, _react.useRef)(null);
|
|
29
|
-
var handleEventDelta = (0, _react.useCallback)(function (event, delta) {
|
|
30
|
-
if (scrollTarget.current === null) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
var _scrollTarget$current = scrollTarget.current,
|
|
34
|
-
scrollTop = _scrollTarget$current.scrollTop,
|
|
35
|
-
scrollHeight = _scrollTarget$current.scrollHeight,
|
|
36
|
-
clientHeight = _scrollTarget$current.clientHeight;
|
|
37
|
-
var target = scrollTarget.current;
|
|
38
|
-
var isDeltaPositive = delta > 0;
|
|
39
|
-
var availableScroll = scrollHeight - clientHeight - scrollTop;
|
|
40
|
-
var shouldCancelScroll = false;
|
|
41
|
-
|
|
42
|
-
// reset bottom/top flags
|
|
43
|
-
if (availableScroll > delta && isBottom.current) {
|
|
44
|
-
if (onBottomLeave) {
|
|
45
|
-
onBottomLeave(event);
|
|
46
|
-
}
|
|
47
|
-
isBottom.current = false;
|
|
48
|
-
}
|
|
49
|
-
if (isDeltaPositive && isTop.current) {
|
|
50
|
-
if (onTopLeave) {
|
|
51
|
-
onTopLeave(event);
|
|
52
|
-
}
|
|
53
|
-
isTop.current = false;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// bottom limit
|
|
57
|
-
if (isDeltaPositive && delta > availableScroll) {
|
|
58
|
-
if (onBottomArrive && !isBottom.current) {
|
|
59
|
-
onBottomArrive(event);
|
|
60
|
-
}
|
|
61
|
-
target.scrollTop = scrollHeight;
|
|
62
|
-
shouldCancelScroll = true;
|
|
63
|
-
isBottom.current = true;
|
|
64
|
-
|
|
65
|
-
// top limit
|
|
66
|
-
} else if (!isDeltaPositive && -delta > scrollTop) {
|
|
67
|
-
if (onTopArrive && !isTop.current) {
|
|
68
|
-
onTopArrive(event);
|
|
69
|
-
}
|
|
70
|
-
target.scrollTop = 0;
|
|
71
|
-
shouldCancelScroll = true;
|
|
72
|
-
isTop.current = true;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// cancel scroll
|
|
76
|
-
if (shouldCancelScroll) {
|
|
77
|
-
cancelScroll(event);
|
|
78
|
-
}
|
|
79
|
-
}, [onBottomArrive, onBottomLeave, onTopArrive, onTopLeave]);
|
|
80
|
-
var onWheel = (0, _react.useCallback)(function (event) {
|
|
81
|
-
handleEventDelta(event, event.deltaY);
|
|
82
|
-
}, [handleEventDelta]);
|
|
83
|
-
var onTouchStart = (0, _react.useCallback)(function (event) {
|
|
84
|
-
// set touch start so we can calculate touchmove delta
|
|
85
|
-
touchStart.current = event.changedTouches[0].clientY;
|
|
86
|
-
}, []);
|
|
87
|
-
var onTouchMove = (0, _react.useCallback)(function (event) {
|
|
88
|
-
var deltaY = touchStart.current - event.changedTouches[0].clientY;
|
|
89
|
-
handleEventDelta(event, deltaY);
|
|
90
|
-
}, [handleEventDelta]);
|
|
91
|
-
var startListening = (0, _react.useCallback)(function (el) {
|
|
92
|
-
// bail early if no element is available to attach to
|
|
93
|
-
if (!el) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
var notPassive = _utils.supportsPassiveEvents ? {
|
|
97
|
-
passive: false
|
|
98
|
-
} : false;
|
|
99
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
100
|
-
el.addEventListener('wheel', onWheel, notPassive);
|
|
101
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
102
|
-
el.addEventListener('touchstart', onTouchStart, notPassive);
|
|
103
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
104
|
-
el.addEventListener('touchmove', onTouchMove, notPassive);
|
|
105
|
-
}, [onTouchMove, onTouchStart, onWheel]);
|
|
106
|
-
var stopListening = (0, _react.useCallback)(function (el) {
|
|
107
|
-
// bail early if no element is available to detach from
|
|
108
|
-
if (!el) {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
113
|
-
el.removeEventListener('wheel', onWheel, false);
|
|
114
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
115
|
-
el.removeEventListener('touchstart', onTouchStart, false);
|
|
116
|
-
// eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
|
|
117
|
-
el.removeEventListener('touchmove', onTouchMove, false);
|
|
118
|
-
}, [onTouchMove, onTouchStart, onWheel]);
|
|
119
|
-
(0, _react.useEffect)(function () {
|
|
120
|
-
if (!isEnabled) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
var element = scrollTarget.current;
|
|
124
|
-
startListening(element);
|
|
125
|
-
return function () {
|
|
126
|
-
stopListening(element);
|
|
127
|
-
};
|
|
128
|
-
}, [isEnabled, startListening, stopListening]);
|
|
129
|
-
return function (element) {
|
|
130
|
-
scrollTarget.current = element;
|
|
131
|
-
};
|
|
132
|
-
}
|
|
@@ -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
|
-
}
|