@atlaskit/react-select 0.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 +9 -0
- package/LICENSE.md +11 -0
- package/README.md +10 -0
- package/async/package.json +15 -0
- package/base/package.json +15 -0
- package/creatable/package.json +15 -0
- package/dist/cjs/accessibility/helpers.js +34 -0
- package/dist/cjs/accessibility/index.js +74 -0
- package/dist/cjs/async-creatable.js +27 -0
- package/dist/cjs/async.js +30 -0
- package/dist/cjs/builtins.js +18 -0
- package/dist/cjs/components/containers.js +100 -0
- package/dist/cjs/components/control.js +67 -0
- package/dist/cjs/components/group.js +79 -0
- package/dist/cjs/components/index.js +53 -0
- package/dist/cjs/components/indicators.js +214 -0
- package/dist/cjs/components/input.js +93 -0
- package/dist/cjs/components/internal/a11y-text.js +34 -0
- package/dist/cjs/components/internal/dummy-input.js +43 -0
- package/dist/cjs/components/internal/index.js +34 -0
- package/dist/cjs/components/internal/required-input.js +43 -0
- package/dist/cjs/components/internal/scroll-manager.js +57 -0
- package/dist/cjs/components/internal/use-scroll-capture.js +132 -0
- package/dist/cjs/components/internal/use-scroll-lock.js +149 -0
- package/dist/cjs/components/live-region.js +153 -0
- package/dist/cjs/components/menu.js +464 -0
- package/dist/cjs/components/multi-value.js +129 -0
- package/dist/cjs/components/option.js +62 -0
- package/dist/cjs/components/placeholder.js +39 -0
- package/dist/cjs/components/single-value.js +46 -0
- package/dist/cjs/creatable.js +30 -0
- package/dist/cjs/diacritics.js +274 -0
- package/dist/cjs/filters.js +50 -0
- package/dist/cjs/index.js +55 -0
- package/dist/cjs/nonce-provider.js +30 -0
- package/dist/cjs/select.js +1803 -0
- package/dist/cjs/state-manager.js +31 -0
- package/dist/cjs/styles.js +66 -0
- package/dist/cjs/theme.js +42 -0
- package/dist/cjs/types.js +5 -0
- package/dist/cjs/use-async.js +156 -0
- package/dist/cjs/use-creatable.js +114 -0
- package/dist/cjs/use-state-manager.js +83 -0
- package/dist/cjs/utils.js +357 -0
- package/dist/es2019/accessibility/helpers.js +24 -0
- package/dist/es2019/accessibility/index.js +72 -0
- package/dist/es2019/async-creatable.js +17 -0
- package/dist/es2019/async.js +16 -0
- package/dist/es2019/builtins.js +4 -0
- package/dist/es2019/components/containers.js +100 -0
- package/dist/es2019/components/control.js +62 -0
- package/dist/es2019/components/group.js +74 -0
- package/dist/es2019/components/index.js +41 -0
- package/dist/es2019/components/indicators.js +211 -0
- package/dist/es2019/components/input.js +88 -0
- package/dist/es2019/components/internal/a11y-text.js +25 -0
- package/dist/es2019/components/internal/dummy-input.js +36 -0
- package/dist/es2019/components/internal/index.js +4 -0
- package/dist/es2019/components/internal/required-input.js +35 -0
- package/dist/es2019/components/internal/scroll-manager.js +49 -0
- package/dist/es2019/components/internal/use-scroll-capture.js +128 -0
- package/dist/es2019/components/internal/use-scroll-lock.js +143 -0
- package/dist/es2019/components/live-region.js +151 -0
- package/dist/es2019/components/menu.js +466 -0
- package/dist/es2019/components/multi-value.js +134 -0
- package/dist/es2019/components/option.js +57 -0
- package/dist/es2019/components/placeholder.js +34 -0
- package/dist/es2019/components/single-value.js +41 -0
- package/dist/es2019/creatable.js +15 -0
- package/dist/es2019/diacritics.js +264 -0
- package/dist/es2019/filters.js +36 -0
- package/dist/es2019/index.js +8 -0
- package/dist/es2019/nonce-provider.js +19 -0
- package/dist/es2019/select.js +1766 -0
- package/dist/es2019/state-manager.js +22 -0
- package/dist/es2019/styles.js +56 -0
- package/dist/es2019/theme.js +36 -0
- package/dist/es2019/types.js +1 -0
- package/dist/es2019/use-async.js +117 -0
- package/dist/es2019/use-creatable.js +81 -0
- package/dist/es2019/use-state-manager.js +60 -0
- package/dist/es2019/utils.js +309 -0
- package/dist/esm/accessibility/helpers.js +24 -0
- package/dist/esm/accessibility/index.js +68 -0
- package/dist/esm/async-creatable.js +17 -0
- package/dist/esm/async.js +16 -0
- package/dist/esm/builtins.js +12 -0
- package/dist/esm/components/containers.js +96 -0
- package/dist/esm/components/control.js +62 -0
- package/dist/esm/components/group.js +74 -0
- package/dist/esm/components/index.js +43 -0
- package/dist/esm/components/indicators.js +209 -0
- package/dist/esm/components/input.js +88 -0
- package/dist/esm/components/internal/a11y-text.js +27 -0
- package/dist/esm/components/internal/dummy-input.js +37 -0
- package/dist/esm/components/internal/index.js +4 -0
- package/dist/esm/components/internal/required-input.js +36 -0
- package/dist/esm/components/internal/scroll-manager.js +49 -0
- package/dist/esm/components/internal/use-scroll-capture.js +126 -0
- package/dist/esm/components/internal/use-scroll-lock.js +143 -0
- package/dist/esm/components/live-region.js +148 -0
- package/dist/esm/components/menu.js +460 -0
- package/dist/esm/components/multi-value.js +122 -0
- package/dist/esm/components/option.js +57 -0
- package/dist/esm/components/placeholder.js +34 -0
- package/dist/esm/components/single-value.js +41 -0
- package/dist/esm/creatable.js +15 -0
- package/dist/esm/diacritics.js +268 -0
- package/dist/esm/filters.js +43 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/nonce-provider.js +20 -0
- package/dist/esm/select.js +1794 -0
- package/dist/esm/state-manager.js +22 -0
- package/dist/esm/styles.js +58 -0
- package/dist/esm/theme.js +36 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/use-async.js +149 -0
- package/dist/esm/use-creatable.js +107 -0
- package/dist/esm/use-state-manager.js +76 -0
- package/dist/esm/utils.js +328 -0
- package/dist/types/accessibility/helpers.d.ts +5 -0
- package/dist/types/accessibility/index.d.ts +125 -0
- package/dist/types/async-creatable.d.ts +10 -0
- package/dist/types/async.d.ts +9 -0
- package/dist/types/builtins.d.ts +5 -0
- package/dist/types/components/containers.d.ts +50 -0
- package/dist/types/components/control.d.ts +33 -0
- package/dist/types/components/group.d.ts +53 -0
- package/dist/types/components/index.d.ts +73 -0
- package/dist/types/components/indicators.d.ts +72 -0
- package/dist/types/components/input.d.ts +33 -0
- package/dist/types/components/internal/a11y-text.d.ts +8 -0
- package/dist/types/components/internal/dummy-input.d.ts +9 -0
- package/dist/types/components/internal/index.d.ts +4 -0
- package/dist/types/components/internal/required-input.d.ts +10 -0
- package/dist/types/components/internal/scroll-manager.d.ts +17 -0
- package/dist/types/components/internal/use-scroll-capture.d.ts +12 -0
- package/dist/types/components/internal/use-scroll-lock.d.ts +9 -0
- package/dist/types/components/live-region.d.ts +24 -0
- package/dist/types/components/menu.d.ts +130 -0
- package/dist/types/components/multi-value.d.ts +47 -0
- package/dist/types/components/option.d.ts +49 -0
- package/dist/types/components/placeholder.d.ts +22 -0
- package/dist/types/components/single-value.d.ts +28 -0
- package/dist/types/creatable.d.ts +10 -0
- package/dist/types/diacritics.d.ts +1 -0
- package/dist/types/filters.d.ts +15 -0
- package/dist/types/index.d.ts +28 -0
- package/dist/types/nonce-provider.d.ts +8 -0
- package/dist/types/select.d.ts +616 -0
- package/dist/types/state-manager.d.ts +17 -0
- package/dist/types/styles.d.ts +68 -0
- package/dist/types/theme.d.ts +27 -0
- package/dist/types/types.d.ts +134 -0
- package/dist/types/use-async.d.ts +31 -0
- package/dist/types/use-creatable.d.ts +46 -0
- package/dist/types/use-state-manager.d.ts +15 -0
- package/dist/types/utils.d.ts +44 -0
- package/dist/types-ts4.5/accessibility/helpers.d.ts +5 -0
- package/dist/types-ts4.5/accessibility/index.d.ts +125 -0
- package/dist/types-ts4.5/async-creatable.d.ts +10 -0
- package/dist/types-ts4.5/async.d.ts +9 -0
- package/dist/types-ts4.5/builtins.d.ts +5 -0
- package/dist/types-ts4.5/components/containers.d.ts +50 -0
- package/dist/types-ts4.5/components/control.d.ts +33 -0
- package/dist/types-ts4.5/components/group.d.ts +53 -0
- package/dist/types-ts4.5/components/index.d.ts +73 -0
- package/dist/types-ts4.5/components/indicators.d.ts +72 -0
- package/dist/types-ts4.5/components/input.d.ts +33 -0
- package/dist/types-ts4.5/components/internal/a11y-text.d.ts +8 -0
- package/dist/types-ts4.5/components/internal/dummy-input.d.ts +9 -0
- package/dist/types-ts4.5/components/internal/index.d.ts +4 -0
- package/dist/types-ts4.5/components/internal/required-input.d.ts +10 -0
- package/dist/types-ts4.5/components/internal/scroll-manager.d.ts +17 -0
- package/dist/types-ts4.5/components/internal/use-scroll-capture.d.ts +12 -0
- package/dist/types-ts4.5/components/internal/use-scroll-lock.d.ts +9 -0
- package/dist/types-ts4.5/components/live-region.d.ts +24 -0
- package/dist/types-ts4.5/components/menu.d.ts +130 -0
- package/dist/types-ts4.5/components/multi-value.d.ts +47 -0
- package/dist/types-ts4.5/components/option.d.ts +49 -0
- package/dist/types-ts4.5/components/placeholder.d.ts +22 -0
- package/dist/types-ts4.5/components/single-value.d.ts +28 -0
- package/dist/types-ts4.5/creatable.d.ts +10 -0
- package/dist/types-ts4.5/diacritics.d.ts +1 -0
- package/dist/types-ts4.5/filters.d.ts +15 -0
- package/dist/types-ts4.5/index.d.ts +28 -0
- package/dist/types-ts4.5/nonce-provider.d.ts +8 -0
- package/dist/types-ts4.5/select.d.ts +616 -0
- package/dist/types-ts4.5/state-manager.d.ts +17 -0
- package/dist/types-ts4.5/styles.d.ts +68 -0
- package/dist/types-ts4.5/theme.d.ts +27 -0
- package/dist/types-ts4.5/types.d.ts +134 -0
- package/dist/types-ts4.5/use-async.d.ts +31 -0
- package/dist/types-ts4.5/use-creatable.d.ts +46 -0
- package/dist/types-ts4.5/use-state-manager.d.ts +15 -0
- package/dist/types-ts4.5/utils.d.ts +44 -0
- package/package.json +83 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.loadingIndicatorCSS = exports.indicatorSeparatorCSS = exports.dropdownIndicatorCSS = exports.clearIndicatorCSS = exports.LoadingIndicator = exports.IndicatorSeparator = exports.DropdownIndicator = exports.DownChevron = exports.CrossIcon = exports.ClearIndicator = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _react = require("@emotion/react");
|
|
12
|
+
var _utils = require("../utils");
|
|
13
|
+
var _excluded = ["size"],
|
|
14
|
+
_excluded2 = ["innerProps", "isRtl", "size"];
|
|
15
|
+
/**
|
|
16
|
+
* @jsxRuntime classic
|
|
17
|
+
* @jsx jsx
|
|
18
|
+
*/
|
|
19
|
+
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; }
|
|
20
|
+
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; }
|
|
21
|
+
// ==============================
|
|
22
|
+
// Dropdown & Clear Icons
|
|
23
|
+
// ==============================
|
|
24
|
+
|
|
25
|
+
var styles = (0, _react.css)({
|
|
26
|
+
display: 'inline-block',
|
|
27
|
+
fill: 'currentColor',
|
|
28
|
+
lineHeight: 1,
|
|
29
|
+
stroke: 'currentColor',
|
|
30
|
+
strokeWidth: 0
|
|
31
|
+
});
|
|
32
|
+
var Svg = function Svg(_ref) {
|
|
33
|
+
var size = _ref.size,
|
|
34
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
35
|
+
return (0, _react.jsx)("svg", (0, _extends2.default)({
|
|
36
|
+
height: size,
|
|
37
|
+
width: size,
|
|
38
|
+
viewBox: "0 0 20 20",
|
|
39
|
+
"aria-hidden": "true",
|
|
40
|
+
focusable: "false",
|
|
41
|
+
css: styles
|
|
42
|
+
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
43
|
+
}, props));
|
|
44
|
+
};
|
|
45
|
+
// eslint-disable-next-line @repo/internal/react/require-jsdoc
|
|
46
|
+
var CrossIcon = exports.CrossIcon = function CrossIcon(props) {
|
|
47
|
+
return (
|
|
48
|
+
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
49
|
+
(0, _react.jsx)(Svg, (0, _extends2.default)({
|
|
50
|
+
size: 20
|
|
51
|
+
}, props), (0, _react.jsx)("path", {
|
|
52
|
+
d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"
|
|
53
|
+
}))
|
|
54
|
+
);
|
|
55
|
+
};
|
|
56
|
+
// eslint-disable-next-line @repo/internal/react/require-jsdoc
|
|
57
|
+
var DownChevron = exports.DownChevron = function DownChevron(props) {
|
|
58
|
+
return (
|
|
59
|
+
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
60
|
+
(0, _react.jsx)(Svg, (0, _extends2.default)({
|
|
61
|
+
size: 20
|
|
62
|
+
}, props), (0, _react.jsx)("path", {
|
|
63
|
+
d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
|
|
64
|
+
}))
|
|
65
|
+
);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
// ==============================
|
|
69
|
+
// Dropdown & Clear Buttons
|
|
70
|
+
// ==============================
|
|
71
|
+
|
|
72
|
+
var baseCSS = function baseCSS(_ref2, unstyled) {
|
|
73
|
+
var isFocused = _ref2.isFocused,
|
|
74
|
+
_ref2$theme = _ref2.theme,
|
|
75
|
+
baseUnit = _ref2$theme.spacing.baseUnit,
|
|
76
|
+
colors = _ref2$theme.colors;
|
|
77
|
+
return _objectSpread({
|
|
78
|
+
label: 'indicatorContainer',
|
|
79
|
+
display: 'flex',
|
|
80
|
+
transition: 'color 150ms'
|
|
81
|
+
}, unstyled ? {} : {
|
|
82
|
+
color: isFocused ? colors.neutral60 : colors.neutral20,
|
|
83
|
+
padding: baseUnit * 2,
|
|
84
|
+
':hover': {
|
|
85
|
+
color: isFocused ? colors.neutral80 : colors.neutral40
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
var dropdownIndicatorCSS = exports.dropdownIndicatorCSS = baseCSS;
|
|
90
|
+
|
|
91
|
+
// eslint-disable-next-line @repo/internal/react/require-jsdoc
|
|
92
|
+
var DropdownIndicator = exports.DropdownIndicator = function DropdownIndicator(props) {
|
|
93
|
+
var children = props.children,
|
|
94
|
+
innerProps = props.innerProps;
|
|
95
|
+
return (0, _react.jsx)("div", (0, _extends2.default)({}, (0, _utils.getStyleProps)(props, 'dropdownIndicator', {
|
|
96
|
+
indicator: true,
|
|
97
|
+
'dropdown-indicator': true
|
|
98
|
+
}), innerProps), children || (0, _react.jsx)(DownChevron, null));
|
|
99
|
+
};
|
|
100
|
+
var clearIndicatorCSS = exports.clearIndicatorCSS = baseCSS;
|
|
101
|
+
|
|
102
|
+
// eslint-disable-next-line @repo/internal/react/require-jsdoc
|
|
103
|
+
var ClearIndicator = exports.ClearIndicator = function ClearIndicator(props) {
|
|
104
|
+
var children = props.children,
|
|
105
|
+
innerProps = props.innerProps;
|
|
106
|
+
return (0, _react.jsx)("div", (0, _extends2.default)({}, (0, _utils.getStyleProps)(props, 'clearIndicator', {
|
|
107
|
+
indicator: true,
|
|
108
|
+
'clear-indicator': true
|
|
109
|
+
}), innerProps), children || (0, _react.jsx)(CrossIcon, null));
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
// ==============================
|
|
113
|
+
// Separator
|
|
114
|
+
// ==============================
|
|
115
|
+
|
|
116
|
+
var indicatorSeparatorCSS = exports.indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref3, unstyled) {
|
|
117
|
+
var isDisabled = _ref3.isDisabled,
|
|
118
|
+
_ref3$theme = _ref3.theme,
|
|
119
|
+
baseUnit = _ref3$theme.spacing.baseUnit,
|
|
120
|
+
colors = _ref3$theme.colors;
|
|
121
|
+
return _objectSpread({
|
|
122
|
+
label: 'indicatorSeparator',
|
|
123
|
+
alignSelf: 'stretch',
|
|
124
|
+
width: 1
|
|
125
|
+
}, unstyled ? {} : {
|
|
126
|
+
backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,
|
|
127
|
+
marginBottom: baseUnit * 2,
|
|
128
|
+
marginTop: baseUnit * 2
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
// eslint-disable-next-line @repo/internal/react/require-jsdoc
|
|
133
|
+
var IndicatorSeparator = exports.IndicatorSeparator = function IndicatorSeparator(props) {
|
|
134
|
+
var innerProps = props.innerProps;
|
|
135
|
+
return (0, _react.jsx)("span", (0, _extends2.default)({}, innerProps, (0, _utils.getStyleProps)(props, 'indicatorSeparator', {
|
|
136
|
+
'indicator-separator': true
|
|
137
|
+
})));
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
// ==============================
|
|
141
|
+
// Loading
|
|
142
|
+
// ==============================
|
|
143
|
+
|
|
144
|
+
var loadingDotAnimations = (0, _react.keyframes)({
|
|
145
|
+
'0%, 80%, 100%': {
|
|
146
|
+
opacity: 0
|
|
147
|
+
},
|
|
148
|
+
'40%': {
|
|
149
|
+
opacity: 1
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
var loadingIndicatorCSS = exports.loadingIndicatorCSS = function loadingIndicatorCSS(_ref4, unstyled) {
|
|
153
|
+
var isFocused = _ref4.isFocused,
|
|
154
|
+
size = _ref4.size,
|
|
155
|
+
_ref4$theme = _ref4.theme,
|
|
156
|
+
colors = _ref4$theme.colors,
|
|
157
|
+
baseUnit = _ref4$theme.spacing.baseUnit;
|
|
158
|
+
return _objectSpread({
|
|
159
|
+
label: 'loadingIndicator',
|
|
160
|
+
display: 'flex',
|
|
161
|
+
transition: 'color 150ms',
|
|
162
|
+
alignSelf: 'center',
|
|
163
|
+
fontSize: size,
|
|
164
|
+
lineHeight: 1,
|
|
165
|
+
marginRight: size,
|
|
166
|
+
textAlign: 'center',
|
|
167
|
+
verticalAlign: 'middle'
|
|
168
|
+
}, unstyled ? {} : {
|
|
169
|
+
color: isFocused ? colors.neutral60 : colors.neutral20,
|
|
170
|
+
padding: baseUnit * 2
|
|
171
|
+
});
|
|
172
|
+
};
|
|
173
|
+
var LoadingDot = function LoadingDot(_ref5) {
|
|
174
|
+
var delay = _ref5.delay,
|
|
175
|
+
offset = _ref5.offset;
|
|
176
|
+
return (0, _react.jsx)("span", {
|
|
177
|
+
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
|
|
178
|
+
css: {
|
|
179
|
+
animation: "".concat(loadingDotAnimations, " 1s ease-in-out ").concat(delay, "ms infinite;"),
|
|
180
|
+
backgroundColor: 'currentColor',
|
|
181
|
+
borderRadius: '1em',
|
|
182
|
+
display: 'inline-block',
|
|
183
|
+
marginLeft: offset ? '1em' : undefined,
|
|
184
|
+
height: '1em',
|
|
185
|
+
verticalAlign: 'top',
|
|
186
|
+
width: '1em'
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
};
|
|
190
|
+
// eslint-disable-next-line @repo/internal/react/require-jsdoc
|
|
191
|
+
var LoadingIndicator = exports.LoadingIndicator = function LoadingIndicator(_ref6) {
|
|
192
|
+
var innerProps = _ref6.innerProps,
|
|
193
|
+
isRtl = _ref6.isRtl,
|
|
194
|
+
_ref6$size = _ref6.size,
|
|
195
|
+
size = _ref6$size === void 0 ? 4 : _ref6$size,
|
|
196
|
+
restProps = (0, _objectWithoutProperties2.default)(_ref6, _excluded2);
|
|
197
|
+
return (0, _react.jsx)("div", (0, _extends2.default)({}, (0, _utils.getStyleProps)(_objectSpread(_objectSpread({}, restProps), {}, {
|
|
198
|
+
innerProps: innerProps,
|
|
199
|
+
isRtl: isRtl,
|
|
200
|
+
size: size
|
|
201
|
+
}), 'loadingIndicator', {
|
|
202
|
+
indicator: true,
|
|
203
|
+
'loading-indicator': true
|
|
204
|
+
}), innerProps), (0, _react.jsx)(LoadingDot, {
|
|
205
|
+
delay: 0,
|
|
206
|
+
offset: isRtl
|
|
207
|
+
}), (0, _react.jsx)(LoadingDot, {
|
|
208
|
+
delay: 160,
|
|
209
|
+
offset: true
|
|
210
|
+
}), (0, _react.jsx)(LoadingDot, {
|
|
211
|
+
delay: 320,
|
|
212
|
+
offset: !isRtl
|
|
213
|
+
}));
|
|
214
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
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"];
|
|
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
|
+
*/
|
|
19
|
+
var inputCSS = exports.inputCSS = function inputCSS(_ref, unstyled) {
|
|
20
|
+
var isDisabled = _ref.isDisabled,
|
|
21
|
+
value = _ref.value,
|
|
22
|
+
_ref$theme = _ref.theme,
|
|
23
|
+
spacing = _ref$theme.spacing,
|
|
24
|
+
colors = _ref$theme.colors;
|
|
25
|
+
return _objectSpread(_objectSpread({
|
|
26
|
+
visibility: isDisabled ? 'hidden' : 'visible',
|
|
27
|
+
// force css to recompute when value change due to @emotion bug.
|
|
28
|
+
// We can remove it whenever the bug is fixed.
|
|
29
|
+
transform: value ? 'translateZ(0)' : ''
|
|
30
|
+
}, containerStyle), unstyled ? {} : {
|
|
31
|
+
margin: spacing.baseUnit / 2,
|
|
32
|
+
paddingBottom: spacing.baseUnit / 2,
|
|
33
|
+
paddingTop: spacing.baseUnit / 2,
|
|
34
|
+
color: colors.neutral80
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
var spacingStyle = {
|
|
38
|
+
gridArea: '1 / 2',
|
|
39
|
+
font: 'inherit',
|
|
40
|
+
minWidth: '2px',
|
|
41
|
+
border: 0,
|
|
42
|
+
margin: 0,
|
|
43
|
+
outline: 0,
|
|
44
|
+
padding: 0
|
|
45
|
+
};
|
|
46
|
+
var containerStyle = {
|
|
47
|
+
flex: '1 1 auto',
|
|
48
|
+
display: 'inline-grid',
|
|
49
|
+
gridArea: '1 / 1 / 2 / 3',
|
|
50
|
+
gridTemplateColumns: '0 min-content',
|
|
51
|
+
'&:after': _objectSpread({
|
|
52
|
+
content: 'attr(data-value) " "',
|
|
53
|
+
visibility: 'hidden',
|
|
54
|
+
whiteSpace: 'pre'
|
|
55
|
+
}, spacingStyle)
|
|
56
|
+
};
|
|
57
|
+
var inputStyle = function inputStyle(isHidden) {
|
|
58
|
+
return _objectSpread({
|
|
59
|
+
label: 'input',
|
|
60
|
+
color: 'inherit',
|
|
61
|
+
background: 0,
|
|
62
|
+
opacity: isHidden ? 0 : 1,
|
|
63
|
+
width: '100%'
|
|
64
|
+
}, spacingStyle);
|
|
65
|
+
};
|
|
66
|
+
var Input = function Input(props) {
|
|
67
|
+
var cx = props.cx,
|
|
68
|
+
value = props.value;
|
|
69
|
+
var _cleanCommonProps = (0, _utils.cleanCommonProps)(props),
|
|
70
|
+
innerRef = _cleanCommonProps.innerRef,
|
|
71
|
+
isDisabled = _cleanCommonProps.isDisabled,
|
|
72
|
+
isHidden = _cleanCommonProps.isHidden,
|
|
73
|
+
inputClassName = _cleanCommonProps.inputClassName,
|
|
74
|
+
innerProps = (0, _objectWithoutProperties2.default)(_cleanCommonProps, _excluded);
|
|
75
|
+
return (0, _react.jsx)("div", (0, _extends2.default)({}, (0, _utils.getStyleProps)(props, 'input', {
|
|
76
|
+
'input-container': true
|
|
77
|
+
}), {
|
|
78
|
+
"data-value": value || ''
|
|
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
|
+
}, innerProps)));
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
// eslint-disable-next-line @repo/internal/react/require-jsdoc
|
|
93
|
+
var _default = exports.default = Input;
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
|
|
15
|
+
// Assistive text to describe visual elements. Hidden for sighted users.
|
|
16
|
+
var styles = (0, _react.css)({
|
|
17
|
+
width: 1,
|
|
18
|
+
height: 1,
|
|
19
|
+
padding: 0,
|
|
20
|
+
position: 'absolute',
|
|
21
|
+
zIndex: 9999,
|
|
22
|
+
border: 0,
|
|
23
|
+
clip: 'rect(1px, 1px, 1px, 1px)',
|
|
24
|
+
label: 'a11yText',
|
|
25
|
+
overflow: 'hidden',
|
|
26
|
+
whiteSpace: 'nowrap'
|
|
27
|
+
});
|
|
28
|
+
var A11yText = function A11yText(props) {
|
|
29
|
+
return (0, _react.jsx)("span", (0, _extends2.default)({
|
|
30
|
+
css: styles
|
|
31
|
+
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
32
|
+
}, props));
|
|
33
|
+
};
|
|
34
|
+
var _default = exports.default = A11yText;
|
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
var dummyInputStyles = (0, _react.css)({
|
|
18
|
+
width: 1,
|
|
19
|
+
padding: 0,
|
|
20
|
+
position: 'relative',
|
|
21
|
+
background: 0,
|
|
22
|
+
border: 0,
|
|
23
|
+
caretColor: 'transparent',
|
|
24
|
+
color: 'transparent',
|
|
25
|
+
fontSize: 'inherit',
|
|
26
|
+
gridArea: '1 / 1 / 2 / 3',
|
|
27
|
+
insetInlineStart: -100,
|
|
28
|
+
label: 'dummyInput',
|
|
29
|
+
opacity: 0,
|
|
30
|
+
outline: 0,
|
|
31
|
+
transform: 'scale(.01)'
|
|
32
|
+
});
|
|
33
|
+
function DummyInput(_ref) {
|
|
34
|
+
var innerRef = _ref.innerRef,
|
|
35
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
36
|
+
// Remove animation props not meant for HTML elements
|
|
37
|
+
var filteredProps = (0, _utils.removeProps)(props, 'onExited', 'in', 'enter', 'exit', 'appear');
|
|
38
|
+
return (0, _react.jsx)("input", (0, _extends2.default)({
|
|
39
|
+
ref: innerRef
|
|
40
|
+
}, filteredProps, {
|
|
41
|
+
css: dummyInputStyles
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
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"));
|
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
var styles = (0, _react.css)({
|
|
16
|
+
width: '100%',
|
|
17
|
+
position: 'absolute',
|
|
18
|
+
insetBlockEnd: 0,
|
|
19
|
+
insetInlineEnd: 0,
|
|
20
|
+
insetInlineStart: 0,
|
|
21
|
+
label: 'requiredInput',
|
|
22
|
+
opacity: 0,
|
|
23
|
+
pointerEvents: 'none'
|
|
24
|
+
});
|
|
25
|
+
var RequiredInput = function RequiredInput(_ref) {
|
|
26
|
+
var name = _ref.name,
|
|
27
|
+
onFocus = _ref.onFocus;
|
|
28
|
+
return (0, _react.jsx)("input", {
|
|
29
|
+
required: true,
|
|
30
|
+
name: name,
|
|
31
|
+
tabIndex: -1,
|
|
32
|
+
"aria-hidden": "true",
|
|
33
|
+
onFocus: onFocus,
|
|
34
|
+
css: styles
|
|
35
|
+
// Prevent `Switching from uncontrolled to controlled` error
|
|
36
|
+
,
|
|
37
|
+
value: "",
|
|
38
|
+
onChange: _noop.default
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// eslint-disable-next-line @repo/internal/react/require-jsdoc
|
|
43
|
+
var _default = exports.default = RequiredInput;
|
|
@@ -0,0 +1,57 @@
|
|
|
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
|
+
var styles = (0, _react2.css)({
|
|
18
|
+
position: 'fixed',
|
|
19
|
+
insetBlockEnd: 0,
|
|
20
|
+
insetBlockStart: 0,
|
|
21
|
+
insetInlineEnd: 0,
|
|
22
|
+
insetInlineStart: 0
|
|
23
|
+
});
|
|
24
|
+
var blurSelectInput = function blurSelectInput(event) {
|
|
25
|
+
var element = event.target;
|
|
26
|
+
return element.ownerDocument.activeElement && element.ownerDocument.activeElement.blur();
|
|
27
|
+
};
|
|
28
|
+
function ScrollManager(_ref) {
|
|
29
|
+
var children = _ref.children,
|
|
30
|
+
lockEnabled = _ref.lockEnabled,
|
|
31
|
+
_ref$captureEnabled = _ref.captureEnabled,
|
|
32
|
+
captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled,
|
|
33
|
+
onBottomArrive = _ref.onBottomArrive,
|
|
34
|
+
onBottomLeave = _ref.onBottomLeave,
|
|
35
|
+
onTopArrive = _ref.onTopArrive,
|
|
36
|
+
onTopLeave = _ref.onTopLeave;
|
|
37
|
+
var setScrollCaptureTarget = (0, _useScrollCapture.default)({
|
|
38
|
+
isEnabled: captureEnabled,
|
|
39
|
+
onBottomArrive: onBottomArrive,
|
|
40
|
+
onBottomLeave: onBottomLeave,
|
|
41
|
+
onTopArrive: onTopArrive,
|
|
42
|
+
onTopLeave: onTopLeave
|
|
43
|
+
});
|
|
44
|
+
var setScrollLockTarget = (0, _useScrollLock.default)({
|
|
45
|
+
isEnabled: lockEnabled
|
|
46
|
+
});
|
|
47
|
+
var targetRef = function targetRef(element) {
|
|
48
|
+
setScrollCaptureTarget(element);
|
|
49
|
+
setScrollLockTarget(element);
|
|
50
|
+
};
|
|
51
|
+
return (0, _react2.jsx)(_react.Fragment, null, lockEnabled &&
|
|
52
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
53
|
+
(0, _react2.jsx)("div", {
|
|
54
|
+
onClick: blurSelectInput,
|
|
55
|
+
css: styles
|
|
56
|
+
}), children(targetRef));
|
|
57
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
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
|
+
}
|