@lumx/react 3.0.2-alpha-react-utils.2 → 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.
- package/_internal/{6340c129.js → ClickAwayProvider.js} +107 -2
- package/_internal/ClickAwayProvider.js.map +1 -0
- package/_internal/{eca6d4dc.d.ts → types.d.ts} +1 -1
- package/index.d.ts +2627 -56
- package/index.js +12438 -56
- package/index.js.map +1 -1
- package/package.json +4 -4
- package/utils/index.d.ts +1 -1
- package/utils/index.js +1 -1
- package/_internal/0062d1bc.js +0 -220
- package/_internal/0062d1bc.js.map +0 -1
- package/_internal/03e8323d.d.ts +0 -118
- package/_internal/0402f9bc.d.ts +0 -183
- package/_internal/0b370acc.js +0 -796
- package/_internal/0b370acc.js.map +0 -1
- package/_internal/0d154d73.d.ts +0 -67
- package/_internal/113e3b40.d.ts +0 -31
- package/_internal/12ab39e4.js +0 -58
- package/_internal/12ab39e4.js.map +0 -1
- package/_internal/13e759f3.js +0 -343
- package/_internal/13e759f3.js.map +0 -1
- package/_internal/158b46d5.js +0 -151
- package/_internal/158b46d5.js.map +0 -1
- package/_internal/17b74e16.d.ts +0 -31
- package/_internal/1b1530a4.d.ts +0 -43
- package/_internal/20976405.js +0 -87
- package/_internal/20976405.js.map +0 -1
- package/_internal/20b0e9a5.d.ts +0 -77
- package/_internal/26cd9c63.js +0 -118
- package/_internal/26cd9c63.js.map +0 -1
- package/_internal/27f21164.js +0 -79
- package/_internal/27f21164.js.map +0 -1
- package/_internal/288dfd0f.js +0 -13
- package/_internal/288dfd0f.js.map +0 -1
- package/_internal/28aaf23a.d.ts +0 -41
- package/_internal/2c829c0b.d.ts +0 -57
- package/_internal/2cc0aec5.js +0 -86
- package/_internal/2cc0aec5.js.map +0 -1
- package/_internal/2d0a5b28.js +0 -23
- package/_internal/2d0a5b28.js.map +0 -1
- package/_internal/2d4b5a5e.d.ts +0 -92
- package/_internal/2d770113.d.ts +0 -38
- package/_internal/2fe97f00.js +0 -291
- package/_internal/2fe97f00.js.map +0 -1
- package/_internal/31c16fa0.d.ts +0 -37
- package/_internal/329a01d3.js +0 -25
- package/_internal/329a01d3.js.map +0 -1
- package/_internal/3326e990.js +0 -168
- package/_internal/3326e990.js.map +0 -1
- package/_internal/377b2f44.js +0 -70
- package/_internal/377b2f44.js.map +0 -1
- package/_internal/3b8d2a6e.js +0 -124
- package/_internal/3b8d2a6e.js.map +0 -1
- package/_internal/3bd3186e.d.ts +0 -57
- package/_internal/48e40868.js +0 -101
- package/_internal/48e40868.js.map +0 -1
- package/_internal/490ec1da.js +0 -322
- package/_internal/490ec1da.js.map +0 -1
- package/_internal/49127d69.d.ts +0 -52
- package/_internal/4dcd87cb.js +0 -78
- package/_internal/4dcd87cb.js.map +0 -1
- package/_internal/4f44d848.js +0 -157
- package/_internal/4f44d848.js.map +0 -1
- package/_internal/4fc64a2e.js +0 -27
- package/_internal/4fc64a2e.js.map +0 -1
- package/_internal/53a831be.js +0 -108
- package/_internal/53a831be.js.map +0 -1
- package/_internal/55271fa1.d.ts +0 -34
- package/_internal/55d30377.d.ts +0 -22
- package/_internal/56385b04.js +0 -116
- package/_internal/56385b04.js.map +0 -1
- package/_internal/599e250a.d.ts +0 -88
- package/_internal/5a054691.d.ts +0 -33
- package/_internal/5a127b58.js +0 -82
- package/_internal/5a127b58.js.map +0 -1
- package/_internal/5a1c0db4.js +0 -156
- package/_internal/5a1c0db4.js.map +0 -1
- package/_internal/5babcc39.js +0 -147
- package/_internal/5babcc39.js.map +0 -1
- package/_internal/5c1bf4d4.d.ts +0 -81
- package/_internal/5d8ed4ee.js +0 -113
- package/_internal/5d8ed4ee.js.map +0 -1
- package/_internal/616f2912.js +0 -301
- package/_internal/616f2912.js.map +0 -1
- package/_internal/61f915de.d.ts +0 -49
- package/_internal/620081fa.js +0 -122
- package/_internal/620081fa.js.map +0 -1
- package/_internal/6340c129.js.map +0 -1
- package/_internal/6581c863.d.ts +0 -34
- package/_internal/66de4d45.d.ts +0 -32
- package/_internal/6735c5c8.d.ts +0 -62
- package/_internal/69dd1472.js +0 -112
- package/_internal/69dd1472.js.map +0 -1
- package/_internal/6a0e1c77.js +0 -327
- package/_internal/6a0e1c77.js.map +0 -1
- package/_internal/701c20b0.d.ts +0 -24
- package/_internal/7391188a.js +0 -81
- package/_internal/7391188a.js.map +0 -1
- package/_internal/74cb6c26.js +0 -136
- package/_internal/74cb6c26.js.map +0 -1
- package/_internal/761031bf.js +0 -314
- package/_internal/761031bf.js.map +0 -1
- package/_internal/76fed69d.js +0 -50
- package/_internal/76fed69d.js.map +0 -1
- package/_internal/78ef8e34.js +0 -40
- package/_internal/78ef8e34.js.map +0 -1
- package/_internal/7b906e16.d.ts +0 -17
- package/_internal/7be11ddc.d.ts +0 -35
- package/_internal/7d39705e.d.ts +0 -20
- package/_internal/7e03266f.js +0 -47
- package/_internal/7e03266f.js.map +0 -1
- package/_internal/7e8d0ac5.js +0 -84
- package/_internal/7e8d0ac5.js.map +0 -1
- package/_internal/7ffa45f6.js +0 -48
- package/_internal/7ffa45f6.js.map +0 -1
- package/_internal/84c1ec44.js +0 -257
- package/_internal/84c1ec44.js.map +0 -1
- package/_internal/8518279f.js +0 -96
- package/_internal/8518279f.js.map +0 -1
- package/_internal/853713cd.js +0 -25
- package/_internal/853713cd.js.map +0 -1
- package/_internal/86566d75.d.ts +0 -27
- package/_internal/86d22dde.d.ts +0 -57
- package/_internal/8e755ded.d.ts +0 -101
- package/_internal/901471f5.d.ts +0 -37
- package/_internal/935ce959.d.ts +0 -49
- package/_internal/97089888.d.ts +0 -16
- package/_internal/97cc728c.d.ts +0 -26
- package/_internal/9ab3c637.js +0 -2474
- package/_internal/9ab3c637.js.map +0 -1
- package/_internal/9ca3f59c.js +0 -60
- package/_internal/9ca3f59c.js.map +0 -1
- package/_internal/9e95ea38.d.ts +0 -43
- package/_internal/a0108f92.js +0 -84
- package/_internal/a0108f92.js.map +0 -1
- package/_internal/a493a193.d.ts +0 -65
- package/_internal/a521723d.js +0 -120
- package/_internal/a521723d.js.map +0 -1
- package/_internal/a6fad025.d.ts +0 -107
- package/_internal/a8fa525f.js +0 -124
- package/_internal/a8fa525f.js.map +0 -1
- package/_internal/aca2ecf5.js +0 -141
- package/_internal/aca2ecf5.js.map +0 -1
- package/_internal/aef2ef1c.js +0 -53
- package/_internal/aef2ef1c.js.map +0 -1
- package/_internal/af048b0c.js +0 -89
- package/_internal/af048b0c.js.map +0 -1
- package/_internal/af2cd0cd.d.ts +0 -17
- package/_internal/afec6b62.js +0 -864
- package/_internal/afec6b62.js.map +0 -1
- package/_internal/b0eb3a30.js +0 -72
- package/_internal/b0eb3a30.js.map +0 -1
- package/_internal/b89517ea.js +0 -275
- package/_internal/b89517ea.js.map +0 -1
- package/_internal/bafa6fcc.js +0 -116
- package/_internal/bafa6fcc.js.map +0 -1
- package/_internal/bbbeb49e.js +0 -47
- package/_internal/bbbeb49e.js.map +0 -1
- package/_internal/c11f6162.d.ts +0 -52
- package/_internal/c723dab4.js +0 -133
- package/_internal/c723dab4.js.map +0 -1
- package/_internal/c87cc857.d.ts +0 -42
- package/_internal/c97f8d04.js +0 -424
- package/_internal/c97f8d04.js.map +0 -1
- package/_internal/cbb373ea.d.ts +0 -6
- package/_internal/cbef23b6.d.ts +0 -104
- package/_internal/cdf77f06.d.ts +0 -88
- package/_internal/d350f2ff.js +0 -105
- package/_internal/d350f2ff.js.map +0 -1
- package/_internal/d71a8cf7.js +0 -54
- package/_internal/d71a8cf7.js.map +0 -1
- package/_internal/d9337952.js +0 -96
- package/_internal/d9337952.js.map +0 -1
- package/_internal/def14e1a.d.ts +0 -24
- package/_internal/e0cd29c7.d.ts +0 -35
- package/_internal/e354228f.js +0 -145
- package/_internal/e354228f.js.map +0 -1
- package/_internal/e3922a05.d.ts +0 -22
- package/_internal/e3cb6177.d.ts +0 -75
- package/_internal/e810c841.d.ts +0 -182
- package/_internal/ea700b01.d.ts +0 -43
- package/_internal/eed07003.js +0 -122
- package/_internal/eed07003.js.map +0 -1
- package/_internal/f1c9b334.d.ts +0 -22
- package/_internal/f3c3a674.js +0 -281
- package/_internal/f3c3a674.js.map +0 -1
- package/_internal/f571cdcd.js +0 -132
- package/_internal/f571cdcd.js.map +0 -1
- package/_internal/f5bdff7e.js +0 -282
- package/_internal/f5bdff7e.js.map +0 -1
- package/_internal/f851fc00.d.ts +0 -34
- package/_internal/f859b007.d.ts +0 -49
- package/_internal/fb384b79.d.ts +0 -38
- package/_internal/fc4c034b.js +0 -63
- package/_internal/fc4c034b.js.map +0 -1
- package/_internal/fc608bd9.js +0 -16
- package/_internal/fc608bd9.js.map +0 -1
- package/_internal/fd1f4d68.d.ts +0 -36
- package/_internal/fd867c9d.js +0 -346
- package/_internal/fd867c9d.js.map +0 -1
- package/_internal/ff8081e5.js +0 -57
- package/_internal/ff8081e5.js.map +0 -1
- package/_internal/ffd1bfe3.js +0 -123
- package/_internal/ffd1bfe3.js.map +0 -1
- package/components/alert-dialog.d.ts +0 -6
- package/components/alert-dialog.js +0 -2
- package/components/alert-dialog.js.map +0 -1
- package/components/autocomplete.d.ts +0 -8
- package/components/autocomplete.js +0 -2
- package/components/autocomplete.js.map +0 -1
- package/components/avatar.d.ts +0 -4
- package/components/avatar.js +0 -2
- package/components/avatar.js.map +0 -1
- package/components/badge.d.ts +0 -3
- package/components/badge.js +0 -2
- package/components/badge.js.map +0 -1
- package/components/button.d.ts +0 -8
- package/components/button.js +0 -4
- package/components/button.js.map +0 -1
- package/components/checkbox.d.ts +0 -3
- package/components/checkbox.js +0 -2
- package/components/checkbox.js.map +0 -1
- package/components/chip.d.ts +0 -3
- package/components/chip.js +0 -3
- package/components/chip.js.map +0 -1
- package/components/comment-block.d.ts +0 -5
- package/components/comment-block.js +0 -2
- package/components/comment-block.js.map +0 -1
- package/components/date-picker.d.ts +0 -7
- package/components/date-picker.js +0 -2
- package/components/date-picker.js.map +0 -1
- package/components/dialog.d.ts +0 -3
- package/components/dialog.js +0 -2
- package/components/dialog.js.map +0 -1
- package/components/divider.d.ts +0 -3
- package/components/divider.js +0 -2
- package/components/divider.js.map +0 -1
- package/components/drag-handle.d.ts +0 -3
- package/components/drag-handle.js +0 -2
- package/components/drag-handle.js.map +0 -1
- package/components/dropdown.d.ts +0 -4
- package/components/dropdown.js +0 -2
- package/components/dropdown.js.map +0 -1
- package/components/expansion-panel.d.ts +0 -7
- package/components/expansion-panel.js +0 -2
- package/components/expansion-panel.js.map +0 -1
- package/components/flag.d.ts +0 -3
- package/components/flag.js +0 -2
- package/components/flag.js.map +0 -1
- package/components/flex-box.d.ts +0 -3
- package/components/flex-box.js +0 -2
- package/components/flex-box.js.map +0 -1
- package/components/generic-block.d.ts +0 -4
- package/components/generic-block.js +0 -2
- package/components/generic-block.js.map +0 -1
- package/components/grid.d.ts +0 -3
- package/components/grid.js +0 -2
- package/components/grid.js.map +0 -1
- package/components/heading.d.ts +0 -4
- package/components/heading.js +0 -2
- package/components/heading.js.map +0 -1
- package/components/icon.d.ts +0 -3
- package/components/icon.js +0 -2
- package/components/icon.js.map +0 -1
- package/components/image-block.d.ts +0 -4
- package/components/image-block.js +0 -2
- package/components/image-block.js.map +0 -1
- package/components/input-helper.d.ts +0 -3
- package/components/input-helper.js +0 -2
- package/components/input-helper.js.map +0 -1
- package/components/input-label.d.ts +0 -3
- package/components/input-label.js +0 -2
- package/components/input-label.js.map +0 -1
- package/components/lightbox.d.ts +0 -7
- package/components/lightbox.js +0 -2
- package/components/lightbox.js.map +0 -1
- package/components/link-preview.d.ts +0 -5
- package/components/link-preview.js +0 -2
- package/components/link-preview.js.map +0 -1
- package/components/link.d.ts +0 -3
- package/components/link.js +0 -2
- package/components/link.js.map +0 -1
- package/components/list.d.ts +0 -3
- package/components/list.js +0 -3
- package/components/list.js.map +0 -1
- package/components/message.d.ts +0 -3
- package/components/message.js +0 -2
- package/components/message.js.map +0 -1
- package/components/mosaic.d.ts +0 -4
- package/components/mosaic.js +0 -2
- package/components/mosaic.js.map +0 -1
- package/components/notification.d.ts +0 -3
- package/components/notification.js +0 -2
- package/components/notification.js.map +0 -1
- package/components/popover.d.ts +0 -3
- package/components/popover.js +0 -2
- package/components/popover.js.map +0 -1
- package/components/post-block.d.ts +0 -4
- package/components/post-block.js +0 -2
- package/components/post-block.js.map +0 -1
- package/components/progress-tracker.d.ts +0 -3
- package/components/progress-tracker.js +0 -2
- package/components/progress-tracker.js.map +0 -1
- package/components/progress.d.ts +0 -3
- package/components/progress.js +0 -2
- package/components/progress.js.map +0 -1
- package/components/radio-button.d.ts +0 -3
- package/components/radio-button.js +0 -2
- package/components/radio-button.js.map +0 -1
- package/components/select.d.ts +0 -7
- package/components/select.js +0 -2
- package/components/select.js.map +0 -1
- package/components/side-navigation.d.ts +0 -7
- package/components/side-navigation.js +0 -2
- package/components/side-navigation.js.map +0 -1
- package/components/skeleton.d.ts +0 -3
- package/components/skeleton.js +0 -2
- package/components/skeleton.js.map +0 -1
- package/components/slider.d.ts +0 -3
- package/components/slider.js +0 -2
- package/components/slider.js.map +0 -1
- package/components/slideshow.d.ts +0 -7
- package/components/slideshow.js +0 -2
- package/components/slideshow.js.map +0 -1
- package/components/switch.d.ts +0 -3
- package/components/switch.js +0 -2
- package/components/switch.js.map +0 -1
- package/components/table.d.ts +0 -3
- package/components/table.js +0 -2
- package/components/table.js.map +0 -1
- package/components/tabs.d.ts +0 -4
- package/components/tabs.js +0 -2
- package/components/tabs.js.map +0 -1
- package/components/text-field.d.ts +0 -7
- package/components/text-field.js +0 -2
- package/components/text-field.js.map +0 -1
- package/components/text.d.ts +0 -3
- package/components/text.js +0 -2
- package/components/text.js.map +0 -1
- package/components/thumbnail.d.ts +0 -4
- package/components/thumbnail.js +0 -3
- package/components/thumbnail.js.map +0 -1
- package/components/toolbar.d.ts +0 -3
- package/components/toolbar.js +0 -2
- package/components/toolbar.js.map +0 -1
- package/components/tooltip.d.ts +0 -4
- package/components/tooltip.js +0 -2
- package/components/tooltip.js.map +0 -1
- package/components/uploader.d.ts +0 -3
- package/components/uploader.js +0 -2
- package/components/uploader.js.map +0 -1
- package/components/user-block.d.ts +0 -5
- package/components/user-block.js +0 -2
- package/components/user-block.js.map +0 -1
- package/components.d.ts +0 -2
- package/components.js +0 -156
- package/components.js.map +0 -1
package/_internal/c97f8d04.js
DELETED
|
@@ -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> +{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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"}
|
package/_internal/cbb373ea.d.ts
DELETED
|
@@ -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 };
|
package/_internal/cbef23b6.d.ts
DELETED
|
@@ -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 };
|