@atlaskit/react-select 3.0.0 → 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.
Files changed (270) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/components/containers.compiled.css +26 -0
  3. package/dist/cjs/components/containers.js +80 -12
  4. package/dist/cjs/components/control.js +50 -7
  5. package/dist/cjs/components/group.js +60 -10
  6. package/dist/cjs/components/indicators.js +128 -13
  7. package/dist/cjs/components/input.js +50 -7
  8. package/dist/cjs/components/internal/a11y-text.js +14 -5
  9. package/dist/cjs/components/internal/dummy-input.js +21 -5
  10. package/dist/cjs/components/internal/required-input.js +24 -6
  11. package/dist/cjs/components/live-region.js +101 -5
  12. package/dist/cjs/components/menu.js +436 -25
  13. package/dist/cjs/components/multi-value.js +148 -17
  14. package/dist/cjs/components/option.js +41 -7
  15. package/dist/cjs/components/placeholder.js +29 -7
  16. package/dist/cjs/components/single-value.js +30 -7
  17. package/dist/es2019/components/containers.compiled.css +26 -0
  18. package/dist/es2019/components/containers.js +93 -9
  19. package/dist/es2019/components/control.js +54 -6
  20. package/dist/es2019/components/group.js +67 -7
  21. package/dist/es2019/components/indicators.js +131 -9
  22. package/dist/es2019/components/input.js +53 -5
  23. package/dist/es2019/components/internal/a11y-text.js +12 -4
  24. package/dist/es2019/components/internal/dummy-input.js +19 -5
  25. package/dist/es2019/components/internal/required-input.js +22 -4
  26. package/dist/es2019/components/live-region.js +104 -4
  27. package/dist/es2019/components/menu.js +444 -17
  28. package/dist/es2019/components/multi-value.js +158 -11
  29. package/dist/es2019/components/option.js +45 -5
  30. package/dist/es2019/components/placeholder.js +33 -5
  31. package/dist/es2019/components/single-value.js +34 -5
  32. package/dist/esm/components/containers.compiled.css +26 -0
  33. package/dist/esm/components/containers.js +78 -11
  34. package/dist/esm/components/control.js +51 -6
  35. package/dist/esm/components/group.js +60 -9
  36. package/dist/esm/components/indicators.js +127 -13
  37. package/dist/esm/components/input.js +50 -6
  38. package/dist/esm/components/internal/a11y-text.js +12 -4
  39. package/dist/esm/components/internal/dummy-input.js +20 -5
  40. package/dist/esm/components/internal/required-input.js +22 -5
  41. package/dist/esm/components/live-region.js +99 -4
  42. package/dist/esm/components/menu.js +437 -25
  43. package/dist/esm/components/multi-value.js +148 -16
  44. package/dist/esm/components/option.js +41 -6
  45. package/dist/esm/components/placeholder.js +29 -6
  46. package/dist/esm/components/single-value.js +30 -6
  47. package/dist/types/components/containers.d.ts +12 -8
  48. package/dist/types/components/control.d.ts +7 -3
  49. package/dist/types/components/group.d.ts +10 -6
  50. package/dist/types/components/index.d.ts +21 -21
  51. package/dist/types/components/indicators.d.ts +12 -8
  52. package/dist/types/components/input.d.ts +8 -4
  53. package/dist/types/components/internal/a11y-text.d.ts +2 -2
  54. package/dist/types/components/internal/dummy-input.d.ts +7 -3
  55. package/dist/types/components/internal/required-input.d.ts +4 -0
  56. package/dist/types/components/live-region.d.ts +0 -2
  57. package/dist/types/components/menu.d.ts +17 -13
  58. package/dist/types/components/multi-value.d.ts +13 -9
  59. package/dist/types/components/option.d.ts +8 -4
  60. package/dist/types/components/placeholder.d.ts +8 -4
  61. package/dist/types/components/single-value.d.ts +8 -4
  62. package/dist/types/select.d.ts +21 -21
  63. package/dist/types-ts4.5/components/containers.d.ts +12 -8
  64. package/dist/types-ts4.5/components/control.d.ts +7 -3
  65. package/dist/types-ts4.5/components/group.d.ts +10 -6
  66. package/dist/types-ts4.5/components/index.d.ts +21 -21
  67. package/dist/types-ts4.5/components/indicators.d.ts +12 -8
  68. package/dist/types-ts4.5/components/input.d.ts +8 -4
  69. package/dist/types-ts4.5/components/internal/a11y-text.d.ts +2 -2
  70. package/dist/types-ts4.5/components/internal/dummy-input.d.ts +7 -3
  71. package/dist/types-ts4.5/components/internal/required-input.d.ts +4 -0
  72. package/dist/types-ts4.5/components/live-region.d.ts +0 -2
  73. package/dist/types-ts4.5/components/menu.d.ts +17 -13
  74. package/dist/types-ts4.5/components/multi-value.d.ts +13 -9
  75. package/dist/types-ts4.5/components/option.d.ts +8 -4
  76. package/dist/types-ts4.5/components/placeholder.d.ts +8 -4
  77. package/dist/types-ts4.5/components/single-value.d.ts +8 -4
  78. package/dist/types-ts4.5/select.d.ts +21 -21
  79. package/package.json +2 -2
  80. package/dist/cjs/compiled/components/control.js +0 -65
  81. package/dist/cjs/compiled/components/group.js +0 -80
  82. package/dist/cjs/compiled/components/indicators.js +0 -158
  83. package/dist/cjs/compiled/components/input.js +0 -65
  84. package/dist/cjs/compiled/components/internal/a11y-text.js +0 -24
  85. package/dist/cjs/compiled/components/internal/dummy-input.js +0 -30
  86. package/dist/cjs/compiled/components/internal/required-input.js +0 -35
  87. package/dist/cjs/compiled/components/live-region.js +0 -117
  88. package/dist/cjs/compiled/components/menu.js +0 -489
  89. package/dist/cjs/compiled/components/multi-value.js +0 -173
  90. package/dist/cjs/compiled/components/option.js +0 -56
  91. package/dist/cjs/compiled/components/placeholder.js +0 -44
  92. package/dist/cjs/compiled/components/single-value.js +0 -45
  93. package/dist/cjs/emotion/components/containers.js +0 -117
  94. package/dist/cjs/emotion/components/control.js +0 -112
  95. package/dist/cjs/emotion/components/group.js +0 -72
  96. package/dist/cjs/emotion/components/indicators.js +0 -140
  97. package/dist/cjs/emotion/components/input.js +0 -94
  98. package/dist/cjs/emotion/components/internal/a11y-text.js +0 -37
  99. package/dist/cjs/emotion/components/internal/dummy-input.js +0 -45
  100. package/dist/cjs/emotion/components/internal/index.js +0 -34
  101. package/dist/cjs/emotion/components/internal/required-input.js +0 -45
  102. package/dist/cjs/emotion/components/internal/scroll-manager.js +0 -59
  103. package/dist/cjs/emotion/components/internal/use-scroll-capture.js +0 -132
  104. package/dist/cjs/emotion/components/internal/use-scroll-lock.js +0 -149
  105. package/dist/cjs/emotion/components/live-region.js +0 -120
  106. package/dist/cjs/emotion/components/menu.js +0 -456
  107. package/dist/cjs/emotion/components/multi-value.js +0 -199
  108. package/dist/cjs/emotion/components/option.js +0 -84
  109. package/dist/cjs/emotion/components/placeholder.js +0 -36
  110. package/dist/cjs/emotion/components/single-value.js +0 -42
  111. package/dist/es2019/compiled/components/control.js +0 -58
  112. package/dist/es2019/compiled/components/group.js +0 -72
  113. package/dist/es2019/compiled/components/indicators.js +0 -146
  114. package/dist/es2019/compiled/components/input.js +0 -56
  115. package/dist/es2019/compiled/components/internal/a11y-text.js +0 -13
  116. package/dist/es2019/compiled/components/internal/dummy-input.js +0 -20
  117. package/dist/es2019/compiled/components/internal/required-input.js +0 -25
  118. package/dist/es2019/compiled/components/live-region.js +0 -112
  119. package/dist/es2019/compiled/components/menu.js +0 -477
  120. package/dist/es2019/compiled/components/multi-value.js +0 -165
  121. package/dist/es2019/compiled/components/option.js +0 -48
  122. package/dist/es2019/compiled/components/placeholder.js +0 -36
  123. package/dist/es2019/compiled/components/single-value.js +0 -37
  124. package/dist/es2019/emotion/components/containers.js +0 -114
  125. package/dist/es2019/emotion/components/control.js +0 -108
  126. package/dist/es2019/emotion/components/group.js +0 -60
  127. package/dist/es2019/emotion/components/indicators.js +0 -131
  128. package/dist/es2019/emotion/components/input.js +0 -87
  129. package/dist/es2019/emotion/components/internal/a11y-text.js +0 -28
  130. package/dist/es2019/emotion/components/internal/dummy-input.js +0 -38
  131. package/dist/es2019/emotion/components/internal/index.js +0 -4
  132. package/dist/es2019/emotion/components/internal/required-input.js +0 -36
  133. package/dist/es2019/emotion/components/internal/scroll-manager.js +0 -51
  134. package/dist/es2019/emotion/components/internal/use-scroll-capture.js +0 -128
  135. package/dist/es2019/emotion/components/internal/use-scroll-lock.js +0 -143
  136. package/dist/es2019/emotion/components/live-region.js +0 -120
  137. package/dist/es2019/emotion/components/menu.js +0 -452
  138. package/dist/es2019/emotion/components/multi-value.js +0 -203
  139. package/dist/es2019/emotion/components/option.js +0 -79
  140. package/dist/es2019/emotion/components/placeholder.js +0 -29
  141. package/dist/es2019/emotion/components/single-value.js +0 -35
  142. package/dist/esm/compiled/components/control.js +0 -57
  143. package/dist/esm/compiled/components/group.js +0 -71
  144. package/dist/esm/compiled/components/indicators.js +0 -150
  145. package/dist/esm/compiled/components/input.js +0 -56
  146. package/dist/esm/compiled/components/internal/a11y-text.js +0 -15
  147. package/dist/esm/compiled/components/internal/dummy-input.js +0 -21
  148. package/dist/esm/compiled/components/internal/required-input.js +0 -26
  149. package/dist/esm/compiled/components/live-region.js +0 -109
  150. package/dist/esm/compiled/components/menu.js +0 -484
  151. package/dist/esm/compiled/components/multi-value.js +0 -162
  152. package/dist/esm/compiled/components/option.js +0 -47
  153. package/dist/esm/compiled/components/placeholder.js +0 -35
  154. package/dist/esm/compiled/components/single-value.js +0 -36
  155. package/dist/esm/emotion/components/containers.js +0 -110
  156. package/dist/esm/emotion/components/control.js +0 -104
  157. package/dist/esm/emotion/components/group.js +0 -66
  158. package/dist/esm/emotion/components/indicators.js +0 -135
  159. package/dist/esm/emotion/components/input.js +0 -90
  160. package/dist/esm/emotion/components/internal/a11y-text.js +0 -30
  161. package/dist/esm/emotion/components/internal/dummy-input.js +0 -39
  162. package/dist/esm/emotion/components/internal/index.js +0 -4
  163. package/dist/esm/emotion/components/internal/required-input.js +0 -37
  164. package/dist/esm/emotion/components/internal/scroll-manager.js +0 -51
  165. package/dist/esm/emotion/components/internal/use-scroll-capture.js +0 -126
  166. package/dist/esm/emotion/components/internal/use-scroll-lock.js +0 -143
  167. package/dist/esm/emotion/components/live-region.js +0 -117
  168. package/dist/esm/emotion/components/menu.js +0 -456
  169. package/dist/esm/emotion/components/multi-value.js +0 -193
  170. package/dist/esm/emotion/components/option.js +0 -76
  171. package/dist/esm/emotion/components/placeholder.js +0 -28
  172. package/dist/esm/emotion/components/single-value.js +0 -34
  173. package/dist/types/compiled/components/control.d.ts +0 -41
  174. package/dist/types/compiled/components/group.d.ts +0 -54
  175. package/dist/types/compiled/components/indicators.d.ts +0 -72
  176. package/dist/types/compiled/components/input.d.ts +0 -36
  177. package/dist/types/compiled/components/internal/a11y-text.d.ts +0 -3
  178. package/dist/types/compiled/components/internal/dummy-input.d.ts +0 -8
  179. package/dist/types/compiled/components/internal/required-input.d.ts +0 -10
  180. package/dist/types/compiled/components/live-region.d.ts +0 -17
  181. package/dist/types/compiled/components/menu.d.ts +0 -115
  182. package/dist/types/compiled/components/multi-value.d.ts +0 -57
  183. package/dist/types/compiled/components/option.d.ts +0 -48
  184. package/dist/types/compiled/components/placeholder.d.ts +0 -21
  185. package/dist/types/compiled/components/single-value.d.ts +0 -27
  186. package/dist/types/emotion/components/containers.d.ts +0 -54
  187. package/dist/types/emotion/components/control.d.ts +0 -42
  188. package/dist/types/emotion/components/group.d.ts +0 -52
  189. package/dist/types/emotion/components/indicators.d.ts +0 -73
  190. package/dist/types/emotion/components/input.d.ts +0 -37
  191. package/dist/types/emotion/components/internal/a11y-text.d.ts +0 -8
  192. package/dist/types/emotion/components/internal/dummy-input.d.ts +0 -9
  193. package/dist/types/emotion/components/internal/index.d.ts +0 -4
  194. package/dist/types/emotion/components/internal/required-input.d.ts +0 -10
  195. package/dist/types/emotion/components/internal/scroll-manager.d.ts +0 -17
  196. package/dist/types/emotion/components/internal/use-scroll-capture.d.ts +0 -12
  197. package/dist/types/emotion/components/internal/use-scroll-lock.d.ts +0 -9
  198. package/dist/types/emotion/components/live-region.d.ts +0 -23
  199. package/dist/types/emotion/components/menu.d.ts +0 -116
  200. package/dist/types/emotion/components/multi-value.d.ts +0 -47
  201. package/dist/types/emotion/components/option.d.ts +0 -49
  202. package/dist/types/emotion/components/placeholder.d.ts +0 -22
  203. package/dist/types/emotion/components/single-value.d.ts +0 -28
  204. package/dist/types-ts4.5/compiled/components/control.d.ts +0 -41
  205. package/dist/types-ts4.5/compiled/components/group.d.ts +0 -54
  206. package/dist/types-ts4.5/compiled/components/indicators.d.ts +0 -72
  207. package/dist/types-ts4.5/compiled/components/input.d.ts +0 -36
  208. package/dist/types-ts4.5/compiled/components/internal/a11y-text.d.ts +0 -3
  209. package/dist/types-ts4.5/compiled/components/internal/dummy-input.d.ts +0 -8
  210. package/dist/types-ts4.5/compiled/components/internal/required-input.d.ts +0 -10
  211. package/dist/types-ts4.5/compiled/components/live-region.d.ts +0 -17
  212. package/dist/types-ts4.5/compiled/components/menu.d.ts +0 -115
  213. package/dist/types-ts4.5/compiled/components/multi-value.d.ts +0 -57
  214. package/dist/types-ts4.5/compiled/components/option.d.ts +0 -48
  215. package/dist/types-ts4.5/compiled/components/placeholder.d.ts +0 -21
  216. package/dist/types-ts4.5/compiled/components/single-value.d.ts +0 -27
  217. package/dist/types-ts4.5/emotion/components/containers.d.ts +0 -54
  218. package/dist/types-ts4.5/emotion/components/control.d.ts +0 -42
  219. package/dist/types-ts4.5/emotion/components/group.d.ts +0 -52
  220. package/dist/types-ts4.5/emotion/components/indicators.d.ts +0 -73
  221. package/dist/types-ts4.5/emotion/components/input.d.ts +0 -37
  222. package/dist/types-ts4.5/emotion/components/internal/a11y-text.d.ts +0 -8
  223. package/dist/types-ts4.5/emotion/components/internal/dummy-input.d.ts +0 -9
  224. package/dist/types-ts4.5/emotion/components/internal/index.d.ts +0 -4
  225. package/dist/types-ts4.5/emotion/components/internal/required-input.d.ts +0 -10
  226. package/dist/types-ts4.5/emotion/components/internal/scroll-manager.d.ts +0 -17
  227. package/dist/types-ts4.5/emotion/components/internal/use-scroll-capture.d.ts +0 -12
  228. package/dist/types-ts4.5/emotion/components/internal/use-scroll-lock.d.ts +0 -9
  229. package/dist/types-ts4.5/emotion/components/live-region.d.ts +0 -23
  230. package/dist/types-ts4.5/emotion/components/menu.d.ts +0 -116
  231. package/dist/types-ts4.5/emotion/components/multi-value.d.ts +0 -47
  232. package/dist/types-ts4.5/emotion/components/option.d.ts +0 -49
  233. package/dist/types-ts4.5/emotion/components/placeholder.d.ts +0 -22
  234. package/dist/types-ts4.5/emotion/components/single-value.d.ts +0 -28
  235. /package/dist/cjs/{compiled/components → components}/control.compiled.css +0 -0
  236. /package/dist/cjs/{compiled/components → components}/group.compiled.css +0 -0
  237. /package/dist/cjs/{compiled/components → components}/indicators.compiled.css +0 -0
  238. /package/dist/cjs/{compiled/components → components}/input.compiled.css +0 -0
  239. /package/dist/cjs/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  240. /package/dist/cjs/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  241. /package/dist/cjs/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  242. /package/dist/cjs/{compiled/components → components}/menu.compiled.css +0 -0
  243. /package/dist/cjs/{compiled/components → components}/multi-value.compiled.css +0 -0
  244. /package/dist/cjs/{compiled/components → components}/option.compiled.css +0 -0
  245. /package/dist/cjs/{compiled/components → components}/placeholder.compiled.css +0 -0
  246. /package/dist/cjs/{compiled/components → components}/single-value.compiled.css +0 -0
  247. /package/dist/es2019/{compiled/components → components}/control.compiled.css +0 -0
  248. /package/dist/es2019/{compiled/components → components}/group.compiled.css +0 -0
  249. /package/dist/es2019/{compiled/components → components}/indicators.compiled.css +0 -0
  250. /package/dist/es2019/{compiled/components → components}/input.compiled.css +0 -0
  251. /package/dist/es2019/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  252. /package/dist/es2019/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  253. /package/dist/es2019/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  254. /package/dist/es2019/{compiled/components → components}/menu.compiled.css +0 -0
  255. /package/dist/es2019/{compiled/components → components}/multi-value.compiled.css +0 -0
  256. /package/dist/es2019/{compiled/components → components}/option.compiled.css +0 -0
  257. /package/dist/es2019/{compiled/components → components}/placeholder.compiled.css +0 -0
  258. /package/dist/es2019/{compiled/components → components}/single-value.compiled.css +0 -0
  259. /package/dist/esm/{compiled/components → components}/control.compiled.css +0 -0
  260. /package/dist/esm/{compiled/components → components}/group.compiled.css +0 -0
  261. /package/dist/esm/{compiled/components → components}/indicators.compiled.css +0 -0
  262. /package/dist/esm/{compiled/components → components}/input.compiled.css +0 -0
  263. /package/dist/esm/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  264. /package/dist/esm/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  265. /package/dist/esm/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  266. /package/dist/esm/{compiled/components → components}/menu.compiled.css +0 -0
  267. /package/dist/esm/{compiled/components → components}/multi-value.compiled.css +0 -0
  268. /package/dist/esm/{compiled/components → components}/option.compiled.css +0 -0
  269. /package/dist/esm/{compiled/components → components}/placeholder.compiled.css +0 -0
  270. /package/dist/esm/{compiled/components → components}/single-value.compiled.css +0 -0
@@ -1,39 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["innerRef"];
4
- /**
5
- * @jsxRuntime classic
6
- * @jsx jsx
7
- */
8
-
9
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
10
- import { css, jsx } from '@emotion/react';
11
- import { removeProps } from '../../../utils';
12
- var dummyInputStyles = css({
13
- width: 1,
14
- padding: 0,
15
- position: 'relative',
16
- background: 0,
17
- border: 0,
18
- caretColor: 'transparent',
19
- color: 'transparent',
20
- // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
21
- fontSize: 'inherit',
22
- gridArea: '1 / 1 / 2 / 3',
23
- insetInlineStart: -100,
24
- label: 'dummyInput',
25
- opacity: 0,
26
- outline: 0,
27
- transform: 'scale(.01)'
28
- });
29
- export default function DummyInput(_ref) {
30
- var innerRef = _ref.innerRef,
31
- props = _objectWithoutProperties(_ref, _excluded);
32
- // Remove animation props not meant for HTML elements
33
- var filteredProps = removeProps(props, 'onExited', 'in', 'enter', 'exit', 'appear');
34
- return jsx("input", _extends({
35
- ref: innerRef
36
- }, filteredProps, {
37
- css: dummyInputStyles
38
- }));
39
- }
@@ -1,4 +0,0 @@
1
- export { default as A11yText } from './a11y-text';
2
- export { default as DummyInput } from './dummy-input';
3
- export { default as ScrollManager } from './scroll-manager';
4
- export { default as RequiredInput } from './required-input';
@@ -1,37 +0,0 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
-
6
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
7
- import { css, jsx } from '@emotion/react';
8
- import __noop from '@atlaskit/ds-lib/noop';
9
- var styles = css({
10
- width: '100%',
11
- position: 'absolute',
12
- insetBlockEnd: 0,
13
- insetInlineEnd: 0,
14
- insetInlineStart: 0,
15
- label: 'requiredInput',
16
- opacity: 0,
17
- pointerEvents: 'none'
18
- });
19
- var RequiredInput = function RequiredInput(_ref) {
20
- var name = _ref.name,
21
- onFocus = _ref.onFocus;
22
- return jsx("input", {
23
- required: true,
24
- name: name,
25
- tabIndex: -1,
26
- "aria-hidden": "true",
27
- onFocus: onFocus,
28
- css: styles
29
- // Prevent `Switching from uncontrolled to controlled` error
30
- ,
31
- value: "",
32
- onChange: __noop
33
- });
34
- };
35
-
36
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
37
- export default RequiredInput;
@@ -1,51 +0,0 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
- import { Fragment } from 'react';
6
-
7
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
8
- import { css, jsx } from '@emotion/react';
9
- import useScrollCapture from './use-scroll-capture';
10
- import useScrollLock from './use-scroll-lock';
11
- var styles = css({
12
- position: 'fixed',
13
- insetBlockEnd: 0,
14
- insetBlockStart: 0,
15
- insetInlineEnd: 0,
16
- insetInlineStart: 0
17
- });
18
- var blurSelectInput = function blurSelectInput(event) {
19
- var element = event.target;
20
- return element.ownerDocument.activeElement && element.ownerDocument.activeElement.blur();
21
- };
22
- export default function ScrollManager(_ref) {
23
- var children = _ref.children,
24
- lockEnabled = _ref.lockEnabled,
25
- _ref$captureEnabled = _ref.captureEnabled,
26
- captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled,
27
- onBottomArrive = _ref.onBottomArrive,
28
- onBottomLeave = _ref.onBottomLeave,
29
- onTopArrive = _ref.onTopArrive,
30
- onTopLeave = _ref.onTopLeave;
31
- var setScrollCaptureTarget = useScrollCapture({
32
- isEnabled: captureEnabled,
33
- onBottomArrive: onBottomArrive,
34
- onBottomLeave: onBottomLeave,
35
- onTopArrive: onTopArrive,
36
- onTopLeave: onTopLeave
37
- });
38
- var setScrollLockTarget = useScrollLock({
39
- isEnabled: lockEnabled
40
- });
41
- var targetRef = function targetRef(element) {
42
- setScrollCaptureTarget(element);
43
- setScrollLockTarget(element);
44
- };
45
- return jsx(Fragment, null, lockEnabled &&
46
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions, @atlassian/a11y/interactive-element-not-keyboard-focusable
47
- jsx("div", {
48
- onClick: blurSelectInput,
49
- css: styles
50
- }), children(targetRef));
51
- }
@@ -1,126 +0,0 @@
1
- import { useCallback, useEffect, useRef } from 'react';
2
- import { supportsPassiveEvents } from '../../../utils';
3
- var cancelScroll = function cancelScroll(event) {
4
- if (event.cancelable) {
5
- event.preventDefault();
6
- }
7
- event.stopPropagation();
8
- };
9
- // TODO: Fill in the hook {description}.
10
- /**
11
- * {description}.
12
- */
13
- export default function useScrollCapture(_ref) {
14
- var isEnabled = _ref.isEnabled,
15
- onBottomArrive = _ref.onBottomArrive,
16
- onBottomLeave = _ref.onBottomLeave,
17
- onTopArrive = _ref.onTopArrive,
18
- onTopLeave = _ref.onTopLeave;
19
- var isBottom = useRef(false);
20
- var isTop = useRef(false);
21
- var touchStart = useRef(0);
22
- var scrollTarget = useRef(null);
23
- var handleEventDelta = useCallback(function (event, delta) {
24
- if (scrollTarget.current === null) {
25
- return;
26
- }
27
- var _scrollTarget$current = scrollTarget.current,
28
- scrollTop = _scrollTarget$current.scrollTop,
29
- scrollHeight = _scrollTarget$current.scrollHeight,
30
- clientHeight = _scrollTarget$current.clientHeight;
31
- var target = scrollTarget.current;
32
- var isDeltaPositive = delta > 0;
33
- var availableScroll = scrollHeight - clientHeight - scrollTop;
34
- var shouldCancelScroll = false;
35
-
36
- // reset bottom/top flags
37
- if (availableScroll > delta && isBottom.current) {
38
- if (onBottomLeave) {
39
- onBottomLeave(event);
40
- }
41
- isBottom.current = false;
42
- }
43
- if (isDeltaPositive && isTop.current) {
44
- if (onTopLeave) {
45
- onTopLeave(event);
46
- }
47
- isTop.current = false;
48
- }
49
-
50
- // bottom limit
51
- if (isDeltaPositive && delta > availableScroll) {
52
- if (onBottomArrive && !isBottom.current) {
53
- onBottomArrive(event);
54
- }
55
- target.scrollTop = scrollHeight;
56
- shouldCancelScroll = true;
57
- isBottom.current = true;
58
-
59
- // top limit
60
- } else if (!isDeltaPositive && -delta > scrollTop) {
61
- if (onTopArrive && !isTop.current) {
62
- onTopArrive(event);
63
- }
64
- target.scrollTop = 0;
65
- shouldCancelScroll = true;
66
- isTop.current = true;
67
- }
68
-
69
- // cancel scroll
70
- if (shouldCancelScroll) {
71
- cancelScroll(event);
72
- }
73
- }, [onBottomArrive, onBottomLeave, onTopArrive, onTopLeave]);
74
- var onWheel = useCallback(function (event) {
75
- handleEventDelta(event, event.deltaY);
76
- }, [handleEventDelta]);
77
- var onTouchStart = useCallback(function (event) {
78
- // set touch start so we can calculate touchmove delta
79
- touchStart.current = event.changedTouches[0].clientY;
80
- }, []);
81
- var onTouchMove = useCallback(function (event) {
82
- var deltaY = touchStart.current - event.changedTouches[0].clientY;
83
- handleEventDelta(event, deltaY);
84
- }, [handleEventDelta]);
85
- var startListening = useCallback(function (el) {
86
- // bail early if no element is available to attach to
87
- if (!el) {
88
- return;
89
- }
90
- var notPassive = supportsPassiveEvents ? {
91
- passive: false
92
- } : false;
93
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
94
- el.addEventListener('wheel', onWheel, notPassive);
95
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
96
- el.addEventListener('touchstart', onTouchStart, notPassive);
97
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
98
- el.addEventListener('touchmove', onTouchMove, notPassive);
99
- }, [onTouchMove, onTouchStart, onWheel]);
100
- var stopListening = useCallback(function (el) {
101
- // bail early if no element is available to detach from
102
- if (!el) {
103
- return;
104
- }
105
-
106
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
107
- el.removeEventListener('wheel', onWheel, false);
108
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
109
- el.removeEventListener('touchstart', onTouchStart, false);
110
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
111
- el.removeEventListener('touchmove', onTouchMove, false);
112
- }, [onTouchMove, onTouchStart, onWheel]);
113
- useEffect(function () {
114
- if (!isEnabled) {
115
- return;
116
- }
117
- var element = scrollTarget.current;
118
- startListening(element);
119
- return function () {
120
- stopListening(element);
121
- };
122
- }, [isEnabled, startListening, stopListening]);
123
- return function (element) {
124
- scrollTarget.current = element;
125
- };
126
- }
@@ -1,143 +0,0 @@
1
- import { useCallback, useEffect, useRef } from 'react';
2
- var STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];
3
- var LOCK_STYLES = {
4
- boxSizing: 'border-box',
5
- // account for possible declaration `width: 100%;` on body
6
- overflow: 'hidden',
7
- position: 'relative',
8
- height: '100%'
9
- };
10
- function preventTouchMove(e) {
11
- e.preventDefault();
12
- }
13
- function allowTouchMove(e) {
14
- e.stopPropagation();
15
- }
16
- function preventInertiaScroll() {
17
- var top = this.scrollTop;
18
- var totalScroll = this.scrollHeight;
19
- var currentScroll = top + this.offsetHeight;
20
- if (top === 0) {
21
- this.scrollTop = 1;
22
- } else if (currentScroll === totalScroll) {
23
- this.scrollTop = top - 1;
24
- }
25
- }
26
-
27
- // `ontouchstart` check works on most browsers
28
- // `maxTouchPoints` works on IE10/11 and Surface
29
- function isTouchDevice() {
30
- // eslint-disable-next-line compat/compat
31
- return 'ontouchstart' in window || navigator.maxTouchPoints;
32
- }
33
- var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
34
- var activeScrollLocks = 0;
35
- var listenerOptions = {
36
- capture: false,
37
- passive: false
38
- };
39
-
40
- // TODO: Fill in the hook {description}.
41
- /**
42
- * {description}.
43
- */
44
- export default function useScrollLock(_ref) {
45
- var isEnabled = _ref.isEnabled,
46
- _ref$accountForScroll = _ref.accountForScrollbars,
47
- accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;
48
- var originalStyles = useRef({});
49
- var scrollTarget = useRef(null);
50
- var addScrollLock = useCallback(function (touchScrollTarget) {
51
- if (!canUseDOM) {
52
- return;
53
- }
54
- var target = document.body;
55
- var targetStyle = target && target.style;
56
- if (accountForScrollbars) {
57
- // store any styles already applied to the body
58
- STYLE_KEYS.forEach(function (key) {
59
- var val = targetStyle && targetStyle[key];
60
- originalStyles.current[key] = val;
61
- });
62
- }
63
-
64
- // apply the lock styles and padding if this is the first scroll lock
65
- if (accountForScrollbars && activeScrollLocks < 1) {
66
- var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0;
67
- var clientWidth = document.body ? document.body.clientWidth : 0;
68
- var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;
69
- Object.keys(LOCK_STYLES).forEach(function (key) {
70
- var val = LOCK_STYLES[key];
71
- if (targetStyle) {
72
- targetStyle[key] = val;
73
- }
74
- });
75
- if (targetStyle) {
76
- targetStyle.paddingRight = "".concat(adjustedPadding, "px");
77
- }
78
- }
79
-
80
- // account for touch devices
81
- if (target && isTouchDevice()) {
82
- // Mobile Safari ignores { overflow: hidden } declaration on the body.
83
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
84
- target.addEventListener('touchmove', preventTouchMove, listenerOptions);
85
-
86
- // Allow scroll on provided target
87
- if (touchScrollTarget) {
88
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
89
- touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions);
90
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
91
- touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions);
92
- }
93
- }
94
-
95
- // increment active scroll locks
96
- activeScrollLocks += 1;
97
- }, [accountForScrollbars]);
98
- var removeScrollLock = useCallback(function (touchScrollTarget) {
99
- if (!canUseDOM) {
100
- return;
101
- }
102
- var target = document.body;
103
- var targetStyle = target && target.style;
104
-
105
- // safely decrement active scroll locks
106
- activeScrollLocks = Math.max(activeScrollLocks - 1, 0);
107
-
108
- // reapply original body styles, if any
109
- if (accountForScrollbars && activeScrollLocks < 1) {
110
- STYLE_KEYS.forEach(function (key) {
111
- var val = originalStyles.current[key];
112
- if (targetStyle) {
113
- targetStyle[key] = val;
114
- }
115
- });
116
- }
117
-
118
- // remove touch listeners
119
- if (target && isTouchDevice()) {
120
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
121
- target.removeEventListener('touchmove', preventTouchMove, listenerOptions);
122
- if (touchScrollTarget) {
123
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
124
- touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions);
125
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
126
- touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions);
127
- }
128
- }
129
- }, [accountForScrollbars]);
130
- useEffect(function () {
131
- if (!isEnabled) {
132
- return;
133
- }
134
- var element = scrollTarget.current;
135
- addScrollLock(element);
136
- return function () {
137
- removeScrollLock(element);
138
- };
139
- }, [isEnabled, addScrollLock, removeScrollLock]);
140
- return function (element) {
141
- scrollTarget.current = element;
142
- };
143
- }
@@ -1,117 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- 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; }
3
- 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) { _defineProperty(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; }
4
- /**
5
- * @jsxRuntime classic
6
- * @jsx jsx
7
- * @jsxFrag React.Fragment
8
- */
9
- import { Fragment, useMemo } from 'react';
10
-
11
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
12
- import { jsx } from '@emotion/react';
13
- import { defaultAriaLiveMessages } from '../../accessibility';
14
- import A11yText from './internal/a11y-text';
15
-
16
- // ==============================
17
- // Root Container
18
- // ==============================
19
-
20
- var LiveRegion = function LiveRegion(props) {
21
- var ariaSelection = props.ariaSelection,
22
- focusableOptions = props.focusableOptions,
23
- isFocused = props.isFocused,
24
- selectValue = props.selectValue,
25
- selectProps = props.selectProps,
26
- id = props.id;
27
- var ariaLiveMessages = selectProps.ariaLiveMessages,
28
- getOptionLabel = selectProps.getOptionLabel,
29
- inputValue = selectProps.inputValue,
30
- isOptionDisabled = selectProps.isOptionDisabled,
31
- menuIsOpen = selectProps.menuIsOpen,
32
- options = selectProps.options,
33
- screenReaderStatus = selectProps.screenReaderStatus,
34
- isLoading = selectProps.isLoading;
35
- var ariaLive = selectProps['aria-live'];
36
-
37
- // Update aria live message configuration when prop changes
38
- var messages = useMemo(function () {
39
- return _objectSpread(_objectSpread({}, defaultAriaLiveMessages), ariaLiveMessages || {});
40
- }, [ariaLiveMessages]);
41
-
42
- // Update aria live selected option when prop changes
43
- var ariaSelected = useMemo(function () {
44
- var message = '';
45
- if (menuIsOpen) {
46
- // we don't need to have selected message when the menu is open
47
- return '';
48
- }
49
- if (ariaSelection && messages.onChange) {
50
- var option = ariaSelection.option,
51
- selectedOptions = ariaSelection.options,
52
- removedValue = ariaSelection.removedValue,
53
- removedValues = ariaSelection.removedValues,
54
- value = ariaSelection.value;
55
- // select-option when !isMulti does not return option so we assume selected option is value
56
- var asOption = function asOption(val) {
57
- return !Array.isArray(val) ? val : null;
58
- };
59
-
60
- // If there is just one item from the action then get its label
61
- var selected = removedValue || option || asOption(value);
62
- var label = selected ? getOptionLabel(selected) : '';
63
-
64
- // If there are multiple items from the action then return an array of labels
65
- var multiSelected = selectedOptions || removedValues || undefined;
66
- var labels = multiSelected ? multiSelected.map(getOptionLabel) : [];
67
- if (!label && !labels.length) {
68
- // return empty string if no labels provided
69
- return '';
70
- }
71
- var onChangeProps = _objectSpread({
72
- // multiSelected items are usually items that have already been selected
73
- // or set by the user as a default value so we assume they are not disabled
74
- isDisabled: selected && isOptionDisabled(selected, selectValue),
75
- label: label,
76
- labels: labels
77
- }, ariaSelection);
78
- message = messages.onChange(onChangeProps);
79
- }
80
- return message;
81
- }, [ariaSelection, messages, isOptionDisabled, selectValue, getOptionLabel, menuIsOpen]);
82
- var ariaResults = useMemo(function () {
83
- var resultsMsg = '';
84
- if (isLoading) {
85
- resultsMsg = 'Loading. ';
86
- }
87
- if (menuIsOpen && options.length && !isLoading && messages.onFilter) {
88
- var resultsMessage = screenReaderStatus({
89
- count: focusableOptions.length
90
- });
91
- resultsMsg = messages.onFilter({
92
- inputValue: inputValue,
93
- resultsMessage: resultsMessage
94
- });
95
- }
96
- if (options && options.length === 0) {
97
- resultsMsg = 'No options. ';
98
- }
99
- return resultsMsg;
100
- }, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus, isLoading]);
101
- var isInitialFocus = (ariaSelection === null || ariaSelection === void 0 ? void 0 : ariaSelection.action) === 'initial-input-focus';
102
- var ScreenReaderText = jsx(Fragment, null, jsx("span", {
103
- id: "aria-selection"
104
- }, ariaSelected), jsx("span", {
105
- id: "aria-results"
106
- }, ariaResults));
107
- return jsx(Fragment, null, jsx(A11yText, {
108
- id: id
109
- }, isInitialFocus && ScreenReaderText), jsx(A11yText, {
110
- "aria-live": ariaLive // Should be undefined by default unless a specific use case requires it
111
- ,
112
- role: "status"
113
- }, isFocused && !isInitialFocus && ScreenReaderText));
114
- };
115
-
116
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
117
- export default LiveRegion;