@lumx/react 3.0.2-alpha-react-utils.1 → 3.0.2-alpha-react-utils.3

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 (358) hide show
  1. package/_internal/{6340c129.js → ClickAwayProvider.js} +107 -2
  2. package/_internal/ClickAwayProvider.js.map +1 -0
  3. package/_internal/{eca6d4dc.d.ts → types.d.ts} +1 -1
  4. package/index.d.ts +2627 -56
  5. package/index.js +12438 -95
  6. package/index.js.map +1 -1
  7. package/package.json +4 -4
  8. package/utils/index.d.ts +1 -1
  9. package/utils/index.js +1 -4
  10. package/utils/index.js.map +1 -1
  11. package/_internal/0062d1bc.js +0 -220
  12. package/_internal/0062d1bc.js.map +0 -1
  13. package/_internal/03e8323d.d.ts +0 -118
  14. package/_internal/0402f9bc.d.ts +0 -183
  15. package/_internal/0b370acc.js +0 -796
  16. package/_internal/0b370acc.js.map +0 -1
  17. package/_internal/0d154d73.d.ts +0 -67
  18. package/_internal/113e3b40.d.ts +0 -31
  19. package/_internal/12ab39e4.js +0 -58
  20. package/_internal/12ab39e4.js.map +0 -1
  21. package/_internal/13e759f3.js +0 -343
  22. package/_internal/13e759f3.js.map +0 -1
  23. package/_internal/158b46d5.js +0 -151
  24. package/_internal/158b46d5.js.map +0 -1
  25. package/_internal/17b74e16.d.ts +0 -31
  26. package/_internal/1b1530a4.d.ts +0 -43
  27. package/_internal/20976405.js +0 -87
  28. package/_internal/20976405.js.map +0 -1
  29. package/_internal/20b0e9a5.d.ts +0 -77
  30. package/_internal/26cd9c63.js +0 -118
  31. package/_internal/26cd9c63.js.map +0 -1
  32. package/_internal/27f21164.js +0 -79
  33. package/_internal/27f21164.js.map +0 -1
  34. package/_internal/288dfd0f.js +0 -13
  35. package/_internal/288dfd0f.js.map +0 -1
  36. package/_internal/28aaf23a.d.ts +0 -41
  37. package/_internal/2c829c0b.d.ts +0 -57
  38. package/_internal/2cc0aec5.js +0 -86
  39. package/_internal/2cc0aec5.js.map +0 -1
  40. package/_internal/2d0a5b28.js +0 -23
  41. package/_internal/2d0a5b28.js.map +0 -1
  42. package/_internal/2d4b5a5e.d.ts +0 -92
  43. package/_internal/2d770113.d.ts +0 -38
  44. package/_internal/2fe97f00.js +0 -291
  45. package/_internal/2fe97f00.js.map +0 -1
  46. package/_internal/31c16fa0.d.ts +0 -37
  47. package/_internal/329a01d3.js +0 -25
  48. package/_internal/329a01d3.js.map +0 -1
  49. package/_internal/3326e990.js +0 -168
  50. package/_internal/3326e990.js.map +0 -1
  51. package/_internal/377b2f44.js +0 -70
  52. package/_internal/377b2f44.js.map +0 -1
  53. package/_internal/3b8d2a6e.js +0 -124
  54. package/_internal/3b8d2a6e.js.map +0 -1
  55. package/_internal/3bd3186e.d.ts +0 -57
  56. package/_internal/48e40868.js +0 -101
  57. package/_internal/48e40868.js.map +0 -1
  58. package/_internal/490ec1da.js +0 -322
  59. package/_internal/490ec1da.js.map +0 -1
  60. package/_internal/49127d69.d.ts +0 -52
  61. package/_internal/4dcd87cb.js +0 -78
  62. package/_internal/4dcd87cb.js.map +0 -1
  63. package/_internal/4f44d848.js +0 -157
  64. package/_internal/4f44d848.js.map +0 -1
  65. package/_internal/4fc64a2e.js +0 -27
  66. package/_internal/4fc64a2e.js.map +0 -1
  67. package/_internal/53a831be.js +0 -108
  68. package/_internal/53a831be.js.map +0 -1
  69. package/_internal/55271fa1.d.ts +0 -34
  70. package/_internal/55d30377.d.ts +0 -22
  71. package/_internal/56385b04.js +0 -116
  72. package/_internal/56385b04.js.map +0 -1
  73. package/_internal/599e250a.d.ts +0 -88
  74. package/_internal/5a054691.d.ts +0 -33
  75. package/_internal/5a127b58.js +0 -82
  76. package/_internal/5a127b58.js.map +0 -1
  77. package/_internal/5a1c0db4.js +0 -156
  78. package/_internal/5a1c0db4.js.map +0 -1
  79. package/_internal/5babcc39.js +0 -147
  80. package/_internal/5babcc39.js.map +0 -1
  81. package/_internal/5c1bf4d4.d.ts +0 -81
  82. package/_internal/5d8ed4ee.js +0 -113
  83. package/_internal/5d8ed4ee.js.map +0 -1
  84. package/_internal/616f2912.js +0 -301
  85. package/_internal/616f2912.js.map +0 -1
  86. package/_internal/61f915de.d.ts +0 -49
  87. package/_internal/620081fa.js +0 -122
  88. package/_internal/620081fa.js.map +0 -1
  89. package/_internal/6340c129.js.map +0 -1
  90. package/_internal/6581c863.d.ts +0 -34
  91. package/_internal/66de4d45.d.ts +0 -32
  92. package/_internal/6735c5c8.d.ts +0 -62
  93. package/_internal/69dd1472.js +0 -112
  94. package/_internal/69dd1472.js.map +0 -1
  95. package/_internal/6a0e1c77.js +0 -327
  96. package/_internal/6a0e1c77.js.map +0 -1
  97. package/_internal/701c20b0.d.ts +0 -24
  98. package/_internal/7391188a.js +0 -81
  99. package/_internal/7391188a.js.map +0 -1
  100. package/_internal/74cb6c26.js +0 -136
  101. package/_internal/74cb6c26.js.map +0 -1
  102. package/_internal/761031bf.js +0 -314
  103. package/_internal/761031bf.js.map +0 -1
  104. package/_internal/76fed69d.js +0 -50
  105. package/_internal/76fed69d.js.map +0 -1
  106. package/_internal/78ef8e34.js +0 -40
  107. package/_internal/78ef8e34.js.map +0 -1
  108. package/_internal/7b906e16.d.ts +0 -17
  109. package/_internal/7be11ddc.d.ts +0 -35
  110. package/_internal/7d39705e.d.ts +0 -20
  111. package/_internal/7e03266f.js +0 -47
  112. package/_internal/7e03266f.js.map +0 -1
  113. package/_internal/7e8d0ac5.js +0 -84
  114. package/_internal/7e8d0ac5.js.map +0 -1
  115. package/_internal/7ffa45f6.js +0 -48
  116. package/_internal/7ffa45f6.js.map +0 -1
  117. package/_internal/84c1ec44.js +0 -257
  118. package/_internal/84c1ec44.js.map +0 -1
  119. package/_internal/8518279f.js +0 -96
  120. package/_internal/8518279f.js.map +0 -1
  121. package/_internal/853713cd.js +0 -25
  122. package/_internal/853713cd.js.map +0 -1
  123. package/_internal/86566d75.d.ts +0 -27
  124. package/_internal/86d22dde.d.ts +0 -57
  125. package/_internal/8e755ded.d.ts +0 -101
  126. package/_internal/901471f5.d.ts +0 -37
  127. package/_internal/935ce959.d.ts +0 -49
  128. package/_internal/97089888.d.ts +0 -16
  129. package/_internal/97cc728c.d.ts +0 -26
  130. package/_internal/9ab3c637.js +0 -2474
  131. package/_internal/9ab3c637.js.map +0 -1
  132. package/_internal/9ca3f59c.js +0 -60
  133. package/_internal/9ca3f59c.js.map +0 -1
  134. package/_internal/9e95ea38.d.ts +0 -43
  135. package/_internal/a0108f92.js +0 -84
  136. package/_internal/a0108f92.js.map +0 -1
  137. package/_internal/a493a193.d.ts +0 -65
  138. package/_internal/a521723d.js +0 -120
  139. package/_internal/a521723d.js.map +0 -1
  140. package/_internal/a6fad025.d.ts +0 -107
  141. package/_internal/a8fa525f.js +0 -124
  142. package/_internal/a8fa525f.js.map +0 -1
  143. package/_internal/aca2ecf5.js +0 -141
  144. package/_internal/aca2ecf5.js.map +0 -1
  145. package/_internal/aef2ef1c.js +0 -53
  146. package/_internal/aef2ef1c.js.map +0 -1
  147. package/_internal/af048b0c.js +0 -89
  148. package/_internal/af048b0c.js.map +0 -1
  149. package/_internal/af2cd0cd.d.ts +0 -17
  150. package/_internal/afec6b62.js +0 -864
  151. package/_internal/afec6b62.js.map +0 -1
  152. package/_internal/b0eb3a30.js +0 -72
  153. package/_internal/b0eb3a30.js.map +0 -1
  154. package/_internal/b89517ea.js +0 -275
  155. package/_internal/b89517ea.js.map +0 -1
  156. package/_internal/bafa6fcc.js +0 -116
  157. package/_internal/bafa6fcc.js.map +0 -1
  158. package/_internal/bbbeb49e.js +0 -47
  159. package/_internal/bbbeb49e.js.map +0 -1
  160. package/_internal/c11f6162.d.ts +0 -52
  161. package/_internal/c723dab4.js +0 -133
  162. package/_internal/c723dab4.js.map +0 -1
  163. package/_internal/c87cc857.d.ts +0 -42
  164. package/_internal/c97f8d04.js +0 -424
  165. package/_internal/c97f8d04.js.map +0 -1
  166. package/_internal/cbb373ea.d.ts +0 -6
  167. package/_internal/cbef23b6.d.ts +0 -104
  168. package/_internal/cdf77f06.d.ts +0 -88
  169. package/_internal/d350f2ff.js +0 -105
  170. package/_internal/d350f2ff.js.map +0 -1
  171. package/_internal/d71a8cf7.js +0 -54
  172. package/_internal/d71a8cf7.js.map +0 -1
  173. package/_internal/d9337952.js +0 -96
  174. package/_internal/d9337952.js.map +0 -1
  175. package/_internal/def14e1a.d.ts +0 -24
  176. package/_internal/e0cd29c7.d.ts +0 -35
  177. package/_internal/e354228f.js +0 -145
  178. package/_internal/e354228f.js.map +0 -1
  179. package/_internal/e3922a05.d.ts +0 -22
  180. package/_internal/e3cb6177.d.ts +0 -75
  181. package/_internal/e810c841.d.ts +0 -182
  182. package/_internal/ea700b01.d.ts +0 -43
  183. package/_internal/eed07003.js +0 -122
  184. package/_internal/eed07003.js.map +0 -1
  185. package/_internal/f1c9b334.d.ts +0 -22
  186. package/_internal/f3c3a674.js +0 -281
  187. package/_internal/f3c3a674.js.map +0 -1
  188. package/_internal/f571cdcd.js +0 -132
  189. package/_internal/f571cdcd.js.map +0 -1
  190. package/_internal/f5bdff7e.js +0 -282
  191. package/_internal/f5bdff7e.js.map +0 -1
  192. package/_internal/f851fc00.d.ts +0 -34
  193. package/_internal/f859b007.d.ts +0 -49
  194. package/_internal/fb384b79.d.ts +0 -38
  195. package/_internal/fc4c034b.js +0 -63
  196. package/_internal/fc4c034b.js.map +0 -1
  197. package/_internal/fc608bd9.js +0 -16
  198. package/_internal/fc608bd9.js.map +0 -1
  199. package/_internal/fd1f4d68.d.ts +0 -36
  200. package/_internal/fd867c9d.js +0 -346
  201. package/_internal/fd867c9d.js.map +0 -1
  202. package/_internal/ff8081e5.js +0 -57
  203. package/_internal/ff8081e5.js.map +0 -1
  204. package/_internal/ffd1bfe3.js +0 -123
  205. package/_internal/ffd1bfe3.js.map +0 -1
  206. package/components/alert-dialog.d.ts +0 -6
  207. package/components/alert-dialog.js +0 -35
  208. package/components/alert-dialog.js.map +0 -1
  209. package/components/autocomplete.d.ts +0 -8
  210. package/components/autocomplete.js +0 -33
  211. package/components/autocomplete.js.map +0 -1
  212. package/components/avatar.d.ts +0 -4
  213. package/components/avatar.js +0 -13
  214. package/components/avatar.js.map +0 -1
  215. package/components/badge.d.ts +0 -3
  216. package/components/badge.js +0 -10
  217. package/components/badge.js.map +0 -1
  218. package/components/button.d.ts +0 -8
  219. package/components/button.js +0 -26
  220. package/components/button.js.map +0 -1
  221. package/components/checkbox.d.ts +0 -3
  222. package/components/checkbox.js +0 -14
  223. package/components/checkbox.js.map +0 -1
  224. package/components/chip.d.ts +0 -3
  225. package/components/chip.js +0 -12
  226. package/components/chip.js.map +0 -1
  227. package/components/comment-block.d.ts +0 -5
  228. package/components/comment-block.js +0 -25
  229. package/components/comment-block.js.map +0 -1
  230. package/components/date-picker.d.ts +0 -7
  231. package/components/date-picker.js +0 -33
  232. package/components/date-picker.js.map +0 -1
  233. package/components/dialog.d.ts +0 -3
  234. package/components/dialog.js +0 -28
  235. package/components/dialog.js.map +0 -1
  236. package/components/divider.d.ts +0 -3
  237. package/components/divider.js +0 -10
  238. package/components/divider.js.map +0 -1
  239. package/components/drag-handle.d.ts +0 -3
  240. package/components/drag-handle.js +0 -11
  241. package/components/drag-handle.js.map +0 -1
  242. package/components/dropdown.d.ts +0 -4
  243. package/components/dropdown.js +0 -22
  244. package/components/dropdown.js.map +0 -1
  245. package/components/expansion-panel.d.ts +0 -7
  246. package/components/expansion-panel.js +0 -33
  247. package/components/expansion-panel.js.map +0 -1
  248. package/components/flag.d.ts +0 -3
  249. package/components/flag.js +0 -11
  250. package/components/flag.js.map +0 -1
  251. package/components/flex-box.d.ts +0 -3
  252. package/components/flex-box.js +0 -11
  253. package/components/flex-box.js.map +0 -1
  254. package/components/generic-block.d.ts +0 -4
  255. package/components/generic-block.js +0 -20
  256. package/components/generic-block.js.map +0 -1
  257. package/components/grid.d.ts +0 -3
  258. package/components/grid.js +0 -10
  259. package/components/grid.js.map +0 -1
  260. package/components/heading.d.ts +0 -4
  261. package/components/heading.js +0 -11
  262. package/components/heading.js.map +0 -1
  263. package/components/icon.d.ts +0 -3
  264. package/components/icon.js +0 -10
  265. package/components/icon.js.map +0 -1
  266. package/components/image-block.d.ts +0 -4
  267. package/components/image-block.js +0 -14
  268. package/components/image-block.js.map +0 -1
  269. package/components/input-helper.d.ts +0 -3
  270. package/components/input-helper.js +0 -10
  271. package/components/input-helper.js.map +0 -1
  272. package/components/input-label.d.ts +0 -3
  273. package/components/input-label.js +0 -10
  274. package/components/input-label.js.map +0 -1
  275. package/components/lightbox.d.ts +0 -7
  276. package/components/lightbox.js +0 -28
  277. package/components/lightbox.js.map +0 -1
  278. package/components/link-preview.d.ts +0 -5
  279. package/components/link-preview.js +0 -15
  280. package/components/link-preview.js.map +0 -1
  281. package/components/link.d.ts +0 -3
  282. package/components/link.js +0 -12
  283. package/components/link.js.map +0 -1
  284. package/components/list.d.ts +0 -3
  285. package/components/list.js +0 -15
  286. package/components/list.js.map +0 -1
  287. package/components/message.d.ts +0 -3
  288. package/components/message.js +0 -11
  289. package/components/message.js.map +0 -1
  290. package/components/mosaic.d.ts +0 -4
  291. package/components/mosaic.js +0 -14
  292. package/components/mosaic.js.map +0 -1
  293. package/components/notification.d.ts +0 -3
  294. package/components/notification.js +0 -18
  295. package/components/notification.js.map +0 -1
  296. package/components/popover.d.ts +0 -3
  297. package/components/popover.js +0 -16
  298. package/components/popover.js.map +0 -1
  299. package/components/post-block.d.ts +0 -4
  300. package/components/post-block.js +0 -15
  301. package/components/post-block.js.map +0 -1
  302. package/components/progress-tracker.d.ts +0 -3
  303. package/components/progress-tracker.js +0 -17
  304. package/components/progress-tracker.js.map +0 -1
  305. package/components/progress.d.ts +0 -3
  306. package/components/progress.js +0 -10
  307. package/components/progress.js.map +0 -1
  308. package/components/radio-button.d.ts +0 -3
  309. package/components/radio-button.js +0 -13
  310. package/components/radio-button.js.map +0 -1
  311. package/components/select.d.ts +0 -7
  312. package/components/select.js +0 -32
  313. package/components/select.js.map +0 -1
  314. package/components/side-navigation.d.ts +0 -7
  315. package/components/side-navigation.js +0 -26
  316. package/components/side-navigation.js.map +0 -1
  317. package/components/skeleton.d.ts +0 -3
  318. package/components/skeleton.js +0 -10
  319. package/components/skeleton.js.map +0 -1
  320. package/components/slider.d.ts +0 -3
  321. package/components/slider.js +0 -13
  322. package/components/slider.js.map +0 -1
  323. package/components/slideshow.d.ts +0 -7
  324. package/components/slideshow.js +0 -30
  325. package/components/slideshow.js.map +0 -1
  326. package/components/switch.d.ts +0 -3
  327. package/components/switch.js +0 -13
  328. package/components/switch.js.map +0 -1
  329. package/components/table.d.ts +0 -3
  330. package/components/table.js +0 -12
  331. package/components/table.js.map +0 -1
  332. package/components/tabs.d.ts +0 -4
  333. package/components/tabs.js +0 -15
  334. package/components/tabs.js.map +0 -1
  335. package/components/text-field.d.ts +0 -7
  336. package/components/text-field.js +0 -27
  337. package/components/text-field.js.map +0 -1
  338. package/components/text.d.ts +0 -3
  339. package/components/text.js +0 -10
  340. package/components/text.js.map +0 -1
  341. package/components/thumbnail.d.ts +0 -4
  342. package/components/thumbnail.js +0 -13
  343. package/components/thumbnail.js.map +0 -1
  344. package/components/toolbar.d.ts +0 -3
  345. package/components/toolbar.js +0 -9
  346. package/components/toolbar.js.map +0 -1
  347. package/components/tooltip.d.ts +0 -4
  348. package/components/tooltip.js +0 -19
  349. package/components/tooltip.js.map +0 -1
  350. package/components/uploader.d.ts +0 -3
  351. package/components/uploader.js +0 -11
  352. package/components/uploader.js.map +0 -1
  353. package/components/user-block.d.ts +0 -5
  354. package/components/user-block.js +0 -17
  355. package/components/user-block.js.map +0 -1
  356. package/components.d.ts +0 -2
  357. package/components.js +0 -156
  358. package/components.js.map +0 -1
@@ -1,424 +0,0 @@
1
- import { d as _slicedToArray, c as _extends, b as _objectWithoutProperties, _ as _objectSpread2 } from './6340c129.js';
2
- import { Kind, Theme, Size, Emphasis } from '../components.js';
3
- import React, { useState, useEffect, useMemo, useRef, useCallback, forwardRef } from 'react';
4
- import { c as classnames, h as handleBasicClasses, g as getRootClassName } from './fd867c9d.js';
5
- import { I as Icon, b as mdiCheckCircle, c as mdiAlertCircle, n as mdiCloseCircle, o as mdiMenuDown, d as mdiClose } from './a521723d.js';
6
- import { u as uid } from './fc608bd9.js';
7
- import isEmpty from 'lodash/isEmpty';
8
- import { P as Placement } from './9ab3c637.js';
9
- import { m as mergeRefs } from './853713cd.js';
10
- import { I as IconButton } from './377b2f44.js';
11
- import { C as Chip } from './26cd9c63.js';
12
- import { D as Dropdown } from './4f44d848.js';
13
- import { I as InputHelper } from './b0eb3a30.js';
14
- import { I as InputLabel } from './12ab39e4.js';
15
-
16
- /**
17
- * Listen on element focus to store the focus status.
18
- */
19
-
20
- function useListenFocus(ref) {
21
- var _useState = useState(false),
22
- _useState2 = _slicedToArray(_useState, 2),
23
- isFocus = _useState2[0],
24
- setFocus = _useState2[1];
25
-
26
- useEffect(function () {
27
- var element = ref.current;
28
-
29
- if (!element) {
30
- return undefined;
31
- }
32
-
33
- var onFocus = function onFocus() {
34
- return setFocus(true);
35
- };
36
-
37
- var onBlur = function onBlur() {
38
- return setFocus(false);
39
- };
40
-
41
- element.addEventListener('focus', onFocus);
42
- element.addEventListener('blur', onBlur);
43
- return function () {
44
- element.removeEventListener('focus', onFocus);
45
- element.removeEventListener('blur', onBlur);
46
- };
47
- }, [ref, setFocus]);
48
- return isFocus;
49
- }
50
-
51
- /**
52
- * Select variants.
53
- */
54
- var SelectVariant = {
55
- input: 'input',
56
- chip: 'chip'
57
- };
58
-
59
- /** The display name of the component. */
60
-
61
- var COMPONENT_NAME = 'Select';
62
- /** The default class name and classes prefix for this component. */
63
-
64
- var CLASSNAME = getRootClassName(COMPONENT_NAME);
65
- /** The default value of props. */
66
-
67
- var DEFAULT_PROPS = {
68
- theme: Theme.light,
69
- variant: SelectVariant.input
70
- };
71
- var WithSelectContext = function WithSelectContext(SelectElement, _ref, ref) {
72
- var children = _ref.children,
73
- className = _ref.className,
74
- isMultiple = _ref.isMultiple,
75
- _ref$closeOnClick = _ref.closeOnClick,
76
- closeOnClick = _ref$closeOnClick === void 0 ? !isMultiple : _ref$closeOnClick,
77
- disabled = _ref.disabled,
78
- error = _ref.error,
79
- hasError = _ref.hasError,
80
- helper = _ref.helper,
81
- id = _ref.id,
82
- _ref$isDisabled = _ref.isDisabled,
83
- isDisabled = _ref$isDisabled === void 0 ? disabled : _ref$isDisabled,
84
- isEmpty = _ref.isEmpty,
85
- isOpen = _ref.isOpen,
86
- isRequired = _ref.isRequired,
87
- isValid = _ref.isValid,
88
- label = _ref.label,
89
- onClear = _ref.onClear,
90
- onDropdownClose = _ref.onDropdownClose,
91
- onInfiniteScroll = _ref.onInfiniteScroll,
92
- onInputClick = _ref.onInputClick,
93
- placeholder = _ref.placeholder,
94
- _ref$theme = _ref.theme,
95
- theme = _ref$theme === void 0 ? DEFAULT_PROPS.theme : _ref$theme,
96
- value = _ref.value,
97
- _ref$variant = _ref.variant,
98
- variant = _ref$variant === void 0 ? DEFAULT_PROPS.variant : _ref$variant,
99
- forwardedProps = _objectWithoutProperties(_ref, ["children", "className", "isMultiple", "closeOnClick", "disabled", "error", "hasError", "helper", "id", "isDisabled", "isEmpty", "isOpen", "isRequired", "isValid", "label", "onClear", "onDropdownClose", "onInfiniteScroll", "onInputClick", "placeholder", "theme", "value", "variant"]);
100
-
101
- var selectId = useMemo(function () {
102
- return id || "select-".concat(uid());
103
- }, [id]);
104
- var anchorRef = useRef(null);
105
- var selectRef = useRef(null);
106
- var isFocus = useListenFocus(anchorRef);
107
- var handleKeyboardNav = useCallback(function (evt) {
108
- if ((evt.key === 'Enter' || evt.key === ' ' || evt.key === 'ArrowDown') && onInputClick) {
109
- evt.preventDefault();
110
- onInputClick();
111
- }
112
- }, [onInputClick]);
113
-
114
- var onClose = function onClose() {
115
- var _anchorRef$current;
116
-
117
- if (onDropdownClose) {
118
- onDropdownClose();
119
- }
120
-
121
- anchorRef === null || anchorRef === void 0 ? void 0 : (_anchorRef$current = anchorRef.current) === null || _anchorRef$current === void 0 ? void 0 : _anchorRef$current.blur();
122
- };
123
-
124
- return React.createElement("div", {
125
- ref: mergeRefs(ref, selectRef),
126
- className: classnames(className, handleBasicClasses({
127
- hasError: hasError,
128
- hasLabel: Boolean(label),
129
- hasPlaceholder: Boolean(placeholder),
130
- hasValue: !isEmpty,
131
- isDisabled: isDisabled,
132
- isEmpty: isEmpty,
133
- isFocus: isFocus,
134
- isOpen: isOpen,
135
- isValid: isValid,
136
- prefix: CLASSNAME,
137
- theme: theme === Theme.light ? Theme.light : Theme.dark
138
- }))
139
- }, React.createElement(SelectElement, _extends({}, forwardedProps, {
140
- anchorRef: anchorRef,
141
- "aria-disabled": isDisabled,
142
- handleKeyboardNav: handleKeyboardNav,
143
- hasError: hasError,
144
- isDisabled: isDisabled,
145
- isEmpty: isEmpty,
146
- isRequired: isRequired,
147
- isValid: isValid,
148
- label: label,
149
- placeholder: placeholder,
150
- id: selectId,
151
- theme: theme,
152
- value: value,
153
- variant: variant,
154
- onClear: onClear,
155
- onInputClick: onInputClick
156
- })), React.createElement(Dropdown, {
157
- anchorRef: anchorRef,
158
- closeOnClick: closeOnClick,
159
- closeOnClickAway: true,
160
- closeOnEscape: true,
161
- isOpen: !!isOpen,
162
- placement: Placement.BOTTOM_START,
163
- onClose: onClose,
164
- onInfiniteScroll: onInfiniteScroll
165
- }, children), hasError && error && React.createElement(InputHelper, {
166
- className: "".concat(CLASSNAME, "__helper"),
167
- kind: Kind.error,
168
- theme: theme
169
- }, error), helper && React.createElement(InputHelper, {
170
- className: "".concat(CLASSNAME, "__helper"),
171
- theme: theme
172
- }, helper));
173
- };
174
-
175
- /** The display name of the component. */
176
-
177
- var COMPONENT_NAME$1 = 'Select';
178
- /** The default class name and classes prefix for this component. */
179
-
180
- var CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
181
- /** The default value of props. */
182
-
183
- var DEFAULT_PROPS$1 = {
184
- selectedValueRender: function selectedValueRender(choice) {
185
- return choice;
186
- }
187
- };
188
-
189
- var stopPropagation = function stopPropagation(evt) {
190
- return evt.stopPropagation();
191
- };
192
- /**
193
- * Select component.
194
- */
195
-
196
-
197
- var SelectField = function SelectField(_ref) {
198
- var anchorRef = _ref.anchorRef,
199
- clearButtonProps = _ref.clearButtonProps,
200
- handleKeyboardNav = _ref.handleKeyboardNav,
201
- hasError = _ref.hasError,
202
- hasInputClear = _ref.hasInputClear,
203
- icon = _ref.icon,
204
- id = _ref.id,
205
- isDisabled = _ref.isDisabled,
206
- isEmpty = _ref.isEmpty,
207
- isRequired = _ref.isRequired,
208
- isValid = _ref.isValid,
209
- label = _ref.label,
210
- onClear = _ref.onClear,
211
- onInputClick = _ref.onInputClick,
212
- placeholder = _ref.placeholder,
213
- selectedValueRender = _ref.selectedValueRender,
214
- theme = _ref.theme,
215
- value = _ref.value,
216
- variant = _ref.variant,
217
- forwardedProps = _objectWithoutProperties(_ref, ["anchorRef", "clearButtonProps", "handleKeyboardNav", "hasError", "hasInputClear", "icon", "id", "isDisabled", "isEmpty", "isRequired", "isValid", "label", "onClear", "onInputClick", "placeholder", "selectedValueRender", "theme", "value", "variant"]);
218
-
219
- return React.createElement(React.Fragment, null, variant === SelectVariant.input && React.createElement(React.Fragment, null, label && React.createElement("div", {
220
- className: "".concat(CLASSNAME$1, "__header")
221
- }, React.createElement(InputLabel, {
222
- htmlFor: id,
223
- className: "".concat(CLASSNAME$1, "__label"),
224
- isRequired: isRequired,
225
- theme: theme
226
- }, label)), React.createElement("div", _extends({
227
- ref: anchorRef,
228
- id: id,
229
- className: "".concat(CLASSNAME$1, "__wrapper"),
230
- onClick: onInputClick,
231
- onKeyDown: handleKeyboardNav,
232
- tabIndex: isDisabled ? undefined : 0,
233
- "aria-disabled": isDisabled || undefined
234
- }, forwardedProps), icon && React.createElement(Icon, {
235
- className: "".concat(CLASSNAME$1, "__input-icon"),
236
- color: theme === Theme.dark ? 'light' : undefined,
237
- icon: icon,
238
- size: Size.xs
239
- }), React.createElement("div", {
240
- className: classnames(["".concat(CLASSNAME$1, "__input-native"), isEmpty && placeholder && "".concat(CLASSNAME$1, "__input-native--placeholder")])
241
- }, !isEmpty && React.createElement("span", null, selectedValueRender === null || selectedValueRender === void 0 ? void 0 : selectedValueRender(value)), isEmpty && placeholder && React.createElement("span", null, placeholder)), (isValid || hasError) && React.createElement("div", {
242
- className: "".concat(CLASSNAME$1, "__input-validity")
243
- }, React.createElement(Icon, {
244
- icon: isValid ? mdiCheckCircle : mdiAlertCircle,
245
- size: Size.xxs
246
- })), hasInputClear && clearButtonProps && React.createElement(IconButton, _extends({}, clearButtonProps, {
247
- className: "".concat(CLASSNAME$1, "__input-clear"),
248
- icon: mdiCloseCircle,
249
- emphasis: Emphasis.low,
250
- size: Size.s,
251
- theme: theme,
252
- onClick: onClear,
253
- onKeyDown: stopPropagation
254
- })), React.createElement("div", {
255
- className: "".concat(CLASSNAME$1, "__input-indicator")
256
- }, React.createElement(Icon, {
257
- icon: mdiMenuDown,
258
- size: Size.s
259
- })))), variant === SelectVariant.chip && React.createElement(Chip, _extends({
260
- id: id,
261
- isSelected: !isEmpty,
262
- isDisabled: isDisabled,
263
- after: React.createElement(Icon, {
264
- icon: isEmpty ? mdiMenuDown : mdiCloseCircle
265
- }),
266
- onAfterClick: isEmpty ? onInputClick : onClear,
267
- onClick: onInputClick,
268
- ref: anchorRef,
269
- theme: theme
270
- }, forwardedProps), isEmpty && React.createElement("span", null, label), !isEmpty && React.createElement("span", null, selectedValueRender === null || selectedValueRender === void 0 ? void 0 : selectedValueRender(value))));
271
- };
272
- /**
273
- * Select component.
274
- *
275
- * @param props Component props.
276
- * @param ref Component ref.
277
- * @return React element.
278
- */
279
-
280
-
281
- var Select = forwardRef(function (props, ref) {
282
- var isEmpty$1 = isEmpty(props.value);
283
- var hasInputClear = props.onClear && props.clearButtonProps && !isEmpty$1;
284
- return WithSelectContext(SelectField, _objectSpread2({}, props, {
285
- className: classnames(props.className, handleBasicClasses({
286
- hasInputClear: hasInputClear,
287
- hasUnique: !props.isEmpty,
288
- prefix: CLASSNAME$1
289
- })),
290
- hasInputClear: hasInputClear,
291
- isEmpty: isEmpty$1
292
- }), ref);
293
- });
294
- Select.displayName = COMPONENT_NAME$1;
295
- Select.className = CLASSNAME$1;
296
- Select.defaultProps = DEFAULT_PROPS$1;
297
- Select.className = CLASSNAME$1;
298
-
299
- /** Defines the props of the component. */
300
-
301
- /** The display name of the component. */
302
- var COMPONENT_NAME$2 = 'Select';
303
- /** The default class name and classes prefix for this component. */
304
-
305
- var CLASSNAME$2 = getRootClassName(COMPONENT_NAME$2);
306
- /** The default value of props. */
307
-
308
- var DEFAULT_PROPS$2 = {
309
- selectedChipRender: function selectedChipRender(choice, index, onClear, isDisabled, theme) {
310
- var onClick = function onClick(event) {
311
- return onClear && onClear(event, choice);
312
- };
313
-
314
- return React.createElement(Chip, {
315
- key: index,
316
- after: onClear && React.createElement(Icon, {
317
- icon: mdiClose,
318
- size: Size.xxs
319
- }),
320
- isDisabled: isDisabled,
321
- size: Size.s,
322
- onAfterClick: onClick,
323
- onClick: onClick,
324
- theme: theme
325
- }, choice);
326
- },
327
- selectedValueRender: function selectedValueRender(choice) {
328
- return choice;
329
- }
330
- };
331
- var SelectMultipleField = function SelectMultipleField(_ref) {
332
- var anchorRef = _ref.anchorRef,
333
- handleKeyboardNav = _ref.handleKeyboardNav,
334
- hasError = _ref.hasError,
335
- icon = _ref.icon,
336
- id = _ref.id,
337
- isDisabled = _ref.isDisabled,
338
- isEmpty = _ref.isEmpty,
339
- isRequired = _ref.isRequired,
340
- isValid = _ref.isValid,
341
- label = _ref.label,
342
- onClear = _ref.onClear,
343
- onInputClick = _ref.onInputClick,
344
- placeholder = _ref.placeholder,
345
- selectedChipRender = _ref.selectedChipRender,
346
- selectedValueRender = _ref.selectedValueRender,
347
- theme = _ref.theme,
348
- value = _ref.value,
349
- variant = _ref.variant,
350
- forwardedProps = _objectWithoutProperties(_ref, ["anchorRef", "handleKeyboardNav", "hasError", "icon", "id", "isDisabled", "isEmpty", "isRequired", "isValid", "label", "onClear", "onInputClick", "placeholder", "selectedChipRender", "selectedValueRender", "theme", "value", "variant"]);
351
-
352
- return React.createElement(React.Fragment, null, variant === SelectVariant.input && React.createElement(React.Fragment, null, label && React.createElement("div", {
353
- className: "".concat(CLASSNAME$2, "__header")
354
- }, React.createElement(InputLabel, {
355
- htmlFor: id,
356
- className: "".concat(CLASSNAME$2, "__label"),
357
- isRequired: isRequired,
358
- theme: theme
359
- }, label)), React.createElement("div", _extends({
360
- ref: anchorRef,
361
- id: id,
362
- className: "".concat(CLASSNAME$2, "__wrapper"),
363
- onClick: onInputClick,
364
- onKeyDown: handleKeyboardNav,
365
- tabIndex: isDisabled ? undefined : 0,
366
- "aria-disabled": isDisabled || undefined
367
- }, forwardedProps), icon && React.createElement(Icon, {
368
- className: "".concat(CLASSNAME$2, "__input-icon"),
369
- color: theme === Theme.dark ? 'light' : undefined,
370
- icon: icon,
371
- size: Size.xs
372
- }), React.createElement("div", {
373
- className: "".concat(CLASSNAME$2, "__chips")
374
- }, !isEmpty && value.map(function (val, index) {
375
- return selectedChipRender === null || selectedChipRender === void 0 ? void 0 : selectedChipRender(val, index, onClear, isDisabled, theme);
376
- })), isEmpty && placeholder && React.createElement("div", {
377
- className: classnames(["".concat(CLASSNAME$2, "__input-native"), "".concat(CLASSNAME$2, "__input-native--placeholder")])
378
- }, React.createElement("span", null, placeholder)), (isValid || hasError) && React.createElement("div", {
379
- className: "".concat(CLASSNAME$2, "__input-validity")
380
- }, React.createElement(Icon, {
381
- icon: isValid ? mdiCheckCircle : mdiAlertCircle,
382
- size: Size.xxs
383
- })), React.createElement("div", {
384
- className: "".concat(CLASSNAME$2, "__input-indicator")
385
- }, React.createElement(Icon, {
386
- icon: mdiMenuDown,
387
- size: Size.s
388
- })))), variant === SelectVariant.chip && React.createElement(Chip, _extends({
389
- id: id,
390
- isSelected: !isEmpty,
391
- isDisabled: isDisabled,
392
- after: React.createElement(Icon, {
393
- icon: isEmpty ? mdiMenuDown : mdiCloseCircle
394
- }),
395
- onAfterClick: isEmpty ? onInputClick : onClear,
396
- onClick: onInputClick,
397
- ref: anchorRef,
398
- theme: theme
399
- }, forwardedProps), isEmpty && React.createElement("span", null, label), !isEmpty && React.createElement("span", null, React.createElement("span", null, selectedValueRender === null || selectedValueRender === void 0 ? void 0 : selectedValueRender(value[0])), value.length > 1 && React.createElement("span", null, "\xA0+", value.length - 1))));
400
- };
401
- /**
402
- * SelectMultiple component.
403
- *
404
- * @param props Component props.
405
- * @param ref Component ref.
406
- * @return React element.
407
- */
408
-
409
- var SelectMultiple = forwardRef(function (props, ref) {
410
- return WithSelectContext(SelectMultipleField, _objectSpread2({}, props, {
411
- className: classnames(props.className, handleBasicClasses({
412
- hasMultiple: !props.isEmpty,
413
- prefix: CLASSNAME$2
414
- })),
415
- isEmpty: props.value.length === 0,
416
- isMultiple: true
417
- }), ref);
418
- });
419
- SelectMultiple.displayName = COMPONENT_NAME$2;
420
- SelectMultiple.className = CLASSNAME$2;
421
- SelectMultiple.defaultProps = DEFAULT_PROPS$2;
422
-
423
- export { SelectVariant as S, Select as a, SelectMultipleField as b, SelectMultiple as c };
424
- //# sourceMappingURL=c97f8d04.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"c97f8d04.js","sources":["../../src/hooks/useListenFocus.tsx","../../src/components/select/constants.ts","../../src/components/select/WithSelectContext.tsx","../../src/components/select/Select.tsx","../../src/components/select/SelectMultiple.tsx"],"sourcesContent":["import { RefObject, useEffect, useState } from 'react';\n\n/**\n * Listen on element focus to store the focus status.\n */\nexport function useListenFocus(ref: RefObject<HTMLElement>) {\n const [isFocus, setFocus] = useState(false);\n\n useEffect(() => {\n const { current: element } = ref;\n if (!element) {\n return undefined;\n }\n\n const onFocus = () => setFocus(true);\n const onBlur = () => setFocus(false);\n element.addEventListener('focus', onFocus);\n element.addEventListener('blur', onBlur);\n return () => {\n element.removeEventListener('focus', onFocus);\n element.removeEventListener('blur', onBlur);\n };\n }, [ref, setFocus]);\n\n return isFocus;\n}\n","import { IconButtonProps } from '@lumx/react';\nimport { GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';\nimport { ReactNode, SyntheticEvent } from 'react';\n\n/**\n * Select variants.\n */\nexport const SelectVariant = { input: 'input', chip: 'chip' } as const;\nexport type SelectVariant = ValueOf<typeof SelectVariant>;\n\nexport interface CoreSelectProps extends GenericProps, HasTheme {\n /** Props to pass to the clear button (minus those already set by the Select props). If not specified, the button won't be displayed. */\n clearButtonProps?: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis'>;\n /** Whether the select (input variant) is displayed with error style or not. */\n hasError?: boolean;\n /** Error message. */\n error?: string | ReactNode;\n /** Helper text. */\n helper?: string;\n /** Whether the select should close on click. */\n closeOnClick?: boolean;\n /** Icon (SVG path). */\n icon?: string;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is required or not. */\n isRequired?: boolean;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Whether the select (input variant) is displayed with valid style or not. */\n isValid?: boolean;\n /** Label text. */\n label?: string;\n /** Placeholder input text. */\n placeholder?: string;\n /** Select variant. */\n variant?: SelectVariant;\n /** On clear callback. */\n onClear?(event: SyntheticEvent, value?: string): void;\n /** On blur callback. */\n onBlur?(): void;\n /** On filter text change callback (with 500ms debounce). */\n onFilter?(): void;\n /** On input click callback (can be used for dropdown toggle). */\n onInputClick?(): void;\n /** On dropdown close callback. */\n onDropdownClose?(): void;\n /** On scroll end callback. */\n onInfiniteScroll?(): void;\n /** Render value function. Default: Renders the value as a string. */\n selectedValueRender?(choice: string): ReactNode | string;\n}\n","import React, { Ref, useCallback, useMemo, useRef } from 'react';\n\nimport classNames from 'classnames';\nimport { uid } from 'uid';\n\nimport { Kind, Theme } from '@lumx/react/components';\nimport { Dropdown } from '@lumx/react/components/dropdown/Dropdown';\nimport { InputHelper } from '@lumx/react/components/input-helper/InputHelper';\nimport { Placement } from '@lumx/react/components/popover/Popover';\n\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/mergeRefs';\nimport { useListenFocus } from '@lumx/react/hooks/useListenFocus';\nimport { CoreSelectProps, SelectVariant } from './constants';\n\n/** The display name of the component. */\nconst COMPONENT_NAME = 'Select';\n\n/** The default class name and classes prefix for this component. */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/** The default value of props. */\nexport const DEFAULT_PROPS: Partial<CoreSelectProps> = {\n theme: Theme.light,\n variant: SelectVariant.input,\n};\n\nexport const WithSelectContext = (\n SelectElement: React.FC<any>,\n {\n children,\n className,\n isMultiple,\n closeOnClick = !isMultiple,\n disabled,\n error,\n hasError,\n helper,\n id,\n isDisabled = disabled,\n isEmpty,\n isOpen,\n isRequired,\n isValid,\n label,\n onClear,\n onDropdownClose,\n onInfiniteScroll,\n onInputClick,\n placeholder,\n theme = DEFAULT_PROPS.theme,\n value,\n variant = DEFAULT_PROPS.variant,\n ...forwardedProps\n }: CoreSelectProps,\n ref: Ref<HTMLDivElement>,\n): React.ReactElement => {\n const selectId = useMemo(() => id || `select-${uid()}`, [id]);\n const anchorRef = useRef<HTMLElement>(null);\n const selectRef = useRef<HTMLDivElement>(null);\n const isFocus = useListenFocus(anchorRef);\n\n const handleKeyboardNav = useCallback(\n (evt: React.KeyboardEvent<HTMLElement>) => {\n if ((evt.key === 'Enter' || evt.key === ' ' || evt.key === 'ArrowDown') && onInputClick) {\n evt.preventDefault();\n onInputClick();\n }\n },\n [onInputClick],\n );\n\n const onClose = () => {\n if (onDropdownClose) {\n onDropdownClose();\n }\n anchorRef?.current?.blur();\n };\n\n return (\n <div\n ref={mergeRefs(ref, selectRef)}\n className={classNames(\n className,\n handleBasicClasses({\n hasError,\n hasLabel: Boolean(label),\n hasPlaceholder: Boolean(placeholder),\n hasValue: !isEmpty,\n isDisabled,\n isEmpty,\n isFocus,\n isOpen,\n isValid,\n prefix: CLASSNAME,\n theme: theme === Theme.light ? Theme.light : Theme.dark,\n }),\n )}\n >\n <SelectElement\n {...forwardedProps}\n anchorRef={anchorRef}\n aria-disabled={isDisabled}\n handleKeyboardNav={handleKeyboardNav}\n hasError={hasError}\n isDisabled={isDisabled}\n isEmpty={isEmpty}\n isRequired={isRequired}\n isValid={isValid}\n label={label}\n placeholder={placeholder}\n id={selectId}\n theme={theme}\n value={value}\n variant={variant}\n onClear={onClear}\n onInputClick={onInputClick}\n />\n <Dropdown\n anchorRef={anchorRef}\n closeOnClick={closeOnClick}\n closeOnClickAway\n closeOnEscape\n isOpen={!!isOpen}\n placement={Placement.BOTTOM_START}\n onClose={onClose}\n onInfiniteScroll={onInfiniteScroll}\n >\n {children}\n </Dropdown>\n {hasError && error && (\n <InputHelper className={`${CLASSNAME}__helper`} kind={Kind.error} theme={theme}>\n {error}\n </InputHelper>\n )}\n {helper && (\n <InputHelper className={`${CLASSNAME}__helper`} theme={theme}>\n {helper}\n </InputHelper>\n )}\n </div>\n );\n};\n","import React, { forwardRef, RefObject } from 'react';\n\nimport classNames from 'classnames';\nimport lodashIsEmpty from 'lodash/isEmpty';\n\nimport { mdiAlertCircle, mdiCheckCircle, mdiCloseCircle, mdiMenuDown } from '@lumx/icons';\n\nimport { Emphasis, Size, Theme } from '@lumx/react/components';\nimport { IconButton } from '@lumx/react/components/button/IconButton';\nimport { Chip } from '@lumx/react/components/chip/Chip';\nimport { Icon } from '@lumx/react/components/icon/Icon';\nimport { InputLabel } from '@lumx/react/components/input-label/InputLabel';\n\nimport { Comp } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\n\nimport { WithSelectContext } from './WithSelectContext';\nimport { CoreSelectProps, SelectVariant } from './constants';\n\n/** Defines the props of the component. */\nexport interface SelectProps extends CoreSelectProps {\n /** Selected value. */\n value: string;\n}\n\nexport { SelectVariant };\n\n/** The display name of the component. */\nconst COMPONENT_NAME = 'Select';\n\n/** The default class name and classes prefix for this component. */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/** The default value of props. */\nconst DEFAULT_PROPS: Partial<SelectProps> = {\n selectedValueRender: (choice) => choice,\n};\n\nconst stopPropagation = (evt: Event) => evt.stopPropagation();\n\n/**\n * Select component.\n */\nconst SelectField: React.FC<SelectProps> = ({\n anchorRef,\n clearButtonProps,\n handleKeyboardNav,\n hasError,\n hasInputClear,\n icon,\n id,\n isDisabled,\n isEmpty,\n isRequired,\n isValid,\n label,\n onClear,\n onInputClick,\n placeholder,\n selectedValueRender,\n theme,\n value,\n variant,\n ...forwardedProps\n}) => {\n return (\n <>\n {variant === SelectVariant.input && (\n <>\n {label && (\n <div className={`${CLASSNAME}__header`}>\n <InputLabel\n htmlFor={id}\n className={`${CLASSNAME}__label`}\n isRequired={isRequired}\n theme={theme}\n >\n {label}\n </InputLabel>\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n ref={anchorRef as RefObject<HTMLDivElement>}\n id={id}\n className={`${CLASSNAME}__wrapper`}\n onClick={onInputClick}\n onKeyDown={handleKeyboardNav}\n tabIndex={isDisabled ? undefined : 0}\n aria-disabled={isDisabled || undefined}\n {...forwardedProps}\n >\n {icon && (\n <Icon\n className={`${CLASSNAME}__input-icon`}\n color={theme === Theme.dark ? 'light' : undefined}\n icon={icon}\n size={Size.xs}\n />\n )}\n\n <div\n className={classNames([\n `${CLASSNAME}__input-native`,\n isEmpty && placeholder && `${CLASSNAME}__input-native--placeholder`,\n ])}\n >\n {!isEmpty && <span>{selectedValueRender?.(value)}</span>}\n\n {isEmpty && placeholder && <span>{placeholder}</span>}\n </div>\n\n {(isValid || hasError) && (\n <div className={`${CLASSNAME}__input-validity`}>\n <Icon icon={isValid ? mdiCheckCircle : mdiAlertCircle} size={Size.xxs} />\n </div>\n )}\n\n {hasInputClear && clearButtonProps && (\n <IconButton\n {...clearButtonProps}\n className={`${CLASSNAME}__input-clear`}\n icon={mdiCloseCircle}\n emphasis={Emphasis.low}\n size={Size.s}\n theme={theme}\n onClick={onClear}\n onKeyDown={stopPropagation}\n />\n )}\n\n <div className={`${CLASSNAME}__input-indicator`}>\n <Icon icon={mdiMenuDown} size={Size.s} />\n </div>\n </div>\n </>\n )}\n\n {variant === SelectVariant.chip && (\n <Chip\n id={id}\n isSelected={!isEmpty}\n isDisabled={isDisabled}\n after={<Icon icon={isEmpty ? mdiMenuDown : mdiCloseCircle} />}\n onAfterClick={isEmpty ? onInputClick : onClear}\n onClick={onInputClick}\n ref={anchorRef as RefObject<HTMLAnchorElement>}\n theme={theme}\n {...forwardedProps}\n >\n {isEmpty && <span>{label}</span>}\n\n {!isEmpty && <span>{selectedValueRender?.(value)}</span>}\n </Chip>\n )}\n </>\n );\n};\n\n/**\n * Select component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Select: Comp<SelectProps, HTMLDivElement> = forwardRef((props, ref) => {\n const isEmpty = lodashIsEmpty(props.value);\n const hasInputClear = props.onClear && props.clearButtonProps && !isEmpty;\n\n return WithSelectContext(\n SelectField,\n {\n ...props,\n className: classNames(\n props.className,\n handleBasicClasses({\n hasInputClear,\n hasUnique: !props.isEmpty,\n prefix: CLASSNAME,\n }),\n ),\n hasInputClear,\n isEmpty,\n },\n ref,\n );\n});\nSelect.displayName = COMPONENT_NAME;\nSelect.className = CLASSNAME;\nSelect.defaultProps = DEFAULT_PROPS;\nSelect.className = CLASSNAME;\n","import React, { forwardRef, ReactNode, RefObject, SyntheticEvent } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiAlertCircle, mdiCheckCircle, mdiClose, mdiCloseCircle, mdiMenuDown } from '@lumx/icons';\n\nimport { Size, Theme } from '@lumx/react/components';\nimport { Chip } from '@lumx/react/components/chip/Chip';\nimport { Icon } from '@lumx/react/components/icon/Icon';\nimport { InputLabel } from '@lumx/react/components/input-label/InputLabel';\n\nimport { Comp } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\n\nimport { WithSelectContext } from './WithSelectContext';\nimport { CoreSelectProps, SelectVariant } from './constants';\n\n/** Defines the props of the component. */\nexport interface SelectMultipleProps extends CoreSelectProps {\n /** Selected values. */\n value: string[];\n /** Selected value render function. Default: Renders the value inside of a Chip. */\n selectedChipRender?(\n choice: string,\n index: number,\n onClear?: (event: SyntheticEvent, choice: string) => void,\n isDisabled?: boolean,\n theme?: any,\n ): ReactNode | string;\n}\n\n/** The display name of the component. */\nconst COMPONENT_NAME = 'Select';\n\n/** The default class name and classes prefix for this component. */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/** The default value of props. */\nconst DEFAULT_PROPS: Partial<SelectMultipleProps> = {\n selectedChipRender(choice, index, onClear, isDisabled?, theme?) {\n const onClick = (event: React.MouseEvent) => onClear && onClear(event, choice);\n return (\n <Chip\n key={index}\n after={onClear && <Icon icon={mdiClose} size={Size.xxs} />}\n isDisabled={isDisabled}\n size={Size.s}\n onAfterClick={onClick}\n onClick={onClick}\n theme={theme}\n >\n {choice}\n </Chip>\n );\n },\n selectedValueRender: (choice) => choice,\n};\n\nexport const SelectMultipleField: React.FC<SelectMultipleProps> = ({\n anchorRef,\n handleKeyboardNav,\n hasError,\n icon,\n id,\n isDisabled,\n isEmpty,\n isRequired,\n isValid,\n label,\n onClear,\n onInputClick,\n placeholder,\n selectedChipRender,\n selectedValueRender,\n theme,\n value,\n variant,\n ...forwardedProps\n}) => (\n <>\n {variant === SelectVariant.input && (\n <>\n {label && (\n <div className={`${CLASSNAME}__header`}>\n <InputLabel\n htmlFor={id}\n className={`${CLASSNAME}__label`}\n isRequired={isRequired}\n theme={theme}\n >\n {label}\n </InputLabel>\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n ref={anchorRef as RefObject<HTMLDivElement>}\n id={id}\n className={`${CLASSNAME}__wrapper`}\n onClick={onInputClick}\n onKeyDown={handleKeyboardNav}\n tabIndex={isDisabled ? undefined : 0}\n aria-disabled={isDisabled || undefined}\n {...forwardedProps}\n >\n {icon && (\n <Icon\n className={`${CLASSNAME}__input-icon`}\n color={theme === Theme.dark ? 'light' : undefined}\n icon={icon}\n size={Size.xs}\n />\n )}\n\n <div className={`${CLASSNAME}__chips`}>\n {!isEmpty &&\n value.map((val, index) => selectedChipRender?.(val, index, onClear, isDisabled, theme))}\n </div>\n\n {isEmpty && placeholder && (\n <div\n className={classNames([\n `${CLASSNAME}__input-native`,\n `${CLASSNAME}__input-native--placeholder`,\n ])}\n >\n <span>{placeholder}</span>\n </div>\n )}\n\n {(isValid || hasError) && (\n <div className={`${CLASSNAME}__input-validity`}>\n <Icon icon={isValid ? mdiCheckCircle : mdiAlertCircle} size={Size.xxs} />\n </div>\n )}\n\n <div className={`${CLASSNAME}__input-indicator`}>\n <Icon icon={mdiMenuDown} size={Size.s} />\n </div>\n </div>\n </>\n )}\n\n {variant === SelectVariant.chip && (\n <Chip\n id={id}\n isSelected={!isEmpty}\n isDisabled={isDisabled}\n after={<Icon icon={isEmpty ? mdiMenuDown : mdiCloseCircle} />}\n onAfterClick={isEmpty ? onInputClick : onClear}\n onClick={onInputClick}\n ref={anchorRef as RefObject<HTMLAnchorElement>}\n theme={theme}\n {...forwardedProps}\n >\n {isEmpty && <span>{label}</span>}\n\n {!isEmpty && (\n <span>\n <span>{selectedValueRender?.(value[0])}</span>\n\n {value.length > 1 && <span>&nbsp;+{value.length - 1}</span>}\n </span>\n )}\n </Chip>\n )}\n </>\n);\n\n/**\n * SelectMultiple component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const SelectMultiple: Comp<SelectMultipleProps, HTMLDivElement> = forwardRef((props, ref) => {\n return WithSelectContext(\n SelectMultipleField,\n {\n ...props,\n className: classNames(\n props.className,\n handleBasicClasses({\n hasMultiple: !props.isEmpty,\n prefix: CLASSNAME,\n }),\n ),\n isEmpty: props.value.length === 0,\n isMultiple: true,\n },\n ref,\n );\n});\nSelectMultiple.displayName = COMPONENT_NAME;\nSelectMultiple.className = CLASSNAME;\nSelectMultiple.defaultProps = DEFAULT_PROPS;\n"],"names":["useListenFocus","ref","useState","isFocus","setFocus","useEffect","element","current","undefined","onFocus","onBlur","addEventListener","removeEventListener","SelectVariant","input","chip","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","theme","Theme","light","variant","WithSelectContext","SelectElement","children","className","isMultiple","closeOnClick","disabled","error","hasError","helper","id","isDisabled","isEmpty","isOpen","isRequired","isValid","label","onClear","onDropdownClose","onInfiniteScroll","onInputClick","placeholder","value","forwardedProps","selectId","useMemo","uid","anchorRef","useRef","selectRef","handleKeyboardNav","useCallback","evt","key","preventDefault","onClose","blur","mergeRefs","classNames","handleBasicClasses","hasLabel","Boolean","hasPlaceholder","hasValue","prefix","dark","Placement","BOTTOM_START","Kind","selectedValueRender","choice","stopPropagation","SelectField","clearButtonProps","hasInputClear","icon","Size","xs","mdiCheckCircle","mdiAlertCircle","xxs","mdiCloseCircle","Emphasis","low","s","mdiMenuDown","Select","forwardRef","props","lodashIsEmpty","hasUnique","displayName","defaultProps","selectedChipRender","index","onClick","event","mdiClose","SelectMultipleField","map","val","length","SelectMultiple","hasMultiple"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { CSSProperties } from 'react';
2
- import { T as ThumbnailProps } from './3bd3186e.js';
3
-
4
- declare const useFocusPointStyle: ({ image, aspectRatio, focusPoint, imgProps: { width, height } }: ThumbnailProps, element: HTMLImageElement | undefined, isLoaded: boolean) => CSSProperties;
5
-
6
- export { useFocusPointStyle as u };
@@ -1,104 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
- import { l as GenericProps, m as HasTheme, A as Alignment, k as Comp } from './eca6d4dc.js';
3
- import { a as IconProps } from './5a054691.js';
4
-
5
- interface TabProviderProps {
6
- /** Active tab index. */
7
- activeTabIndex?: number;
8
- /** Tab provider children. */
9
- children: ReactNode;
10
- /** Tab panel children should not render if the tab panel is hidden. */
11
- isLazy?: boolean;
12
- /** Activate tabs on focus. */
13
- shouldActivateOnFocus?: boolean;
14
- /** Tab change callback. */
15
- onChange?(index: number): void;
16
- }
17
- /**
18
- * This component provides a context in which tabs can be defined and linked to their tab panel.
19
- *
20
- * It does not produce any markup so you can wrap it around any React elements and then split the TabList and TabPanel
21
- * components in the react tree.
22
- *
23
- * @param props React component props.
24
- * @return React element.
25
- */
26
- declare const TabProvider: React.FC<TabProviderProps>;
27
-
28
- declare enum TabListLayout {
29
- clustered = "clustered",
30
- fixed = "fixed"
31
- }
32
- /**
33
- * Defines the props of the component.
34
- */
35
- interface TabListProps extends GenericProps, HasTheme {
36
- /** ARIA label (purpose of the set of tabs). */
37
- ['aria-label']: string;
38
- /** Tab list. */
39
- children: ReactNode;
40
- /** Layout of the tabs in the list. */
41
- layout?: TabListLayout;
42
- /** Position of the tabs in the list (requires 'clustered' layout). */
43
- position?: Alignment;
44
- }
45
- /**
46
- * TabList component.
47
- *
48
- * Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
49
- *
50
- * @param props Component props.
51
- * @param ref Component ref.
52
- * @return React element.
53
- */
54
- declare const TabList: Comp<TabListProps, HTMLDivElement>;
55
-
56
- /**
57
- * Defines the props of the component.
58
- */
59
- interface TabProps extends GenericProps {
60
- /** Children are not supported. */
61
- children?: never;
62
- /** Icon (SVG path). */
63
- icon?: IconProps['icon'];
64
- /** Native id property. */
65
- id?: string;
66
- /** Whether the tab is active or not. */
67
- isActive?: boolean;
68
- /** Whether the component is disabled or not. */
69
- isDisabled?: boolean;
70
- /** Label content. */
71
- label: string | ReactNode;
72
- }
73
- /**
74
- * Tab component.
75
- *
76
- * Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
77
- *
78
- * @param props Component props.
79
- * @param ref Component ref.
80
- * @return React element.
81
- */
82
- declare const Tab: Comp<TabProps, HTMLButtonElement>;
83
-
84
- /**
85
- * Defines the props of the component.
86
- */
87
- interface TabPanelProps extends GenericProps {
88
- /** Native id property */
89
- id?: string;
90
- /** Whether the tab is active or not. */
91
- isActive?: boolean;
92
- }
93
- /**
94
- * TabPanel component.
95
- *
96
- * Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
97
- *
98
- * @param props Component props.
99
- * @param ref Component ref.
100
- * @return React element.
101
- */
102
- declare const TabPanel: Comp<TabPanelProps, HTMLDivElement>;
103
-
104
- export { TabProviderProps as T, TabProvider as a, TabListLayout as b, TabListProps as c, TabList as d, TabProps as e, Tab as f, TabPanelProps as g, TabPanel as h };