@atlaskit/react-select 2.7.6 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/cjs/components/containers.compiled.css +26 -0
  3. package/dist/cjs/components/containers.js +80 -13
  4. package/dist/cjs/components/control.js +50 -9
  5. package/dist/cjs/components/group.js +60 -12
  6. package/dist/cjs/components/indicators.js +128 -15
  7. package/dist/cjs/components/input.js +50 -9
  8. package/dist/cjs/components/internal/a11y-text.js +14 -7
  9. package/dist/cjs/components/internal/dummy-input.js +21 -7
  10. package/dist/cjs/components/internal/required-input.js +24 -8
  11. package/dist/cjs/components/live-region.js +101 -7
  12. package/dist/cjs/components/menu.js +436 -27
  13. package/dist/cjs/components/multi-value.js +148 -22
  14. package/dist/cjs/components/option.js +41 -9
  15. package/dist/cjs/components/placeholder.js +29 -9
  16. package/dist/cjs/components/single-value.js +30 -9
  17. package/dist/cjs/select.js +1 -1
  18. package/dist/es2019/components/containers.compiled.css +26 -0
  19. package/dist/es2019/components/containers.js +93 -10
  20. package/dist/es2019/components/control.js +54 -8
  21. package/dist/es2019/components/group.js +67 -9
  22. package/dist/es2019/components/indicators.js +131 -11
  23. package/dist/es2019/components/input.js +53 -7
  24. package/dist/es2019/components/internal/a11y-text.js +12 -6
  25. package/dist/es2019/components/internal/dummy-input.js +19 -7
  26. package/dist/es2019/components/internal/required-input.js +22 -6
  27. package/dist/es2019/components/live-region.js +104 -6
  28. package/dist/es2019/components/menu.js +444 -19
  29. package/dist/es2019/components/multi-value.js +157 -15
  30. package/dist/es2019/components/option.js +45 -7
  31. package/dist/es2019/components/placeholder.js +33 -7
  32. package/dist/es2019/components/single-value.js +34 -7
  33. package/dist/es2019/select.js +1 -1
  34. package/dist/esm/components/containers.compiled.css +26 -0
  35. package/dist/esm/components/containers.js +78 -12
  36. package/dist/esm/components/control.js +51 -8
  37. package/dist/esm/components/group.js +60 -11
  38. package/dist/esm/components/indicators.js +127 -15
  39. package/dist/esm/components/input.js +50 -8
  40. package/dist/esm/components/internal/a11y-text.js +12 -6
  41. package/dist/esm/components/internal/dummy-input.js +20 -7
  42. package/dist/esm/components/internal/required-input.js +22 -7
  43. package/dist/esm/components/live-region.js +99 -6
  44. package/dist/esm/components/menu.js +437 -27
  45. package/dist/esm/components/multi-value.js +148 -21
  46. package/dist/esm/components/option.js +41 -8
  47. package/dist/esm/components/placeholder.js +29 -8
  48. package/dist/esm/components/single-value.js +30 -8
  49. package/dist/esm/select.js +1 -1
  50. package/dist/types/components/containers.d.ts +12 -8
  51. package/dist/types/components/control.d.ts +7 -3
  52. package/dist/types/components/group.d.ts +10 -6
  53. package/dist/types/components/index.d.ts +21 -21
  54. package/dist/types/components/indicators.d.ts +12 -8
  55. package/dist/types/components/input.d.ts +8 -4
  56. package/dist/types/components/internal/a11y-text.d.ts +2 -2
  57. package/dist/types/components/internal/dummy-input.d.ts +7 -3
  58. package/dist/types/components/internal/required-input.d.ts +4 -0
  59. package/dist/types/components/live-region.d.ts +0 -2
  60. package/dist/types/components/menu.d.ts +17 -13
  61. package/dist/types/components/multi-value.d.ts +13 -9
  62. package/dist/types/components/option.d.ts +8 -4
  63. package/dist/types/components/placeholder.d.ts +8 -4
  64. package/dist/types/components/single-value.d.ts +8 -4
  65. package/dist/types/select.d.ts +23 -25
  66. package/dist/types-ts4.5/components/containers.d.ts +12 -8
  67. package/dist/types-ts4.5/components/control.d.ts +7 -3
  68. package/dist/types-ts4.5/components/group.d.ts +10 -6
  69. package/dist/types-ts4.5/components/index.d.ts +21 -21
  70. package/dist/types-ts4.5/components/indicators.d.ts +12 -8
  71. package/dist/types-ts4.5/components/input.d.ts +8 -4
  72. package/dist/types-ts4.5/components/internal/a11y-text.d.ts +2 -2
  73. package/dist/types-ts4.5/components/internal/dummy-input.d.ts +7 -3
  74. package/dist/types-ts4.5/components/internal/required-input.d.ts +4 -0
  75. package/dist/types-ts4.5/components/live-region.d.ts +0 -2
  76. package/dist/types-ts4.5/components/menu.d.ts +17 -13
  77. package/dist/types-ts4.5/components/multi-value.d.ts +13 -9
  78. package/dist/types-ts4.5/components/option.d.ts +8 -4
  79. package/dist/types-ts4.5/components/placeholder.d.ts +8 -4
  80. package/dist/types-ts4.5/components/single-value.d.ts +8 -4
  81. package/dist/types-ts4.5/select.d.ts +23 -25
  82. package/package.json +3 -3
  83. package/dist/cjs/compiled/components/control.js +0 -65
  84. package/dist/cjs/compiled/components/group.js +0 -80
  85. package/dist/cjs/compiled/components/indicators.js +0 -158
  86. package/dist/cjs/compiled/components/input.js +0 -65
  87. package/dist/cjs/compiled/components/internal/a11y-text.js +0 -24
  88. package/dist/cjs/compiled/components/internal/dummy-input.js +0 -30
  89. package/dist/cjs/compiled/components/internal/required-input.js +0 -35
  90. package/dist/cjs/compiled/components/live-region.js +0 -117
  91. package/dist/cjs/compiled/components/menu.js +0 -489
  92. package/dist/cjs/compiled/components/multi-value.js +0 -173
  93. package/dist/cjs/compiled/components/option.js +0 -56
  94. package/dist/cjs/compiled/components/placeholder.js +0 -44
  95. package/dist/cjs/compiled/components/single-value.js +0 -45
  96. package/dist/cjs/emotion/components/containers.js +0 -117
  97. package/dist/cjs/emotion/components/control.js +0 -112
  98. package/dist/cjs/emotion/components/group.js +0 -72
  99. package/dist/cjs/emotion/components/indicators.js +0 -140
  100. package/dist/cjs/emotion/components/input.js +0 -94
  101. package/dist/cjs/emotion/components/internal/a11y-text.js +0 -37
  102. package/dist/cjs/emotion/components/internal/dummy-input.js +0 -45
  103. package/dist/cjs/emotion/components/internal/index.js +0 -34
  104. package/dist/cjs/emotion/components/internal/required-input.js +0 -45
  105. package/dist/cjs/emotion/components/internal/scroll-manager.js +0 -59
  106. package/dist/cjs/emotion/components/internal/use-scroll-capture.js +0 -132
  107. package/dist/cjs/emotion/components/internal/use-scroll-lock.js +0 -149
  108. package/dist/cjs/emotion/components/live-region.js +0 -120
  109. package/dist/cjs/emotion/components/menu.js +0 -456
  110. package/dist/cjs/emotion/components/multi-value.js +0 -199
  111. package/dist/cjs/emotion/components/option.js +0 -84
  112. package/dist/cjs/emotion/components/placeholder.js +0 -36
  113. package/dist/cjs/emotion/components/single-value.js +0 -42
  114. package/dist/es2019/compiled/components/control.js +0 -58
  115. package/dist/es2019/compiled/components/group.js +0 -72
  116. package/dist/es2019/compiled/components/indicators.js +0 -146
  117. package/dist/es2019/compiled/components/input.js +0 -56
  118. package/dist/es2019/compiled/components/internal/a11y-text.js +0 -13
  119. package/dist/es2019/compiled/components/internal/dummy-input.js +0 -20
  120. package/dist/es2019/compiled/components/internal/required-input.js +0 -25
  121. package/dist/es2019/compiled/components/live-region.js +0 -112
  122. package/dist/es2019/compiled/components/menu.js +0 -477
  123. package/dist/es2019/compiled/components/multi-value.js +0 -165
  124. package/dist/es2019/compiled/components/option.js +0 -48
  125. package/dist/es2019/compiled/components/placeholder.js +0 -36
  126. package/dist/es2019/compiled/components/single-value.js +0 -37
  127. package/dist/es2019/emotion/components/containers.js +0 -114
  128. package/dist/es2019/emotion/components/control.js +0 -108
  129. package/dist/es2019/emotion/components/group.js +0 -60
  130. package/dist/es2019/emotion/components/indicators.js +0 -131
  131. package/dist/es2019/emotion/components/input.js +0 -87
  132. package/dist/es2019/emotion/components/internal/a11y-text.js +0 -28
  133. package/dist/es2019/emotion/components/internal/dummy-input.js +0 -38
  134. package/dist/es2019/emotion/components/internal/index.js +0 -4
  135. package/dist/es2019/emotion/components/internal/required-input.js +0 -36
  136. package/dist/es2019/emotion/components/internal/scroll-manager.js +0 -51
  137. package/dist/es2019/emotion/components/internal/use-scroll-capture.js +0 -128
  138. package/dist/es2019/emotion/components/internal/use-scroll-lock.js +0 -143
  139. package/dist/es2019/emotion/components/live-region.js +0 -120
  140. package/dist/es2019/emotion/components/menu.js +0 -452
  141. package/dist/es2019/emotion/components/multi-value.js +0 -203
  142. package/dist/es2019/emotion/components/option.js +0 -79
  143. package/dist/es2019/emotion/components/placeholder.js +0 -29
  144. package/dist/es2019/emotion/components/single-value.js +0 -35
  145. package/dist/esm/compiled/components/control.js +0 -57
  146. package/dist/esm/compiled/components/group.js +0 -71
  147. package/dist/esm/compiled/components/indicators.js +0 -150
  148. package/dist/esm/compiled/components/input.js +0 -56
  149. package/dist/esm/compiled/components/internal/a11y-text.js +0 -15
  150. package/dist/esm/compiled/components/internal/dummy-input.js +0 -21
  151. package/dist/esm/compiled/components/internal/required-input.js +0 -26
  152. package/dist/esm/compiled/components/live-region.js +0 -109
  153. package/dist/esm/compiled/components/menu.js +0 -484
  154. package/dist/esm/compiled/components/multi-value.js +0 -162
  155. package/dist/esm/compiled/components/option.js +0 -47
  156. package/dist/esm/compiled/components/placeholder.js +0 -35
  157. package/dist/esm/compiled/components/single-value.js +0 -36
  158. package/dist/esm/emotion/components/containers.js +0 -110
  159. package/dist/esm/emotion/components/control.js +0 -104
  160. package/dist/esm/emotion/components/group.js +0 -66
  161. package/dist/esm/emotion/components/indicators.js +0 -135
  162. package/dist/esm/emotion/components/input.js +0 -90
  163. package/dist/esm/emotion/components/internal/a11y-text.js +0 -30
  164. package/dist/esm/emotion/components/internal/dummy-input.js +0 -39
  165. package/dist/esm/emotion/components/internal/index.js +0 -4
  166. package/dist/esm/emotion/components/internal/required-input.js +0 -37
  167. package/dist/esm/emotion/components/internal/scroll-manager.js +0 -51
  168. package/dist/esm/emotion/components/internal/use-scroll-capture.js +0 -126
  169. package/dist/esm/emotion/components/internal/use-scroll-lock.js +0 -143
  170. package/dist/esm/emotion/components/live-region.js +0 -117
  171. package/dist/esm/emotion/components/menu.js +0 -456
  172. package/dist/esm/emotion/components/multi-value.js +0 -193
  173. package/dist/esm/emotion/components/option.js +0 -76
  174. package/dist/esm/emotion/components/placeholder.js +0 -28
  175. package/dist/esm/emotion/components/single-value.js +0 -34
  176. package/dist/types/compiled/components/control.d.ts +0 -41
  177. package/dist/types/compiled/components/group.d.ts +0 -54
  178. package/dist/types/compiled/components/indicators.d.ts +0 -72
  179. package/dist/types/compiled/components/input.d.ts +0 -36
  180. package/dist/types/compiled/components/internal/a11y-text.d.ts +0 -3
  181. package/dist/types/compiled/components/internal/dummy-input.d.ts +0 -8
  182. package/dist/types/compiled/components/internal/required-input.d.ts +0 -10
  183. package/dist/types/compiled/components/live-region.d.ts +0 -17
  184. package/dist/types/compiled/components/menu.d.ts +0 -115
  185. package/dist/types/compiled/components/multi-value.d.ts +0 -57
  186. package/dist/types/compiled/components/option.d.ts +0 -48
  187. package/dist/types/compiled/components/placeholder.d.ts +0 -21
  188. package/dist/types/compiled/components/single-value.d.ts +0 -27
  189. package/dist/types/emotion/components/containers.d.ts +0 -54
  190. package/dist/types/emotion/components/control.d.ts +0 -42
  191. package/dist/types/emotion/components/group.d.ts +0 -52
  192. package/dist/types/emotion/components/indicators.d.ts +0 -73
  193. package/dist/types/emotion/components/input.d.ts +0 -37
  194. package/dist/types/emotion/components/internal/a11y-text.d.ts +0 -8
  195. package/dist/types/emotion/components/internal/dummy-input.d.ts +0 -9
  196. package/dist/types/emotion/components/internal/index.d.ts +0 -4
  197. package/dist/types/emotion/components/internal/required-input.d.ts +0 -10
  198. package/dist/types/emotion/components/internal/scroll-manager.d.ts +0 -17
  199. package/dist/types/emotion/components/internal/use-scroll-capture.d.ts +0 -12
  200. package/dist/types/emotion/components/internal/use-scroll-lock.d.ts +0 -9
  201. package/dist/types/emotion/components/live-region.d.ts +0 -23
  202. package/dist/types/emotion/components/menu.d.ts +0 -116
  203. package/dist/types/emotion/components/multi-value.d.ts +0 -47
  204. package/dist/types/emotion/components/option.d.ts +0 -49
  205. package/dist/types/emotion/components/placeholder.d.ts +0 -22
  206. package/dist/types/emotion/components/single-value.d.ts +0 -28
  207. package/dist/types-ts4.5/compiled/components/control.d.ts +0 -41
  208. package/dist/types-ts4.5/compiled/components/group.d.ts +0 -54
  209. package/dist/types-ts4.5/compiled/components/indicators.d.ts +0 -72
  210. package/dist/types-ts4.5/compiled/components/input.d.ts +0 -36
  211. package/dist/types-ts4.5/compiled/components/internal/a11y-text.d.ts +0 -3
  212. package/dist/types-ts4.5/compiled/components/internal/dummy-input.d.ts +0 -8
  213. package/dist/types-ts4.5/compiled/components/internal/required-input.d.ts +0 -10
  214. package/dist/types-ts4.5/compiled/components/live-region.d.ts +0 -17
  215. package/dist/types-ts4.5/compiled/components/menu.d.ts +0 -115
  216. package/dist/types-ts4.5/compiled/components/multi-value.d.ts +0 -57
  217. package/dist/types-ts4.5/compiled/components/option.d.ts +0 -48
  218. package/dist/types-ts4.5/compiled/components/placeholder.d.ts +0 -21
  219. package/dist/types-ts4.5/compiled/components/single-value.d.ts +0 -27
  220. package/dist/types-ts4.5/emotion/components/containers.d.ts +0 -54
  221. package/dist/types-ts4.5/emotion/components/control.d.ts +0 -42
  222. package/dist/types-ts4.5/emotion/components/group.d.ts +0 -52
  223. package/dist/types-ts4.5/emotion/components/indicators.d.ts +0 -73
  224. package/dist/types-ts4.5/emotion/components/input.d.ts +0 -37
  225. package/dist/types-ts4.5/emotion/components/internal/a11y-text.d.ts +0 -8
  226. package/dist/types-ts4.5/emotion/components/internal/dummy-input.d.ts +0 -9
  227. package/dist/types-ts4.5/emotion/components/internal/index.d.ts +0 -4
  228. package/dist/types-ts4.5/emotion/components/internal/required-input.d.ts +0 -10
  229. package/dist/types-ts4.5/emotion/components/internal/scroll-manager.d.ts +0 -17
  230. package/dist/types-ts4.5/emotion/components/internal/use-scroll-capture.d.ts +0 -12
  231. package/dist/types-ts4.5/emotion/components/internal/use-scroll-lock.d.ts +0 -9
  232. package/dist/types-ts4.5/emotion/components/live-region.d.ts +0 -23
  233. package/dist/types-ts4.5/emotion/components/menu.d.ts +0 -116
  234. package/dist/types-ts4.5/emotion/components/multi-value.d.ts +0 -47
  235. package/dist/types-ts4.5/emotion/components/option.d.ts +0 -49
  236. package/dist/types-ts4.5/emotion/components/placeholder.d.ts +0 -22
  237. package/dist/types-ts4.5/emotion/components/single-value.d.ts +0 -28
  238. /package/dist/cjs/{compiled/components → components}/control.compiled.css +0 -0
  239. /package/dist/cjs/{compiled/components → components}/group.compiled.css +0 -0
  240. /package/dist/cjs/{compiled/components → components}/indicators.compiled.css +0 -0
  241. /package/dist/cjs/{compiled/components → components}/input.compiled.css +0 -0
  242. /package/dist/cjs/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  243. /package/dist/cjs/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  244. /package/dist/cjs/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  245. /package/dist/cjs/{compiled/components → components}/menu.compiled.css +0 -0
  246. /package/dist/cjs/{compiled/components → components}/multi-value.compiled.css +0 -0
  247. /package/dist/cjs/{compiled/components → components}/option.compiled.css +0 -0
  248. /package/dist/cjs/{compiled/components → components}/placeholder.compiled.css +0 -0
  249. /package/dist/cjs/{compiled/components → components}/single-value.compiled.css +0 -0
  250. /package/dist/es2019/{compiled/components → components}/control.compiled.css +0 -0
  251. /package/dist/es2019/{compiled/components → components}/group.compiled.css +0 -0
  252. /package/dist/es2019/{compiled/components → components}/indicators.compiled.css +0 -0
  253. /package/dist/es2019/{compiled/components → components}/input.compiled.css +0 -0
  254. /package/dist/es2019/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  255. /package/dist/es2019/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  256. /package/dist/es2019/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  257. /package/dist/es2019/{compiled/components → components}/menu.compiled.css +0 -0
  258. /package/dist/es2019/{compiled/components → components}/multi-value.compiled.css +0 -0
  259. /package/dist/es2019/{compiled/components → components}/option.compiled.css +0 -0
  260. /package/dist/es2019/{compiled/components → components}/placeholder.compiled.css +0 -0
  261. /package/dist/es2019/{compiled/components → components}/single-value.compiled.css +0 -0
  262. /package/dist/esm/{compiled/components → components}/control.compiled.css +0 -0
  263. /package/dist/esm/{compiled/components → components}/group.compiled.css +0 -0
  264. /package/dist/esm/{compiled/components → components}/indicators.compiled.css +0 -0
  265. /package/dist/esm/{compiled/components → components}/input.compiled.css +0 -0
  266. /package/dist/esm/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  267. /package/dist/esm/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  268. /package/dist/esm/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  269. /package/dist/esm/{compiled/components → components}/menu.compiled.css +0 -0
  270. /package/dist/esm/{compiled/components → components}/multi-value.compiled.css +0 -0
  271. /package/dist/esm/{compiled/components → components}/option.compiled.css +0 -0
  272. /package/dist/esm/{compiled/components → components}/placeholder.compiled.css +0 -0
  273. /package/dist/esm/{compiled/components → components}/single-value.compiled.css +0 -0
@@ -1,149 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = useScrollLock;
7
- var _react = require("react");
8
- var STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];
9
- var LOCK_STYLES = {
10
- boxSizing: 'border-box',
11
- // account for possible declaration `width: 100%;` on body
12
- overflow: 'hidden',
13
- position: 'relative',
14
- height: '100%'
15
- };
16
- function preventTouchMove(e) {
17
- e.preventDefault();
18
- }
19
- function allowTouchMove(e) {
20
- e.stopPropagation();
21
- }
22
- function preventInertiaScroll() {
23
- var top = this.scrollTop;
24
- var totalScroll = this.scrollHeight;
25
- var currentScroll = top + this.offsetHeight;
26
- if (top === 0) {
27
- this.scrollTop = 1;
28
- } else if (currentScroll === totalScroll) {
29
- this.scrollTop = top - 1;
30
- }
31
- }
32
-
33
- // `ontouchstart` check works on most browsers
34
- // `maxTouchPoints` works on IE10/11 and Surface
35
- function isTouchDevice() {
36
- // eslint-disable-next-line compat/compat
37
- return 'ontouchstart' in window || navigator.maxTouchPoints;
38
- }
39
- var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
40
- var activeScrollLocks = 0;
41
- var listenerOptions = {
42
- capture: false,
43
- passive: false
44
- };
45
-
46
- // TODO: Fill in the hook {description}.
47
- /**
48
- * {description}.
49
- */
50
- function useScrollLock(_ref) {
51
- var isEnabled = _ref.isEnabled,
52
- _ref$accountForScroll = _ref.accountForScrollbars,
53
- accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;
54
- var originalStyles = (0, _react.useRef)({});
55
- var scrollTarget = (0, _react.useRef)(null);
56
- var addScrollLock = (0, _react.useCallback)(function (touchScrollTarget) {
57
- if (!canUseDOM) {
58
- return;
59
- }
60
- var target = document.body;
61
- var targetStyle = target && target.style;
62
- if (accountForScrollbars) {
63
- // store any styles already applied to the body
64
- STYLE_KEYS.forEach(function (key) {
65
- var val = targetStyle && targetStyle[key];
66
- originalStyles.current[key] = val;
67
- });
68
- }
69
-
70
- // apply the lock styles and padding if this is the first scroll lock
71
- if (accountForScrollbars && activeScrollLocks < 1) {
72
- var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0;
73
- var clientWidth = document.body ? document.body.clientWidth : 0;
74
- var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;
75
- Object.keys(LOCK_STYLES).forEach(function (key) {
76
- var val = LOCK_STYLES[key];
77
- if (targetStyle) {
78
- targetStyle[key] = val;
79
- }
80
- });
81
- if (targetStyle) {
82
- targetStyle.paddingRight = "".concat(adjustedPadding, "px");
83
- }
84
- }
85
-
86
- // account for touch devices
87
- if (target && isTouchDevice()) {
88
- // Mobile Safari ignores { overflow: hidden } declaration on the body.
89
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
90
- target.addEventListener('touchmove', preventTouchMove, listenerOptions);
91
-
92
- // Allow scroll on provided target
93
- if (touchScrollTarget) {
94
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
95
- touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions);
96
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
97
- touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions);
98
- }
99
- }
100
-
101
- // increment active scroll locks
102
- activeScrollLocks += 1;
103
- }, [accountForScrollbars]);
104
- var removeScrollLock = (0, _react.useCallback)(function (touchScrollTarget) {
105
- if (!canUseDOM) {
106
- return;
107
- }
108
- var target = document.body;
109
- var targetStyle = target && target.style;
110
-
111
- // safely decrement active scroll locks
112
- activeScrollLocks = Math.max(activeScrollLocks - 1, 0);
113
-
114
- // reapply original body styles, if any
115
- if (accountForScrollbars && activeScrollLocks < 1) {
116
- STYLE_KEYS.forEach(function (key) {
117
- var val = originalStyles.current[key];
118
- if (targetStyle) {
119
- targetStyle[key] = val;
120
- }
121
- });
122
- }
123
-
124
- // remove touch listeners
125
- if (target && isTouchDevice()) {
126
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
127
- target.removeEventListener('touchmove', preventTouchMove, listenerOptions);
128
- if (touchScrollTarget) {
129
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
130
- touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions);
131
- // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
132
- touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions);
133
- }
134
- }
135
- }, [accountForScrollbars]);
136
- (0, _react.useEffect)(function () {
137
- if (!isEnabled) {
138
- return;
139
- }
140
- var element = scrollTarget.current;
141
- addScrollLock(element);
142
- return function () {
143
- removeScrollLock(element);
144
- };
145
- }, [isEnabled, addScrollLock, removeScrollLock]);
146
- return function (element) {
147
- scrollTarget.current = element;
148
- };
149
- }
@@ -1,120 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = require("react");
10
- var _react2 = require("@emotion/react");
11
- var _accessibility = require("../../accessibility");
12
- var _a11yText = _interopRequireDefault(require("./internal/a11y-text"));
13
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
15
- * @jsxRuntime classic
16
- * @jsx jsx
17
- * @jsxFrag React.Fragment
18
- */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
19
- // ==============================
20
- // Root Container
21
- // ==============================
22
-
23
- var LiveRegion = function LiveRegion(props) {
24
- var ariaSelection = props.ariaSelection,
25
- focusableOptions = props.focusableOptions,
26
- isFocused = props.isFocused,
27
- selectValue = props.selectValue,
28
- selectProps = props.selectProps,
29
- id = props.id;
30
- var ariaLiveMessages = selectProps.ariaLiveMessages,
31
- getOptionLabel = selectProps.getOptionLabel,
32
- inputValue = selectProps.inputValue,
33
- isOptionDisabled = selectProps.isOptionDisabled,
34
- menuIsOpen = selectProps.menuIsOpen,
35
- options = selectProps.options,
36
- screenReaderStatus = selectProps.screenReaderStatus,
37
- isLoading = selectProps.isLoading;
38
- var ariaLive = selectProps['aria-live'];
39
-
40
- // Update aria live message configuration when prop changes
41
- var messages = (0, _react.useMemo)(function () {
42
- return _objectSpread(_objectSpread({}, _accessibility.defaultAriaLiveMessages), ariaLiveMessages || {});
43
- }, [ariaLiveMessages]);
44
-
45
- // Update aria live selected option when prop changes
46
- var ariaSelected = (0, _react.useMemo)(function () {
47
- var message = '';
48
- if (menuIsOpen) {
49
- // we don't need to have selected message when the menu is open
50
- return '';
51
- }
52
- if (ariaSelection && messages.onChange) {
53
- var option = ariaSelection.option,
54
- selectedOptions = ariaSelection.options,
55
- removedValue = ariaSelection.removedValue,
56
- removedValues = ariaSelection.removedValues,
57
- value = ariaSelection.value;
58
- // select-option when !isMulti does not return option so we assume selected option is value
59
- var asOption = function asOption(val) {
60
- return !Array.isArray(val) ? val : null;
61
- };
62
-
63
- // If there is just one item from the action then get its label
64
- var selected = removedValue || option || asOption(value);
65
- var label = selected ? getOptionLabel(selected) : '';
66
-
67
- // If there are multiple items from the action then return an array of labels
68
- var multiSelected = selectedOptions || removedValues || undefined;
69
- var labels = multiSelected ? multiSelected.map(getOptionLabel) : [];
70
- if (!label && !labels.length) {
71
- // return empty string if no labels provided
72
- return '';
73
- }
74
- var onChangeProps = _objectSpread({
75
- // multiSelected items are usually items that have already been selected
76
- // or set by the user as a default value so we assume they are not disabled
77
- isDisabled: selected && isOptionDisabled(selected, selectValue),
78
- label: label,
79
- labels: labels
80
- }, ariaSelection);
81
- message = messages.onChange(onChangeProps);
82
- }
83
- return message;
84
- }, [ariaSelection, messages, isOptionDisabled, selectValue, getOptionLabel, menuIsOpen]);
85
- var ariaResults = (0, _react.useMemo)(function () {
86
- var resultsMsg = '';
87
- if (isLoading) {
88
- resultsMsg = 'Loading. ';
89
- }
90
- if (menuIsOpen && options.length && !isLoading && messages.onFilter) {
91
- var resultsMessage = screenReaderStatus({
92
- count: focusableOptions.length
93
- });
94
- resultsMsg = messages.onFilter({
95
- inputValue: inputValue,
96
- resultsMessage: resultsMessage
97
- });
98
- }
99
- if (options && options.length === 0) {
100
- resultsMsg = 'No options. ';
101
- }
102
- return resultsMsg;
103
- }, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus, isLoading]);
104
- var isInitialFocus = (ariaSelection === null || ariaSelection === void 0 ? void 0 : ariaSelection.action) === 'initial-input-focus';
105
- var ScreenReaderText = (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)("span", {
106
- id: "aria-selection"
107
- }, ariaSelected), (0, _react2.jsx)("span", {
108
- id: "aria-results"
109
- }, ariaResults));
110
- return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_a11yText.default, {
111
- id: id
112
- }, isInitialFocus && ScreenReaderText), (0, _react2.jsx)(_a11yText.default, {
113
- "aria-live": ariaLive // Should be undefined by default unless a specific use case requires it
114
- ,
115
- role: "status"
116
- }, isFocused && !isInitialFocus && ScreenReaderText));
117
- };
118
-
119
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
120
- var _default = exports.default = LiveRegion;