@lumx/react 4.3.2-alpha.24 → 4.3.2-alpha.25
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/DpdvhbTO.js +159 -0
- package/_internal/DpdvhbTO.js.map +1 -0
- package/index.d.ts +676 -193
- package/index.js +113 -485
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/utils/index.d.ts +2 -189
- package/utils/index.js +1218 -364
- package/utils/index.js.map +1 -1
- package/Tooltip-2RZbmkfM.d.ts +0 -915
- package/_internal/BQFZG9jO.js +0 -1768
- package/_internal/BQFZG9jO.js.map +0 -1
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Kind as Kind$1, Size as Size$1, ColorPalette as ColorPalette$1, Emphasis as Emphasis$1, Theme as Theme$1, AspectRatio as AspectRatio$1, ColorVariant,
|
|
1
|
+
import { Kind as Kind$1, Size as Size$1, ColorPalette as ColorPalette$1, Emphasis as Emphasis$1, Theme as Theme$1, AspectRatio as AspectRatio$1, ColorVariant, DIALOG_TRANSITION_DURATION, Orientation as Orientation$1, Alignment, NOTIFICATION_TRANSITION_DURATION, TOOLTIP_LONG_PRESS_DELAY, TOOLTIP_HOVER_DELAY } from '@lumx/core/js/constants';
|
|
2
2
|
export * from '@lumx/core/js/constants';
|
|
3
3
|
export * from '@lumx/core/js/types';
|
|
4
4
|
import * as React from 'react';
|
|
@@ -16,7 +16,7 @@ import concat from 'lodash/concat.js';
|
|
|
16
16
|
import dropRight from 'lodash/dropRight.js';
|
|
17
17
|
import partition from 'lodash/partition.js';
|
|
18
18
|
import reduce from 'lodash/reduce.js';
|
|
19
|
-
import { u as useDisabledStateContext,
|
|
19
|
+
import { u as useDisabledStateContext, P as Portal, C as ClickAwayProvider } from './_internal/DpdvhbTO.js';
|
|
20
20
|
import isEmpty from 'lodash/isEmpty.js';
|
|
21
21
|
import { getDisabledState } from '@lumx/core/js/utils/disabledState';
|
|
22
22
|
import { mdiCloseCircle } from '@lumx/icons/esm/close-circle.js';
|
|
@@ -24,16 +24,15 @@ import memoize from 'lodash/memoize.js';
|
|
|
24
24
|
import { mdiClose } from '@lumx/icons/esm/close.js';
|
|
25
25
|
import isFunction from 'lodash/isFunction.js';
|
|
26
26
|
import { mdiImageBroken } from '@lumx/icons/esm/image-broken.js';
|
|
27
|
-
import noop from 'lodash/noop.js';
|
|
28
|
-
import castArray from 'lodash/castArray.js';
|
|
29
27
|
import { mdiCheck } from '@lumx/icons/esm/check.js';
|
|
30
28
|
import { mdiMinus } from '@lumx/icons/esm/minus.js';
|
|
31
|
-
import { mdiInformationOutline } from '@lumx/icons/esm/information-outline.js';
|
|
32
29
|
import { mdiChevronLeft } from '@lumx/icons/esm/chevron-left.js';
|
|
33
30
|
import { mdiChevronRight } from '@lumx/icons/esm/chevron-right.js';
|
|
31
|
+
import castArray from 'lodash/castArray.js';
|
|
34
32
|
import { mdiDragVertical } from '@lumx/icons/esm/drag-vertical.js';
|
|
35
33
|
import { mdiChevronDown } from '@lumx/icons/esm/chevron-down.js';
|
|
36
34
|
import { mdiChevronUp } from '@lumx/icons/esm/chevron-up.js';
|
|
35
|
+
import noop from 'lodash/noop.js';
|
|
37
36
|
import pick from 'lodash/pick.js';
|
|
38
37
|
import isInteger from 'lodash/isInteger.js';
|
|
39
38
|
import { mdiMagnifyMinusOutline } from '@lumx/icons/esm/magnify-minus-outline.js';
|
|
@@ -102,10 +101,10 @@ const COMPONENT_NAME$1k = 'AlertDialog';
|
|
|
102
101
|
/**
|
|
103
102
|
* Component default class name and class prefix.
|
|
104
103
|
*/
|
|
105
|
-
const CLASSNAME$
|
|
104
|
+
const CLASSNAME$1j = 'lumx-alert-dialog';
|
|
106
105
|
const {
|
|
107
|
-
block: block$
|
|
108
|
-
} = classNames.bem(CLASSNAME$
|
|
106
|
+
block: block$14
|
|
107
|
+
} = classNames.bem(CLASSNAME$1j);
|
|
109
108
|
|
|
110
109
|
/**
|
|
111
110
|
* Component default props.
|
|
@@ -173,7 +172,7 @@ const AlertDialog = forwardRef((props, ref) => {
|
|
|
173
172
|
'aria-describedby': descriptionId,
|
|
174
173
|
...dialogProps
|
|
175
174
|
},
|
|
176
|
-
className: classNames.join(className, block$
|
|
175
|
+
className: classNames.join(className, block$14({
|
|
177
176
|
[`kind-${kind}`]: Boolean(kind)
|
|
178
177
|
})),
|
|
179
178
|
...forwardedProps,
|
|
@@ -219,7 +218,7 @@ const AlertDialog = forwardRef((props, ref) => {
|
|
|
219
218
|
});
|
|
220
219
|
});
|
|
221
220
|
AlertDialog.displayName = COMPONENT_NAME$1k;
|
|
222
|
-
AlertDialog.className = CLASSNAME$
|
|
221
|
+
AlertDialog.className = CLASSNAME$1j;
|
|
223
222
|
AlertDialog.defaultProps = DEFAULT_PROPS$1b;
|
|
224
223
|
|
|
225
224
|
/**
|
|
@@ -317,7 +316,7 @@ const COMPONENT_NAME$1j = 'Autocomplete';
|
|
|
317
316
|
/**
|
|
318
317
|
* Component default class name and class prefix.
|
|
319
318
|
*/
|
|
320
|
-
const CLASSNAME$
|
|
319
|
+
const CLASSNAME$1i = 'lumx-autocomplete';
|
|
321
320
|
|
|
322
321
|
/**
|
|
323
322
|
* Component default props.
|
|
@@ -384,7 +383,7 @@ const Autocomplete = forwardRef((props, ref) => {
|
|
|
384
383
|
return /*#__PURE__*/jsxs("div", {
|
|
385
384
|
ref: ref,
|
|
386
385
|
...forwardedProps,
|
|
387
|
-
className: classNames.join(className, CLASSNAME$
|
|
386
|
+
className: classNames.join(className, CLASSNAME$1i),
|
|
388
387
|
children: [/*#__PURE__*/jsx(TextField, {
|
|
389
388
|
...textFieldProps,
|
|
390
389
|
chips: chips,
|
|
@@ -425,7 +424,7 @@ const Autocomplete = forwardRef((props, ref) => {
|
|
|
425
424
|
});
|
|
426
425
|
});
|
|
427
426
|
Autocomplete.displayName = COMPONENT_NAME$1j;
|
|
428
|
-
Autocomplete.className = CLASSNAME$
|
|
427
|
+
Autocomplete.className = CLASSNAME$1i;
|
|
429
428
|
Autocomplete.defaultProps = DEFAULT_PROPS$1a;
|
|
430
429
|
|
|
431
430
|
/**
|
|
@@ -436,7 +435,7 @@ const COMPONENT_NAME$1i = 'AutocompleteMultiple';
|
|
|
436
435
|
/**
|
|
437
436
|
* Component default class name and class prefix.
|
|
438
437
|
*/
|
|
439
|
-
const CLASSNAME$
|
|
438
|
+
const CLASSNAME$1h = 'lumx-autocomplete-multiple';
|
|
440
439
|
|
|
441
440
|
/**
|
|
442
441
|
* Component default props.
|
|
@@ -516,7 +515,7 @@ const AutocompleteMultiple = forwardRef((props, ref) => {
|
|
|
516
515
|
ref: ref,
|
|
517
516
|
...forwardedProps,
|
|
518
517
|
anchorToInput: anchorToInput,
|
|
519
|
-
className: classNames.join(className, CLASSNAME$
|
|
518
|
+
className: classNames.join(className, CLASSNAME$1h),
|
|
520
519
|
name: name,
|
|
521
520
|
value: value,
|
|
522
521
|
onChange: onChange,
|
|
@@ -550,7 +549,7 @@ const AutocompleteMultiple = forwardRef((props, ref) => {
|
|
|
550
549
|
});
|
|
551
550
|
});
|
|
552
551
|
AutocompleteMultiple.displayName = COMPONENT_NAME$1i;
|
|
553
|
-
AutocompleteMultiple.className = CLASSNAME$
|
|
552
|
+
AutocompleteMultiple.className = CLASSNAME$1h;
|
|
554
553
|
AutocompleteMultiple.defaultProps = DEFAULT_PROPS$19;
|
|
555
554
|
|
|
556
555
|
/**
|
|
@@ -561,11 +560,11 @@ const COMPONENT_NAME$1h = 'Avatar';
|
|
|
561
560
|
/**
|
|
562
561
|
* Component default class name and class prefix.
|
|
563
562
|
*/
|
|
564
|
-
const CLASSNAME$
|
|
563
|
+
const CLASSNAME$1g = 'lumx-avatar';
|
|
565
564
|
const {
|
|
566
|
-
block: block$
|
|
567
|
-
element: element$
|
|
568
|
-
} = classNames.bem(CLASSNAME$
|
|
565
|
+
block: block$13,
|
|
566
|
+
element: element$N
|
|
567
|
+
} = classNames.bem(CLASSNAME$1g);
|
|
569
568
|
|
|
570
569
|
/**
|
|
571
570
|
* Component default props.
|
|
@@ -601,14 +600,14 @@ const Avatar = forwardRef((props, ref) => {
|
|
|
601
600
|
return /*#__PURE__*/jsxs("div", {
|
|
602
601
|
ref: ref,
|
|
603
602
|
...forwardedProps,
|
|
604
|
-
className: classNames.join(className, block$
|
|
603
|
+
className: classNames.join(className, block$13({
|
|
605
604
|
[`size-${size}`]: Boolean(size),
|
|
606
605
|
[`theme-${theme}`]: Boolean(theme)
|
|
607
606
|
})),
|
|
608
607
|
children: [/*#__PURE__*/jsx(Thumbnail, {
|
|
609
608
|
linkProps: linkProps,
|
|
610
609
|
linkAs: linkAs,
|
|
611
|
-
className: element$
|
|
610
|
+
className: element$N('thumbnail'),
|
|
612
611
|
onClick: onClick,
|
|
613
612
|
onKeyPress: onKeyPress,
|
|
614
613
|
...thumbnailProps,
|
|
@@ -618,16 +617,16 @@ const Avatar = forwardRef((props, ref) => {
|
|
|
618
617
|
alt: alt,
|
|
619
618
|
theme: theme
|
|
620
619
|
}), actions && /*#__PURE__*/jsx("div", {
|
|
621
|
-
className: element$
|
|
620
|
+
className: element$N('actions'),
|
|
622
621
|
children: actions
|
|
623
622
|
}), badge && /*#__PURE__*/jsx("div", {
|
|
624
|
-
className: element$
|
|
623
|
+
className: element$N('badge'),
|
|
625
624
|
children: badge
|
|
626
625
|
})]
|
|
627
626
|
});
|
|
628
627
|
});
|
|
629
628
|
Avatar.displayName = COMPONENT_NAME$1h;
|
|
630
|
-
Avatar.className = CLASSNAME$
|
|
629
|
+
Avatar.className = CLASSNAME$1g;
|
|
631
630
|
Avatar.defaultProps = DEFAULT_PROPS$18;
|
|
632
631
|
|
|
633
632
|
/**
|
|
@@ -856,7 +855,7 @@ function modifier$1(baseName, modifiers) {
|
|
|
856
855
|
* block('button', { active: true, disabled: false }); // 'button button--active'
|
|
857
856
|
*/
|
|
858
857
|
|
|
859
|
-
function block$
|
|
858
|
+
function block$12(baseName, modifiersOrAdditionalClasses, additionalClasses) {
|
|
860
859
|
let modifiers;
|
|
861
860
|
let classes;
|
|
862
861
|
if (Array.isArray(modifiersOrAdditionalClasses)) {
|
|
@@ -891,11 +890,11 @@ function block$15(baseName, modifiersOrAdditionalClasses, additionalClasses) {
|
|
|
891
890
|
* element('my-button', 'icon', { active: true }); // 'my-button__icon my-button__icon--active'
|
|
892
891
|
*/
|
|
893
892
|
|
|
894
|
-
function element$
|
|
893
|
+
function element$M(baseClass, elem, modifiersOrAdditionalClasses, additionalClasses) {
|
|
895
894
|
if (Array.isArray(modifiersOrAdditionalClasses)) {
|
|
896
|
-
return block$
|
|
895
|
+
return block$12(`${baseClass}__${elem}`, modifiersOrAdditionalClasses);
|
|
897
896
|
}
|
|
898
|
-
return block$
|
|
897
|
+
return block$12(`${baseClass}__${elem}`, modifiersOrAdditionalClasses, additionalClasses);
|
|
899
898
|
}
|
|
900
899
|
|
|
901
900
|
/**
|
|
@@ -904,15 +903,15 @@ function element$P(baseClass, elem, modifiersOrAdditionalClasses, additionalClas
|
|
|
904
903
|
function bem(baseName) {
|
|
905
904
|
function blockFn(modifiersOrAdditionalClasses, additionalClasses) {
|
|
906
905
|
if (Array.isArray(modifiersOrAdditionalClasses)) {
|
|
907
|
-
return block$
|
|
906
|
+
return block$12(baseName, modifiersOrAdditionalClasses);
|
|
908
907
|
}
|
|
909
|
-
return block$
|
|
908
|
+
return block$12(baseName, modifiersOrAdditionalClasses, additionalClasses);
|
|
910
909
|
}
|
|
911
910
|
function elementFn(elem, modifiersOrAdditionalClasses, additionalClasses) {
|
|
912
911
|
if (Array.isArray(modifiersOrAdditionalClasses)) {
|
|
913
|
-
return element$
|
|
912
|
+
return element$M(baseName, elem, modifiersOrAdditionalClasses);
|
|
914
913
|
}
|
|
915
|
-
return element$
|
|
914
|
+
return element$M(baseName, elem, modifiersOrAdditionalClasses, additionalClasses);
|
|
916
915
|
}
|
|
917
916
|
return {
|
|
918
917
|
block: blockFn,
|
|
@@ -929,10 +928,10 @@ const COMPONENT_NAME$1g = 'Badge';
|
|
|
929
928
|
/**
|
|
930
929
|
* Component default class name and class prefix.
|
|
931
930
|
*/
|
|
932
|
-
const CLASSNAME$
|
|
931
|
+
const CLASSNAME$1f = 'lumx-badge';
|
|
933
932
|
const {
|
|
934
|
-
block: block$
|
|
935
|
-
} = bem(CLASSNAME$
|
|
933
|
+
block: block$11
|
|
934
|
+
} = bem(CLASSNAME$1f);
|
|
936
935
|
|
|
937
936
|
/**
|
|
938
937
|
* Component default props.
|
|
@@ -958,14 +957,14 @@ const Badge$1 = props => {
|
|
|
958
957
|
return /*#__PURE__*/jsx("div", {
|
|
959
958
|
ref: ref,
|
|
960
959
|
...forwardedProps,
|
|
961
|
-
className: classnames(className, block$
|
|
960
|
+
className: classnames(className, block$11({
|
|
962
961
|
[`color-${color}`]: Boolean(color)
|
|
963
962
|
})),
|
|
964
963
|
children: children
|
|
965
964
|
});
|
|
966
965
|
};
|
|
967
966
|
Badge$1.displayName = COMPONENT_NAME$1g;
|
|
968
|
-
Badge$1.className = CLASSNAME$
|
|
967
|
+
Badge$1.className = CLASSNAME$1f;
|
|
969
968
|
Badge$1.defaultProps = DEFAULT_PROPS$17;
|
|
970
969
|
|
|
971
970
|
/**
|
|
@@ -990,11 +989,11 @@ Badge.className = Badge$1.className;
|
|
|
990
989
|
Badge.defaultProps = Badge$1.defaultProps;
|
|
991
990
|
|
|
992
991
|
const COMPONENT_NAME$1f = 'BadgeWrapper';
|
|
993
|
-
const CLASSNAME$
|
|
992
|
+
const CLASSNAME$1e = 'lumx-badge-wrapper';
|
|
994
993
|
const {
|
|
995
|
-
block: block$
|
|
996
|
-
element: element$
|
|
997
|
-
} = bem(CLASSNAME$
|
|
994
|
+
block: block$10,
|
|
995
|
+
element: element$L
|
|
996
|
+
} = bem(CLASSNAME$1e);
|
|
998
997
|
const BadgeWrapper$1 = props => {
|
|
999
998
|
const {
|
|
1000
999
|
badge,
|
|
@@ -1006,9 +1005,9 @@ const BadgeWrapper$1 = props => {
|
|
|
1006
1005
|
return /*#__PURE__*/jsxs("div", {
|
|
1007
1006
|
ref: ref,
|
|
1008
1007
|
...forwardedProps,
|
|
1009
|
-
className: classnames(className, block$
|
|
1008
|
+
className: classnames(className, block$10()),
|
|
1010
1009
|
children: [children, badge && /*#__PURE__*/jsx("div", {
|
|
1011
|
-
className: element$
|
|
1010
|
+
className: element$L('badge'),
|
|
1012
1011
|
children: badge
|
|
1013
1012
|
})]
|
|
1014
1013
|
});
|
|
@@ -1021,7 +1020,7 @@ const BadgeWrapper = forwardRef((props, ref) => {
|
|
|
1021
1020
|
});
|
|
1022
1021
|
});
|
|
1023
1022
|
BadgeWrapper.displayName = COMPONENT_NAME$1f;
|
|
1024
|
-
BadgeWrapper.className = CLASSNAME$
|
|
1023
|
+
BadgeWrapper.className = CLASSNAME$1e;
|
|
1025
1024
|
|
|
1026
1025
|
/**
|
|
1027
1026
|
* Render clickable element (link, button or custom element)
|
|
@@ -1182,10 +1181,10 @@ const COMPONENT_NAME$1d = 'Button';
|
|
|
1182
1181
|
/**
|
|
1183
1182
|
* Component default class name and class prefix.
|
|
1184
1183
|
*/
|
|
1185
|
-
const CLASSNAME$
|
|
1184
|
+
const CLASSNAME$1d = 'lumx-button';
|
|
1186
1185
|
const {
|
|
1187
1186
|
modifier
|
|
1188
|
-
} = bem(CLASSNAME$
|
|
1187
|
+
} = bem(CLASSNAME$1d);
|
|
1189
1188
|
|
|
1190
1189
|
/**
|
|
1191
1190
|
* Component default props.
|
|
@@ -1223,7 +1222,7 @@ const Button$1 = props => {
|
|
|
1223
1222
|
});
|
|
1224
1223
|
};
|
|
1225
1224
|
Button$1.displayName = COMPONENT_NAME$1d;
|
|
1226
|
-
Button$1.className = CLASSNAME$
|
|
1225
|
+
Button$1.className = CLASSNAME$1d;
|
|
1227
1226
|
Button$1.defaultProps = DEFAULT_PROPS$16;
|
|
1228
1227
|
|
|
1229
1228
|
/**
|
|
@@ -1291,7 +1290,7 @@ const Button = forwardRef((props, ref) => {
|
|
|
1291
1290
|
});
|
|
1292
1291
|
});
|
|
1293
1292
|
Button.displayName = COMPONENT_NAME$1d;
|
|
1294
|
-
Button.className = CLASSNAME$
|
|
1293
|
+
Button.className = CLASSNAME$1d;
|
|
1295
1294
|
Button.defaultProps = DEFAULT_PROPS$16;
|
|
1296
1295
|
|
|
1297
1296
|
const COMPONENT_NAME$1c = 'Icon';
|
|
@@ -1301,10 +1300,10 @@ const IconClassName = 'lumx-icon';
|
|
|
1301
1300
|
* Defines the props of the component.
|
|
1302
1301
|
*/
|
|
1303
1302
|
|
|
1304
|
-
const CLASSNAME$
|
|
1303
|
+
const CLASSNAME$1c = IconClassName;
|
|
1305
1304
|
const {
|
|
1306
|
-
block: block
|
|
1307
|
-
} = bem(CLASSNAME$
|
|
1305
|
+
block: block$$
|
|
1306
|
+
} = bem(CLASSNAME$1c);
|
|
1308
1307
|
|
|
1309
1308
|
/**
|
|
1310
1309
|
* Component default props.
|
|
@@ -1358,7 +1357,7 @@ const Icon$1 = props => {
|
|
|
1358
1357
|
return /*#__PURE__*/jsx("i", {
|
|
1359
1358
|
ref: ref,
|
|
1360
1359
|
...forwardedProps,
|
|
1361
|
-
className: classnames(className, block
|
|
1360
|
+
className: classnames(className, block$$({
|
|
1362
1361
|
[`color-${iconColor}`]: Boolean(iconColor),
|
|
1363
1362
|
[`color-variant-${iconColorVariant}`]: Boolean(iconColorVariant),
|
|
1364
1363
|
'has-shape': hasShape,
|
|
@@ -1388,7 +1387,7 @@ const Icon$1 = props => {
|
|
|
1388
1387
|
});
|
|
1389
1388
|
};
|
|
1390
1389
|
Icon$1.displayName = COMPONENT_NAME$1c;
|
|
1391
|
-
Icon$1.className = CLASSNAME$
|
|
1390
|
+
Icon$1.className = CLASSNAME$1c;
|
|
1392
1391
|
Icon$1.defaultProps = DEFAULT_PROPS$15;
|
|
1393
1392
|
|
|
1394
1393
|
/**
|
|
@@ -1399,7 +1398,7 @@ const COMPONENT_NAME$1b = 'IconButton';
|
|
|
1399
1398
|
/**
|
|
1400
1399
|
* Component default class name and class prefix.
|
|
1401
1400
|
*/
|
|
1402
|
-
const CLASSNAME$
|
|
1401
|
+
const CLASSNAME$1b = 'lumx-icon-button';
|
|
1403
1402
|
|
|
1404
1403
|
/**
|
|
1405
1404
|
* Component default props.
|
|
@@ -1441,7 +1440,7 @@ const IconButton$1 = props => {
|
|
|
1441
1440
|
});
|
|
1442
1441
|
};
|
|
1443
1442
|
IconButton$1.displayName = COMPONENT_NAME$1b;
|
|
1444
|
-
IconButton$1.className = CLASSNAME$
|
|
1443
|
+
IconButton$1.className = CLASSNAME$1b;
|
|
1445
1444
|
IconButton$1.defaultProps = DEFAULT_PROPS$14;
|
|
1446
1445
|
|
|
1447
1446
|
/**
|
|
@@ -1478,7 +1477,7 @@ const IconButton = forwardRef((props, ref) => {
|
|
|
1478
1477
|
});
|
|
1479
1478
|
});
|
|
1480
1479
|
IconButton.displayName = COMPONENT_NAME$1b;
|
|
1481
|
-
IconButton.className = CLASSNAME$
|
|
1480
|
+
IconButton.className = CLASSNAME$1b;
|
|
1482
1481
|
IconButton.defaultProps = DEFAULT_PROPS$14;
|
|
1483
1482
|
|
|
1484
1483
|
/**
|
|
@@ -1489,7 +1488,7 @@ const COMPONENT_NAME$1a = 'ButtonGroup';
|
|
|
1489
1488
|
/**
|
|
1490
1489
|
* Component default class name and class prefix.
|
|
1491
1490
|
*/
|
|
1492
|
-
const CLASSNAME$
|
|
1491
|
+
const CLASSNAME$1a = 'lumx-button-group';
|
|
1493
1492
|
|
|
1494
1493
|
/**
|
|
1495
1494
|
* Component default props.
|
|
@@ -1510,12 +1509,12 @@ const ButtonGroup$1 = props => {
|
|
|
1510
1509
|
} = props;
|
|
1511
1510
|
return /*#__PURE__*/jsx("div", {
|
|
1512
1511
|
...forwardedProps,
|
|
1513
|
-
className: classnames(className, CLASSNAME$
|
|
1512
|
+
className: classnames(className, CLASSNAME$1a),
|
|
1514
1513
|
children: children
|
|
1515
1514
|
});
|
|
1516
1515
|
};
|
|
1517
1516
|
ButtonGroup$1.displayName = COMPONENT_NAME$1a;
|
|
1518
|
-
ButtonGroup$1.className = CLASSNAME$
|
|
1517
|
+
ButtonGroup$1.className = CLASSNAME$1a;
|
|
1519
1518
|
ButtonGroup$1.defaultProps = DEFAULT_PROPS$13;
|
|
1520
1519
|
|
|
1521
1520
|
/**
|
|
@@ -1532,15 +1531,15 @@ const ButtonGroup = forwardRef((props, ref) => {
|
|
|
1532
1531
|
});
|
|
1533
1532
|
});
|
|
1534
1533
|
ButtonGroup.displayName = COMPONENT_NAME$1a;
|
|
1535
|
-
ButtonGroup.className = CLASSNAME$
|
|
1534
|
+
ButtonGroup.className = CLASSNAME$1a;
|
|
1536
1535
|
ButtonGroup.defaultProps = DEFAULT_PROPS$13;
|
|
1537
1536
|
|
|
1538
1537
|
const COMPONENT_NAME$19 = 'InputLabel';
|
|
1539
1538
|
const InputLabelClassName = 'lumx-input-label';
|
|
1540
|
-
const CLASSNAME$
|
|
1539
|
+
const CLASSNAME$19 = InputLabelClassName;
|
|
1541
1540
|
const {
|
|
1542
|
-
block: block$
|
|
1543
|
-
} = bem(CLASSNAME$
|
|
1541
|
+
block: block$_
|
|
1542
|
+
} = bem(CLASSNAME$19);
|
|
1544
1543
|
const DEFAULT_PROPS$12 = {};
|
|
1545
1544
|
|
|
1546
1545
|
/**
|
|
@@ -1561,7 +1560,7 @@ function InputLabel$1(props) {
|
|
|
1561
1560
|
ref: ref,
|
|
1562
1561
|
...forwardedProps,
|
|
1563
1562
|
htmlFor: htmlFor,
|
|
1564
|
-
className: classnames(className, block$
|
|
1563
|
+
className: classnames(className, block$_({
|
|
1565
1564
|
'is-required': isRequired,
|
|
1566
1565
|
[`theme-${theme}`]: Boolean(theme),
|
|
1567
1566
|
'has-custom-typography': Boolean(typography$1)
|
|
@@ -1570,7 +1569,7 @@ function InputLabel$1(props) {
|
|
|
1570
1569
|
});
|
|
1571
1570
|
}
|
|
1572
1571
|
InputLabel$1.displayName = COMPONENT_NAME$19;
|
|
1573
|
-
InputLabel$1.className = CLASSNAME$
|
|
1572
|
+
InputLabel$1.className = CLASSNAME$19;
|
|
1574
1573
|
InputLabel$1.defaultProps = DEFAULT_PROPS$12;
|
|
1575
1574
|
|
|
1576
1575
|
const INPUT_HELPER_CONFIGURATION = {
|
|
@@ -1592,10 +1591,10 @@ const InputHelperClassName = 'lumx-input-helper';
|
|
|
1592
1591
|
* Defines the props of the component.
|
|
1593
1592
|
*/
|
|
1594
1593
|
|
|
1595
|
-
const CLASSNAME$
|
|
1594
|
+
const CLASSNAME$18 = InputHelperClassName;
|
|
1596
1595
|
const {
|
|
1597
|
-
block: block$
|
|
1598
|
-
} = bem(CLASSNAME$
|
|
1596
|
+
block: block$Z
|
|
1597
|
+
} = bem(CLASSNAME$18);
|
|
1599
1598
|
|
|
1600
1599
|
/**
|
|
1601
1600
|
* Component default props.
|
|
@@ -1622,7 +1621,7 @@ function InputHelper$1(props) {
|
|
|
1622
1621
|
return /*#__PURE__*/jsx("p", {
|
|
1623
1622
|
ref: ref,
|
|
1624
1623
|
...forwardedProps,
|
|
1625
|
-
className: classnames(className, block$
|
|
1624
|
+
className: classnames(className, block$Z({
|
|
1626
1625
|
[`color-${color}`]: Boolean(color),
|
|
1627
1626
|
[`theme-${theme}`]: Boolean(theme)
|
|
1628
1627
|
})),
|
|
@@ -1630,7 +1629,7 @@ function InputHelper$1(props) {
|
|
|
1630
1629
|
});
|
|
1631
1630
|
}
|
|
1632
1631
|
InputHelper$1.displayName = COMPONENT_NAME$18;
|
|
1633
|
-
InputHelper$1.className = CLASSNAME$
|
|
1632
|
+
InputHelper$1.className = CLASSNAME$18;
|
|
1634
1633
|
InputHelper$1.defaultProps = DEFAULT_PROPS$11;
|
|
1635
1634
|
|
|
1636
1635
|
const INTERMEDIATE_STATE = 'intermediate';
|
|
@@ -1647,11 +1646,11 @@ const COMPONENT_NAME$17 = 'Checkbox';
|
|
|
1647
1646
|
/**
|
|
1648
1647
|
* Component default class name and class prefix.
|
|
1649
1648
|
*/
|
|
1650
|
-
const CLASSNAME$
|
|
1649
|
+
const CLASSNAME$17 = 'lumx-checkbox';
|
|
1651
1650
|
const {
|
|
1652
|
-
block: block
|
|
1653
|
-
element: element$
|
|
1654
|
-
} = bem(CLASSNAME$
|
|
1651
|
+
block: block$Y,
|
|
1652
|
+
element: element$K
|
|
1653
|
+
} = bem(CLASSNAME$17);
|
|
1655
1654
|
|
|
1656
1655
|
/**
|
|
1657
1656
|
* Checkbox component.
|
|
@@ -1687,7 +1686,7 @@ const Checkbox$1 = props => {
|
|
|
1687
1686
|
return /*#__PURE__*/jsxs("div", {
|
|
1688
1687
|
ref: ref,
|
|
1689
1688
|
...forwardedProps,
|
|
1690
|
-
className: classnames(className, block
|
|
1689
|
+
className: classnames(className, block$Y({
|
|
1691
1690
|
// Whether state is intermediate class name will "-checked"
|
|
1692
1691
|
'is-checked': intermediateState ? true : isChecked,
|
|
1693
1692
|
'is-disabled': isDisabled,
|
|
@@ -1695,12 +1694,12 @@ const Checkbox$1 = props => {
|
|
|
1695
1694
|
[`theme-${theme}`]: Boolean(theme)
|
|
1696
1695
|
})),
|
|
1697
1696
|
children: [/*#__PURE__*/jsxs("div", {
|
|
1698
|
-
className: element$
|
|
1697
|
+
className: element$K('input-wrapper'),
|
|
1699
1698
|
children: [/*#__PURE__*/jsx("input", {
|
|
1700
1699
|
ref: inputRef,
|
|
1701
1700
|
type: "checkbox",
|
|
1702
1701
|
id: inputId,
|
|
1703
|
-
className: element$
|
|
1702
|
+
className: element$K('input-native'),
|
|
1704
1703
|
name: name,
|
|
1705
1704
|
value: value,
|
|
1706
1705
|
checked: isChecked,
|
|
@@ -1712,26 +1711,26 @@ const Checkbox$1 = props => {
|
|
|
1712
1711
|
} : {}),
|
|
1713
1712
|
...inputProps
|
|
1714
1713
|
}), /*#__PURE__*/jsxs("div", {
|
|
1715
|
-
className: element$
|
|
1714
|
+
className: element$K('input-placeholder'),
|
|
1716
1715
|
children: [/*#__PURE__*/jsx("div", {
|
|
1717
|
-
className: element$
|
|
1716
|
+
className: element$K('input-background')
|
|
1718
1717
|
}), /*#__PURE__*/jsx("div", {
|
|
1719
|
-
className: element$
|
|
1718
|
+
className: element$K('input-indicator'),
|
|
1720
1719
|
children: Icon$1({
|
|
1721
1720
|
icon: intermediateState ? mdiMinus : mdiCheck
|
|
1722
1721
|
})
|
|
1723
1722
|
})]
|
|
1724
1723
|
})]
|
|
1725
1724
|
}), /*#__PURE__*/jsxs("div", {
|
|
1726
|
-
className: element$
|
|
1725
|
+
className: element$K('content'),
|
|
1727
1726
|
children: [label && InputLabel$1({
|
|
1728
1727
|
htmlFor: inputId,
|
|
1729
|
-
className: element$
|
|
1728
|
+
className: element$K('label'),
|
|
1730
1729
|
theme,
|
|
1731
1730
|
children: label
|
|
1732
1731
|
}), helper && InputHelper$1({
|
|
1733
1732
|
id: `${inputId}-helper`,
|
|
1734
|
-
className: element$
|
|
1733
|
+
className: element$K('helper'),
|
|
1735
1734
|
theme,
|
|
1736
1735
|
children: helper
|
|
1737
1736
|
})]
|
|
@@ -1807,7 +1806,7 @@ const Checkbox = forwardRef((props, ref) => {
|
|
|
1807
1806
|
});
|
|
1808
1807
|
});
|
|
1809
1808
|
Checkbox.displayName = COMPONENT_NAME$17;
|
|
1810
|
-
Checkbox.className = CLASSNAME$
|
|
1809
|
+
Checkbox.className = CLASSNAME$17;
|
|
1811
1810
|
Checkbox.defaultProps = DEFAULT_PROPS$10;
|
|
1812
1811
|
|
|
1813
1812
|
/**
|
|
@@ -1834,11 +1833,11 @@ const COMPONENT_NAME$16 = 'Chip';
|
|
|
1834
1833
|
/**
|
|
1835
1834
|
* Component default class name and class prefix.
|
|
1836
1835
|
*/
|
|
1837
|
-
const CLASSNAME$
|
|
1836
|
+
const CLASSNAME$16 = 'lumx-chip';
|
|
1838
1837
|
const {
|
|
1839
|
-
block: block$
|
|
1840
|
-
element: element$
|
|
1841
|
-
} = classNames.bem(CLASSNAME$
|
|
1838
|
+
block: block$X,
|
|
1839
|
+
element: element$J
|
|
1840
|
+
} = classNames.bem(CLASSNAME$16);
|
|
1842
1841
|
|
|
1843
1842
|
/**
|
|
1844
1843
|
* Component default props.
|
|
@@ -1904,7 +1903,7 @@ const Chip = forwardRef((props, ref) => {
|
|
|
1904
1903
|
...forwardedProps,
|
|
1905
1904
|
href: !disabledStateProps.disabled ? href : undefined,
|
|
1906
1905
|
ref: ref,
|
|
1907
|
-
className: classNames.join(className, block$
|
|
1906
|
+
className: classNames.join(className, block$X({
|
|
1908
1907
|
'is-clickable': isClickable,
|
|
1909
1908
|
[`color-${chipColor}`]: Boolean(chipColor),
|
|
1910
1909
|
'is-disabled': isAnyDisabled,
|
|
@@ -1922,19 +1921,19 @@ const Chip = forwardRef((props, ref) => {
|
|
|
1922
1921
|
/*#__PURE__*/
|
|
1923
1922
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
|
|
1924
1923
|
jsx("div", {
|
|
1925
|
-
className: element$
|
|
1924
|
+
className: element$J('before', {
|
|
1926
1925
|
'is-clickable': hasBeforeClick
|
|
1927
1926
|
}),
|
|
1928
1927
|
onClick: handleOnBeforeClick,
|
|
1929
1928
|
children: before
|
|
1930
1929
|
}), /*#__PURE__*/jsx("div", {
|
|
1931
|
-
className: element$
|
|
1930
|
+
className: element$J('label'),
|
|
1932
1931
|
children: children
|
|
1933
1932
|
}), after &&
|
|
1934
1933
|
/*#__PURE__*/
|
|
1935
1934
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
|
|
1936
1935
|
jsx("div", {
|
|
1937
|
-
className: element$
|
|
1936
|
+
className: element$J('after', {
|
|
1938
1937
|
'is-clickable': hasAfterClick
|
|
1939
1938
|
}),
|
|
1940
1939
|
onClick: handleOnAfterClick,
|
|
@@ -1944,7 +1943,7 @@ const Chip = forwardRef((props, ref) => {
|
|
|
1944
1943
|
);
|
|
1945
1944
|
});
|
|
1946
1945
|
Chip.displayName = COMPONENT_NAME$16;
|
|
1947
|
-
Chip.className = CLASSNAME$
|
|
1946
|
+
Chip.className = CLASSNAME$16;
|
|
1948
1947
|
Chip.defaultProps = DEFAULT_PROPS$$;
|
|
1949
1948
|
|
|
1950
1949
|
const INITIAL_STATE_ACTIVE_CHIP = -1;
|
|
@@ -2011,7 +2010,7 @@ const COMPONENT_NAME$15 = 'ChipGroup';
|
|
|
2011
2010
|
/**
|
|
2012
2011
|
* Component default class name and class prefix.
|
|
2013
2012
|
*/
|
|
2014
|
-
const CLASSNAME$
|
|
2013
|
+
const CLASSNAME$15 = 'lumx-chip-group';
|
|
2015
2014
|
|
|
2016
2015
|
/**
|
|
2017
2016
|
* ChipGroup component.
|
|
@@ -2030,12 +2029,12 @@ const InternalChipGroup = forwardRef((props, ref) => {
|
|
|
2030
2029
|
return /*#__PURE__*/jsx("div", {
|
|
2031
2030
|
ref: ref,
|
|
2032
2031
|
...forwardedProps,
|
|
2033
|
-
className: classNames.join(className, CLASSNAME$
|
|
2032
|
+
className: classNames.join(className, CLASSNAME$15),
|
|
2034
2033
|
children: children
|
|
2035
2034
|
});
|
|
2036
2035
|
});
|
|
2037
2036
|
InternalChipGroup.displayName = COMPONENT_NAME$15;
|
|
2038
|
-
InternalChipGroup.className = CLASSNAME$
|
|
2037
|
+
InternalChipGroup.className = CLASSNAME$15;
|
|
2039
2038
|
InternalChipGroup.defaultProps = DEFAULT_PROPS$_;
|
|
2040
2039
|
const ChipGroup = Object.assign(InternalChipGroup, {
|
|
2041
2040
|
useChipGroupNavigation
|
|
@@ -2126,11 +2125,11 @@ function useFocusLastChipOnBackspace(chipRefs, inputRef) {
|
|
|
2126
2125
|
/**
|
|
2127
2126
|
* Component default class name and class prefix.
|
|
2128
2127
|
*/
|
|
2129
|
-
const CLASSNAME$
|
|
2128
|
+
const CLASSNAME$14 = 'lumx-selection-chip-group';
|
|
2130
2129
|
const {
|
|
2131
|
-
block: block$
|
|
2132
|
-
element: element$
|
|
2133
|
-
} = classNames.bem(CLASSNAME$
|
|
2130
|
+
block: block$W,
|
|
2131
|
+
element: element$I
|
|
2132
|
+
} = classNames.bem(CLASSNAME$14);
|
|
2134
2133
|
|
|
2135
2134
|
/**
|
|
2136
2135
|
* SelectionChipGroup component.
|
|
@@ -2160,7 +2159,7 @@ const SelectionChipGroup = ({
|
|
|
2160
2159
|
return /*#__PURE__*/jsx(ChipGroup, {
|
|
2161
2160
|
role: "group",
|
|
2162
2161
|
"aria-label": label,
|
|
2163
|
-
className: block$
|
|
2162
|
+
className: block$W(),
|
|
2164
2163
|
...forwardedProps,
|
|
2165
2164
|
children: value?.map((v, index) => {
|
|
2166
2165
|
const name = getWithSelector(getOptionName, v);
|
|
@@ -2204,7 +2203,7 @@ const SelectionChipGroup = ({
|
|
|
2204
2203
|
after: /*#__PURE__*/jsx(Icon, {
|
|
2205
2204
|
icon: mdiClose
|
|
2206
2205
|
}),
|
|
2207
|
-
className: element$
|
|
2206
|
+
className: element$I('chip', [props?.className]),
|
|
2208
2207
|
size: "s",
|
|
2209
2208
|
ref: ref,
|
|
2210
2209
|
onClick: onClick,
|
|
@@ -2219,385 +2218,6 @@ const SelectionChipGroup = ({
|
|
|
2219
2218
|
});
|
|
2220
2219
|
};
|
|
2221
2220
|
|
|
2222
|
-
/* eslint-disable jsx-a11y/click-events-have-key-events */
|
|
2223
|
-
const COMBOBOX_OPTION_CLASSNAME = 'lumx-combobox-option';
|
|
2224
|
-
const LUMX_CLASSNAME = 'lumx-list-item';
|
|
2225
|
-
const {
|
|
2226
|
-
block: block$Y,
|
|
2227
|
-
element: element$K
|
|
2228
|
-
} = classNames.bem(COMBOBOX_OPTION_CLASSNAME);
|
|
2229
|
-
const lumxListItem = classNames.bem(LUMX_CLASSNAME);
|
|
2230
|
-
|
|
2231
|
-
/**
|
|
2232
|
-
* Content of the option.
|
|
2233
|
-
* This should only be rendered if the option is shown.
|
|
2234
|
-
*/
|
|
2235
|
-
const OptionContent = forwardRef((props, ref) => {
|
|
2236
|
-
const {
|
|
2237
|
-
id,
|
|
2238
|
-
onSelect,
|
|
2239
|
-
isSelected,
|
|
2240
|
-
isDisabled,
|
|
2241
|
-
children,
|
|
2242
|
-
className,
|
|
2243
|
-
before,
|
|
2244
|
-
after,
|
|
2245
|
-
as,
|
|
2246
|
-
size = Size$1.tiny,
|
|
2247
|
-
comboboxType,
|
|
2248
|
-
tooltipProps,
|
|
2249
|
-
description,
|
|
2250
|
-
'aria-hidden': ariaHidden,
|
|
2251
|
-
autofocus,
|
|
2252
|
-
...forwardedProps
|
|
2253
|
-
} = props;
|
|
2254
|
-
const itemRef = React__default.useRef(null);
|
|
2255
|
-
const {
|
|
2256
|
-
state
|
|
2257
|
-
} = React__default.useContext(MovingFocusContext);
|
|
2258
|
-
const {
|
|
2259
|
-
selectedIds
|
|
2260
|
-
} = useCombobox();
|
|
2261
|
-
const hasSelection = selectedIds !== undefined;
|
|
2262
|
-
const isHighlighted = useVirtualFocus(id, itemRef, false, comboboxType === 'grid' ? id : undefined, autofocus);
|
|
2263
|
-
const Element = as || 'span';
|
|
2264
|
-
const ariaSelected = isSelected ? 'true' : 'false';
|
|
2265
|
-
const ariaDescriptionId = description ? `${id}-description` : undefined;
|
|
2266
|
-
const isKeyboardHighlighted = state.isUsingKeyboard && isHighlighted;
|
|
2267
|
-
|
|
2268
|
-
/**
|
|
2269
|
-
* The DS `ListItem` component has a lot of behavior / default props we do not want here.
|
|
2270
|
-
* Notably the before/after items are within the interactive element, which we do not want.
|
|
2271
|
-
* So we use a native li tag.
|
|
2272
|
-
*/
|
|
2273
|
-
return /*#__PURE__*/jsx("li", {
|
|
2274
|
-
className: block$Y(undefined, [className ?? '', lumxListItem.block({
|
|
2275
|
-
[`size-${size}`]: !!size
|
|
2276
|
-
})]),
|
|
2277
|
-
role: "presentation",
|
|
2278
|
-
ref: itemRef,
|
|
2279
|
-
"aria-hidden": ariaHidden,
|
|
2280
|
-
style: {
|
|
2281
|
-
display: ariaHidden ? 'none' : undefined
|
|
2282
|
-
},
|
|
2283
|
-
...forwardedProps,
|
|
2284
|
-
children: /*#__PURE__*/jsxs(GenericBlock, {
|
|
2285
|
-
as: "div",
|
|
2286
|
-
role: comboboxType === 'grid' ? 'row' : 'presentation',
|
|
2287
|
-
className: element$K('content', {
|
|
2288
|
-
// Not using the lumx list item disabled style as it blocks pointer events
|
|
2289
|
-
'is-disabled': !!isDisabled
|
|
2290
|
-
},
|
|
2291
|
-
// TODO: migrate away from using lumx-list-item styles https://lumapps.atlassian.net/browse/DSW-288
|
|
2292
|
-
[lumxListItem.element('link', {
|
|
2293
|
-
'is-selected': Boolean(isSelected),
|
|
2294
|
-
'is-highlighted': Boolean(isHighlighted)
|
|
2295
|
-
})]),
|
|
2296
|
-
"data-focus-visible-added": isKeyboardHighlighted ? 'true' : undefined,
|
|
2297
|
-
children: [before && /*#__PURE__*/jsx(GenericBlock.Figure, {
|
|
2298
|
-
as: "span",
|
|
2299
|
-
role: "presentation",
|
|
2300
|
-
className: element$K('before', undefined, [lumxListItem.element('before')]),
|
|
2301
|
-
children: before
|
|
2302
|
-
}), /*#__PURE__*/jsxs(GenericBlock.Content, {
|
|
2303
|
-
as: "span",
|
|
2304
|
-
role: "presentation",
|
|
2305
|
-
className: lumxListItem.element('content'),
|
|
2306
|
-
children: [/*#__PURE__*/jsx(Tooltip, {
|
|
2307
|
-
forceOpen: isKeyboardHighlighted,
|
|
2308
|
-
closeMode: "hide",
|
|
2309
|
-
...tooltipProps,
|
|
2310
|
-
children: /*#__PURE__*/jsx(Element, {
|
|
2311
|
-
id: id,
|
|
2312
|
-
className: element$K('trigger'),
|
|
2313
|
-
role: comboboxType === 'grid' ? 'gridcell' : 'option',
|
|
2314
|
-
"aria-selected": hasSelection ? ariaSelected : undefined,
|
|
2315
|
-
"aria-disabled": isDisabled,
|
|
2316
|
-
"aria-describedby": ariaDescriptionId,
|
|
2317
|
-
onClick: onSelect
|
|
2318
|
-
// Prevent mouse down to avoid blur before the click is activated
|
|
2319
|
-
,
|
|
2320
|
-
onMouseDown: event => event.preventDefault(),
|
|
2321
|
-
ref: ref,
|
|
2322
|
-
...forwardedProps,
|
|
2323
|
-
children: children
|
|
2324
|
-
})
|
|
2325
|
-
}), description && /*#__PURE__*/jsx(Text, {
|
|
2326
|
-
as: "span",
|
|
2327
|
-
id: ariaDescriptionId,
|
|
2328
|
-
role: "presentation",
|
|
2329
|
-
className: element$K('description'),
|
|
2330
|
-
typography: "caption",
|
|
2331
|
-
color: "dark",
|
|
2332
|
-
colorVariant: "L2",
|
|
2333
|
-
children: description
|
|
2334
|
-
})]
|
|
2335
|
-
}), after && /*#__PURE__*/jsx(GenericBlock.Actions, {
|
|
2336
|
-
as: "span",
|
|
2337
|
-
role: "presentation",
|
|
2338
|
-
className: element$K('after', undefined, [lumxListItem.element('after')]),
|
|
2339
|
-
children: /*#__PURE__*/jsx(ComboboxOptionContextProvider, {
|
|
2340
|
-
optionId: id,
|
|
2341
|
-
isKeyboardHighlighted: isKeyboardHighlighted,
|
|
2342
|
-
children: after
|
|
2343
|
-
})
|
|
2344
|
-
})]
|
|
2345
|
-
})
|
|
2346
|
-
});
|
|
2347
|
-
});
|
|
2348
|
-
|
|
2349
|
-
/**
|
|
2350
|
-
* Props for ComboboxOption with additional generic properties.
|
|
2351
|
-
*/
|
|
2352
|
-
|
|
2353
|
-
/**
|
|
2354
|
-
* Option to set within a combobox list.
|
|
2355
|
-
*
|
|
2356
|
-
* @family Combobox
|
|
2357
|
-
* @param ComboboxOptionProps
|
|
2358
|
-
* @returns ComboboxOption
|
|
2359
|
-
*/
|
|
2360
|
-
const ComboboxOption = forwardRef((props, ref) => {
|
|
2361
|
-
const {
|
|
2362
|
-
children,
|
|
2363
|
-
id,
|
|
2364
|
-
textValue,
|
|
2365
|
-
data,
|
|
2366
|
-
filterFromInput = true,
|
|
2367
|
-
onSelect: onOptionSelect,
|
|
2368
|
-
isDisabled,
|
|
2369
|
-
as = 'span',
|
|
2370
|
-
...optionProps
|
|
2371
|
-
} = props;
|
|
2372
|
-
|
|
2373
|
-
// Get the id of the current group, if any.
|
|
2374
|
-
const section = useComboboxSectionId();
|
|
2375
|
-
const {
|
|
2376
|
-
comboboxId,
|
|
2377
|
-
selectedIds,
|
|
2378
|
-
showAll,
|
|
2379
|
-
inputValue,
|
|
2380
|
-
handleSelected,
|
|
2381
|
-
type
|
|
2382
|
-
} = useCombobox();
|
|
2383
|
-
// Generate a unique id for this option.
|
|
2384
|
-
const generatedId = generateOptionId(comboboxId, id);
|
|
2385
|
-
const isSelected = selectedIds?.includes(generatedId);
|
|
2386
|
-
|
|
2387
|
-
// If no text value is set and the direct child is a simple string, use it as value.
|
|
2388
|
-
const isStringChild = typeof children === 'string' || typeof children === 'number';
|
|
2389
|
-
const value = children && !textValue && isStringChild ? children.toString() : textValue;
|
|
2390
|
-
const showOption = !filterFromInput || showAll || value?.toString()?.toLowerCase().includes(inputValue?.toLowerCase());
|
|
2391
|
-
const registeredOption = React__default.useMemo(() => ({
|
|
2392
|
-
id,
|
|
2393
|
-
generatedId,
|
|
2394
|
-
textValue: value,
|
|
2395
|
-
data,
|
|
2396
|
-
filter: filterFromInput,
|
|
2397
|
-
isDisabled: isDisabled || !showOption,
|
|
2398
|
-
sectionId: section.sectionId,
|
|
2399
|
-
onSelect: onOptionSelect
|
|
2400
|
-
}), [data, filterFromInput, generatedId, section.sectionId, id, isDisabled, onOptionSelect, showOption, value]);
|
|
2401
|
-
|
|
2402
|
-
// Register the option
|
|
2403
|
-
useRegisterOption(generatedId, registeredOption, showOption);
|
|
2404
|
-
const handleSelect = React__default.useCallback(() => handleSelected(registeredOption, 'click'), [handleSelected, registeredOption]);
|
|
2405
|
-
if (!id || !showOption) {
|
|
2406
|
-
return null;
|
|
2407
|
-
}
|
|
2408
|
-
return /*#__PURE__*/jsx(OptionContent, {
|
|
2409
|
-
id: generatedId,
|
|
2410
|
-
onSelect: handleSelect,
|
|
2411
|
-
isSelected: isSelected,
|
|
2412
|
-
isDisabled: isDisabled,
|
|
2413
|
-
as: as,
|
|
2414
|
-
ref: ref,
|
|
2415
|
-
comboboxType: type,
|
|
2416
|
-
"aria-hidden": section.isLoading,
|
|
2417
|
-
...optionProps,
|
|
2418
|
-
children: children || textValue
|
|
2419
|
-
});
|
|
2420
|
-
});
|
|
2421
|
-
|
|
2422
|
-
// Default widths the skeletons must have
|
|
2423
|
-
const defaultWidths = [REAL_SIZE_FOR_LUMX_SIZE.xxl, REAL_SIZE_FOR_LUMX_SIZE.xl, REAL_SIZE_FOR_LUMX_SIZE.l];
|
|
2424
|
-
const {
|
|
2425
|
-
block: block$X,
|
|
2426
|
-
element: element$J
|
|
2427
|
-
} = classNames.bem(COMBOBOX_OPTION_CLASSNAME);
|
|
2428
|
-
|
|
2429
|
-
/**
|
|
2430
|
-
* Skeleton for a combobox option.
|
|
2431
|
-
* A typography skeleton is rendered by default but can be overridden by passing children.
|
|
2432
|
-
*/
|
|
2433
|
-
const ComboboxOptionSkeleton = ({
|
|
2434
|
-
className,
|
|
2435
|
-
index,
|
|
2436
|
-
before,
|
|
2437
|
-
after,
|
|
2438
|
-
size = Size$1.tiny,
|
|
2439
|
-
children
|
|
2440
|
-
}) => {
|
|
2441
|
-
const renderedChildren = typeof children === 'function' ? children({
|
|
2442
|
-
index
|
|
2443
|
-
}) : children;
|
|
2444
|
-
const content = renderedChildren || /*#__PURE__*/jsx(SkeletonTypography, {
|
|
2445
|
-
typography: "body1",
|
|
2446
|
-
width: index !== undefined && defaultWidths[index] ? defaultWidths[index] : REAL_SIZE_FOR_LUMX_SIZE.xl
|
|
2447
|
-
});
|
|
2448
|
-
return /*#__PURE__*/jsxs("li", {
|
|
2449
|
-
role: "presentation",
|
|
2450
|
-
className: block$X({
|
|
2451
|
-
skeleton: true
|
|
2452
|
-
}, ['lumx-list-item', `lumx-list-item--size-${size}`, className]),
|
|
2453
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
2454
|
-
role: "presentation",
|
|
2455
|
-
className: element$J('content', ['lumx-list-item__wrapper']),
|
|
2456
|
-
children: [before && /*#__PURE__*/jsx(Text, {
|
|
2457
|
-
as: "span",
|
|
2458
|
-
role: "presentation",
|
|
2459
|
-
className: element$J('before', ['lumx-list-item__before']),
|
|
2460
|
-
children: before
|
|
2461
|
-
}), content]
|
|
2462
|
-
}), after && /*#__PURE__*/jsx("div", {
|
|
2463
|
-
role: "presentation",
|
|
2464
|
-
className: element$J('after', ['lumx-list-item__after']),
|
|
2465
|
-
children: after
|
|
2466
|
-
})]
|
|
2467
|
-
});
|
|
2468
|
-
};
|
|
2469
|
-
|
|
2470
|
-
/**
|
|
2471
|
-
* Action to set on a Combobox Option.
|
|
2472
|
-
* Allows to add an interactive element that
|
|
2473
|
-
* can be navigated to and triggered using the keyboard.
|
|
2474
|
-
*
|
|
2475
|
-
* Defaults as "button"
|
|
2476
|
-
*
|
|
2477
|
-
* @family Combobox
|
|
2478
|
-
* @param ComboboxOptionActionProps
|
|
2479
|
-
* @returns ComboboxOptionAction
|
|
2480
|
-
*/
|
|
2481
|
-
const ComboboxOptionAction = props => {
|
|
2482
|
-
const {
|
|
2483
|
-
as,
|
|
2484
|
-
isDisabled,
|
|
2485
|
-
onClick,
|
|
2486
|
-
id: originalId,
|
|
2487
|
-
...forwardedProps
|
|
2488
|
-
} = props;
|
|
2489
|
-
const {
|
|
2490
|
-
optionId
|
|
2491
|
-
} = useComboboxOptionContext();
|
|
2492
|
-
const {
|
|
2493
|
-
triggerRef
|
|
2494
|
-
} = useComboboxRefs();
|
|
2495
|
-
const itemRef = React__default.useRef(null);
|
|
2496
|
-
const generatedId = useId();
|
|
2497
|
-
const id = originalId || generatedId;
|
|
2498
|
-
const isHighlighted = useVirtualFocus(id, itemRef, isDisabled, optionId);
|
|
2499
|
-
const {
|
|
2500
|
-
state
|
|
2501
|
-
} = React__default.useContext(MovingFocusContext);
|
|
2502
|
-
const Component = as || 'button';
|
|
2503
|
-
const registeredActionOption = React__default.useMemo(() => ({
|
|
2504
|
-
id,
|
|
2505
|
-
generatedId: id,
|
|
2506
|
-
isAction: true,
|
|
2507
|
-
isDisabled,
|
|
2508
|
-
onSelect: () => {
|
|
2509
|
-
itemRef.current?.click();
|
|
2510
|
-
}
|
|
2511
|
-
}), [id, isDisabled]);
|
|
2512
|
-
|
|
2513
|
-
// Register the option
|
|
2514
|
-
useRegisterOption(id, registeredActionOption, !isDisabled);
|
|
2515
|
-
const handleActionClick = React__default.useCallback(() => {
|
|
2516
|
-
if (onClick) {
|
|
2517
|
-
onClick();
|
|
2518
|
-
}
|
|
2519
|
-
if (triggerRef?.current) {
|
|
2520
|
-
triggerRef.current?.focus();
|
|
2521
|
-
}
|
|
2522
|
-
}, [triggerRef, onClick]);
|
|
2523
|
-
return /*#__PURE__*/jsx(Component, {
|
|
2524
|
-
...forwardedProps,
|
|
2525
|
-
isDisabled: isDisabled,
|
|
2526
|
-
id: id,
|
|
2527
|
-
role: "gridcell",
|
|
2528
|
-
ref: itemRef,
|
|
2529
|
-
"data-focus-visible-added": state.isUsingKeyboard && isHighlighted ? 'true' : undefined,
|
|
2530
|
-
"aria-disabled": isDisabled,
|
|
2531
|
-
onClick: handleActionClick
|
|
2532
|
-
});
|
|
2533
|
-
};
|
|
2534
|
-
|
|
2535
|
-
const useBooleanState = defaultValue => {
|
|
2536
|
-
const [booleanValue, setBoolean] = useState(defaultValue);
|
|
2537
|
-
const setToFalse = useCallback(() => setBoolean(false), []);
|
|
2538
|
-
const setToTrue = useCallback(() => setBoolean(true), []);
|
|
2539
|
-
const toggleBoolean = useCallback(() => setBoolean(previousValue => !previousValue), []);
|
|
2540
|
-
return [booleanValue, setToFalse, setToTrue, toggleBoolean];
|
|
2541
|
-
};
|
|
2542
|
-
|
|
2543
|
-
const CLASSNAME$14 = 'lumx-combobox-option-more-info';
|
|
2544
|
-
const {
|
|
2545
|
-
block: block$W,
|
|
2546
|
-
element: element$I
|
|
2547
|
-
} = classNames.bem(CLASSNAME$14);
|
|
2548
|
-
|
|
2549
|
-
/**
|
|
2550
|
-
* Display more info on the option as a popover opening on mouse hover or keyboard nav
|
|
2551
|
-
* Please consider using a simpler option description instead for better UX and a11y.
|
|
2552
|
-
*
|
|
2553
|
-
* @family Combobox
|
|
2554
|
-
*/
|
|
2555
|
-
const ComboboxOptionMoreInfo = ({
|
|
2556
|
-
buttonProps,
|
|
2557
|
-
popoverProps,
|
|
2558
|
-
onToggle,
|
|
2559
|
-
children
|
|
2560
|
-
}) => {
|
|
2561
|
-
const ref = React__default.useRef(null);
|
|
2562
|
-
const [isHovered,, onMouseLeave, onMouseEnter] = useBooleanState(false);
|
|
2563
|
-
const comboboxOption = useComboboxOptionContext();
|
|
2564
|
-
|
|
2565
|
-
// Open on mouse hover or key nav
|
|
2566
|
-
const isOpen = isHovered || comboboxOption.isKeyboardHighlighted;
|
|
2567
|
-
React__default.useEffect(() => {
|
|
2568
|
-
onToggle?.(isOpen);
|
|
2569
|
-
}, [isOpen, onToggle]);
|
|
2570
|
-
return /*#__PURE__*/jsxs(Fragment, {
|
|
2571
|
-
children: [/*#__PURE__*/jsx(IconButton, {
|
|
2572
|
-
...buttonProps,
|
|
2573
|
-
ref: ref,
|
|
2574
|
-
className: block$W([buttonProps?.className]),
|
|
2575
|
-
icon: mdiInformationOutline,
|
|
2576
|
-
size: "s",
|
|
2577
|
-
emphasis: "low",
|
|
2578
|
-
onMouseEnter: onMouseEnter,
|
|
2579
|
-
onMouseLeave: onMouseLeave
|
|
2580
|
-
// Button actually plays no role here other than a target for the mouse hover
|
|
2581
|
-
// Keyboard accessibility is handled via combobox keyboard highlighting
|
|
2582
|
-
,
|
|
2583
|
-
"aria-hidden": true,
|
|
2584
|
-
label: ""
|
|
2585
|
-
}), /*#__PURE__*/jsx(Popover, {
|
|
2586
|
-
...popoverProps,
|
|
2587
|
-
className: element$I('popover', [popoverProps?.className]),
|
|
2588
|
-
anchorRef: ref,
|
|
2589
|
-
isOpen: isOpen,
|
|
2590
|
-
closeOnEscape: true,
|
|
2591
|
-
closeOnClickAway: true,
|
|
2592
|
-
placement: "bottom-start",
|
|
2593
|
-
children: children
|
|
2594
|
-
}), /*#__PURE__*/jsx(A11YLiveMessage, {
|
|
2595
|
-
hidden: true,
|
|
2596
|
-
children: isOpen ? children : undefined
|
|
2597
|
-
})]
|
|
2598
|
-
});
|
|
2599
|
-
};
|
|
2600
|
-
|
|
2601
2221
|
/**
|
|
2602
2222
|
* Comment block variants.
|
|
2603
2223
|
*/
|
|
@@ -3216,6 +2836,14 @@ const DatePicker = forwardRef((props, ref) => {
|
|
|
3216
2836
|
DatePicker.displayName = COMPONENT_NAME$13;
|
|
3217
2837
|
DatePicker.className = CLASSNAME$12;
|
|
3218
2838
|
|
|
2839
|
+
const useBooleanState = defaultValue => {
|
|
2840
|
+
const [booleanValue, setBoolean] = useState(defaultValue);
|
|
2841
|
+
const setToFalse = useCallback(() => setBoolean(false), []);
|
|
2842
|
+
const setToTrue = useCallback(() => setBoolean(true), []);
|
|
2843
|
+
const toggleBoolean = useCallback(() => setBoolean(previousValue => !previousValue), []);
|
|
2844
|
+
return [booleanValue, setToFalse, setToTrue, toggleBoolean];
|
|
2845
|
+
};
|
|
2846
|
+
|
|
3219
2847
|
/**
|
|
3220
2848
|
* Component display name.
|
|
3221
2849
|
*/
|
|
@@ -13037,7 +12665,7 @@ const InternalSlideshowControls = forwardRef((props, ref) => {
|
|
|
13037
12665
|
className: element$9('navigation'),
|
|
13038
12666
|
color: theme === Theme$1.dark ? 'light' : 'dark',
|
|
13039
12667
|
emphasis: Emphasis$1.low,
|
|
13040
|
-
onClick: onPreviousClick
|
|
12668
|
+
onClick: () => onPreviousClick?.()
|
|
13041
12669
|
}), /*#__PURE__*/jsx("div", {
|
|
13042
12670
|
ref: paginationRef,
|
|
13043
12671
|
className: element$9('pagination'),
|
|
@@ -13084,7 +12712,7 @@ const InternalSlideshowControls = forwardRef((props, ref) => {
|
|
|
13084
12712
|
className: element$9('navigation'),
|
|
13085
12713
|
color: theme === Theme$1.dark ? 'light' : 'dark',
|
|
13086
12714
|
emphasis: Emphasis$1.low,
|
|
13087
|
-
onClick: onNextClick
|
|
12715
|
+
onClick: () => onNextClick?.()
|
|
13088
12716
|
})]
|
|
13089
12717
|
});
|
|
13090
12718
|
});
|
|
@@ -15722,5 +15350,5 @@ UserBlock.displayName = COMPONENT_NAME;
|
|
|
15722
15350
|
UserBlock.className = CLASSNAME;
|
|
15723
15351
|
UserBlock.defaultProps = DEFAULT_PROPS;
|
|
15724
15352
|
|
|
15725
|
-
export { AlertDialog, Autocomplete, AutocompleteMultiple, Avatar, Badge, BadgeWrapper, Button, ButtonGroup, CLASSNAME$
|
|
15353
|
+
export { AlertDialog, Autocomplete, AutocompleteMultiple, Avatar, Badge, BadgeWrapper, Button, ButtonGroup, CLASSNAME$1d as CLASSNAME, COMPONENT_NAME$1d as COMPONENT_NAME, Checkbox, Chip, ChipGroup, CommentBlock, CommentBlockVariant, DEFAULT_PROPS$16 as DEFAULT_PROPS, DatePicker, DatePickerControlled, DatePickerField, Dialog, Divider, DragHandle, Dropdown, ExpansionPanel, Flag, FlexBox, GenericBlock, GenericBlockGapSize, Grid, GridColumn, GridItem, Heading, HeadingLevelProvider, Icon, IconButton, ImageBlock, ImageBlockCaptionPosition, ImageLightbox, InlineList, InputHelper, InputLabel, Lightbox, Link, LinkPreview, List, ListDivider, ListItem, ListSubheader, Message, Mosaic, Navigation, Notification, Placement, Popover, PopoverDialog, PostBlock, Progress, ProgressCircular, ProgressLinear, ProgressTracker, ProgressTrackerProvider, ProgressTrackerStep, ProgressTrackerStepPanel, ProgressVariant, RadioButton, RadioGroup, RawInputText, RawInputTextarea, Select, SelectMultiple, SelectMultipleField, SelectVariant, SelectionChipGroup, SideNavigation, SideNavigationItem, SkeletonCircle, SkeletonRectangle, SkeletonRectangleVariant, SkeletonTypography, Slider, Slides, Slideshow, SlideshowControls, SlideshowItem, Switch, Tab, TabList, TabListLayout, TabPanel, TabProvider, Table, TableBody, TableCell, TableCellVariant, TableHeader, TableRow, Text, TextField, ThOrder, ThemeProvider, Thumbnail, ThumbnailAspectRatio, ThumbnailObjectFit, ThumbnailVariant, Toolbar, Tooltip, Uploader, UploaderVariant, UserBlock, clamp, isClickable, useFocusPointStyle, useHeadingLevel, useTheme };
|
|
15726
15354
|
//# sourceMappingURL=index.js.map
|