@atlaskit/react-select 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/CHANGELOG.md +16 -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 +23 -23
  63. package/dist/types/styles.d.ts +21 -21
  64. package/dist/types/types.d.ts +1 -4
  65. package/dist/types/utils.d.ts +1 -1
  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 -23
  82. package/dist/types-ts4.5/styles.d.ts +21 -21
  83. package/dist/types-ts4.5/types.d.ts +1 -4
  84. package/dist/types-ts4.5/utils.d.ts +1 -1
  85. package/package.json +2 -4
  86. package/dist/cjs/compiled/components/control.js +0 -65
  87. package/dist/cjs/compiled/components/group.js +0 -80
  88. package/dist/cjs/compiled/components/indicators.js +0 -158
  89. package/dist/cjs/compiled/components/input.js +0 -65
  90. package/dist/cjs/compiled/components/internal/a11y-text.js +0 -24
  91. package/dist/cjs/compiled/components/internal/dummy-input.js +0 -30
  92. package/dist/cjs/compiled/components/internal/required-input.js +0 -35
  93. package/dist/cjs/compiled/components/live-region.js +0 -117
  94. package/dist/cjs/compiled/components/menu.js +0 -489
  95. package/dist/cjs/compiled/components/multi-value.js +0 -173
  96. package/dist/cjs/compiled/components/option.js +0 -56
  97. package/dist/cjs/compiled/components/placeholder.js +0 -44
  98. package/dist/cjs/compiled/components/single-value.js +0 -45
  99. package/dist/cjs/emotion/components/containers.js +0 -117
  100. package/dist/cjs/emotion/components/control.js +0 -112
  101. package/dist/cjs/emotion/components/group.js +0 -72
  102. package/dist/cjs/emotion/components/indicators.js +0 -140
  103. package/dist/cjs/emotion/components/input.js +0 -94
  104. package/dist/cjs/emotion/components/internal/a11y-text.js +0 -37
  105. package/dist/cjs/emotion/components/internal/dummy-input.js +0 -45
  106. package/dist/cjs/emotion/components/internal/index.js +0 -34
  107. package/dist/cjs/emotion/components/internal/required-input.js +0 -45
  108. package/dist/cjs/emotion/components/internal/scroll-manager.js +0 -59
  109. package/dist/cjs/emotion/components/internal/use-scroll-capture.js +0 -132
  110. package/dist/cjs/emotion/components/internal/use-scroll-lock.js +0 -149
  111. package/dist/cjs/emotion/components/live-region.js +0 -120
  112. package/dist/cjs/emotion/components/menu.js +0 -456
  113. package/dist/cjs/emotion/components/multi-value.js +0 -199
  114. package/dist/cjs/emotion/components/option.js +0 -84
  115. package/dist/cjs/emotion/components/placeholder.js +0 -36
  116. package/dist/cjs/emotion/components/single-value.js +0 -42
  117. package/dist/es2019/compiled/components/control.js +0 -58
  118. package/dist/es2019/compiled/components/group.js +0 -72
  119. package/dist/es2019/compiled/components/indicators.js +0 -146
  120. package/dist/es2019/compiled/components/input.js +0 -56
  121. package/dist/es2019/compiled/components/internal/a11y-text.js +0 -13
  122. package/dist/es2019/compiled/components/internal/dummy-input.js +0 -20
  123. package/dist/es2019/compiled/components/internal/required-input.js +0 -25
  124. package/dist/es2019/compiled/components/live-region.js +0 -112
  125. package/dist/es2019/compiled/components/menu.js +0 -477
  126. package/dist/es2019/compiled/components/multi-value.js +0 -165
  127. package/dist/es2019/compiled/components/option.js +0 -48
  128. package/dist/es2019/compiled/components/placeholder.js +0 -36
  129. package/dist/es2019/compiled/components/single-value.js +0 -37
  130. package/dist/es2019/emotion/components/containers.js +0 -114
  131. package/dist/es2019/emotion/components/control.js +0 -108
  132. package/dist/es2019/emotion/components/group.js +0 -60
  133. package/dist/es2019/emotion/components/indicators.js +0 -131
  134. package/dist/es2019/emotion/components/input.js +0 -87
  135. package/dist/es2019/emotion/components/internal/a11y-text.js +0 -28
  136. package/dist/es2019/emotion/components/internal/dummy-input.js +0 -38
  137. package/dist/es2019/emotion/components/internal/index.js +0 -4
  138. package/dist/es2019/emotion/components/internal/required-input.js +0 -36
  139. package/dist/es2019/emotion/components/internal/scroll-manager.js +0 -51
  140. package/dist/es2019/emotion/components/internal/use-scroll-capture.js +0 -128
  141. package/dist/es2019/emotion/components/internal/use-scroll-lock.js +0 -143
  142. package/dist/es2019/emotion/components/live-region.js +0 -120
  143. package/dist/es2019/emotion/components/menu.js +0 -452
  144. package/dist/es2019/emotion/components/multi-value.js +0 -203
  145. package/dist/es2019/emotion/components/option.js +0 -79
  146. package/dist/es2019/emotion/components/placeholder.js +0 -29
  147. package/dist/es2019/emotion/components/single-value.js +0 -35
  148. package/dist/esm/compiled/components/control.js +0 -57
  149. package/dist/esm/compiled/components/group.js +0 -71
  150. package/dist/esm/compiled/components/indicators.js +0 -150
  151. package/dist/esm/compiled/components/input.js +0 -56
  152. package/dist/esm/compiled/components/internal/a11y-text.js +0 -15
  153. package/dist/esm/compiled/components/internal/dummy-input.js +0 -21
  154. package/dist/esm/compiled/components/internal/required-input.js +0 -26
  155. package/dist/esm/compiled/components/live-region.js +0 -109
  156. package/dist/esm/compiled/components/menu.js +0 -484
  157. package/dist/esm/compiled/components/multi-value.js +0 -162
  158. package/dist/esm/compiled/components/option.js +0 -47
  159. package/dist/esm/compiled/components/placeholder.js +0 -35
  160. package/dist/esm/compiled/components/single-value.js +0 -36
  161. package/dist/esm/emotion/components/containers.js +0 -110
  162. package/dist/esm/emotion/components/control.js +0 -104
  163. package/dist/esm/emotion/components/group.js +0 -66
  164. package/dist/esm/emotion/components/indicators.js +0 -135
  165. package/dist/esm/emotion/components/input.js +0 -90
  166. package/dist/esm/emotion/components/internal/a11y-text.js +0 -30
  167. package/dist/esm/emotion/components/internal/dummy-input.js +0 -39
  168. package/dist/esm/emotion/components/internal/index.js +0 -4
  169. package/dist/esm/emotion/components/internal/required-input.js +0 -37
  170. package/dist/esm/emotion/components/internal/scroll-manager.js +0 -51
  171. package/dist/esm/emotion/components/internal/use-scroll-capture.js +0 -126
  172. package/dist/esm/emotion/components/internal/use-scroll-lock.js +0 -143
  173. package/dist/esm/emotion/components/live-region.js +0 -117
  174. package/dist/esm/emotion/components/menu.js +0 -456
  175. package/dist/esm/emotion/components/multi-value.js +0 -193
  176. package/dist/esm/emotion/components/option.js +0 -76
  177. package/dist/esm/emotion/components/placeholder.js +0 -28
  178. package/dist/esm/emotion/components/single-value.js +0 -34
  179. package/dist/types/compiled/components/control.d.ts +0 -41
  180. package/dist/types/compiled/components/group.d.ts +0 -54
  181. package/dist/types/compiled/components/indicators.d.ts +0 -72
  182. package/dist/types/compiled/components/input.d.ts +0 -36
  183. package/dist/types/compiled/components/internal/a11y-text.d.ts +0 -3
  184. package/dist/types/compiled/components/internal/dummy-input.d.ts +0 -8
  185. package/dist/types/compiled/components/internal/required-input.d.ts +0 -10
  186. package/dist/types/compiled/components/live-region.d.ts +0 -17
  187. package/dist/types/compiled/components/menu.d.ts +0 -115
  188. package/dist/types/compiled/components/multi-value.d.ts +0 -57
  189. package/dist/types/compiled/components/option.d.ts +0 -48
  190. package/dist/types/compiled/components/placeholder.d.ts +0 -21
  191. package/dist/types/compiled/components/single-value.d.ts +0 -27
  192. package/dist/types/emotion/components/containers.d.ts +0 -54
  193. package/dist/types/emotion/components/control.d.ts +0 -42
  194. package/dist/types/emotion/components/group.d.ts +0 -52
  195. package/dist/types/emotion/components/indicators.d.ts +0 -73
  196. package/dist/types/emotion/components/input.d.ts +0 -37
  197. package/dist/types/emotion/components/internal/a11y-text.d.ts +0 -8
  198. package/dist/types/emotion/components/internal/dummy-input.d.ts +0 -9
  199. package/dist/types/emotion/components/internal/index.d.ts +0 -4
  200. package/dist/types/emotion/components/internal/required-input.d.ts +0 -10
  201. package/dist/types/emotion/components/internal/scroll-manager.d.ts +0 -17
  202. package/dist/types/emotion/components/internal/use-scroll-capture.d.ts +0 -12
  203. package/dist/types/emotion/components/internal/use-scroll-lock.d.ts +0 -9
  204. package/dist/types/emotion/components/live-region.d.ts +0 -23
  205. package/dist/types/emotion/components/menu.d.ts +0 -116
  206. package/dist/types/emotion/components/multi-value.d.ts +0 -47
  207. package/dist/types/emotion/components/option.d.ts +0 -49
  208. package/dist/types/emotion/components/placeholder.d.ts +0 -22
  209. package/dist/types/emotion/components/single-value.d.ts +0 -28
  210. package/dist/types-ts4.5/compiled/components/control.d.ts +0 -41
  211. package/dist/types-ts4.5/compiled/components/group.d.ts +0 -54
  212. package/dist/types-ts4.5/compiled/components/indicators.d.ts +0 -72
  213. package/dist/types-ts4.5/compiled/components/input.d.ts +0 -36
  214. package/dist/types-ts4.5/compiled/components/internal/a11y-text.d.ts +0 -3
  215. package/dist/types-ts4.5/compiled/components/internal/dummy-input.d.ts +0 -8
  216. package/dist/types-ts4.5/compiled/components/internal/required-input.d.ts +0 -10
  217. package/dist/types-ts4.5/compiled/components/live-region.d.ts +0 -17
  218. package/dist/types-ts4.5/compiled/components/menu.d.ts +0 -115
  219. package/dist/types-ts4.5/compiled/components/multi-value.d.ts +0 -57
  220. package/dist/types-ts4.5/compiled/components/option.d.ts +0 -48
  221. package/dist/types-ts4.5/compiled/components/placeholder.d.ts +0 -21
  222. package/dist/types-ts4.5/compiled/components/single-value.d.ts +0 -27
  223. package/dist/types-ts4.5/emotion/components/containers.d.ts +0 -54
  224. package/dist/types-ts4.5/emotion/components/control.d.ts +0 -42
  225. package/dist/types-ts4.5/emotion/components/group.d.ts +0 -52
  226. package/dist/types-ts4.5/emotion/components/indicators.d.ts +0 -73
  227. package/dist/types-ts4.5/emotion/components/input.d.ts +0 -37
  228. package/dist/types-ts4.5/emotion/components/internal/a11y-text.d.ts +0 -8
  229. package/dist/types-ts4.5/emotion/components/internal/dummy-input.d.ts +0 -9
  230. package/dist/types-ts4.5/emotion/components/internal/index.d.ts +0 -4
  231. package/dist/types-ts4.5/emotion/components/internal/required-input.d.ts +0 -10
  232. package/dist/types-ts4.5/emotion/components/internal/scroll-manager.d.ts +0 -17
  233. package/dist/types-ts4.5/emotion/components/internal/use-scroll-capture.d.ts +0 -12
  234. package/dist/types-ts4.5/emotion/components/internal/use-scroll-lock.d.ts +0 -9
  235. package/dist/types-ts4.5/emotion/components/live-region.d.ts +0 -23
  236. package/dist/types-ts4.5/emotion/components/menu.d.ts +0 -116
  237. package/dist/types-ts4.5/emotion/components/multi-value.d.ts +0 -47
  238. package/dist/types-ts4.5/emotion/components/option.d.ts +0 -49
  239. package/dist/types-ts4.5/emotion/components/placeholder.d.ts +0 -22
  240. package/dist/types-ts4.5/emotion/components/single-value.d.ts +0 -28
  241. /package/dist/cjs/{compiled/components → components}/control.compiled.css +0 -0
  242. /package/dist/cjs/{compiled/components → components}/group.compiled.css +0 -0
  243. /package/dist/cjs/{compiled/components → components}/indicators.compiled.css +0 -0
  244. /package/dist/cjs/{compiled/components → components}/input.compiled.css +0 -0
  245. /package/dist/cjs/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  246. /package/dist/cjs/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  247. /package/dist/cjs/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  248. /package/dist/cjs/{compiled/components → components}/menu.compiled.css +0 -0
  249. /package/dist/cjs/{compiled/components → components}/multi-value.compiled.css +0 -0
  250. /package/dist/cjs/{compiled/components → components}/option.compiled.css +0 -0
  251. /package/dist/cjs/{compiled/components → components}/placeholder.compiled.css +0 -0
  252. /package/dist/cjs/{compiled/components → components}/single-value.compiled.css +0 -0
  253. /package/dist/es2019/{compiled/components → components}/control.compiled.css +0 -0
  254. /package/dist/es2019/{compiled/components → components}/group.compiled.css +0 -0
  255. /package/dist/es2019/{compiled/components → components}/indicators.compiled.css +0 -0
  256. /package/dist/es2019/{compiled/components → components}/input.compiled.css +0 -0
  257. /package/dist/es2019/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  258. /package/dist/es2019/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  259. /package/dist/es2019/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  260. /package/dist/es2019/{compiled/components → components}/menu.compiled.css +0 -0
  261. /package/dist/es2019/{compiled/components → components}/multi-value.compiled.css +0 -0
  262. /package/dist/es2019/{compiled/components → components}/option.compiled.css +0 -0
  263. /package/dist/es2019/{compiled/components → components}/placeholder.compiled.css +0 -0
  264. /package/dist/es2019/{compiled/components → components}/single-value.compiled.css +0 -0
  265. /package/dist/esm/{compiled/components → components}/control.compiled.css +0 -0
  266. /package/dist/esm/{compiled/components → components}/group.compiled.css +0 -0
  267. /package/dist/esm/{compiled/components → components}/indicators.compiled.css +0 -0
  268. /package/dist/esm/{compiled/components → components}/input.compiled.css +0 -0
  269. /package/dist/esm/{compiled/components → components}/internal/a11y-text.compiled.css +0 -0
  270. /package/dist/esm/{compiled/components → components}/internal/dummy-input.compiled.css +0 -0
  271. /package/dist/esm/{compiled/components → components}/internal/required-input.compiled.css +0 -0
  272. /package/dist/esm/{compiled/components → components}/menu.compiled.css +0 -0
  273. /package/dist/esm/{compiled/components → components}/multi-value.compiled.css +0 -0
  274. /package/dist/esm/{compiled/components → components}/option.compiled.css +0 -0
  275. /package/dist/esm/{compiled/components → components}/placeholder.compiled.css +0 -0
  276. /package/dist/esm/{compiled/components → components}/single-value.compiled.css +0 -0
@@ -1,477 +0,0 @@
1
- /* menu.tsx generated by @compiled/babel-plugin v0.36.1 */
2
- import _extends from "@babel/runtime/helpers/extends";
3
- import "./menu.compiled.css";
4
- import * as React from 'react';
5
- import { ax, ix } from "@compiled/react/runtime";
6
- import { createContext, useCallback, useContext, useMemo, useRef, useState } from 'react';
7
- import { cx } from '@compiled/react';
8
- import { autoUpdate } from '@floating-ui/dom';
9
- import { createPortal } from 'react-dom';
10
- import useLayoutEffect from 'use-isomorphic-layout-effect';
11
- import { Text } from '@atlaskit/primitives/compiled';
12
- import { animatedScrollTo, getBoundingClientObj, getScrollParent, getScrollTop, getStyleProps, normalizedHeight, scrollTo } from '../../utils';
13
-
14
- // ==============================
15
- // Menu
16
- // ==============================
17
-
18
- // Get Menu Placement
19
- // ------------------------------
20
-
21
- function getMenuPlacement({
22
- maxHeight: preferredMaxHeight,
23
- menuEl,
24
- minHeight,
25
- placement: preferredPlacement,
26
- shouldScroll,
27
- isFixedPosition,
28
- controlHeight
29
- }) {
30
- const scrollParent = getScrollParent(menuEl);
31
- const defaultState = {
32
- placement: 'bottom',
33
- maxHeight: preferredMaxHeight
34
- };
35
-
36
- // something went wrong, return default state
37
- if (!menuEl || !menuEl.offsetParent) {
38
- return defaultState;
39
- }
40
-
41
- // we can't trust `scrollParent.scrollHeight` --> it may increase when
42
- // the menu is rendered
43
- const {
44
- height: scrollHeight
45
- } = scrollParent.getBoundingClientRect();
46
- const {
47
- bottom: menuBottom,
48
- height: menuHeight,
49
- top: menuTop
50
- } = menuEl.getBoundingClientRect();
51
- const {
52
- top: containerTop
53
- } = menuEl.offsetParent.getBoundingClientRect();
54
- const viewHeight = isFixedPosition ? window.innerHeight : normalizedHeight(scrollParent);
55
- const scrollTop = getScrollTop(scrollParent);
56
- const menuTopFromParent = menuTop;
57
- const marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);
58
- const marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);
59
- const viewSpaceAbove = containerTop - marginTop;
60
- const viewSpaceBelow = viewHeight - menuTopFromParent;
61
- const scrollSpaceAbove = viewSpaceAbove + scrollTop;
62
- const scrollSpaceBelow = scrollHeight - scrollTop - menuTopFromParent;
63
- const scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;
64
- const scrollUp = scrollTop + menuTop - marginTop;
65
- const scrollDuration = 160;
66
- switch (preferredPlacement) {
67
- case 'auto':
68
- case 'bottom':
69
- // 1: the menu will fit, do nothing
70
- if (viewSpaceBelow >= menuHeight) {
71
- return {
72
- placement: 'bottom',
73
- maxHeight: preferredMaxHeight
74
- };
75
- }
76
-
77
- // 2: the menu will fit, if scrolled
78
- if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {
79
- if (shouldScroll) {
80
- animatedScrollTo(scrollParent, scrollDown, scrollDuration);
81
- }
82
- return {
83
- placement: 'bottom',
84
- maxHeight: preferredMaxHeight
85
- };
86
- }
87
-
88
- // 3: the menu will fit, if constrained
89
- if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {
90
- if (shouldScroll) {
91
- animatedScrollTo(scrollParent, scrollDown, scrollDuration);
92
- }
93
-
94
- // we want to provide as much of the menu as possible to the user,
95
- // so give them whatever is available below rather than the minHeight.
96
- const constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;
97
- return {
98
- placement: 'bottom',
99
- maxHeight: constrainedHeight
100
- };
101
- }
102
-
103
- // 4. Forked beviour when there isn't enough space below
104
-
105
- // AUTO: flip the menu, render above
106
- if (preferredPlacement === 'auto' || isFixedPosition) {
107
- // may need to be constrained after flipping
108
- let constrainedHeight = preferredMaxHeight;
109
- const spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;
110
- if (spaceAbove >= minHeight) {
111
- constrainedHeight = Math.min(spaceAbove - marginBottom - controlHeight, preferredMaxHeight);
112
- }
113
- return {
114
- placement: 'top',
115
- maxHeight: constrainedHeight
116
- };
117
- }
118
-
119
- // BOTTOM: allow browser to increase scrollable area and immediately set scroll
120
- if (preferredPlacement === 'bottom') {
121
- if (shouldScroll) {
122
- scrollTo(scrollParent, scrollDown);
123
- }
124
- return {
125
- placement: 'bottom',
126
- maxHeight: preferredMaxHeight
127
- };
128
- }
129
- break;
130
- case 'top':
131
- // 1: the menu will fit, do nothing
132
- if (viewSpaceAbove >= menuHeight) {
133
- return {
134
- placement: 'top',
135
- maxHeight: preferredMaxHeight
136
- };
137
- }
138
-
139
- // 2: the menu will fit, if scrolled
140
- if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {
141
- if (shouldScroll) {
142
- animatedScrollTo(scrollParent, scrollUp, scrollDuration);
143
- }
144
- return {
145
- placement: 'top',
146
- maxHeight: preferredMaxHeight
147
- };
148
- }
149
-
150
- // 3: the menu will fit, if constrained
151
- if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
152
- let constrainedHeight = preferredMaxHeight;
153
-
154
- // we want to provide as much of the menu as possible to the user,
155
- // so give them whatever is available below rather than the minHeight.
156
- if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
157
- constrainedHeight = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;
158
- }
159
- if (shouldScroll) {
160
- animatedScrollTo(scrollParent, scrollUp, scrollDuration);
161
- }
162
- return {
163
- placement: 'top',
164
- maxHeight: constrainedHeight
165
- };
166
- }
167
-
168
- // 4. not enough space, the browser WILL NOT increase scrollable area when
169
- // absolutely positioned element rendered above the viewport (only below).
170
- // Flip the menu, render below
171
- return {
172
- placement: 'bottom',
173
- maxHeight: preferredMaxHeight
174
- };
175
- default:
176
- throw new Error(`Invalid placement provided "${preferredPlacement}".`);
177
- }
178
- return defaultState;
179
- }
180
-
181
- // Menu Component
182
- // ------------------------------
183
-
184
- const coercePlacement = p => p === 'auto' ? 'bottom' : p;
185
- const menuStyles = {
186
- root: "_2rkoglpi _kqswstnw _1bsb1osq _1pbykb7n _otyru2gc _19pku2gc _bfhk1bhr _16qsd0yg",
187
- bottom: "_154i1osq",
188
- top: "_94n51osq"
189
- };
190
- export const menuCSS = () => ({});
191
- const PortalPlacementContext = /*#__PURE__*/createContext(null);
192
-
193
- // NOTE: internal only
194
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
195
- export const MenuPlacer = props => {
196
- const {
197
- children,
198
- minMenuHeight,
199
- maxMenuHeight,
200
- menuPlacement,
201
- menuPosition,
202
- menuShouldScrollIntoView
203
- } = props;
204
- const {
205
- setPortalPlacement
206
- } = useContext(PortalPlacementContext) || {};
207
- const ref = useRef(null);
208
- const [maxHeight, setMaxHeight] = useState(maxMenuHeight);
209
- const [placement, setPlacement] = useState(null);
210
- // The minimum height of the control
211
- const controlHeight = 38;
212
- useLayoutEffect(() => {
213
- const menuEl = ref.current;
214
- if (!menuEl) {
215
- return;
216
- }
217
-
218
- // DO NOT scroll if position is fixed
219
- const isFixedPosition = menuPosition === 'fixed';
220
- const shouldScroll = menuShouldScrollIntoView && !isFixedPosition;
221
- const state = getMenuPlacement({
222
- maxHeight: maxMenuHeight,
223
- menuEl,
224
- minHeight: minMenuHeight,
225
- placement: menuPlacement,
226
- shouldScroll,
227
- isFixedPosition,
228
- controlHeight
229
- });
230
- setMaxHeight(state.maxHeight);
231
- setPlacement(state.placement);
232
- setPortalPlacement === null || setPortalPlacement === void 0 ? void 0 : setPortalPlacement(state.placement);
233
- }, [maxMenuHeight, menuPlacement, menuPosition, menuShouldScrollIntoView, minMenuHeight, setPortalPlacement, controlHeight]);
234
- return children({
235
- ref,
236
- placerProps: {
237
- ...props,
238
- placement: placement || coercePlacement(menuPlacement),
239
- maxHeight
240
- }
241
- });
242
- };
243
- const Menu = props => {
244
- const {
245
- children,
246
- innerRef,
247
- innerProps,
248
- placement = 'bottom',
249
- xcss
250
- } = props;
251
- const {
252
- css,
253
- className
254
- } = getStyleProps(props, 'menu', {
255
- menu: true
256
- });
257
- return /*#__PURE__*/React.createElement("div", _extends({
258
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
259
- className: ax([menuStyles.root, menuStyles[placement], cx(xcss, className, '-menu')])
260
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
261
- ,
262
- style: css,
263
- ref: innerRef
264
- }, innerProps), children);
265
- };
266
-
267
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
268
- export default Menu;
269
-
270
- // ==============================
271
- // Menu List
272
- // ==============================
273
-
274
- export const menuListCSS = () => ({});
275
- const menuListStyles = null;
276
-
277
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
278
- export const MenuList = props => {
279
- const {
280
- children,
281
- innerProps,
282
- innerRef,
283
- isMulti,
284
- maxHeight,
285
- xcss
286
- } = props;
287
- const {
288
- css,
289
- className
290
- } = getStyleProps(props, 'menuList', {
291
- 'menu-list': true,
292
- 'menu-list--is-multi': isMulti
293
- });
294
- return /*#__PURE__*/React.createElement("div", _extends({
295
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
296
- className: ax(["_kqswh2mm _18m91wug _85i5u2gc _1q51u2gc _8am5i4x0", cx(className, xcss, '-MenuList')])
297
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
298
- ,
299
- style: {
300
- ...css,
301
- maxHeight: maxHeight
302
- },
303
- ref: innerRef
304
- }, innerProps, {
305
- tabIndex: -1
306
- }), children);
307
- };
308
-
309
- // ==============================
310
- // Menu Notices
311
- // ==============================
312
-
313
- const noticeCSS = () => ({});
314
- const noticeStyles = null;
315
- export const noOptionsMessageCSS = noticeCSS;
316
- export const loadingMessageCSS = noticeCSS;
317
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
318
- export const NoOptionsMessage = ({
319
- children = 'No options',
320
- innerProps,
321
- xcss,
322
- ...restProps
323
- }) => {
324
- const {
325
- css,
326
- className
327
- } = getStyleProps({
328
- ...restProps,
329
- children,
330
- innerProps
331
- }, 'noOptionsMessage', {
332
- 'menu-notice': true,
333
- 'menu-notice--no-options': true
334
- });
335
- return /*#__PURE__*/React.createElement("div", _extends({
336
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
337
- className: ax(["_85i5u2gc _1q51u2gc _y4tiutpp _bozgutpp _y3gn1h6o", cx(className, xcss, '-NoOptionsMessage')])
338
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
339
- ,
340
- style: css
341
- // eslint-disable-next-line jsx-a11y/role-has-required-aria-props
342
- ,
343
- role: "option"
344
- }, innerProps), /*#__PURE__*/React.createElement(Text, {
345
- color: "color.text.subtle"
346
- }, children));
347
- };
348
-
349
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
350
- export const LoadingMessage = ({
351
- children = 'Loading...',
352
- innerProps,
353
- xcss,
354
- ...restProps
355
- }) => {
356
- const {
357
- css,
358
- className
359
- } = getStyleProps({
360
- ...restProps,
361
- children,
362
- innerProps
363
- }, 'loadingMessage', {
364
- 'menu-notice': true,
365
- 'menu-notice--loading': true
366
- });
367
- return /*#__PURE__*/React.createElement("div", _extends({
368
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
369
- className: ax(["_85i5u2gc _1q51u2gc _y4tiutpp _bozgutpp _y3gn1h6o", cx(className, xcss, '-LoadingMessage')])
370
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
371
- ,
372
- style: css
373
- }, innerProps, {
374
- // eslint-disable-next-line jsx-a11y/role-has-required-aria-props
375
- role: "option"
376
- }), /*#__PURE__*/React.createElement(Text, {
377
- color: "color.text.subtle"
378
- }, children));
379
- };
380
-
381
- // ==============================
382
- // Menu Portal
383
- // ==============================
384
-
385
- export const menuPortalCSS = () => ({});
386
- const menuPortalStyles = {
387
- root: "_1pbykb7n _1ltva1vk _kqswcp1v _154i1nmo _1bsb1qxj"
388
- };
389
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
390
- export const MenuPortal = props => {
391
- const {
392
- appendTo,
393
- children,
394
- controlElement,
395
- innerProps,
396
- menuPlacement,
397
- menuPosition,
398
- xcss
399
- } = props;
400
- const menuPortalRef = useRef(null);
401
- const cleanupRef = useRef(null);
402
- const [placement, setPortalPlacement] = useState(coercePlacement(menuPlacement));
403
- const portalPlacementContext = useMemo(() => ({
404
- setPortalPlacement
405
- }), []);
406
- const [computedPosition, setComputedPosition] = useState(null);
407
- const updateComputedPosition = useCallback(() => {
408
- if (!controlElement) {
409
- return;
410
- }
411
- const rect = getBoundingClientObj(controlElement);
412
- const scrollDistance = menuPosition === 'fixed' ? 0 : window.pageYOffset;
413
- const offset = rect[placement] + scrollDistance;
414
- if (offset !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.offset) || rect.left !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.left) || rect.width !== (computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.width)) {
415
- setComputedPosition({
416
- offset,
417
- rect
418
- });
419
- }
420
- }, [controlElement, menuPosition, placement, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.offset, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.left, computedPosition === null || computedPosition === void 0 ? void 0 : computedPosition.rect.width]);
421
- useLayoutEffect(() => {
422
- updateComputedPosition();
423
- }, [updateComputedPosition]);
424
- const runAutoUpdate = useCallback(() => {
425
- if (typeof cleanupRef.current === 'function') {
426
- cleanupRef.current();
427
- cleanupRef.current = null;
428
- }
429
- if (controlElement && menuPortalRef.current) {
430
- cleanupRef.current = autoUpdate(controlElement, menuPortalRef.current, updateComputedPosition, {
431
- elementResize: 'ResizeObserver' in window
432
- });
433
- }
434
- }, [controlElement, updateComputedPosition]);
435
- useLayoutEffect(() => {
436
- runAutoUpdate();
437
- }, [runAutoUpdate]);
438
- const setMenuPortalElement = useCallback(menuPortalElement => {
439
- menuPortalRef.current = menuPortalElement;
440
- runAutoUpdate();
441
- }, [runAutoUpdate]);
442
-
443
- // bail early if required elements aren't present
444
- if (!appendTo && menuPosition !== 'fixed' || !computedPosition) {
445
- return null;
446
- }
447
- const {
448
- css,
449
- className
450
- } = getStyleProps({
451
- ...props,
452
- offset: computedPosition.offset,
453
- position: menuPosition,
454
- rect: computedPosition.rect
455
- }, 'menuPortal', {
456
- 'menu-portal': true
457
- });
458
-
459
- // same wrapper element whether fixed or portalled
460
- const menuWrapper = /*#__PURE__*/React.createElement("div", _extends({
461
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
462
- className: ax([menuPortalStyles.root, cx(className, xcss, '-MenuPortal')]),
463
- ref: setMenuPortalElement,
464
- style: {
465
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
466
- '--menu-left': `${computedPosition.rect.left}px`,
467
- '--menu-position': menuPosition,
468
- '--menu-top': `${computedPosition.offset}px`,
469
- '--menu-width': `${computedPosition.rect.width}px`,
470
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
471
- ...css
472
- }
473
- }, innerProps), children);
474
- return /*#__PURE__*/React.createElement(PortalPlacementContext.Provider, {
475
- value: portalPlacementContext
476
- }, appendTo ? /*#__PURE__*/createPortal(menuWrapper, appendTo) : menuWrapper);
477
- };
@@ -1,165 +0,0 @@
1
- /* multi-value.tsx generated by @compiled/babel-plugin v0.36.1 */
2
- import _extends from "@babel/runtime/helpers/extends";
3
- import "./multi-value.compiled.css";
4
- import * as React from 'react';
5
- import { ax, ix } from "@compiled/react/runtime";
6
- import { cx } from '@compiled/react';
7
- import CrossIcon from '@atlaskit/icon/core/close';
8
- import LegacySelectClearIcon from '@atlaskit/icon/glyph/select-clear';
9
- import { fg } from '@atlaskit/platform-feature-flags';
10
- import { getStyleProps } from '../../utils';
11
- const multiValueStyles = {
12
- root: "_2rkogqwt _1e0c1txw _1ul9ze3t _19pkv77o _2hwxv77o _otyrv77o _18u0v77o _bfhkm7j4 _p12f1osq _syazjpor _3yq3glyw",
13
- disabled: "_syaz1lh4 _bfhkm7j4",
14
- focused: "_syaz1wum _bfhkfg4m _16qs7ex6 _1aewe4h9 _6up51j28 _1xdnnqa1",
15
- refresh: "_2rkoiti9 _1h6d14je _1dqonqa1 _189ee4h9 _bfhk1j9a"
16
- };
17
- export const multiValueCSS = () => ({});
18
- export const multiValueLabelCSS = () => ({});
19
- const multiValueLabelStyles = {
20
- root: "_1reo15vq _18m915vq _2rkogqwt _11c8dcr7 _o5721q9c _ca0qv77o _u5f3v77o _n3tdv77o _19bv12x7 _syaz1kw7",
21
- disabled: "_syaz1lh4",
22
- ellipsis: "_1bto1l2s",
23
- refresh: "_11c82smr _ca0qidpf _n3tdidpf _19bv1b66"
24
- };
25
- export const multiValueRemoveCSS = () => ({});
26
- const multiValueRemoveStyles = {
27
- focused: "_bfhkb1q9 _lswu1rrc",
28
- root: "_2rkovtp2 _4cvr1h6o _1e0c1txw _lswu1dx5 _19bvv77o _u5f3v77o _irr31yvi _13br1jjn _1di61io2 _i5f81jjn",
29
- refresh: "_19itglyw _2rkoglpi _bfhksm61 _4cvr1h6o _1bah1h6o _1wpz1h6o _r06hglyw _syaz1fxt _ca0qv77o _u5f3v77o _n3tdv77o _19bvv77o _2hwxv77o _1ah312gs _irr3166n _1di61dty"
30
- };
31
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
32
- export const MultiValueContainer = ({
33
- children,
34
- innerProps,
35
- isFocused,
36
- isDisabled,
37
- className,
38
- xcss
39
- }) => {
40
- return /*#__PURE__*/React.createElement("div", _extends({}, innerProps, {
41
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
42
- className: ax([multiValueStyles.root, isDisabled && multiValueStyles.disabled, isFocused && multiValueStyles.focused, fg('platform-component-visual-refresh') && multiValueStyles.refresh, cx(className, xcss, '-multiValue')])
43
- }), children);
44
- };
45
-
46
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
47
- export const MultiValueLabel = ({
48
- children,
49
- innerProps,
50
- isDisabled,
51
- hasEllipsis,
52
- className,
53
- xcss
54
- }) => {
55
- return /*#__PURE__*/React.createElement("div", _extends({}, innerProps, {
56
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
57
- className: ax([multiValueLabelStyles.root, isDisabled && multiValueLabelStyles.disabled, hasEllipsis && multiValueLabelStyles.ellipsis, fg('platform-component-visual-refresh') && multiValueLabelStyles.refresh, cx(className, xcss, '-MultiValueLabel')])
58
- }), children);
59
- };
60
- const disabledStyles = null;
61
- const enabledStyles = null;
62
- export function MultiValueRemove({
63
- isDisabled,
64
- isFocused,
65
- innerProps,
66
- className,
67
- xcss
68
- }) {
69
- return /*#__PURE__*/React.createElement("div", _extends({}, innerProps, {
70
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
71
- className: ax([multiValueRemoveStyles.root, isFocused && multiValueRemoveStyles.focused, fg('platform-component-visual-refresh') && multiValueRemoveStyles.refresh, cx(className, xcss, '-MultiValueRemove')])
72
- }), /*#__PURE__*/React.createElement("div", {
73
- "data-testid": isDisabled ? 'hide-clear-icon' : 'show-clear-icon',
74
- className: ax([isDisabled && "_1e0cglyw", !isDisabled && "_1e0c1kw7"])
75
- }, /*#__PURE__*/React.createElement(CrossIcon, {
76
- label: "",
77
- color: "currentColor",
78
- LEGACY_fallbackIcon: LegacySelectClearIcon,
79
- LEGACY_primaryColor: "transparent",
80
- LEGACY_secondaryColor: "inherit",
81
- LEGACY_size: "small",
82
- size: "small"
83
- })));
84
- }
85
- const MultiValue = props => {
86
- const {
87
- children,
88
- components,
89
- data,
90
- innerProps,
91
- isDisabled,
92
- isFocused,
93
- removeProps,
94
- selectProps,
95
- cropWithEllipsis
96
- } = props;
97
- const {
98
- Container,
99
- Label,
100
- Remove
101
- } = components;
102
- const ariaLabel = typeof children === 'string' ? children : data.label;
103
- const {
104
- css: containerCss,
105
- className: containerClassName
106
- } = getStyleProps(props, 'multiValue', {
107
- 'multi-value': true,
108
- 'multi-value--is-disabled': isDisabled
109
- });
110
- const {
111
- css: labelCss,
112
- className: labelClassName
113
- } = getStyleProps(props, 'multiValueLabel', {
114
- 'multi-value__label': true
115
- });
116
- const {
117
- css: removeCss,
118
- className: removeClassName
119
- } = getStyleProps(props, 'multiValueRemove', {
120
- 'multi-value__remove': true
121
- });
122
- return /*#__PURE__*/React.createElement(Container, {
123
- data: data,
124
- innerProps: {
125
- style: containerCss,
126
- className: containerClassName,
127
- ...innerProps
128
- }
129
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
130
- ,
131
- className: containerClassName,
132
- isFocused: isFocused,
133
- isDisabled: isDisabled,
134
- selectProps: selectProps
135
- }, /*#__PURE__*/React.createElement(Label, {
136
- data: data,
137
- innerProps: {
138
- style: labelCss,
139
- className: labelClassName
140
- }
141
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
142
- ,
143
- className: labelClassName,
144
- hasEllipsis: cropWithEllipsis || cropWithEllipsis === undefined,
145
- selectProps: selectProps
146
- }, children), /*#__PURE__*/React.createElement(Remove, {
147
- data: data,
148
- innerProps: {
149
- style: removeCss,
150
- className: removeClassName,
151
- role: 'button',
152
- tabIndex: -1,
153
- 'aria-label': `${ariaLabel || 'option'}, remove`,
154
- ...removeProps
155
- }
156
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
157
- ,
158
- className: removeClassName,
159
- isDisabled: isDisabled,
160
- selectProps: selectProps
161
- }));
162
- };
163
-
164
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
165
- export default MultiValue;
@@ -1,48 +0,0 @@
1
- /* option.tsx generated by @compiled/babel-plugin v0.36.1 */
2
- import _extends from "@babel/runtime/helpers/extends";
3
- import "./option.compiled.css";
4
- import * as React from 'react';
5
- import { ax, ix } from "@compiled/react/runtime";
6
- import { cx } from '@compiled/react';
7
- import { getStyleProps } from '../../utils';
8
- export const optionCSS = () => ({});
9
- const optionStyles = {
10
- root: "_1rjc12x7 _18zrutpp _syaz1fxt _80om73ad _1e0c1ule _1wyb1kw7 _1bsb1osq _uiztglyw _18ql1j7p _1di61dty",
11
- disabled: "_syaz1lh4 _80om13gf _bfhk1j28 _16qsglyw _1di61j28 _1pknglyw",
12
- focused: "_bfhk166n _16qsu4to _1pkn1vrj",
13
- selected: "_syazaqb7 _bfhkfg4m _16qsu4to _1di619ru _1pkn1vrj",
14
- focusedSelected: "_bfhki1yw"
15
- };
16
- const Option = props => {
17
- const {
18
- children,
19
- isDisabled,
20
- isFocused,
21
- isSelected,
22
- innerRef,
23
- innerProps,
24
- xcss
25
- } = props;
26
- const {
27
- css,
28
- className
29
- } = getStyleProps(props, 'option', {
30
- option: true,
31
- 'option--is-disabled': isDisabled,
32
- 'option--is-focused': isFocused,
33
- 'option--is-selected': isSelected
34
- });
35
- return /*#__PURE__*/React.createElement("div", _extends({
36
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
37
- style: css
38
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
39
- ,
40
- className: ax([optionStyles.root, isFocused && optionStyles.focused, isSelected && optionStyles.selected, isFocused && isSelected && optionStyles.focusedSelected, isDisabled && optionStyles.disabled, cx(className, xcss, '-option')]),
41
- ref: innerRef
42
- }, innerProps, {
43
- tabIndex: -1
44
- }), children);
45
- };
46
-
47
- // eslint-disable-next-line @repo/internal/react/require-jsdoc
48
- export default Option;