@redsift/pickers 10.2.0 → 10.3.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +21 -3
- package/index.js +121 -79
- package/index.js.map +1 -1
- package/package.json +5 -5
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _redsift_design_system from '@redsift/design-system';
|
|
2
|
-
import { ValueOf, TextProps, Theme, FlexboxProps, ContainerProps, Comp, ListboxContextProps, ButtonColor, ButtonVariant } from '@redsift/design-system';
|
|
2
|
+
import { ValueOf, TextProps, Theme, FlexboxProps, ContainerProps, Comp, ListboxContextProps, ButtonColor, ButtonVariant, TextFieldVariant } from '@redsift/design-system';
|
|
3
3
|
import { PopoverProps, PopoverContentProps, PopoverTriggerProps } from '@redsift/popovers';
|
|
4
4
|
import React, { RefObject, ReactElement, ComponentProps, ReactNode } from 'react';
|
|
5
5
|
|
|
@@ -46,6 +46,8 @@ type ComboboxState = {
|
|
|
46
46
|
freeTextItemRef?: RefObject<HTMLDivElement>;
|
|
47
47
|
/** Id of the first item used to create values. */
|
|
48
48
|
freeTextItemId?: string;
|
|
49
|
+
/** Class name to append to the trigger. */
|
|
50
|
+
readonly triggerClassName?: string;
|
|
49
51
|
};
|
|
50
52
|
/**
|
|
51
53
|
* Component props.
|
|
@@ -88,6 +90,8 @@ interface ComboboxProps extends PopoverProps {
|
|
|
88
90
|
selectionMode?: ComboboxSelectionMode;
|
|
89
91
|
/** Theme. */
|
|
90
92
|
theme?: Theme;
|
|
93
|
+
/** Class name to append to the trigger. */
|
|
94
|
+
triggerClassName?: string;
|
|
91
95
|
/** Props to forward to the wrapper. */
|
|
92
96
|
wrapperProps?: Omit<FlexboxProps, 'ref'>;
|
|
93
97
|
}
|
|
@@ -156,6 +160,8 @@ interface ComboboxTriggerProps extends Omit<PopoverTriggerProps, 'children'> {
|
|
|
156
160
|
value?: ComboboxValue;
|
|
157
161
|
isOpen?: boolean;
|
|
158
162
|
}) => ReactElement);
|
|
163
|
+
/** Whether the clear button should be hiding (not recommended) */
|
|
164
|
+
hideClearButton?: boolean;
|
|
159
165
|
/** Whether or not the expand/collapse icon button should be displayed or not. */
|
|
160
166
|
hideExpandButton?: boolean;
|
|
161
167
|
/** Whether the popover should open on focus. */
|
|
@@ -196,7 +202,7 @@ type MenuButtonState = {
|
|
|
196
202
|
readonly color?: ButtonColor;
|
|
197
203
|
/** Whether the trigger is disabled or not. */
|
|
198
204
|
readonly isDisabled: boolean;
|
|
199
|
-
/** Class name to append to the
|
|
205
|
+
/** Class name to append to the trigger. */
|
|
200
206
|
readonly triggerClassName?: string;
|
|
201
207
|
/** Button variant that will be forward to the trigger. */
|
|
202
208
|
readonly variant?: ButtonVariant;
|
|
@@ -217,7 +223,7 @@ interface MenuButtonProps extends PopoverProps {
|
|
|
217
223
|
label?: string | ReactElement;
|
|
218
224
|
/** Additional label properties. */
|
|
219
225
|
labelProps?: Omit<TextProps, 'ref'>;
|
|
220
|
-
/** Class name to append to the
|
|
226
|
+
/** Class name to append to the trigger. */
|
|
221
227
|
triggerClassName?: string;
|
|
222
228
|
/** Button variant that will be forward to the trigger. */
|
|
223
229
|
variant?: ButtonVariant;
|
|
@@ -274,6 +280,8 @@ declare const MenuButton: React.FC<MenuButtonProps> & {
|
|
|
274
280
|
* Context props.
|
|
275
281
|
*/
|
|
276
282
|
type SelectState = {
|
|
283
|
+
/** Button color that will be forward to the trigger. */
|
|
284
|
+
readonly color?: ButtonColor;
|
|
277
285
|
/** Whether the select is disabled or not. */
|
|
278
286
|
readonly isDisabled: boolean;
|
|
279
287
|
/** Whether the select is invalid or not. */
|
|
@@ -282,11 +290,17 @@ type SelectState = {
|
|
|
282
290
|
setValue(value: string): void;
|
|
283
291
|
/** Current selected value. */
|
|
284
292
|
readonly value: string;
|
|
293
|
+
/** Class name to append to the trigger. */
|
|
294
|
+
readonly triggerClassName?: string;
|
|
295
|
+
/** Button variant that will be forward to the trigger. */
|
|
296
|
+
readonly variant?: ButtonVariant | TextFieldVariant;
|
|
285
297
|
};
|
|
286
298
|
/**
|
|
287
299
|
* Component props.
|
|
288
300
|
*/
|
|
289
301
|
interface SelectProps extends PopoverProps {
|
|
302
|
+
/** Button color that will be forward to the trigger. */
|
|
303
|
+
color?: ButtonColor;
|
|
290
304
|
/**
|
|
291
305
|
* Default selected value.
|
|
292
306
|
* Used for uncontrolled version.
|
|
@@ -307,8 +321,12 @@ interface SelectProps extends PopoverProps {
|
|
|
307
321
|
* Used for controlled version.
|
|
308
322
|
*/
|
|
309
323
|
value?: string;
|
|
324
|
+
/** Button variant that will be forward to the trigger. */
|
|
325
|
+
variant?: ButtonVariant | TextFieldVariant;
|
|
310
326
|
/** Theme. */
|
|
311
327
|
theme?: Theme;
|
|
328
|
+
/** Class name to append to the trigger. */
|
|
329
|
+
triggerClassName?: string;
|
|
312
330
|
/** Props to forward to the wrapper. */
|
|
313
331
|
wrapperProps?: Omit<FlexboxProps, 'ref'>;
|
|
314
332
|
}
|
package/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { forwardRef, useContext, useEffect, useRef, useState, useReducer, useMemo } from 'react';
|
|
2
2
|
import { usePopoverContext, useMergeRefs, FloatingPortal, StyledPopoverContent, PopoverContent, Popover } from '@redsift/popovers';
|
|
3
|
-
import { baseContainer, FocusWithinGroupContext, ListboxContext, isComponent, Item, useListboxItem, useTheme, Flexbox, StyledItem, getContainerProps, partitionComponents,
|
|
4
|
-
import { mdiChevronDown } from '@redsift/icons';
|
|
3
|
+
import { baseContainer, FocusWithinGroupContext, ListboxContext, isComponent, Item, useListboxItem, useTheme, Flexbox, StyledItem, getContainerProps, AppContainerContext, partitionComponents, useId, useMessageFormatter, FocusWithinGroupActionType, IconButton, ListboxActionType, EventKey, ListboxReducer, ThemeProvider, FocusWithinGroup, Text, Theme, Icon } from '@redsift/design-system';
|
|
4
|
+
import { mdiClose, mdiChevronDown } from '@redsift/icons';
|
|
5
5
|
import classNames from 'classnames';
|
|
6
6
|
import styled from 'styled-components';
|
|
7
7
|
|
|
@@ -317,11 +317,12 @@ const BaseComboboxContent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
317
317
|
y
|
|
318
318
|
} = usePopoverContext();
|
|
319
319
|
const popoverRef = useMergeRefs([refs.setFloating, ref]);
|
|
320
|
+
const appContainerState = useContext(AppContainerContext);
|
|
320
321
|
const listboxState = useContext(ListboxContext);
|
|
321
322
|
const theme = useTheme();
|
|
322
323
|
const [[header], [listbox], [footer]] = partitionComponents(React.Children.toArray(children), [isComponent('ComboboxContentHeader'), isComponent('ComboboxContentListbox'), isComponent('ComboboxContentFooter')]);
|
|
323
324
|
return /*#__PURE__*/React.createElement(FloatingPortal, {
|
|
324
|
-
|
|
325
|
+
root: appContainerState === null || appContainerState === void 0 ? void 0 : appContainerState.appContainerRef.current
|
|
325
326
|
}, isOpen && /*#__PURE__*/React.createElement(StyledPopoverContent, _extends({
|
|
326
327
|
$theme: theme,
|
|
327
328
|
ref: popoverRef,
|
|
@@ -332,8 +333,7 @@ const BaseComboboxContent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
332
333
|
}, style)
|
|
333
334
|
}, getFloatingProps(props), {
|
|
334
335
|
className: classNames(PopoverContent.className, BaseComboboxContent.className, className),
|
|
335
|
-
"aria-disabled": listboxState.state.isDisabled
|
|
336
|
-
"aria-multiselectable": listboxState.state.selectionMode === 'multiple'
|
|
336
|
+
"aria-disabled": listboxState.state.isDisabled
|
|
337
337
|
}), /*#__PURE__*/React.createElement(Flexbox, _extends({
|
|
338
338
|
flexDirection: "column",
|
|
339
339
|
gap: "0px",
|
|
@@ -351,16 +351,24 @@ const ComboboxContent = Object.assign(BaseComboboxContent, {
|
|
|
351
351
|
|
|
352
352
|
var collapse$1 = "Collapse";
|
|
353
353
|
var expand$1 = "Expand";
|
|
354
|
+
var selected$1 = "{count, plural, =0 {None selected} other {# selected}}";
|
|
355
|
+
var unselect$1 = "Unselect {label}";
|
|
354
356
|
var enUS = {
|
|
355
357
|
collapse: collapse$1,
|
|
356
|
-
expand: expand$1
|
|
358
|
+
expand: expand$1,
|
|
359
|
+
selected: selected$1,
|
|
360
|
+
unselect: unselect$1
|
|
357
361
|
};
|
|
358
362
|
|
|
359
363
|
var collapse = "Réduire";
|
|
360
364
|
var expand = "Développer";
|
|
365
|
+
var selected = "{count, plural, =0 {Aucun sélectionné} =1 {1 sélectionné} other {# sélectionnés}}";
|
|
366
|
+
var unselect = "Déselectionner {{label}}";
|
|
361
367
|
var frFR = {
|
|
362
368
|
collapse: collapse,
|
|
363
|
-
expand: expand
|
|
369
|
+
expand: expand,
|
|
370
|
+
selected: selected,
|
|
371
|
+
unselect: unselect
|
|
364
372
|
};
|
|
365
373
|
|
|
366
374
|
var intlMessages = {
|
|
@@ -378,12 +386,14 @@ const DEFAULT_PROPS$7 = {};
|
|
|
378
386
|
*/
|
|
379
387
|
const ComboboxTrigger = /*#__PURE__*/forwardRef((props, ref) => {
|
|
380
388
|
var _renderedChildren$pro;
|
|
389
|
+
const [id] = useId();
|
|
381
390
|
const {
|
|
382
391
|
children,
|
|
383
392
|
hideExpandButton,
|
|
384
|
-
openOnFocus
|
|
393
|
+
openOnFocus,
|
|
394
|
+
hideClearButton
|
|
385
395
|
} = props;
|
|
386
|
-
const
|
|
396
|
+
const format = useMessageFormatter(intlMessages);
|
|
387
397
|
const {
|
|
388
398
|
getReferenceProps,
|
|
389
399
|
isOpen,
|
|
@@ -608,7 +618,7 @@ const ComboboxTrigger = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
608
618
|
}
|
|
609
619
|
}, [listboxState.state]);
|
|
610
620
|
if (isComponent('TextField')(renderedChildren)) {
|
|
611
|
-
var _props$children, _focusContext$state$a7;
|
|
621
|
+
var _props$children, _focusContext$state$a7, _comboboxState$value;
|
|
612
622
|
const _getReferenceProps = getReferenceProps(_objectSpread2(_objectSpread2(_objectSpread2({
|
|
613
623
|
ref: triggerRef
|
|
614
624
|
}, props), renderedChildren.props), {}, {
|
|
@@ -627,10 +637,23 @@ const ComboboxTrigger = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
627
637
|
'aria-controls': ariaControls,
|
|
628
638
|
'aria-expanded': ariaExpanded,
|
|
629
639
|
'aria-haspopup': ariaHaspopup,
|
|
640
|
+
autoComplete: 'off',
|
|
641
|
+
autoCapitalize: 'off',
|
|
642
|
+
autoCorrect: 'off',
|
|
643
|
+
spellCheck: 'false',
|
|
644
|
+
'aria-autocomplete': canHaveMultipleSelections ? 'list' : undefined,
|
|
645
|
+
'aria-description': canHaveMultipleSelections ? format('selected', {
|
|
646
|
+
count: comboboxState === null || comboboxState === void 0 ? void 0 : comboboxState.value.length
|
|
647
|
+
}) : undefined,
|
|
630
648
|
onKeyDown: handleKeyDown,
|
|
631
649
|
role
|
|
632
650
|
},
|
|
651
|
+
hasClearButton: hideClearButton ? false : {
|
|
652
|
+
isDisabled: (comboboxState === null || comboboxState === void 0 ? void 0 : comboboxState.isDisabled) || (comboboxState === null || comboboxState === void 0 ? void 0 : comboboxState.value) && (comboboxState === null || comboboxState === void 0 ? void 0 : (_comboboxState$value = comboboxState.value) === null || _comboboxState$value === void 0 ? void 0 : _comboboxState$value.length) === 0,
|
|
653
|
+
onClick: () => inputRef.current.focus()
|
|
654
|
+
},
|
|
633
655
|
theme,
|
|
656
|
+
className: classNames(renderedChildren.props.className, comboboxState === null || comboboxState === void 0 ? void 0 : comboboxState.triggerClassName),
|
|
634
657
|
inputRef,
|
|
635
658
|
isDisabled: comboboxState === null || comboboxState === void 0 ? void 0 : comboboxState.isDisabled,
|
|
636
659
|
isInvalid: comboboxState === null || comboboxState === void 0 ? void 0 : comboboxState.isInvalid,
|
|
@@ -640,22 +663,29 @@ const ComboboxTrigger = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
640
663
|
onFocus: handleFocus,
|
|
641
664
|
value: comboboxState === null || comboboxState === void 0 ? void 0 : comboboxState.inputValue,
|
|
642
665
|
pills: canHaveMultipleSelections ? (comboboxState === null || comboboxState === void 0 ? void 0 : comboboxState.value).map(v => ({
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
666
|
+
isDisabled: comboboxState === null || comboboxState === void 0 ? void 0 : comboboxState.isDisabled,
|
|
667
|
+
children: [v, /*#__PURE__*/React.createElement(IconButton, {
|
|
668
|
+
key: `${id}-pill-${v}-icon-button`,
|
|
669
|
+
icon: mdiClose,
|
|
670
|
+
"aria-label": format('unselect', {
|
|
671
|
+
label: v
|
|
672
|
+
}),
|
|
673
|
+
onClick: event => {
|
|
674
|
+
event.preventDefault();
|
|
675
|
+
listboxState.dispatch({
|
|
676
|
+
type: ListboxActionType.TOGGLE,
|
|
677
|
+
payload: {
|
|
678
|
+
value: v,
|
|
679
|
+
activedescendant: focusContext.state.activedescendant
|
|
680
|
+
}
|
|
681
|
+
});
|
|
682
|
+
}
|
|
683
|
+
})]
|
|
654
684
|
})) : undefined,
|
|
655
685
|
internal: (value, isDisabled, isInvalid, isRequired) => {
|
|
656
686
|
return /*#__PURE__*/React.createElement(React.Fragment, null, typeof renderedChildren.props.internal === 'function' ? renderedChildren.props.internal(value, isDisabled, isInvalid, isRequired) : renderedChildren.props.internal, hideExpandButton ? null : /*#__PURE__*/React.createElement(IconButton, {
|
|
657
687
|
theme: theme,
|
|
658
|
-
"aria-label":
|
|
688
|
+
"aria-label": format(!isOpen ? 'expand' : 'collapse'),
|
|
659
689
|
color: "grey",
|
|
660
690
|
icon: mdiChevronDown,
|
|
661
691
|
onClick: handleOpen,
|
|
@@ -707,6 +737,7 @@ const BaseCombobox = props => {
|
|
|
707
737
|
inputValue: propsInputValue,
|
|
708
738
|
selectionMode,
|
|
709
739
|
theme: propsTheme,
|
|
740
|
+
triggerClassName,
|
|
710
741
|
variant,
|
|
711
742
|
wrapperProps
|
|
712
743
|
} = props;
|
|
@@ -756,6 +787,7 @@ const BaseCombobox = props => {
|
|
|
756
787
|
variant,
|
|
757
788
|
freeTextItemRef: freeTextItemRef,
|
|
758
789
|
freeTextItemId,
|
|
790
|
+
triggerClassName,
|
|
759
791
|
setValue(value) {
|
|
760
792
|
if (isDisabled) {
|
|
761
793
|
return;
|
|
@@ -839,6 +871,7 @@ const MenuButtonContent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
839
871
|
y
|
|
840
872
|
} = usePopoverContext();
|
|
841
873
|
const popoverRef = useMergeRefs([refs.setFloating, ref]);
|
|
874
|
+
const appContainerState = useContext(AppContainerContext);
|
|
842
875
|
const focusContext = useContext(FocusWithinGroupContext);
|
|
843
876
|
const theme = useTheme();
|
|
844
877
|
useEffect(() => {
|
|
@@ -847,7 +880,7 @@ const MenuButtonContent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
847
880
|
}
|
|
848
881
|
}, [focusContext.state.delayedAction, focusContext.state.tabStops.length]);
|
|
849
882
|
return /*#__PURE__*/React.createElement(FloatingPortal, {
|
|
850
|
-
|
|
883
|
+
root: appContainerState === null || appContainerState === void 0 ? void 0 : appContainerState.appContainerRef.current
|
|
851
884
|
}, isOpen && /*#__PURE__*/React.createElement(StyledPopoverContent, _extends({
|
|
852
885
|
$theme: theme,
|
|
853
886
|
ref: popoverRef,
|
|
@@ -1037,25 +1070,25 @@ const DEFAULT_PROPS$3 = {
|
|
|
1037
1070
|
const BaseMenuButton = props => {
|
|
1038
1071
|
const {
|
|
1039
1072
|
color,
|
|
1073
|
+
description,
|
|
1074
|
+
descriptionProps,
|
|
1040
1075
|
isDisabled,
|
|
1041
1076
|
label,
|
|
1042
1077
|
labelProps,
|
|
1043
|
-
description,
|
|
1044
|
-
descriptionProps,
|
|
1045
|
-
variant,
|
|
1046
|
-
triggerClassName,
|
|
1047
1078
|
theme: propsTheme,
|
|
1079
|
+
triggerClassName,
|
|
1080
|
+
variant,
|
|
1048
1081
|
wrapperProps
|
|
1049
1082
|
} = props;
|
|
1050
1083
|
const theme = useTheme(propsTheme);
|
|
1051
1084
|
|
|
1052
1085
|
/** MenuButton context. */
|
|
1053
1086
|
const state = {
|
|
1054
|
-
theme,
|
|
1055
|
-
isDisabled: isDisabled || false,
|
|
1056
1087
|
color,
|
|
1057
|
-
|
|
1058
|
-
|
|
1088
|
+
isDisabled: isDisabled || false,
|
|
1089
|
+
theme,
|
|
1090
|
+
triggerClassName,
|
|
1091
|
+
variant
|
|
1059
1092
|
};
|
|
1060
1093
|
return /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
1061
1094
|
value: {
|
|
@@ -1117,6 +1150,7 @@ const SelectContent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1117
1150
|
y
|
|
1118
1151
|
} = usePopoverContext();
|
|
1119
1152
|
const popoverRef = useMergeRefs([refs.setFloating, ref]);
|
|
1153
|
+
const appContainerState = useContext(AppContainerContext);
|
|
1120
1154
|
const focusContext = useContext(FocusWithinGroupContext);
|
|
1121
1155
|
const listboxState = useContext(ListboxContext);
|
|
1122
1156
|
const theme = useTheme();
|
|
@@ -1126,7 +1160,7 @@ const SelectContent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1126
1160
|
}
|
|
1127
1161
|
}, [focusContext.state.delayedAction, focusContext.state.tabStops.length]);
|
|
1128
1162
|
return /*#__PURE__*/React.createElement(FloatingPortal, {
|
|
1129
|
-
|
|
1163
|
+
root: appContainerState === null || appContainerState === void 0 ? void 0 : appContainerState.appContainerRef.current
|
|
1130
1164
|
}, isOpen && /*#__PURE__*/React.createElement(StyledPopoverContent, _extends({
|
|
1131
1165
|
$theme: theme,
|
|
1132
1166
|
ref: popoverRef,
|
|
@@ -1137,8 +1171,7 @@ const SelectContent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1137
1171
|
}, style)
|
|
1138
1172
|
}, getFloatingProps(props), {
|
|
1139
1173
|
className: classNames(PopoverContent.className, SelectContent.className, className),
|
|
1140
|
-
"aria-disabled": listboxState.state.isDisabled
|
|
1141
|
-
"aria-multiselectable": listboxState.state.selectionMode === 'multiple'
|
|
1174
|
+
"aria-disabled": listboxState.state.isDisabled
|
|
1142
1175
|
}), /*#__PURE__*/React.createElement(Flexbox, _extends({
|
|
1143
1176
|
flexDirection: "column",
|
|
1144
1177
|
gap: "0px",
|
|
@@ -1310,36 +1343,16 @@ const SelectTrigger = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1310
1343
|
handleOpen(false);
|
|
1311
1344
|
}, [listboxState.state]);
|
|
1312
1345
|
if (isComponent('TextField')(renderedChildren)) {
|
|
1313
|
-
var _props$children, _focusContext$state$a8, _props$inputProps;
|
|
1346
|
+
var _props$children, _focusContext$state$a8, _selectContext$color, _selectContext$varian, _props$inputProps;
|
|
1314
1347
|
return /*#__PURE__*/React.cloneElement(renderedChildren, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, getReferenceProps(_objectSpread2(_objectSpread2(_objectSpread2({
|
|
1315
1348
|
ref: triggerRef
|
|
1316
1349
|
}, props), renderedChildren.props), {}, {
|
|
1317
1350
|
children: (_props$children = renderedChildren.props.children) !== null && _props$children !== void 0 ? _props$children : ''
|
|
1318
1351
|
}))), {}, {
|
|
1319
|
-
theme,
|
|
1320
|
-
inputRef,
|
|
1321
|
-
role: 'combobox',
|
|
1322
1352
|
'aria-activedescendant': isOpen ? (_focusContext$state$a8 = focusContext.state.activedescendant) === null || _focusContext$state$a8 === void 0 ? void 0 : _focusContext$state$a8[0] : undefined,
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
}), {}, {
|
|
1327
|
-
onKeyDown: handleKeyDown,
|
|
1328
|
-
onClick: handleClick,
|
|
1329
|
-
isReadOnly: true,
|
|
1330
|
-
isActive: isOpen
|
|
1331
|
-
}, typeof children !== 'function' && (selectContext === null || selectContext === void 0 ? void 0 : selectContext.value) && {
|
|
1332
|
-
value: selectContext.value
|
|
1333
|
-
}), {}, {
|
|
1334
|
-
style: _objectSpread2(_objectSpread2({}, renderedChildren.props.style), {}, {
|
|
1335
|
-
caretColor: 'transparent',
|
|
1336
|
-
cursor: 'pointer'
|
|
1337
|
-
}),
|
|
1338
|
-
inputProps: _objectSpread2(_objectSpread2({}, renderedChildren.props.inputProps), {}, {
|
|
1339
|
-
style: _objectSpread2(_objectSpread2({}, (_props$inputProps = renderedChildren.props.inputProps) === null || _props$inputProps === void 0 ? void 0 : _props$inputProps.style), {}, {
|
|
1340
|
-
cursor: 'pointer'
|
|
1341
|
-
})
|
|
1342
|
-
}),
|
|
1353
|
+
className: classNames(renderedChildren.props.className, selectContext === null || selectContext === void 0 ? void 0 : selectContext.triggerClassName),
|
|
1354
|
+
color: (_selectContext$color = selectContext === null || selectContext === void 0 ? void 0 : selectContext.color) !== null && _selectContext$color !== void 0 ? _selectContext$color : renderedChildren.props.color,
|
|
1355
|
+
inputRef,
|
|
1343
1356
|
internal: (value, isDisabled, isInvalid, isRequired) => {
|
|
1344
1357
|
return /*#__PURE__*/React.createElement(React.Fragment, null, typeof renderedChildren.props.internal === 'function' ? renderedChildren.props.internal(value, isDisabled, isInvalid, isRequired) : renderedChildren.props.internal, hideExpandButton ? null : /*#__PURE__*/React.createElement(Icon, {
|
|
1345
1358
|
color: isDisabled ? 'no-data' : 'question',
|
|
@@ -1350,35 +1363,58 @@ const SelectTrigger = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
1350
1363
|
cursor: 'pointer'
|
|
1351
1364
|
}
|
|
1352
1365
|
}));
|
|
1353
|
-
}
|
|
1366
|
+
},
|
|
1367
|
+
isActive: isOpen,
|
|
1368
|
+
isDisabled: selectContext === null || selectContext === void 0 ? void 0 : selectContext.isDisabled,
|
|
1369
|
+
isReadOnly: true,
|
|
1370
|
+
theme,
|
|
1371
|
+
role: 'combobox',
|
|
1372
|
+
onClick: handleClick,
|
|
1373
|
+
onKeyDown: handleKeyDown,
|
|
1374
|
+
style: _objectSpread2(_objectSpread2({}, renderedChildren.props.style), {}, {
|
|
1375
|
+
caretColor: 'transparent',
|
|
1376
|
+
cursor: 'pointer'
|
|
1377
|
+
}),
|
|
1378
|
+
variant: (_selectContext$varian = selectContext === null || selectContext === void 0 ? void 0 : selectContext.variant) !== null && _selectContext$varian !== void 0 ? _selectContext$varian : renderedChildren.props.variant
|
|
1379
|
+
}, (selectContext === null || selectContext === void 0 ? void 0 : selectContext.isInvalid) === true && {
|
|
1380
|
+
color: 'error'
|
|
1381
|
+
}), typeof children !== 'function' && (selectContext === null || selectContext === void 0 ? void 0 : selectContext.value) && {
|
|
1382
|
+
value: selectContext.value
|
|
1383
|
+
}), {}, {
|
|
1384
|
+
inputProps: _objectSpread2(_objectSpread2({}, renderedChildren.props.inputProps), {}, {
|
|
1385
|
+
style: _objectSpread2(_objectSpread2({}, (_props$inputProps = renderedChildren.props.inputProps) === null || _props$inputProps === void 0 ? void 0 : _props$inputProps.style), {}, {
|
|
1386
|
+
cursor: 'pointer'
|
|
1387
|
+
})
|
|
1388
|
+
})
|
|
1354
1389
|
}));
|
|
1355
1390
|
} else if (isComponent('Button')(renderedChildren)) {
|
|
1356
|
-
var _props$children2, _focusContext$state$a9, _props$rightIcon, _props$rightIconProps;
|
|
1357
|
-
return /*#__PURE__*/React.cloneElement(renderedChildren, _objectSpread2(_objectSpread2(_objectSpread2(
|
|
1391
|
+
var _props$children2, _focusContext$state$a9, _selectContext$color2, _props$rightIcon, _props$rightIconProps, _selectContext$varian2;
|
|
1392
|
+
return /*#__PURE__*/React.cloneElement(renderedChildren, _objectSpread2(_objectSpread2(_objectSpread2({}, getReferenceProps(_objectSpread2(_objectSpread2(_objectSpread2({
|
|
1358
1393
|
ref: triggerRef
|
|
1359
1394
|
}, props), renderedChildren.props), {}, {
|
|
1360
1395
|
children: (_props$children2 = renderedChildren.props.children) !== null && _props$children2 !== void 0 ? _props$children2 : ''
|
|
1361
1396
|
}))), {}, {
|
|
1362
|
-
theme,
|
|
1363
|
-
role: 'combobox',
|
|
1364
1397
|
'aria-activedescendant': isOpen ? (_focusContext$state$a9 = focusContext.state.activedescendant) === null || _focusContext$state$a9 === void 0 ? void 0 : _focusContext$state$a9[0] : undefined,
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
onKeyDown: handleKeyDown,
|
|
1398
|
+
className: classNames(renderedChildren.props.className, selectContext === null || selectContext === void 0 ? void 0 : selectContext.triggerClassName),
|
|
1399
|
+
color: (_selectContext$color2 = selectContext === null || selectContext === void 0 ? void 0 : selectContext.color) !== null && _selectContext$color2 !== void 0 ? _selectContext$color2 : renderedChildren.props.color,
|
|
1400
|
+
isActive: isOpen,
|
|
1401
|
+
isDisabled: selectContext === null || selectContext === void 0 ? void 0 : selectContext.isDisabled,
|
|
1370
1402
|
onClick: handleClick,
|
|
1371
|
-
|
|
1372
|
-
}, typeof children !== 'function' && (selectContext === null || selectContext === void 0 ? void 0 : selectContext.value) && {
|
|
1373
|
-
children: selectContext.value
|
|
1374
|
-
}), {}, {
|
|
1403
|
+
onKeyDown: handleKeyDown,
|
|
1375
1404
|
rightIcon: (_props$rightIcon = renderedChildren.props.rightIcon) !== null && _props$rightIcon !== void 0 ? _props$rightIcon : mdiChevronDown,
|
|
1376
1405
|
rightIconProps: renderedChildren.props.rightIcon ? renderedChildren.props.rightIconProps : (_props$rightIconProps = renderedChildren.props.rightIconProps) !== null && _props$rightIconProps !== void 0 ? _props$rightIconProps : {
|
|
1377
1406
|
style: {
|
|
1378
1407
|
transition: 'transform 300ms ease-out',
|
|
1379
1408
|
transform: `rotate(${isOpen ? '-180deg' : '0'})`
|
|
1380
1409
|
}
|
|
1381
|
-
}
|
|
1410
|
+
},
|
|
1411
|
+
role: 'combobox',
|
|
1412
|
+
theme,
|
|
1413
|
+
variant: (_selectContext$varian2 = selectContext === null || selectContext === void 0 ? void 0 : selectContext.variant) !== null && _selectContext$varian2 !== void 0 ? _selectContext$varian2 : renderedChildren.props.variant
|
|
1414
|
+
}, (selectContext === null || selectContext === void 0 ? void 0 : selectContext.isInvalid) === true && {
|
|
1415
|
+
color: 'error'
|
|
1416
|
+
}), typeof children !== 'function' && (selectContext === null || selectContext === void 0 ? void 0 : selectContext.value) && {
|
|
1417
|
+
children: selectContext.value
|
|
1382
1418
|
}));
|
|
1383
1419
|
}
|
|
1384
1420
|
return /*#__PURE__*/React.createElement(React.Fragment, null, renderedChildren);
|
|
@@ -1398,14 +1434,17 @@ const DEFAULT_PROPS = {
|
|
|
1398
1434
|
*/
|
|
1399
1435
|
const BaseSelect = props => {
|
|
1400
1436
|
const {
|
|
1437
|
+
color,
|
|
1401
1438
|
defaultValue,
|
|
1402
|
-
isDisabled,
|
|
1403
|
-
onChange,
|
|
1404
|
-
value,
|
|
1405
1439
|
description,
|
|
1406
1440
|
descriptionProps,
|
|
1441
|
+
isDisabled,
|
|
1407
1442
|
isInvalid,
|
|
1443
|
+
onChange,
|
|
1408
1444
|
theme: propsTheme,
|
|
1445
|
+
triggerClassName,
|
|
1446
|
+
value,
|
|
1447
|
+
variant,
|
|
1409
1448
|
wrapperProps
|
|
1410
1449
|
} = props;
|
|
1411
1450
|
const theme = useTheme(propsTheme);
|
|
@@ -1436,8 +1475,7 @@ const BaseSelect = props => {
|
|
|
1436
1475
|
|
|
1437
1476
|
/** Select context. */
|
|
1438
1477
|
const state = {
|
|
1439
|
-
|
|
1440
|
-
value: selectedValue,
|
|
1478
|
+
color,
|
|
1441
1479
|
isDisabled: isDisabled || false,
|
|
1442
1480
|
isInvalid: isInvalid || false,
|
|
1443
1481
|
setValue(value) {
|
|
@@ -1449,7 +1487,11 @@ const BaseSelect = props => {
|
|
|
1449
1487
|
if (value !== previousValue && onChange) {
|
|
1450
1488
|
onChange(value);
|
|
1451
1489
|
}
|
|
1452
|
-
}
|
|
1490
|
+
},
|
|
1491
|
+
theme,
|
|
1492
|
+
triggerClassName,
|
|
1493
|
+
value: selectedValue,
|
|
1494
|
+
variant
|
|
1453
1495
|
};
|
|
1454
1496
|
return /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
1455
1497
|
value: {
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/components/combobox/types.ts","../src/components/combobox-content-header/styles.ts","../src/components/combobox-content-header/ComboboxContentHeader.tsx","../src/components/combobox-content-footer/styles.ts","../src/components/combobox-content-footer/ComboboxContentFooter.tsx","../src/components/combobox/context.ts","../src/components/combobox-content-listbox/ComboboxContentListbox.tsx","../src/components/combobox-content/ComboboxContent.tsx","../src/components/combobox/intl/index.ts","../src/components/combobox-trigger/ComboboxTrigger.tsx","../src/components/combobox/Combobox.tsx","../src/components/menu-button-content/MenuButtonContent.tsx","../src/components/menu-button/context.ts","../src/components/menu-button-trigger/MenuButtonTrigger.tsx","../src/components/menu-button/MenuButton.tsx","../src/components/select-content/SelectContent.tsx","../src/components/select/context.ts","../src/components/select-trigger/SelectTrigger.tsx","../src/components/select/Select.tsx"],"sourcesContent":["import { FlexboxProps, TextProps, Theme, ValueOf } from '@redsift/design-system';\nimport { PopoverProps } from '@redsift/popovers';\nimport { ReactElement, RefObject } from 'react';\n\n/**\n * Component variant.\n */\nexport const ComboboxSelectionMode = {\n single: 'single',\n multiple: 'multiple',\n} as const;\nexport type ComboboxSelectionMode = ValueOf<typeof ComboboxSelectionMode>;\n\nexport const ComboboxVariant = {\n options: 'options',\n suggestions: 'suggestions',\n} as const;\nexport type ComboboxVariant = ValueOf<typeof ComboboxVariant>;\n\nexport type ComboboxValue = string | string[];\n\n/**\n * Context props.\n */\nexport type ComboboxState = {\n /** Filtering parameters. */\n readonly filter?: {\n type: 'startsWith' | 'contains' | 'endsWith';\n caseSensitive?: boolean;\n };\n /** Whether the combobox is disabled or not. */\n readonly isDisabled: boolean;\n /** Whether the combobox is invalid or not. */\n readonly isInvalid: boolean;\n /** Sets the selected value. */\n setValue(value: ComboboxValue): void;\n /** Current selected value. */\n readonly value: ComboboxValue;\n /** Sets the input value. */\n setInputValue(inputValue: string): void;\n /** Current input value. */\n readonly inputValue: string;\n /** Whether the Combobox allow multiple selection or not. */\n selectionMode?: ComboboxSelectionMode;\n /** If 'options', the input field cannot have free text, the selection has to be made within the options. If 'suggestions', then choosing from the list isn't mandatory and the user can write free text within the input. */\n variant?: ComboboxVariant;\n /** Ref to the first item used to create values. */\n freeTextItemRef?: RefObject<HTMLDivElement>;\n /** Id of the first item used to create values. */\n freeTextItemId?: string;\n};\n\n/**\n * Component props.\n */\nexport interface ComboboxProps extends PopoverProps {\n /** If 'options', the input field cannot have free text, the selection has to be made within the options. If 'suggestions', then choosing from the list isn't mandatory and the user can write free text within the input. */\n variant?: ComboboxVariant;\n /**\n * Default selected value.\n * Used for uncontrolled version.\n */\n defaultValue?: ComboboxValue;\n /** Description of the combobox. */\n description?: string | ReactElement;\n /** Additional description properties. */\n descriptionProps?: Omit<TextProps, 'ref'>;\n /** Filtering parameters. */\n filter?: {\n type: 'startsWith' | 'contains' | 'endsWith';\n caseSensitive?: boolean;\n };\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is invalid or not. */\n isInvalid?: boolean;\n /** Maximum number of options displayed. Useful when too many options are displayed. */\n maxOptionsLength?: number;\n /** Method to handle selection change. */\n onChange?(value: ComboboxValue): void;\n /** Method to handle input change. */\n onInputChange?(value: string): void;\n /**\n * Currently selected value.\n * Used for controlled version.\n */\n value?: ComboboxValue;\n /** Input value. */\n inputValue?: string;\n /** Whether the Combobox allow multiple selection or not. */\n selectionMode?: ComboboxSelectionMode;\n /** Theme. */\n theme?: Theme;\n /** Props to forward to the wrapper. */\n wrapperProps?: Omit<FlexboxProps, 'ref'>;\n}\n\nexport type StyledComboboxProps = ComboboxProps;\n","import styled from 'styled-components';\nimport { StyledComboboxContentHeaderProps } from './types';\nimport { baseContainer } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledComboboxContentHeader = styled.div<StyledComboboxContentHeaderProps>`\n ${baseContainer}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { StyledComboboxContentHeader } from './styles';\nimport { ComboboxContentHeaderProps } from './types';\nimport { Comp } from '@redsift/design-system';\n\nconst COMPONENT_NAME = 'ComboboxContentHeader';\nconst CLASSNAME = 'redsift-combobox-content-header';\nconst DEFAULT_PROPS: Partial<ComboboxContentHeaderProps> = {};\n\n/**\n * The ComboboxContentHeader component.\n */\nexport const ComboboxContentHeader: Comp<ComboboxContentHeaderProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <StyledComboboxContentHeader\n {...forwardedProps}\n className={classNames(ComboboxContentHeader.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {children}\n </StyledComboboxContentHeader>\n );\n});\nComboboxContentHeader.className = CLASSNAME;\nComboboxContentHeader.defaultProps = DEFAULT_PROPS;\nComboboxContentHeader.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledComboboxContentFooterProps } from './types';\nimport { baseContainer } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledComboboxContentFooter = styled.div<StyledComboboxContentFooterProps>`\n ${baseContainer}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { StyledComboboxContentFooter } from './styles';\nimport { ComboboxContentFooterProps } from './types';\nimport { Comp } from '@redsift/design-system';\n\nconst COMPONENT_NAME = 'ComboboxContentFooter';\nconst CLASSNAME = 'redsift-combobox-content-footer';\nconst DEFAULT_PROPS: Partial<ComboboxContentFooterProps> = {};\n\n/**\n * The ComboboxContentFooter component.\n */\nexport const ComboboxContentFooter: Comp<ComboboxContentFooterProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <StyledComboboxContentFooter\n {...forwardedProps}\n className={classNames(ComboboxContentFooter.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {children}\n </StyledComboboxContentFooter>\n );\n});\nComboboxContentFooter.className = CLASSNAME;\nComboboxContentFooter.defaultProps = DEFAULT_PROPS;\nComboboxContentFooter.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { ComboboxState } from './types';\n\nexport const ComboboxContext = React.createContext<ComboboxState | null>(null);\n","import React, { ReactNode, forwardRef, useContext, useEffect, RefObject, ReactElement } from 'react';\nimport classNames from 'classnames';\n\nimport {\n Comp,\n Flexbox,\n FocusWithinGroupContext,\n Item,\n ListboxContext,\n StyledItem,\n isComponent,\n useListboxItem,\n useTheme,\n} from '@redsift/design-system';\nimport { ComboboxContentListboxProps } from './types';\nimport { ComboboxContext } from '../combobox/context';\nimport { ComboboxSelectionMode, ComboboxVariant } from '../combobox/types';\n\nconst COMPONENT_NAME = 'ComboboxContentListbox';\nconst CLASSNAME = 'redsift-combobox-content-listbox';\nconst DEFAULT_PROPS: Partial<ComboboxContentListboxProps> = {};\n\n/**\n * The ComboboxContentListbox component.\n */\nexport const ComboboxContentListbox: Comp<ComboboxContentListboxProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, renderFreeTextItem, ...forwardedProps } = props;\n\n const focusContext = useContext(FocusWithinGroupContext);\n const listboxState = useContext(ListboxContext);\n const comboboxState = useContext(ComboboxContext);\n\n useEffect(() => {\n if (focusContext && focusContext.state.delayedAction && focusContext.state.tabStops.length) {\n focusContext.dispatch(focusContext.state.delayedAction);\n }\n });\n\n const canHaveMultipleSelections = comboboxState?.selectionMode === ComboboxSelectionMode.multiple;\n const canHaveFreeText = comboboxState?.variant === ComboboxVariant.suggestions;\n\n const cloneChildAndPush = (child: ReactElement, array: Array<ReactNode>) => {\n if (\n !canHaveMultipleSelections ||\n !canHaveFreeText ||\n (canHaveMultipleSelections && canHaveFreeText && !(comboboxState.value as string[]).includes(child.props.value))\n ) {\n array.push(\n React.cloneElement(child, {\n key: child.props.value,\n hasCheckbox: canHaveMultipleSelections && !canHaveFreeText,\n })\n );\n }\n };\n const renderedChildren: Array<ReactNode> = [];\n if (Array.isArray(children)) {\n for (const child of children) {\n if (isComponent(Item)(child)) {\n if (focusContext.state.maxOptionsLength) {\n if (renderedChildren.length < focusContext.state.maxOptionsLength) {\n if (!focusContext.state.filter) {\n cloneChildAndPush(child, renderedChildren);\n } else {\n const { value: filterValue, type, caseSensitive } = focusContext.state.filter;\n\n if (!filterValue) {\n cloneChildAndPush(child, renderedChildren);\n } else if (\n caseSensitive &&\n ((type === 'startsWith' && child.props.value!.startsWith(filterValue)) ||\n (type === 'contains' && child.props.value!.includes(filterValue)) ||\n (type === 'endsWith' && child.props.value!.endsWith(filterValue)))\n ) {\n cloneChildAndPush(child, renderedChildren);\n } else if (\n !caseSensitive &&\n ((type === 'startsWith' && child.props.value!.toLowerCase().startsWith(filterValue.toLowerCase())) ||\n (type === 'contains' && child.props.value!.toLowerCase().includes(filterValue.toLowerCase())) ||\n (type === 'endsWith' && child.props.value!.toLowerCase().endsWith(filterValue.toLowerCase())))\n ) {\n cloneChildAndPush(child, renderedChildren);\n }\n }\n }\n } else {\n cloneChildAndPush(child, renderedChildren);\n }\n } else {\n renderedChildren.push(child);\n }\n }\n }\n\n const { tabIndex, isFocused, isSelected, isDisabled, handleKeyDown, handleClick } = useListboxItem({\n domElementRef: comboboxState?.freeTextItemRef as RefObject<Element>,\n value: comboboxState?.inputValue || '',\n id: comboboxState?.freeTextItemId,\n });\n const theme = useTheme();\n\n const renderedFreeTextItem = comboboxState?.inputValue\n ? renderFreeTextItem && typeof renderFreeTextItem === 'function'\n ? renderFreeTextItem(comboboxState?.inputValue, comboboxState, listboxState)\n : comboboxState?.inputValue\n : null;\n\n return (\n <Flexbox\n className={classNames(ComboboxContentListbox.className, className)}\n {...forwardedProps}\n ref={ref}\n flexDirection=\"column\"\n gap=\"0px\"\n margin=\"8px 0px\"\n style={{ outline: 'none' }}\n width=\"100%\"\n >\n {canHaveMultipleSelections && canHaveFreeText ? (\n <StyledItem\n role=\"option\"\n id={comboboxState.freeTextItemId}\n $isActive={undefined}\n $isDisabled={isDisabled}\n $isFocused={isFocused}\n $isHovered={undefined}\n $isSelected={isSelected}\n $hasCheckbox={false}\n $theme={theme}\n aria-selected={isSelected}\n className={classNames(Item.className, className)}\n onClick={handleClick}\n ref={comboboxState.freeTextItemRef as RefObject<HTMLDivElement>}\n onKeyDown={handleKeyDown}\n tabIndex={tabIndex}\n style={\n !comboboxState.inputValue\n ? {\n height: '0',\n visibility: 'hidden',\n padding: '0',\n }\n : undefined\n }\n >\n {renderedFreeTextItem}\n </StyledItem>\n ) : null}\n {Array.isArray(children) ? renderedChildren : children}\n </Flexbox>\n );\n});\nComboboxContentListbox.className = CLASSNAME;\nComboboxContentListbox.defaultProps = DEFAULT_PROPS;\nComboboxContentListbox.displayName = COMPONENT_NAME;\n","import React, { forwardRef, useContext } from 'react';\nimport classNames from 'classnames';\n\nimport {\n Comp,\n Flexbox,\n ListboxContext,\n getContainerProps,\n isComponent,\n partitionComponents,\n useTheme,\n} from '@redsift/design-system';\nimport { ComboboxContentProps } from './types';\nimport {\n FloatingPortal,\n PopoverContent,\n usePopoverContext,\n StyledPopoverContent,\n useMergeRefs,\n} from '@redsift/popovers';\nimport { ComboboxContentHeader } from '../combobox-content-header';\nimport { ComboboxContentFooter } from '../combobox-content-footer';\nimport { ComboboxContentListbox } from '../combobox-content-listbox/ComboboxContentListbox';\n\nconst COMPONENT_NAME = 'ComboboxContent';\nconst CLASSNAME = 'redsift-combobox-content';\nconst DEFAULT_PROPS: Partial<ComboboxContentProps> = {};\n\n/**\n * The ComboboxContent component.\n */\nexport const BaseComboboxContent: Comp<ComboboxContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style } = props;\n const containerProps = getContainerProps(props);\n\n const { getFloatingProps, isOpen, refs, strategy, x, y } = usePopoverContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const listboxState = useContext(ListboxContext);\n const theme = useTheme();\n\n const [[header], [listbox], [footer]] = partitionComponents(React.Children.toArray(children), [\n isComponent('ComboboxContentHeader'),\n isComponent('ComboboxContentListbox'),\n isComponent('ComboboxContentFooter'),\n ]);\n\n return (\n <FloatingPortal id=\"redsift-app-container\">\n {isOpen && (\n <StyledPopoverContent\n $theme={theme!}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n ...style,\n }}\n {...getFloatingProps(props)}\n className={classNames(PopoverContent.className, BaseComboboxContent.className, className)}\n aria-disabled={listboxState.state.isDisabled}\n aria-multiselectable={listboxState.state.selectionMode === 'multiple'}\n >\n <Flexbox flexDirection=\"column\" gap=\"0px\" width=\"100%\" {...containerProps}>\n {header}\n {listbox}\n {footer}\n </Flexbox>\n </StyledPopoverContent>\n )}\n </FloatingPortal>\n );\n});\nBaseComboboxContent.className = CLASSNAME;\nBaseComboboxContent.defaultProps = DEFAULT_PROPS;\nBaseComboboxContent.displayName = COMPONENT_NAME;\n\nexport const ComboboxContent = Object.assign(BaseComboboxContent, {\n Header: ComboboxContentHeader,\n Listbox: ComboboxContentListbox,\n Footer: ComboboxContentFooter,\n});\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import React, { KeyboardEvent, ReactElement, forwardRef, useContext, useEffect, useRef } from 'react';\n\nimport { useLocalizedStringFormatter } from '@redsift/design-system';\nimport intlMessages from '../combobox/intl';\n\nimport {\n Comp,\n EventKey,\n FocusWithinGroupActionType,\n FocusWithinGroupContext,\n IconButton,\n ListboxActionType,\n ListboxContext,\n isComponent,\n useTheme,\n} from '@redsift/design-system';\nimport { ComboboxTriggerProps } from './types';\nimport { useMergeRefs, usePopoverContext } from '@redsift/popovers';\nimport { ComboboxContext } from '../combobox/context';\nimport { mdiChevronDown } from '@redsift/icons';\nimport { ComboboxSelectionMode, ComboboxVariant } from '../combobox/types';\n\nconst COMPONENT_NAME = 'ComboboxTrigger';\nconst CLASSNAME = 'redsift-combobox-trigger';\nconst DEFAULT_PROPS: Partial<ComboboxTriggerProps> = {};\n\n/**\n * The ComboboxTrigger component.\n */\nexport const ComboboxTrigger: Comp<ComboboxTriggerProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const { children, hideExpandButton, openOnFocus } = props;\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n const { getReferenceProps, isOpen, handleOpen: handleOpenPopover, refs } = usePopoverContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n const focusContext = useContext(FocusWithinGroupContext);\n const comboboxState = useContext(ComboboxContext);\n const listboxState = useContext(ListboxContext);\n const theme = useTheme();\n\n const canHaveMultipleSelections = comboboxState?.selectionMode === ComboboxSelectionMode.multiple;\n const canHaveFreeText = comboboxState?.variant === ComboboxVariant.suggestions;\n\n const renderedChildren =\n typeof children === 'function' ? children({ value: comboboxState?.value, isOpen }) : children;\n\n const _inputRef = useRef<HTMLInputElement>();\n const inputRef = renderedChildren.props.inputRef ?? _inputRef;\n\n const handleChange = (value?: string) => {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.FILTER_LIST,\n payload: { filter: { value: value || '', ...comboboxState?.filter! } },\n });\n\n comboboxState?.setInputValue(value!);\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const code = event.code;\n\n if (code === 'Escape' || code === 'Tab') {\n if (isOpen) {\n handleOpenPopover(false);\n }\n\n if (canHaveMultipleSelections && canHaveFreeText && comboboxState.inputValue) {\n listboxState.dispatch({\n type: ListboxActionType.TOGGLE,\n payload: {\n value: comboboxState.inputValue,\n activedescendant: [comboboxState.freeTextItemId as string, comboboxState.inputValue],\n },\n });\n }\n }\n\n if (/^.$/u.test(event.key) || code === 'Backspace') {\n if (!isOpen) {\n handleOpenPopover(true);\n }\n\n if (canHaveMultipleSelections && canHaveFreeText) {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n }\n }\n\n if (canHaveMultipleSelections && comboboxState.inputValue === '' && code === 'Backspace') {\n listboxState.dispatch({\n type: ListboxActionType.SET,\n payload: {\n values: (comboboxState.value as string[]).slice(0, (comboboxState.value as string[]).length - 1),\n activedescendant: focusContext.state.activedescendant,\n },\n });\n }\n\n if (code === 'ArrowDown') {\n if (!isOpen) {\n handleOpenPopover(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: focusContext.state.selectedId !== null ? EventKey.ArrowDown : EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n }\n\n if (code === 'ArrowUp') {\n if (!isOpen) {\n handleOpenPopover(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: focusContext.state.selectedId !== null ? EventKey.ArrowUp : EventKey.End,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n }\n\n if (code === 'Enter') {\n if (\n canHaveMultipleSelections &&\n canHaveFreeText &&\n focusContext.state.activedescendant?.[0] === comboboxState.freeTextItemId\n ) {\n if (comboboxState.inputValue) {\n listboxState.dispatch({\n type: ListboxActionType.TOGGLE,\n payload: {\n value: comboboxState.inputValue,\n activedescendant: [comboboxState.freeTextItemId as string, comboboxState.inputValue],\n },\n });\n handleOpenPopover(false);\n }\n } else {\n if (isOpen && focusContext.state.selectedId) {\n if (canHaveMultipleSelections) {\n listboxState.dispatch({\n type: ListboxActionType.TOGGLE,\n payload: {\n value: focusContext.state.activedescendant?.[1] ?? '',\n activedescendant: focusContext.state.activedescendant,\n },\n });\n } else {\n listboxState.dispatch({\n type: ListboxActionType.SET,\n payload: {\n values: [focusContext.state.activedescendant?.[1] ?? ''],\n activedescendant: focusContext.state.activedescendant,\n },\n });\n }\n }\n }\n event.preventDefault();\n }\n };\n\n const handleOpen = () => {\n if (isOpen) {\n handleOpenPopover(false);\n } else {\n handleOpenPopover(true);\n inputRef.current?.focus();\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.FOCUS_ON_LIST,\n payload: {\n id: focusContext.state.activedescendant?.[0]!,\n filter: { value: '', ...comboboxState?.filter! },\n },\n },\n });\n }\n };\n\n const handleFocus = () => {\n if (openOnFocus) {\n handleOpen();\n }\n inputRef.current?.select();\n };\n\n const handleBlur = () => {\n if (canHaveMultipleSelections) {\n if (!canHaveFreeText) {\n comboboxState?.setInputValue('');\n }\n } else {\n if (canHaveFreeText) {\n comboboxState?.setValue(comboboxState.inputValue);\n } else {\n comboboxState?.setInputValue(listboxState.state.selectedValues[0]);\n }\n }\n };\n\n const handleClear = () => {\n listboxState.dispatch({\n type: ListboxActionType.SET,\n payload: {\n values: [],\n activedescendant: ['', ''],\n },\n });\n };\n\n useEffect(() => {\n if (canHaveMultipleSelections) {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.FILTER_LIST,\n payload: { filter: { value: '', ...comboboxState?.filter! } },\n });\n comboboxState?.setValue(listboxState.state.selectedValues);\n comboboxState?.setInputValue('');\n handleOpenPopover(false);\n } else {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.FILTER_LIST,\n payload: { filter: { value: listboxState.state.selectedValues[0] || '', ...comboboxState?.filter! } },\n });\n comboboxState?.setValue(listboxState.state.selectedValues[0]);\n if (listboxState.state.selectedValues.length) {\n comboboxState?.setInputValue(listboxState.state.selectedValues[0]);\n }\n handleOpenPopover(false);\n }\n }, [listboxState.state]);\n\n if (isComponent('TextField')(renderedChildren)) {\n const {\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n role,\n ...forwardedProps\n } = getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(renderedChildren as ReactElement).props,\n children: (renderedChildren as ReactElement).props.children ?? '',\n });\n\n return React.cloneElement(renderedChildren, {\n ...forwardedProps,\n inputProps: {\n 'aria-activedescendant': isOpen ? focusContext.state.activedescendant?.[0] : undefined,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n onKeyDown: handleKeyDown,\n role,\n },\n theme,\n inputRef,\n isDisabled: comboboxState?.isDisabled,\n isInvalid: comboboxState?.isInvalid,\n onClear: handleClear,\n onChange: handleChange,\n onBlur: handleBlur,\n onFocus: handleFocus,\n value: comboboxState?.inputValue,\n pills: canHaveMultipleSelections\n ? (comboboxState?.value as string[]).map((v) => ({\n label: v,\n value: v,\n onClick: (_: string, value: string) => {\n listboxState.dispatch({\n type: ListboxActionType.TOGGLE,\n payload: {\n value: value,\n activedescendant: focusContext.state.activedescendant,\n },\n });\n },\n }))\n : undefined,\n internal: (value?: string, isDisabled?: boolean, isInvalid?: boolean, isRequired?: boolean) => {\n return (\n <>\n {typeof (renderedChildren as ReactElement).props.internal === 'function'\n ? (renderedChildren as ReactElement).props.internal(value, isDisabled, isInvalid, isRequired)\n : (renderedChildren as ReactElement).props.internal}\n {hideExpandButton ? null : (\n <IconButton\n theme={theme}\n aria-label={stringFormatter.format(!isOpen ? 'expand' : 'collapse')}\n color=\"grey\"\n icon={mdiChevronDown}\n onClick={handleOpen}\n isDisabled={isDisabled}\n tabIndex={-1}\n iconProps={{\n style: {\n transition: 'transform 300ms ease-out',\n transform: `rotate(${isOpen ? '-180deg' : '0'})`,\n },\n }}\n />\n )}\n </>\n );\n },\n });\n }\n\n return <>{renderedChildren}</>;\n});\nComboboxTrigger.className = CLASSNAME;\nComboboxTrigger.defaultProps = DEFAULT_PROPS;\nComboboxTrigger.displayName = COMPONENT_NAME;\n","import React, { RefObject, useEffect, useMemo, useReducer, useRef, useState } from 'react';\nimport { ComboboxContent } from '../combobox-content';\nimport { ComboboxTrigger } from '../combobox-trigger';\n\nimport { ComboboxProps, ComboboxSelectionMode, ComboboxValue, ComboboxVariant } from './types';\nimport { Popover } from '@redsift/popovers';\nimport { ComboboxContext } from './context';\nimport {\n ListboxReducer,\n ListboxState,\n ListboxContextProps,\n FocusWithinGroup,\n ListboxContext,\n Flexbox,\n Text,\n ListboxActionType,\n Theme,\n useTheme,\n ThemeProvider,\n useId,\n} from '@redsift/design-system';\n\nconst COMPONENT_NAME = 'Combobox';\nconst CLASSNAME = 'redsift-combobox';\nconst DEFAULT_PROPS: Partial<ComboboxProps> = {\n filter: {\n type: 'startsWith',\n caseSensitive: false,\n },\n minWidth: 'trigger-width',\n selectionMode: ComboboxSelectionMode.single,\n variant: ComboboxVariant.options,\n};\n\n/**\n * The Combobox component.\n */\nexport const BaseCombobox: React.FC<ComboboxProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n defaultValue,\n description,\n descriptionProps,\n filter,\n isDisabled,\n isInvalid,\n maxOptionsLength,\n onChange,\n value,\n onInputChange,\n inputValue: propsInputValue,\n selectionMode,\n theme: propsTheme,\n variant,\n wrapperProps,\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const [selectedValue, setValue] = useState<ComboboxValue>(\n value || defaultValue || (selectionMode === 'multiple' ? [] : '')\n );\n const [inputValue, setInputValue] = useState<string>(propsInputValue || '');\n useEffect(() => {\n if (value) {\n state.setValue(value);\n }\n }, [value]);\n useEffect(() => {\n if (propsInputValue) {\n state.setInputValue(propsInputValue);\n }\n }, [propsInputValue]);\n\n /** Listbox context */\n const [listboxState, listboxDispatch] = useReducer(ListboxReducer, {\n isDisabled,\n selectedValues: selectionMode === ComboboxSelectionMode.multiple ? selectedValue : [selectedValue],\n selectionMode,\n } as ListboxState);\n const listboxContext = useMemo<ListboxContextProps>(\n () => ({\n state: listboxState,\n dispatch: listboxDispatch,\n }),\n [listboxState]\n );\n useEffect(() => {\n listboxDispatch({\n type: ListboxActionType.UPDATE_OPTIONS,\n payload: {\n isDisabled: isDisabled || false,\n },\n });\n }, [isDisabled]);\n\n const freeTextItemRef = useRef<HTMLDivElement>();\n const [freeTextItemId] = useId();\n\n /** Combobox context. */\n const state = {\n filter,\n value: selectedValue,\n inputValue,\n isDisabled: isDisabled || false,\n isInvalid: isInvalid || false,\n selectionMode,\n variant,\n freeTextItemRef: freeTextItemRef as RefObject<HTMLDivElement>,\n freeTextItemId,\n setValue(value: ComboboxValue) {\n if (isDisabled) {\n return;\n }\n\n const previousValue = selectedValue;\n setValue(value);\n if (value !== previousValue && onChange) {\n onChange(value);\n }\n },\n setInputValue(value: string) {\n if (isDisabled) {\n return;\n }\n\n const previousValue = inputValue;\n setInputValue(value);\n if (value !== previousValue && onInputChange) {\n onInputChange(value);\n }\n },\n };\n\n return (\n <ThemeProvider value={{ theme }}>\n <FocusWithinGroup focusType=\"virtual-focus\" focusOnInit={false} maxOptionsLength={maxOptionsLength}>\n <ComboboxContext.Provider value={state}>\n <ListboxContext.Provider value={listboxContext}>\n <Flexbox flexDirection=\"column\" alignItems=\"flex-start\" gap=\"0px\" {...wrapperProps}>\n <Popover\n theme={theme}\n overrideDisplayName={{ content: 'ComboboxContent', trigger: 'ComboboxTrigger' }}\n placement=\"bottom-start\"\n role=\"listbox\"\n {...props}\n />\n {description && typeof description === 'string' ? (\n <Text\n theme={theme}\n marginTop=\"8px\"\n variant=\"caption\"\n color={isInvalid ? 'error' : theme === Theme.light ? 'dark-grey' : 'white'}\n {...descriptionProps}\n >\n {description}\n </Text>\n ) : React.isValidElement(description) ? (\n description\n ) : null}\n </Flexbox>\n </ListboxContext.Provider>\n </ComboboxContext.Provider>\n </FocusWithinGroup>\n </ThemeProvider>\n );\n};\nBaseCombobox.className = CLASSNAME;\nBaseCombobox.defaultProps = DEFAULT_PROPS;\nBaseCombobox.displayName = COMPONENT_NAME;\n\nexport const Combobox = Object.assign(BaseCombobox, {\n Trigger: ComboboxTrigger,\n Content: ComboboxContent,\n});\n","import React, { forwardRef, useContext, useEffect } from 'react';\n\nimport { Comp, Flexbox, FocusWithinGroupContext, getContainerProps, useTheme } from '@redsift/design-system';\nimport { MenuButtonContentProps } from './types';\nimport {\n FloatingPortal,\n PopoverContent,\n StyledPopoverContent,\n useMergeRefs,\n usePopoverContext,\n} from '@redsift/popovers';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'MenuButtonContent';\nconst CLASSNAME = 'redsift-menu-button-content';\nconst DEFAULT_PROPS: Partial<MenuButtonContentProps> = {};\n\n/**\n * The MenuButtonContent component.\n */\nexport const MenuButtonContent: Comp<MenuButtonContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style } = props;\n const containerProps = getContainerProps(props);\n\n const { getFloatingProps, isOpen, refs, strategy, x, y } = usePopoverContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const focusContext = useContext(FocusWithinGroupContext);\n const theme = useTheme();\n\n useEffect(() => {\n if (focusContext && focusContext.state.delayedAction && focusContext.state.tabStops.length) {\n focusContext.dispatch(focusContext.state.delayedAction);\n }\n }, [focusContext.state.delayedAction, focusContext.state.tabStops.length]);\n\n return (\n <FloatingPortal id=\"redsift-app-container\">\n {isOpen && (\n <StyledPopoverContent\n $theme={theme!}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n ...style,\n }}\n {...getFloatingProps(props)}\n className={classNames(PopoverContent.className, MenuButtonContent.className, className)}\n >\n <Flexbox flexDirection=\"column\" gap=\"8px\" margin=\"8px 0px\" width=\"100%\" {...containerProps}>\n {children}\n </Flexbox>\n </StyledPopoverContent>\n )}\n </FloatingPortal>\n );\n});\nMenuButtonContent.className = CLASSNAME;\nMenuButtonContent.defaultProps = DEFAULT_PROPS;\nMenuButtonContent.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { MenuButtonState } from './types';\n\nexport const MenuButtonContext = React.createContext<MenuButtonState | null>(null);\n","import React, { MouseEvent, ReactElement, forwardRef, useContext } from 'react';\nimport classNames from 'classnames';\n\nimport {\n Comp,\n EventKey,\n FocusWithinGroupActionType,\n FocusWithinGroupContext,\n isComponent,\n useTheme,\n} from '@redsift/design-system';\nimport { MenuButtonTriggerProps } from './types';\nimport { useMergeRefs, usePopoverContext } from '@redsift/popovers';\nimport { MenuButtonContext } from '../menu-button/context';\n\nconst COMPONENT_NAME = 'MenuButtonTrigger';\nconst CLASSNAME = 'redsift-menu-button-trigger';\nconst DEFAULT_PROPS: Partial<MenuButtonTriggerProps> = {};\n\n/**\n * The MenuButtonTrigger component.\n */\nexport const MenuButtonTrigger: Comp<MenuButtonTriggerProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = usePopoverContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n const focusContext = useContext(FocusWithinGroupContext);\n const menuButtonContext = useContext(MenuButtonContext);\n const theme = useTheme();\n\n const renderedChildren = typeof children === 'function' ? children({ isOpen }) : children;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const code = event.code;\n\n if (code === 'Escape' || code === 'Tab') {\n if (isOpen) {\n handleOpen(false);\n }\n } else if (code === 'ArrowDown') {\n if (!isOpen) {\n handleOpen(true);\n }\n if (focusContext.state.selectedId !== null) {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.ArrowDown,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n } else {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n }\n event.preventDefault();\n } else if (code === 'ArrowUp') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: focusContext.state.selectedId !== null ? EventKey.ArrowUp : EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'Home') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'End') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.End,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'Enter') {\n if (isOpen && focusContext.state.selectedId) {\n document.getElementById(focusContext.state.selectedId)?.click();\n }\n }\n };\n\n const handleClick = (event: MouseEvent) => {\n event.preventDefault();\n if (isOpen) {\n handleOpen(false);\n } else {\n handleOpen(true);\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.FOCUS_ON_LIST,\n payload: {\n id: focusContext.state.activedescendant?.[0] ?? '',\n },\n },\n });\n }\n };\n\n if (isComponent('Button')(renderedChildren) || isComponent('IconButton')(renderedChildren)) {\n return React.cloneElement(renderedChildren, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(renderedChildren as ReactElement).props,\n children: (renderedChildren as ReactElement).props.children ?? '',\n }),\n theme,\n 'aria-activedescendant': isOpen ? focusContext.state.activedescendant?.[0] : undefined,\n className: classNames((renderedChildren as ReactElement).props.className, menuButtonContext?.triggerClassName),\n color: menuButtonContext?.color ?? (renderedChildren as ReactElement).props.color,\n isActive: isOpen,\n isDisabled: menuButtonContext?.isDisabled,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n role: 'button',\n variant: menuButtonContext?.variant ?? (renderedChildren as ReactElement).props.variant,\n });\n }\n\n return <>{renderedChildren}</>;\n});\nMenuButtonTrigger.className = CLASSNAME;\nMenuButtonTrigger.defaultProps = DEFAULT_PROPS;\nMenuButtonTrigger.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { MenuButtonContent } from '../menu-button-content';\nimport { MenuButtonTrigger } from '../menu-button-trigger';\n\nimport { MenuButtonProps } from './types';\nimport { Popover } from '@redsift/popovers';\nimport { MenuButtonContext } from './context';\nimport { FocusWithinGroup, Flexbox, Text, Theme, useTheme, ThemeProvider } from '@redsift/design-system';\n\nconst COMPONENT_NAME = 'MenuButton';\nconst CLASSNAME = 'redsift-menu-button';\nconst DEFAULT_PROPS: Partial<MenuButtonProps> = {\n minWidth: 'trigger-width',\n};\n\n/**\n * The MenuButton component.\n */\nexport const BaseMenuButton: React.FC<MenuButtonProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n color,\n isDisabled,\n label,\n labelProps,\n description,\n descriptionProps,\n variant,\n triggerClassName,\n theme: propsTheme,\n wrapperProps,\n } = props;\n\n const theme = useTheme(propsTheme);\n\n /** MenuButton context. */\n const state = {\n theme,\n isDisabled: isDisabled || false,\n color,\n variant,\n triggerClassName,\n };\n\n return (\n <ThemeProvider value={{ theme }}>\n <FocusWithinGroup focusType=\"virtual-focus\" listRole=\"menu\" focusOnInit={false}>\n <MenuButtonContext.Provider value={state}>\n <Flexbox flexDirection=\"column\" alignItems=\"flex-start\" gap=\"0px\" {...wrapperProps}>\n {label && typeof label === 'string' ? <Text {...labelProps}>{label}</Text> : label ? label : null}\n <Popover\n theme={theme}\n overrideDisplayName={{ content: 'MenuButtonContent', trigger: 'MenuButtonTrigger' }}\n placement=\"bottom-end\"\n role=\"menu\"\n {...props}\n />\n {description && typeof description === 'string' ? (\n <Text\n theme={theme}\n marginTop=\"8px\"\n variant=\"caption\"\n color={theme === Theme.light ? 'dark-grey' : 'white'}\n {...descriptionProps}\n >\n {description}\n </Text>\n ) : description ? (\n description\n ) : null}\n </Flexbox>\n </MenuButtonContext.Provider>\n </FocusWithinGroup>\n </ThemeProvider>\n );\n};\nBaseMenuButton.className = CLASSNAME;\nBaseMenuButton.defaultProps = DEFAULT_PROPS;\nBaseMenuButton.displayName = COMPONENT_NAME;\n\nexport const MenuButton = Object.assign(BaseMenuButton, {\n Trigger: MenuButtonTrigger,\n Content: MenuButtonContent,\n});\n","import React, { forwardRef, useContext, useEffect } from 'react';\n\nimport {\n Comp,\n Flexbox,\n FocusWithinGroupContext,\n ListboxContext,\n getContainerProps,\n useTheme,\n} from '@redsift/design-system';\nimport { SelectContentProps } from './types';\nimport {\n FloatingPortal,\n PopoverContent,\n StyledPopoverContent,\n useMergeRefs,\n usePopoverContext,\n} from '@redsift/popovers';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'SelectContent';\nconst CLASSNAME = 'redsift-select-content';\nconst DEFAULT_PROPS: Partial<SelectContentProps> = {};\n\n/**\n * The SelectContent component.\n */\nexport const SelectContent: Comp<SelectContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style } = props;\n const containerProps = getContainerProps(props);\n\n const { getFloatingProps, isOpen, refs, strategy, x, y } = usePopoverContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const focusContext = useContext(FocusWithinGroupContext);\n const listboxState = useContext(ListboxContext);\n const theme = useTheme();\n\n useEffect(() => {\n if (focusContext && focusContext.state.delayedAction && focusContext.state.tabStops.length) {\n focusContext.dispatch(focusContext.state.delayedAction);\n }\n }, [focusContext.state.delayedAction, focusContext.state.tabStops.length]);\n\n return (\n <FloatingPortal id=\"redsift-app-container\">\n {isOpen && (\n <StyledPopoverContent\n $theme={theme!}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n ...style,\n }}\n {...getFloatingProps(props)}\n className={classNames(PopoverContent.className, SelectContent.className, className)}\n aria-disabled={listboxState.state.isDisabled}\n aria-multiselectable={listboxState.state.selectionMode === 'multiple'}\n >\n <Flexbox flexDirection=\"column\" gap=\"0px\" margin=\"8px 0px\" width=\"100%\" {...containerProps}>\n {children}\n </Flexbox>\n </StyledPopoverContent>\n )}\n </FloatingPortal>\n );\n});\nSelectContent.className = CLASSNAME;\nSelectContent.defaultProps = DEFAULT_PROPS;\nSelectContent.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { SelectState } from './types';\n\nexport const SelectContext = React.createContext<SelectState | null>(null);\n","import React, { MouseEvent, ReactElement, forwardRef, useContext, useEffect, useRef } from 'react';\n\nimport {\n Comp,\n EventKey,\n FocusWithinGroupActionType,\n FocusWithinGroupContext,\n Icon,\n ListboxActionType,\n ListboxContext,\n isComponent,\n useTheme,\n} from '@redsift/design-system';\nimport { SelectTriggerProps } from './types';\nimport { useMergeRefs, usePopoverContext } from '@redsift/popovers';\nimport { SelectContext } from '../select/context';\nimport { mdiChevronDown } from '@redsift/icons';\n\nconst COMPONENT_NAME = 'SelectTrigger';\nconst CLASSNAME = 'redsift-select-trigger';\nconst DEFAULT_PROPS: Partial<SelectTriggerProps> = {};\n\n/**\n * The SelectTrigger component.\n */\nexport const SelectTrigger: Comp<SelectTriggerProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const { children, hideExpandButton } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = usePopoverContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n const focusContext = useContext(FocusWithinGroupContext);\n const selectContext = useContext(SelectContext);\n const listboxState = useContext(ListboxContext);\n const theme = useTheme();\n\n const renderedChildren =\n typeof children === 'function' ? children({ value: selectContext?.value, isOpen }) : children;\n\n const _inputRef = useRef<HTMLInputElement>();\n const inputRef = renderedChildren.props.inputRef ?? _inputRef;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const code = event.code;\n\n if (code === 'Escape') {\n if (isOpen) {\n handleOpen(false);\n }\n } else if (code === 'ArrowDown') {\n if (!isOpen) {\n handleOpen(true);\n }\n if (focusContext.state.selectedId !== null) {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.ArrowDown,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n } else if (!focusContext.state.activedescendant?.[0]) {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n } else {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.FOCUS_ON_LIST,\n payload: {\n id: focusContext.state.activedescendant?.[0] ?? '',\n },\n },\n });\n }\n event.preventDefault();\n } else if (code === 'ArrowUp') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: focusContext.state.selectedId !== null ? EventKey.ArrowUp : EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'Home') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'End') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.End,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'Enter') {\n if (isOpen && focusContext.state.selectedId) {\n listboxState.dispatch({\n type: ListboxActionType.SET,\n payload: {\n values: [focusContext.state.activedescendant?.[1] ?? ''],\n activedescendant: focusContext.state.activedescendant,\n },\n });\n }\n }\n };\n\n const handleClick = (event: MouseEvent) => {\n event.preventDefault();\n if (isOpen) {\n handleOpen(false);\n } else {\n handleOpen(true);\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.FOCUS_ON_LIST,\n payload: {\n id: focusContext.state.activedescendant?.[0] ?? '',\n },\n },\n });\n }\n };\n\n useEffect(() => {\n selectContext?.setValue(listboxState.state.selectedValues[0]);\n handleOpen(false);\n }, [listboxState.state]);\n\n if (isComponent('TextField')(renderedChildren)) {\n return React.cloneElement(renderedChildren, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(renderedChildren as ReactElement).props,\n children: (renderedChildren as ReactElement).props.children ?? '',\n }),\n theme,\n inputRef,\n role: 'combobox',\n 'aria-activedescendant': isOpen ? focusContext.state.activedescendant?.[0] : undefined,\n isDisabled: selectContext?.isDisabled,\n ...(selectContext?.isInvalid === true && { color: 'error' }),\n onKeyDown: handleKeyDown,\n onClick: handleClick,\n isReadOnly: true,\n isActive: isOpen,\n ...(typeof children !== 'function' &&\n selectContext?.value && {\n value: selectContext.value,\n }),\n style: { ...(renderedChildren as ReactElement).props.style, caretColor: 'transparent', cursor: 'pointer' },\n inputProps: {\n ...(renderedChildren as ReactElement).props.inputProps,\n style: { ...(renderedChildren as ReactElement).props.inputProps?.style, cursor: 'pointer' },\n },\n internal: (value?: string, isDisabled?: boolean, isInvalid?: boolean, isRequired?: boolean) => {\n return (\n <>\n {typeof (renderedChildren as ReactElement).props.internal === 'function'\n ? (renderedChildren as ReactElement).props.internal(value, isDisabled, isInvalid, isRequired)\n : (renderedChildren as ReactElement).props.internal}\n {hideExpandButton ? null : (\n <Icon\n color={isDisabled ? 'no-data' : 'question'}\n icon={mdiChevronDown}\n style={{\n transition: 'transform 300ms ease-out',\n transform: `rotate(${isOpen ? '-180deg' : '0'})`,\n cursor: 'pointer',\n }}\n />\n )}\n </>\n );\n },\n });\n } else if (isComponent('Button')(renderedChildren)) {\n return React.cloneElement(renderedChildren, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(renderedChildren as ReactElement).props,\n children: (renderedChildren as ReactElement).props.children ?? '',\n }),\n theme,\n role: 'combobox',\n 'aria-activedescendant': isOpen ? focusContext.state.activedescendant?.[0] : undefined,\n isDisabled: selectContext?.isDisabled,\n ...(selectContext?.isInvalid === true && { color: 'error' }),\n onKeyDown: handleKeyDown,\n onClick: handleClick,\n isActive: isOpen,\n ...(typeof children !== 'function' &&\n selectContext?.value && {\n children: selectContext.value,\n }),\n rightIcon: (renderedChildren as ReactElement).props.rightIcon ?? mdiChevronDown,\n rightIconProps: (renderedChildren as ReactElement).props.rightIcon\n ? (renderedChildren as ReactElement).props.rightIconProps\n : (renderedChildren as ReactElement).props.rightIconProps ?? {\n style: {\n transition: 'transform 300ms ease-out',\n transform: `rotate(${isOpen ? '-180deg' : '0'})`,\n },\n },\n });\n }\n\n return <>{renderedChildren}</>;\n});\nSelectTrigger.className = CLASSNAME;\nSelectTrigger.defaultProps = DEFAULT_PROPS;\nSelectTrigger.displayName = COMPONENT_NAME;\n","import React, { useEffect, useMemo, useReducer, useState } from 'react';\nimport { SelectContent } from '../select-content';\nimport { SelectTrigger } from '../select-trigger';\n\nimport { SelectProps } from './types';\nimport { Popover } from '@redsift/popovers';\nimport { SelectContext } from './context';\nimport {\n ListboxReducer,\n ListboxState,\n ListboxContextProps,\n FocusWithinGroup,\n ListboxContext,\n Flexbox,\n Text,\n ListboxActionType,\n Theme,\n useTheme,\n ThemeProvider,\n} from '@redsift/design-system';\n\nconst COMPONENT_NAME = 'Select';\nconst CLASSNAME = 'redsift-select';\nconst DEFAULT_PROPS: Partial<SelectProps> = {\n minWidth: 'trigger-width',\n};\n\n/**\n * The Select component.\n */\nexport const BaseSelect: React.FC<SelectProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n defaultValue,\n isDisabled,\n onChange,\n value,\n description,\n descriptionProps,\n isInvalid,\n theme: propsTheme,\n wrapperProps,\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const [selectedValue, setValue] = useState<string>(value || defaultValue || '');\n useEffect(() => {\n if (value) {\n state.setValue(value);\n }\n }, [value]);\n\n /** Listbox context */\n const [listboxState, listboxDispatch] = useReducer(ListboxReducer, {\n isDisabled,\n selectedValues: [selectedValue],\n } as ListboxState);\n const listboxContext = useMemo<ListboxContextProps>(\n () => ({\n state: listboxState,\n dispatch: listboxDispatch,\n }),\n [listboxState]\n );\n useEffect(() => {\n listboxDispatch({\n type: ListboxActionType.UPDATE_OPTIONS,\n payload: {\n isDisabled: isDisabled || false,\n },\n });\n }, [isDisabled, theme]);\n\n /** Select context. */\n const state = {\n theme,\n value: selectedValue,\n isDisabled: isDisabled || false,\n isInvalid: isInvalid || false,\n setValue(value: string) {\n if (isDisabled) {\n return;\n }\n\n const previousValue = selectedValue;\n setValue(value);\n if (value !== previousValue && onChange) {\n onChange(value);\n }\n },\n };\n\n return (\n <ThemeProvider value={{ theme }}>\n <FocusWithinGroup focusType=\"virtual-focus\" focusOnInit={false}>\n <SelectContext.Provider value={state}>\n <ListboxContext.Provider value={listboxContext}>\n <Flexbox flexDirection=\"column\" alignItems=\"flex-start\" gap=\"0px\" {...wrapperProps}>\n <Popover\n theme={theme}\n overrideDisplayName={{ content: 'SelectContent', trigger: 'SelectTrigger' }}\n placement=\"bottom-start\"\n role=\"listbox\"\n {...props}\n />\n {description && typeof description === 'string' ? (\n <Text\n theme={theme}\n marginTop=\"8px\"\n variant=\"caption\"\n color={isInvalid ? 'error' : theme === Theme.light ? 'dark-grey' : 'white'}\n {...descriptionProps}\n >\n {description}\n </Text>\n ) : description ? (\n description\n ) : null}\n </Flexbox>\n </ListboxContext.Provider>\n </SelectContext.Provider>\n </FocusWithinGroup>\n </ThemeProvider>\n );\n};\nBaseSelect.className = CLASSNAME;\nBaseSelect.defaultProps = DEFAULT_PROPS;\nBaseSelect.displayName = COMPONENT_NAME;\n\nexport const Select = Object.assign(BaseSelect, {\n Trigger: SelectTrigger,\n Content: SelectContent,\n});\n"],"names":["ComboboxSelectionMode","single","multiple","ComboboxVariant","options","suggestions","StyledComboboxContentHeader","styled","div","baseContainer","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","ComboboxContentHeader","forwardRef","props","ref","children","className","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","_extends","classNames","defaultProps","displayName","StyledComboboxContentFooter","ComboboxContentFooter","ComboboxContext","createContext","ComboboxContentListbox","renderFreeTextItem","focusContext","useContext","FocusWithinGroupContext","listboxState","ListboxContext","comboboxState","useEffect","state","delayedAction","tabStops","length","dispatch","canHaveMultipleSelections","selectionMode","canHaveFreeText","variant","cloneChildAndPush","child","array","value","includes","push","cloneElement","key","hasCheckbox","renderedChildren","Array","isArray","isComponent","Item","maxOptionsLength","filter","filterValue","type","caseSensitive","startsWith","endsWith","toLowerCase","tabIndex","isFocused","isSelected","isDisabled","handleKeyDown","handleClick","useListboxItem","domElementRef","freeTextItemRef","inputValue","id","freeTextItemId","theme","useTheme","renderedFreeTextItem","Flexbox","flexDirection","gap","margin","style","outline","width","StyledItem","role","$isActive","undefined","$isDisabled","$isFocused","$isHovered","$isSelected","$hasCheckbox","$theme","onClick","onKeyDown","height","visibility","padding","BaseComboboxContent","containerProps","getContainerProps","getFloatingProps","isOpen","refs","strategy","x","y","usePopoverContext","popoverRef","useMergeRefs","setFloating","header","listbox","footer","partitionComponents","Children","toArray","FloatingPortal","StyledPopoverContent","_objectSpread","position","top","left","PopoverContent","ComboboxContent","Object","assign","Header","Listbox","Footer","enUS","frFR","ComboboxTrigger","_renderedChildren$pro","hideExpandButton","openOnFocus","stringFormatter","useLocalizedStringFormatter","intlMessages","getReferenceProps","handleOpen","handleOpenPopover","childrenRef","triggerRef","setReference","_inputRef","useRef","inputRef","handleChange","FocusWithinGroupActionType","FILTER_LIST","payload","setInputValue","event","code","ListboxActionType","TOGGLE","activedescendant","test","DELAY_ACTION","KEY_DOWN_ON_LIST","EventKey","Home","ctrlKey","SET","values","slice","selectedId","ArrowDown","preventDefault","ArrowUp","End","_focusContext$state$a","_focusContext$state$a2","_focusContext$state$a3","_focusContext$state$a4","_focusContext$state$a5","_inputRef$current","_focusContext$state$a6","current","focus","FOCUS_ON_LIST","handleFocus","_inputRef$current2","select","handleBlur","setValue","selectedValues","handleClear","_props$children","_focusContext$state$a7","_getReferenceProps","ariaControls","ariaExpanded","ariaHaspopup","inputProps","isInvalid","onClear","onChange","onBlur","onFocus","pills","map","v","label","_","internal","isRequired","Fragment","IconButton","format","color","icon","mdiChevronDown","iconProps","transition","transform","minWidth","BaseCombobox","defaultValue","description","descriptionProps","onInputChange","propsInputValue","propsTheme","wrapperProps","selectedValue","useState","listboxDispatch","useReducer","ListboxReducer","listboxContext","useMemo","UPDATE_OPTIONS","useId","previousValue","ThemeProvider","FocusWithinGroup","focusType","focusOnInit","Provider","alignItems","Popover","overrideDisplayName","content","trigger","placement","Text","marginTop","Theme","light","isValidElement","Combobox","Trigger","Content","MenuButtonContent","MenuButtonContext","MenuButtonTrigger","menuButtonContext","_document$getElementB","document","getElementById","click","_menuButtonContext$co","_menuButtonContext$va","triggerClassName","isActive","BaseMenuButton","labelProps","listRole","MenuButton","SelectContent","SelectContext","SelectTrigger","selectContext","_focusContext$state$a8","_props$inputProps","isReadOnly","caretColor","cursor","Icon","_props$children2","_focusContext$state$a9","_props$rightIcon","_props$rightIconProps","rightIcon","rightIconProps","BaseSelect","Select"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/components/combobox/types.ts","../src/components/combobox-content-header/styles.ts","../src/components/combobox-content-header/ComboboxContentHeader.tsx","../src/components/combobox-content-footer/styles.ts","../src/components/combobox-content-footer/ComboboxContentFooter.tsx","../src/components/combobox/context.ts","../src/components/combobox-content-listbox/ComboboxContentListbox.tsx","../src/components/combobox-content/ComboboxContent.tsx","../src/components/combobox/intl/index.ts","../src/components/combobox-trigger/ComboboxTrigger.tsx","../src/components/combobox/Combobox.tsx","../src/components/menu-button-content/MenuButtonContent.tsx","../src/components/menu-button/context.ts","../src/components/menu-button-trigger/MenuButtonTrigger.tsx","../src/components/menu-button/MenuButton.tsx","../src/components/select-content/SelectContent.tsx","../src/components/select/context.ts","../src/components/select-trigger/SelectTrigger.tsx","../src/components/select/Select.tsx"],"sourcesContent":["import { FlexboxProps, TextProps, Theme, ValueOf } from '@redsift/design-system';\nimport { PopoverProps } from '@redsift/popovers';\nimport { ReactElement, RefObject } from 'react';\n\n/**\n * Component variant.\n */\nexport const ComboboxSelectionMode = {\n single: 'single',\n multiple: 'multiple',\n} as const;\nexport type ComboboxSelectionMode = ValueOf<typeof ComboboxSelectionMode>;\n\nexport const ComboboxVariant = {\n options: 'options',\n suggestions: 'suggestions',\n} as const;\nexport type ComboboxVariant = ValueOf<typeof ComboboxVariant>;\n\nexport type ComboboxValue = string | string[];\n\n/**\n * Context props.\n */\nexport type ComboboxState = {\n /** Filtering parameters. */\n readonly filter?: {\n type: 'startsWith' | 'contains' | 'endsWith';\n caseSensitive?: boolean;\n };\n /** Whether the combobox is disabled or not. */\n readonly isDisabled: boolean;\n /** Whether the combobox is invalid or not. */\n readonly isInvalid: boolean;\n /** Sets the selected value. */\n setValue(value: ComboboxValue): void;\n /** Current selected value. */\n readonly value: ComboboxValue;\n /** Sets the input value. */\n setInputValue(inputValue: string): void;\n /** Current input value. */\n readonly inputValue: string;\n /** Whether the Combobox allow multiple selection or not. */\n selectionMode?: ComboboxSelectionMode;\n /** If 'options', the input field cannot have free text, the selection has to be made within the options. If 'suggestions', then choosing from the list isn't mandatory and the user can write free text within the input. */\n variant?: ComboboxVariant;\n /** Ref to the first item used to create values. */\n freeTextItemRef?: RefObject<HTMLDivElement>;\n /** Id of the first item used to create values. */\n freeTextItemId?: string;\n /** Class name to append to the trigger. */\n readonly triggerClassName?: string;\n};\n\n/**\n * Component props.\n */\nexport interface ComboboxProps extends PopoverProps {\n /** If 'options', the input field cannot have free text, the selection has to be made within the options. If 'suggestions', then choosing from the list isn't mandatory and the user can write free text within the input. */\n variant?: ComboboxVariant;\n /**\n * Default selected value.\n * Used for uncontrolled version.\n */\n defaultValue?: ComboboxValue;\n /** Description of the combobox. */\n description?: string | ReactElement;\n /** Additional description properties. */\n descriptionProps?: Omit<TextProps, 'ref'>;\n /** Filtering parameters. */\n filter?: {\n type: 'startsWith' | 'contains' | 'endsWith';\n caseSensitive?: boolean;\n };\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is invalid or not. */\n isInvalid?: boolean;\n /** Maximum number of options displayed. Useful when too many options are displayed. */\n maxOptionsLength?: number;\n /** Method to handle selection change. */\n onChange?(value: ComboboxValue): void;\n /** Method to handle input change. */\n onInputChange?(value: string): void;\n /**\n * Currently selected value.\n * Used for controlled version.\n */\n value?: ComboboxValue;\n /** Input value. */\n inputValue?: string;\n /** Whether the Combobox allow multiple selection or not. */\n selectionMode?: ComboboxSelectionMode;\n /** Theme. */\n theme?: Theme;\n /** Class name to append to the trigger. */\n triggerClassName?: string;\n /** Props to forward to the wrapper. */\n wrapperProps?: Omit<FlexboxProps, 'ref'>;\n}\n\nexport type StyledComboboxProps = ComboboxProps;\n","import styled from 'styled-components';\nimport { StyledComboboxContentHeaderProps } from './types';\nimport { baseContainer } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledComboboxContentHeader = styled.div<StyledComboboxContentHeaderProps>`\n ${baseContainer}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { StyledComboboxContentHeader } from './styles';\nimport { ComboboxContentHeaderProps } from './types';\nimport { Comp } from '@redsift/design-system';\n\nconst COMPONENT_NAME = 'ComboboxContentHeader';\nconst CLASSNAME = 'redsift-combobox-content-header';\nconst DEFAULT_PROPS: Partial<ComboboxContentHeaderProps> = {};\n\n/**\n * The ComboboxContentHeader component.\n */\nexport const ComboboxContentHeader: Comp<ComboboxContentHeaderProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <StyledComboboxContentHeader\n {...forwardedProps}\n className={classNames(ComboboxContentHeader.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {children}\n </StyledComboboxContentHeader>\n );\n});\nComboboxContentHeader.className = CLASSNAME;\nComboboxContentHeader.defaultProps = DEFAULT_PROPS;\nComboboxContentHeader.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledComboboxContentFooterProps } from './types';\nimport { baseContainer } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledComboboxContentFooter = styled.div<StyledComboboxContentFooterProps>`\n ${baseContainer}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { StyledComboboxContentFooter } from './styles';\nimport { ComboboxContentFooterProps } from './types';\nimport { Comp } from '@redsift/design-system';\n\nconst COMPONENT_NAME = 'ComboboxContentFooter';\nconst CLASSNAME = 'redsift-combobox-content-footer';\nconst DEFAULT_PROPS: Partial<ComboboxContentFooterProps> = {};\n\n/**\n * The ComboboxContentFooter component.\n */\nexport const ComboboxContentFooter: Comp<ComboboxContentFooterProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <StyledComboboxContentFooter\n {...forwardedProps}\n className={classNames(ComboboxContentFooter.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {children}\n </StyledComboboxContentFooter>\n );\n});\nComboboxContentFooter.className = CLASSNAME;\nComboboxContentFooter.defaultProps = DEFAULT_PROPS;\nComboboxContentFooter.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { ComboboxState } from './types';\n\nexport const ComboboxContext = React.createContext<ComboboxState | null>(null);\n","import React, { ReactNode, forwardRef, useContext, useEffect, RefObject, ReactElement } from 'react';\nimport classNames from 'classnames';\n\nimport {\n Comp,\n Flexbox,\n FocusWithinGroupContext,\n Item,\n ListboxContext,\n StyledItem,\n isComponent,\n useListboxItem,\n useTheme,\n} from '@redsift/design-system';\nimport { ComboboxContentListboxProps } from './types';\nimport { ComboboxContext } from '../combobox/context';\nimport { ComboboxSelectionMode, ComboboxVariant } from '../combobox/types';\n\nconst COMPONENT_NAME = 'ComboboxContentListbox';\nconst CLASSNAME = 'redsift-combobox-content-listbox';\nconst DEFAULT_PROPS: Partial<ComboboxContentListboxProps> = {};\n\n/**\n * The ComboboxContentListbox component.\n */\nexport const ComboboxContentListbox: Comp<ComboboxContentListboxProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, renderFreeTextItem, ...forwardedProps } = props;\n\n const focusContext = useContext(FocusWithinGroupContext);\n const listboxState = useContext(ListboxContext);\n const comboboxState = useContext(ComboboxContext);\n\n useEffect(() => {\n if (focusContext && focusContext.state.delayedAction && focusContext.state.tabStops.length) {\n focusContext.dispatch(focusContext.state.delayedAction);\n }\n });\n\n const canHaveMultipleSelections = comboboxState?.selectionMode === ComboboxSelectionMode.multiple;\n const canHaveFreeText = comboboxState?.variant === ComboboxVariant.suggestions;\n\n const cloneChildAndPush = (child: ReactElement, array: Array<ReactNode>) => {\n if (\n !canHaveMultipleSelections ||\n !canHaveFreeText ||\n (canHaveMultipleSelections && canHaveFreeText && !(comboboxState.value as string[]).includes(child.props.value))\n ) {\n array.push(\n React.cloneElement(child, {\n key: child.props.value,\n hasCheckbox: canHaveMultipleSelections && !canHaveFreeText,\n })\n );\n }\n };\n const renderedChildren: Array<ReactNode> = [];\n if (Array.isArray(children)) {\n for (const child of children) {\n if (isComponent(Item)(child)) {\n if (focusContext.state.maxOptionsLength) {\n if (renderedChildren.length < focusContext.state.maxOptionsLength) {\n if (!focusContext.state.filter) {\n cloneChildAndPush(child, renderedChildren);\n } else {\n const { value: filterValue, type, caseSensitive } = focusContext.state.filter;\n\n if (!filterValue) {\n cloneChildAndPush(child, renderedChildren);\n } else if (\n caseSensitive &&\n ((type === 'startsWith' && child.props.value!.startsWith(filterValue)) ||\n (type === 'contains' && child.props.value!.includes(filterValue)) ||\n (type === 'endsWith' && child.props.value!.endsWith(filterValue)))\n ) {\n cloneChildAndPush(child, renderedChildren);\n } else if (\n !caseSensitive &&\n ((type === 'startsWith' && child.props.value!.toLowerCase().startsWith(filterValue.toLowerCase())) ||\n (type === 'contains' && child.props.value!.toLowerCase().includes(filterValue.toLowerCase())) ||\n (type === 'endsWith' && child.props.value!.toLowerCase().endsWith(filterValue.toLowerCase())))\n ) {\n cloneChildAndPush(child, renderedChildren);\n }\n }\n }\n } else {\n cloneChildAndPush(child, renderedChildren);\n }\n } else {\n renderedChildren.push(child);\n }\n }\n }\n\n const { tabIndex, isFocused, isSelected, isDisabled, handleKeyDown, handleClick } = useListboxItem({\n domElementRef: comboboxState?.freeTextItemRef as RefObject<Element>,\n value: comboboxState?.inputValue || '',\n id: comboboxState?.freeTextItemId,\n });\n const theme = useTheme();\n\n const renderedFreeTextItem = comboboxState?.inputValue\n ? renderFreeTextItem && typeof renderFreeTextItem === 'function'\n ? renderFreeTextItem(comboboxState?.inputValue, comboboxState, listboxState)\n : comboboxState?.inputValue\n : null;\n\n return (\n <Flexbox\n className={classNames(ComboboxContentListbox.className, className)}\n {...forwardedProps}\n ref={ref}\n flexDirection=\"column\"\n gap=\"0px\"\n margin=\"8px 0px\"\n style={{ outline: 'none' }}\n width=\"100%\"\n >\n {canHaveMultipleSelections && canHaveFreeText ? (\n <StyledItem\n role=\"option\"\n id={comboboxState.freeTextItemId}\n $isActive={undefined}\n $isDisabled={isDisabled}\n $isFocused={isFocused}\n $isHovered={undefined}\n $isSelected={isSelected}\n $hasCheckbox={false}\n $theme={theme}\n aria-selected={isSelected}\n className={classNames(Item.className, className)}\n onClick={handleClick}\n ref={comboboxState.freeTextItemRef as RefObject<HTMLDivElement>}\n onKeyDown={handleKeyDown}\n tabIndex={tabIndex}\n style={\n !comboboxState.inputValue\n ? {\n height: '0',\n visibility: 'hidden',\n padding: '0',\n }\n : undefined\n }\n >\n {renderedFreeTextItem}\n </StyledItem>\n ) : null}\n {Array.isArray(children) ? renderedChildren : children}\n </Flexbox>\n );\n});\nComboboxContentListbox.className = CLASSNAME;\nComboboxContentListbox.defaultProps = DEFAULT_PROPS;\nComboboxContentListbox.displayName = COMPONENT_NAME;\n","import React, { forwardRef, useContext } from 'react';\nimport classNames from 'classnames';\n\nimport {\n AppContainerContext,\n Comp,\n Flexbox,\n ListboxContext,\n getContainerProps,\n isComponent,\n partitionComponents,\n useTheme,\n} from '@redsift/design-system';\nimport { ComboboxContentProps } from './types';\nimport {\n FloatingPortal,\n PopoverContent,\n usePopoverContext,\n StyledPopoverContent,\n useMergeRefs,\n} from '@redsift/popovers';\nimport { ComboboxContentHeader } from '../combobox-content-header';\nimport { ComboboxContentFooter } from '../combobox-content-footer';\nimport { ComboboxContentListbox } from '../combobox-content-listbox/ComboboxContentListbox';\n\nconst COMPONENT_NAME = 'ComboboxContent';\nconst CLASSNAME = 'redsift-combobox-content';\nconst DEFAULT_PROPS: Partial<ComboboxContentProps> = {};\n\n/**\n * The ComboboxContent component.\n */\nexport const BaseComboboxContent: Comp<ComboboxContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style } = props;\n const containerProps = getContainerProps(props);\n\n const { getFloatingProps, isOpen, refs, strategy, x, y } = usePopoverContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const appContainerState = useContext(AppContainerContext);\n const listboxState = useContext(ListboxContext);\n const theme = useTheme();\n\n const [[header], [listbox], [footer]] = partitionComponents(React.Children.toArray(children), [\n isComponent('ComboboxContentHeader'),\n isComponent('ComboboxContentListbox'),\n isComponent('ComboboxContentFooter'),\n ]);\n\n return (\n <FloatingPortal root={appContainerState?.appContainerRef.current}>\n {isOpen && (\n <StyledPopoverContent\n $theme={theme!}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n ...style,\n }}\n {...getFloatingProps(props)}\n className={classNames(PopoverContent.className, BaseComboboxContent.className, className)}\n aria-disabled={listboxState.state.isDisabled}\n >\n <Flexbox flexDirection=\"column\" gap=\"0px\" width=\"100%\" {...containerProps}>\n {header}\n {listbox}\n {footer}\n </Flexbox>\n </StyledPopoverContent>\n )}\n </FloatingPortal>\n );\n});\nBaseComboboxContent.className = CLASSNAME;\nBaseComboboxContent.defaultProps = DEFAULT_PROPS;\nBaseComboboxContent.displayName = COMPONENT_NAME;\n\nexport const ComboboxContent = Object.assign(BaseComboboxContent, {\n Header: ComboboxContentHeader,\n Listbox: ComboboxContentListbox,\n Footer: ComboboxContentFooter,\n});\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import React, { KeyboardEvent, ReactElement, forwardRef, useContext, useEffect, useRef } from 'react';\n\nimport { useId, useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from '../combobox/intl';\n\nimport {\n Comp,\n EventKey,\n FocusWithinGroupActionType,\n FocusWithinGroupContext,\n IconButton,\n ListboxActionType,\n ListboxContext,\n isComponent,\n useTheme,\n} from '@redsift/design-system';\nimport { ComboboxTriggerProps } from './types';\nimport { useMergeRefs, usePopoverContext } from '@redsift/popovers';\nimport { ComboboxContext } from '../combobox/context';\nimport { mdiChevronDown, mdiClose } from '@redsift/icons';\nimport { ComboboxSelectionMode, ComboboxVariant } from '../combobox/types';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'ComboboxTrigger';\nconst CLASSNAME = 'redsift-combobox-trigger';\nconst DEFAULT_PROPS: Partial<ComboboxTriggerProps> = {};\n\n/**\n * The ComboboxTrigger component.\n */\nexport const ComboboxTrigger: Comp<ComboboxTriggerProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const [id] = useId();\n const { children, hideExpandButton, openOnFocus, hideClearButton } = props;\n\n const format = useMessageFormatter(intlMessages);\n\n const { getReferenceProps, isOpen, handleOpen: handleOpenPopover, refs } = usePopoverContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n const focusContext = useContext(FocusWithinGroupContext);\n const comboboxState = useContext(ComboboxContext);\n const listboxState = useContext(ListboxContext);\n const theme = useTheme();\n\n const canHaveMultipleSelections = comboboxState?.selectionMode === ComboboxSelectionMode.multiple;\n const canHaveFreeText = comboboxState?.variant === ComboboxVariant.suggestions;\n\n const renderedChildren =\n typeof children === 'function' ? children({ value: comboboxState?.value, isOpen }) : children;\n\n const _inputRef = useRef<HTMLInputElement>();\n const inputRef = renderedChildren.props.inputRef ?? _inputRef;\n\n const handleChange = (value?: string) => {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.FILTER_LIST,\n payload: { filter: { value: value || '', ...comboboxState?.filter! } },\n });\n\n comboboxState?.setInputValue(value!);\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const code = event.code;\n\n if (code === 'Escape' || code === 'Tab') {\n if (isOpen) {\n handleOpenPopover(false);\n }\n\n if (canHaveMultipleSelections && canHaveFreeText && comboboxState.inputValue) {\n listboxState.dispatch({\n type: ListboxActionType.TOGGLE,\n payload: {\n value: comboboxState.inputValue,\n activedescendant: [comboboxState.freeTextItemId as string, comboboxState.inputValue],\n },\n });\n }\n }\n\n if (/^.$/u.test(event.key) || code === 'Backspace') {\n if (!isOpen) {\n handleOpenPopover(true);\n }\n\n if (canHaveMultipleSelections && canHaveFreeText) {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n }\n }\n\n if (canHaveMultipleSelections && comboboxState.inputValue === '' && code === 'Backspace') {\n listboxState.dispatch({\n type: ListboxActionType.SET,\n payload: {\n values: (comboboxState.value as string[]).slice(0, (comboboxState.value as string[]).length - 1),\n activedescendant: focusContext.state.activedescendant,\n },\n });\n }\n\n if (code === 'ArrowDown') {\n if (!isOpen) {\n handleOpenPopover(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: focusContext.state.selectedId !== null ? EventKey.ArrowDown : EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n }\n\n if (code === 'ArrowUp') {\n if (!isOpen) {\n handleOpenPopover(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: focusContext.state.selectedId !== null ? EventKey.ArrowUp : EventKey.End,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n }\n\n if (code === 'Enter') {\n if (\n canHaveMultipleSelections &&\n canHaveFreeText &&\n focusContext.state.activedescendant?.[0] === comboboxState.freeTextItemId\n ) {\n if (comboboxState.inputValue) {\n listboxState.dispatch({\n type: ListboxActionType.TOGGLE,\n payload: {\n value: comboboxState.inputValue,\n activedescendant: [comboboxState.freeTextItemId as string, comboboxState.inputValue],\n },\n });\n handleOpenPopover(false);\n }\n } else {\n if (isOpen && focusContext.state.selectedId) {\n if (canHaveMultipleSelections) {\n listboxState.dispatch({\n type: ListboxActionType.TOGGLE,\n payload: {\n value: focusContext.state.activedescendant?.[1] ?? '',\n activedescendant: focusContext.state.activedescendant,\n },\n });\n } else {\n listboxState.dispatch({\n type: ListboxActionType.SET,\n payload: {\n values: [focusContext.state.activedescendant?.[1] ?? ''],\n activedescendant: focusContext.state.activedescendant,\n },\n });\n }\n }\n }\n event.preventDefault();\n }\n };\n\n const handleOpen = () => {\n if (isOpen) {\n handleOpenPopover(false);\n } else {\n handleOpenPopover(true);\n inputRef.current?.focus();\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.FOCUS_ON_LIST,\n payload: {\n id: focusContext.state.activedescendant?.[0]!,\n filter: { value: '', ...comboboxState?.filter! },\n },\n },\n });\n }\n };\n\n const handleFocus = () => {\n if (openOnFocus) {\n handleOpen();\n }\n inputRef.current?.select();\n };\n\n const handleBlur = () => {\n if (canHaveMultipleSelections) {\n if (!canHaveFreeText) {\n comboboxState?.setInputValue('');\n }\n } else {\n if (canHaveFreeText) {\n comboboxState?.setValue(comboboxState.inputValue);\n } else {\n comboboxState?.setInputValue(listboxState.state.selectedValues[0]);\n }\n }\n };\n\n const handleClear = () => {\n listboxState.dispatch({\n type: ListboxActionType.SET,\n payload: {\n values: [],\n activedescendant: ['', ''],\n },\n });\n };\n\n useEffect(() => {\n if (canHaveMultipleSelections) {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.FILTER_LIST,\n payload: { filter: { value: '', ...comboboxState?.filter! } },\n });\n comboboxState?.setValue(listboxState.state.selectedValues);\n comboboxState?.setInputValue('');\n handleOpenPopover(false);\n } else {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.FILTER_LIST,\n payload: { filter: { value: listboxState.state.selectedValues[0] || '', ...comboboxState?.filter! } },\n });\n comboboxState?.setValue(listboxState.state.selectedValues[0]);\n if (listboxState.state.selectedValues.length) {\n comboboxState?.setInputValue(listboxState.state.selectedValues[0]);\n }\n handleOpenPopover(false);\n }\n }, [listboxState.state]);\n\n if (isComponent('TextField')(renderedChildren)) {\n const {\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n role,\n ...forwardedProps\n } = getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(renderedChildren as ReactElement).props,\n children: (renderedChildren as ReactElement).props.children ?? '',\n });\n\n return React.cloneElement(renderedChildren, {\n ...forwardedProps,\n inputProps: {\n 'aria-activedescendant': isOpen ? focusContext.state.activedescendant?.[0] : undefined,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n autoComplete: 'off',\n autoCapitalize: 'off',\n autoCorrect: 'off',\n spellCheck: 'false',\n 'aria-autocomplete': canHaveMultipleSelections ? 'list' : undefined,\n 'aria-description': canHaveMultipleSelections\n ? format('selected', { count: comboboxState?.value.length })\n : undefined,\n onKeyDown: handleKeyDown,\n role,\n },\n hasClearButton: hideClearButton\n ? false\n : {\n isDisabled: comboboxState?.isDisabled || (comboboxState?.value && comboboxState?.value?.length === 0),\n onClick: () => inputRef.current.focus(),\n },\n theme,\n className: classNames((renderedChildren as ReactElement).props.className, comboboxState?.triggerClassName),\n inputRef,\n isDisabled: comboboxState?.isDisabled,\n isInvalid: comboboxState?.isInvalid,\n onClear: handleClear,\n onChange: handleChange,\n onBlur: handleBlur,\n onFocus: handleFocus,\n value: comboboxState?.inputValue,\n pills: canHaveMultipleSelections\n ? (comboboxState?.value as string[]).map((v) => ({\n isDisabled: comboboxState?.isDisabled,\n children: [\n v,\n <IconButton\n key={`${id}-pill-${v}-icon-button`}\n icon={mdiClose}\n aria-label={format('unselect', { label: v })}\n onClick={(event) => {\n event.preventDefault();\n listboxState.dispatch({\n type: ListboxActionType.TOGGLE,\n payload: {\n value: v,\n activedescendant: focusContext.state.activedescendant,\n },\n });\n }}\n />,\n ],\n }))\n : undefined,\n internal: (value?: string, isDisabled?: boolean, isInvalid?: boolean, isRequired?: boolean) => {\n return (\n <>\n {typeof (renderedChildren as ReactElement).props.internal === 'function'\n ? (renderedChildren as ReactElement).props.internal(value, isDisabled, isInvalid, isRequired)\n : (renderedChildren as ReactElement).props.internal}\n {hideExpandButton ? null : (\n <IconButton\n theme={theme}\n aria-label={format(!isOpen ? 'expand' : 'collapse')}\n color=\"grey\"\n icon={mdiChevronDown}\n onClick={handleOpen}\n isDisabled={isDisabled}\n tabIndex={-1}\n iconProps={{\n style: {\n transition: 'transform 300ms ease-out',\n transform: `rotate(${isOpen ? '-180deg' : '0'})`,\n },\n }}\n />\n )}\n </>\n );\n },\n });\n }\n\n return <>{renderedChildren}</>;\n});\nComboboxTrigger.className = CLASSNAME;\nComboboxTrigger.defaultProps = DEFAULT_PROPS;\nComboboxTrigger.displayName = COMPONENT_NAME;\n","import React, { RefObject, useEffect, useMemo, useReducer, useRef, useState } from 'react';\nimport { ComboboxContent } from '../combobox-content';\nimport { ComboboxTrigger } from '../combobox-trigger';\n\nimport { ComboboxProps, ComboboxSelectionMode, ComboboxValue, ComboboxVariant } from './types';\nimport { Popover } from '@redsift/popovers';\nimport { ComboboxContext } from './context';\nimport {\n ListboxReducer,\n ListboxState,\n ListboxContextProps,\n FocusWithinGroup,\n ListboxContext,\n Flexbox,\n Text,\n ListboxActionType,\n Theme,\n useTheme,\n ThemeProvider,\n useId,\n} from '@redsift/design-system';\n\nconst COMPONENT_NAME = 'Combobox';\nconst CLASSNAME = 'redsift-combobox';\nconst DEFAULT_PROPS: Partial<ComboboxProps> = {\n filter: {\n type: 'startsWith',\n caseSensitive: false,\n },\n minWidth: 'trigger-width',\n selectionMode: ComboboxSelectionMode.single,\n variant: ComboboxVariant.options,\n};\n\n/**\n * The Combobox component.\n */\nexport const BaseCombobox: React.FC<ComboboxProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n defaultValue,\n description,\n descriptionProps,\n filter,\n isDisabled,\n isInvalid,\n maxOptionsLength,\n onChange,\n value,\n onInputChange,\n inputValue: propsInputValue,\n selectionMode,\n theme: propsTheme,\n triggerClassName,\n variant,\n wrapperProps,\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const [selectedValue, setValue] = useState<ComboboxValue>(\n value || defaultValue || (selectionMode === 'multiple' ? [] : '')\n );\n const [inputValue, setInputValue] = useState<string>(propsInputValue || '');\n useEffect(() => {\n if (value) {\n state.setValue(value);\n }\n }, [value]);\n useEffect(() => {\n if (propsInputValue) {\n state.setInputValue(propsInputValue);\n }\n }, [propsInputValue]);\n\n /** Listbox context */\n const [listboxState, listboxDispatch] = useReducer(ListboxReducer, {\n isDisabled,\n selectedValues: selectionMode === ComboboxSelectionMode.multiple ? selectedValue : [selectedValue],\n selectionMode,\n } as ListboxState);\n const listboxContext = useMemo<ListboxContextProps>(\n () => ({\n state: listboxState,\n dispatch: listboxDispatch,\n }),\n [listboxState]\n );\n useEffect(() => {\n listboxDispatch({\n type: ListboxActionType.UPDATE_OPTIONS,\n payload: {\n isDisabled: isDisabled || false,\n },\n });\n }, [isDisabled]);\n\n const freeTextItemRef = useRef<HTMLDivElement>();\n const [freeTextItemId] = useId();\n\n /** Combobox context. */\n const state = {\n filter,\n value: selectedValue,\n inputValue,\n isDisabled: isDisabled || false,\n isInvalid: isInvalid || false,\n selectionMode,\n variant,\n freeTextItemRef: freeTextItemRef as RefObject<HTMLDivElement>,\n freeTextItemId,\n triggerClassName,\n setValue(value: ComboboxValue) {\n if (isDisabled) {\n return;\n }\n\n const previousValue = selectedValue;\n setValue(value);\n if (value !== previousValue && onChange) {\n onChange(value);\n }\n },\n setInputValue(value: string) {\n if (isDisabled) {\n return;\n }\n\n const previousValue = inputValue;\n setInputValue(value);\n if (value !== previousValue && onInputChange) {\n onInputChange(value);\n }\n },\n };\n\n return (\n <ThemeProvider value={{ theme }}>\n <FocusWithinGroup focusType=\"virtual-focus\" focusOnInit={false} maxOptionsLength={maxOptionsLength}>\n <ComboboxContext.Provider value={state}>\n <ListboxContext.Provider value={listboxContext}>\n <Flexbox flexDirection=\"column\" alignItems=\"flex-start\" gap=\"0px\" {...wrapperProps}>\n <Popover\n theme={theme}\n overrideDisplayName={{ content: 'ComboboxContent', trigger: 'ComboboxTrigger' }}\n placement=\"bottom-start\"\n role=\"listbox\"\n {...props}\n />\n {description && typeof description === 'string' ? (\n <Text\n theme={theme}\n marginTop=\"8px\"\n variant=\"caption\"\n color={isInvalid ? 'error' : theme === Theme.light ? 'dark-grey' : 'white'}\n {...descriptionProps}\n >\n {description}\n </Text>\n ) : React.isValidElement(description) ? (\n description\n ) : null}\n </Flexbox>\n </ListboxContext.Provider>\n </ComboboxContext.Provider>\n </FocusWithinGroup>\n </ThemeProvider>\n );\n};\nBaseCombobox.className = CLASSNAME;\nBaseCombobox.defaultProps = DEFAULT_PROPS;\nBaseCombobox.displayName = COMPONENT_NAME;\n\nexport const Combobox = Object.assign(BaseCombobox, {\n Trigger: ComboboxTrigger,\n Content: ComboboxContent,\n});\n","import React, { forwardRef, useContext, useEffect } from 'react';\n\nimport {\n AppContainerContext,\n Comp,\n Flexbox,\n FocusWithinGroupContext,\n getContainerProps,\n useTheme,\n} from '@redsift/design-system';\nimport { MenuButtonContentProps } from './types';\nimport {\n FloatingPortal,\n PopoverContent,\n StyledPopoverContent,\n useMergeRefs,\n usePopoverContext,\n} from '@redsift/popovers';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'MenuButtonContent';\nconst CLASSNAME = 'redsift-menu-button-content';\nconst DEFAULT_PROPS: Partial<MenuButtonContentProps> = {};\n\n/**\n * The MenuButtonContent component.\n */\nexport const MenuButtonContent: Comp<MenuButtonContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style } = props;\n const containerProps = getContainerProps(props);\n\n const { getFloatingProps, isOpen, refs, strategy, x, y } = usePopoverContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const appContainerState = useContext(AppContainerContext);\n const focusContext = useContext(FocusWithinGroupContext);\n const theme = useTheme();\n\n useEffect(() => {\n if (focusContext && focusContext.state.delayedAction && focusContext.state.tabStops.length) {\n focusContext.dispatch(focusContext.state.delayedAction);\n }\n }, [focusContext.state.delayedAction, focusContext.state.tabStops.length]);\n\n return (\n <FloatingPortal root={appContainerState?.appContainerRef.current}>\n {isOpen && (\n <StyledPopoverContent\n $theme={theme!}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n ...style,\n }}\n {...getFloatingProps(props)}\n className={classNames(PopoverContent.className, MenuButtonContent.className, className)}\n >\n <Flexbox flexDirection=\"column\" gap=\"8px\" margin=\"8px 0px\" width=\"100%\" {...containerProps}>\n {children}\n </Flexbox>\n </StyledPopoverContent>\n )}\n </FloatingPortal>\n );\n});\nMenuButtonContent.className = CLASSNAME;\nMenuButtonContent.defaultProps = DEFAULT_PROPS;\nMenuButtonContent.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { MenuButtonState } from './types';\n\nexport const MenuButtonContext = React.createContext<MenuButtonState | null>(null);\n","import React, { MouseEvent, ReactElement, forwardRef, useContext } from 'react';\nimport classNames from 'classnames';\n\nimport {\n Comp,\n EventKey,\n FocusWithinGroupActionType,\n FocusWithinGroupContext,\n isComponent,\n useTheme,\n} from '@redsift/design-system';\nimport { MenuButtonTriggerProps } from './types';\nimport { useMergeRefs, usePopoverContext } from '@redsift/popovers';\nimport { MenuButtonContext } from '../menu-button/context';\n\nconst COMPONENT_NAME = 'MenuButtonTrigger';\nconst CLASSNAME = 'redsift-menu-button-trigger';\nconst DEFAULT_PROPS: Partial<MenuButtonTriggerProps> = {};\n\n/**\n * The MenuButtonTrigger component.\n */\nexport const MenuButtonTrigger: Comp<MenuButtonTriggerProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = usePopoverContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n const focusContext = useContext(FocusWithinGroupContext);\n const menuButtonContext = useContext(MenuButtonContext);\n const theme = useTheme();\n\n const renderedChildren = typeof children === 'function' ? children({ isOpen }) : children;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const code = event.code;\n\n if (code === 'Escape' || code === 'Tab') {\n if (isOpen) {\n handleOpen(false);\n }\n } else if (code === 'ArrowDown') {\n if (!isOpen) {\n handleOpen(true);\n }\n if (focusContext.state.selectedId !== null) {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.ArrowDown,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n } else {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n }\n event.preventDefault();\n } else if (code === 'ArrowUp') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: focusContext.state.selectedId !== null ? EventKey.ArrowUp : EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'Home') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'End') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.End,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'Enter') {\n if (isOpen && focusContext.state.selectedId) {\n document.getElementById(focusContext.state.selectedId)?.click();\n }\n }\n };\n\n const handleClick = (event: MouseEvent) => {\n event.preventDefault();\n if (isOpen) {\n handleOpen(false);\n } else {\n handleOpen(true);\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.FOCUS_ON_LIST,\n payload: {\n id: focusContext.state.activedescendant?.[0] ?? '',\n },\n },\n });\n }\n };\n\n if (isComponent('Button')(renderedChildren) || isComponent('IconButton')(renderedChildren)) {\n return React.cloneElement(renderedChildren, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(renderedChildren as ReactElement).props,\n children: (renderedChildren as ReactElement).props.children ?? '',\n }),\n theme,\n 'aria-activedescendant': isOpen ? focusContext.state.activedescendant?.[0] : undefined,\n className: classNames((renderedChildren as ReactElement).props.className, menuButtonContext?.triggerClassName),\n color: menuButtonContext?.color ?? (renderedChildren as ReactElement).props.color,\n isActive: isOpen,\n isDisabled: menuButtonContext?.isDisabled,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n role: 'button',\n variant: menuButtonContext?.variant ?? (renderedChildren as ReactElement).props.variant,\n });\n }\n\n return <>{renderedChildren}</>;\n});\nMenuButtonTrigger.className = CLASSNAME;\nMenuButtonTrigger.defaultProps = DEFAULT_PROPS;\nMenuButtonTrigger.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { MenuButtonContent } from '../menu-button-content';\nimport { MenuButtonTrigger } from '../menu-button-trigger';\n\nimport { MenuButtonProps } from './types';\nimport { Popover } from '@redsift/popovers';\nimport { MenuButtonContext } from './context';\nimport { FocusWithinGroup, Flexbox, Text, Theme, useTheme, ThemeProvider } from '@redsift/design-system';\n\nconst COMPONENT_NAME = 'MenuButton';\nconst CLASSNAME = 'redsift-menu-button';\nconst DEFAULT_PROPS: Partial<MenuButtonProps> = {\n minWidth: 'trigger-width',\n};\n\n/**\n * The MenuButton component.\n */\nexport const BaseMenuButton: React.FC<MenuButtonProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n color,\n description,\n descriptionProps,\n isDisabled,\n label,\n labelProps,\n theme: propsTheme,\n triggerClassName,\n variant,\n wrapperProps,\n } = props;\n\n const theme = useTheme(propsTheme);\n\n /** MenuButton context. */\n const state = {\n color,\n isDisabled: isDisabled || false,\n theme,\n triggerClassName,\n variant,\n };\n\n return (\n <ThemeProvider value={{ theme }}>\n <FocusWithinGroup focusType=\"virtual-focus\" listRole=\"menu\" focusOnInit={false}>\n <MenuButtonContext.Provider value={state}>\n <Flexbox flexDirection=\"column\" alignItems=\"flex-start\" gap=\"0px\" {...wrapperProps}>\n {label && typeof label === 'string' ? <Text {...labelProps}>{label}</Text> : label ? label : null}\n <Popover\n theme={theme}\n overrideDisplayName={{ content: 'MenuButtonContent', trigger: 'MenuButtonTrigger' }}\n placement=\"bottom-end\"\n role=\"menu\"\n {...props}\n />\n {description && typeof description === 'string' ? (\n <Text\n theme={theme}\n marginTop=\"8px\"\n variant=\"caption\"\n color={theme === Theme.light ? 'dark-grey' : 'white'}\n {...descriptionProps}\n >\n {description}\n </Text>\n ) : description ? (\n description\n ) : null}\n </Flexbox>\n </MenuButtonContext.Provider>\n </FocusWithinGroup>\n </ThemeProvider>\n );\n};\nBaseMenuButton.className = CLASSNAME;\nBaseMenuButton.defaultProps = DEFAULT_PROPS;\nBaseMenuButton.displayName = COMPONENT_NAME;\n\nexport const MenuButton = Object.assign(BaseMenuButton, {\n Trigger: MenuButtonTrigger,\n Content: MenuButtonContent,\n});\n","import React, { forwardRef, useContext, useEffect } from 'react';\n\nimport {\n AppContainerContext,\n Comp,\n Flexbox,\n FocusWithinGroupContext,\n ListboxContext,\n getContainerProps,\n useTheme,\n} from '@redsift/design-system';\nimport { SelectContentProps } from './types';\nimport {\n FloatingPortal,\n PopoverContent,\n StyledPopoverContent,\n useMergeRefs,\n usePopoverContext,\n} from '@redsift/popovers';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'SelectContent';\nconst CLASSNAME = 'redsift-select-content';\nconst DEFAULT_PROPS: Partial<SelectContentProps> = {};\n\n/**\n * The SelectContent component.\n */\nexport const SelectContent: Comp<SelectContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style } = props;\n const containerProps = getContainerProps(props);\n\n const { getFloatingProps, isOpen, refs, strategy, x, y } = usePopoverContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const appContainerState = useContext(AppContainerContext);\n const focusContext = useContext(FocusWithinGroupContext);\n const listboxState = useContext(ListboxContext);\n const theme = useTheme();\n\n useEffect(() => {\n if (focusContext && focusContext.state.delayedAction && focusContext.state.tabStops.length) {\n focusContext.dispatch(focusContext.state.delayedAction);\n }\n }, [focusContext.state.delayedAction, focusContext.state.tabStops.length]);\n\n return (\n <FloatingPortal root={appContainerState?.appContainerRef.current}>\n {isOpen && (\n <StyledPopoverContent\n $theme={theme!}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n ...style,\n }}\n {...getFloatingProps(props)}\n className={classNames(PopoverContent.className, SelectContent.className, className)}\n aria-disabled={listboxState.state.isDisabled}\n >\n <Flexbox flexDirection=\"column\" gap=\"0px\" margin=\"8px 0px\" width=\"100%\" {...containerProps}>\n {children}\n </Flexbox>\n </StyledPopoverContent>\n )}\n </FloatingPortal>\n );\n});\nSelectContent.className = CLASSNAME;\nSelectContent.defaultProps = DEFAULT_PROPS;\nSelectContent.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { SelectState } from './types';\n\nexport const SelectContext = React.createContext<SelectState | null>(null);\n","import React, { MouseEvent, ReactElement, forwardRef, useContext, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\n\nimport {\n Comp,\n EventKey,\n FocusWithinGroupActionType,\n FocusWithinGroupContext,\n Icon,\n ListboxActionType,\n ListboxContext,\n isComponent,\n useTheme,\n} from '@redsift/design-system';\nimport { SelectTriggerProps } from './types';\nimport { useMergeRefs, usePopoverContext } from '@redsift/popovers';\nimport { SelectContext } from '../select/context';\nimport { mdiChevronDown } from '@redsift/icons';\n\nconst COMPONENT_NAME = 'SelectTrigger';\nconst CLASSNAME = 'redsift-select-trigger';\nconst DEFAULT_PROPS: Partial<SelectTriggerProps> = {};\n\n/**\n * The SelectTrigger component.\n */\nexport const SelectTrigger: Comp<SelectTriggerProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const { children, hideExpandButton } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = usePopoverContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n const focusContext = useContext(FocusWithinGroupContext);\n const selectContext = useContext(SelectContext);\n const listboxState = useContext(ListboxContext);\n const theme = useTheme();\n\n const renderedChildren =\n typeof children === 'function' ? children({ value: selectContext?.value, isOpen }) : children;\n\n const _inputRef = useRef<HTMLInputElement>();\n const inputRef = renderedChildren.props.inputRef ?? _inputRef;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const code = event.code;\n\n if (code === 'Escape') {\n if (isOpen) {\n handleOpen(false);\n }\n } else if (code === 'ArrowDown') {\n if (!isOpen) {\n handleOpen(true);\n }\n if (focusContext.state.selectedId !== null) {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.ArrowDown,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n } else if (!focusContext.state.activedescendant?.[0]) {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n } else {\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.FOCUS_ON_LIST,\n payload: {\n id: focusContext.state.activedescendant?.[0] ?? '',\n },\n },\n });\n }\n event.preventDefault();\n } else if (code === 'ArrowUp') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: focusContext.state.selectedId !== null ? EventKey.ArrowUp : EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'Home') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.Home,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'End') {\n if (!isOpen) {\n handleOpen(true);\n }\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,\n payload: {\n key: EventKey.End,\n ctrlKey: event.ctrlKey,\n },\n },\n });\n event.preventDefault();\n } else if (code === 'Enter') {\n if (isOpen && focusContext.state.selectedId) {\n listboxState.dispatch({\n type: ListboxActionType.SET,\n payload: {\n values: [focusContext.state.activedescendant?.[1] ?? ''],\n activedescendant: focusContext.state.activedescendant,\n },\n });\n }\n }\n };\n\n const handleClick = (event: MouseEvent) => {\n event.preventDefault();\n if (isOpen) {\n handleOpen(false);\n } else {\n handleOpen(true);\n focusContext.dispatch({\n type: FocusWithinGroupActionType.DELAY_ACTION,\n payload: {\n type: FocusWithinGroupActionType.FOCUS_ON_LIST,\n payload: {\n id: focusContext.state.activedescendant?.[0] ?? '',\n },\n },\n });\n }\n };\n\n useEffect(() => {\n selectContext?.setValue(listboxState.state.selectedValues[0]);\n handleOpen(false);\n }, [listboxState.state]);\n\n if (isComponent('TextField')(renderedChildren)) {\n return React.cloneElement(renderedChildren, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(renderedChildren as ReactElement).props,\n children: (renderedChildren as ReactElement).props.children ?? '',\n }),\n 'aria-activedescendant': isOpen ? focusContext.state.activedescendant?.[0] : undefined,\n className: classNames((renderedChildren as ReactElement).props.className, selectContext?.triggerClassName),\n color: selectContext?.color ?? (renderedChildren as ReactElement).props.color,\n inputRef,\n internal: (value?: string, isDisabled?: boolean, isInvalid?: boolean, isRequired?: boolean) => {\n return (\n <>\n {typeof (renderedChildren as ReactElement).props.internal === 'function'\n ? (renderedChildren as ReactElement).props.internal(value, isDisabled, isInvalid, isRequired)\n : (renderedChildren as ReactElement).props.internal}\n {hideExpandButton ? null : (\n <Icon\n color={isDisabled ? 'no-data' : 'question'}\n icon={mdiChevronDown}\n style={{\n transition: 'transform 300ms ease-out',\n transform: `rotate(${isOpen ? '-180deg' : '0'})`,\n cursor: 'pointer',\n }}\n />\n )}\n </>\n );\n },\n isActive: isOpen,\n isDisabled: selectContext?.isDisabled,\n isReadOnly: true,\n theme,\n role: 'combobox',\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n style: { ...(renderedChildren as ReactElement).props.style, caretColor: 'transparent', cursor: 'pointer' },\n variant: selectContext?.variant ?? (renderedChildren as ReactElement).props.variant,\n ...(selectContext?.isInvalid === true && { color: 'error' }),\n ...(typeof children !== 'function' &&\n selectContext?.value && {\n value: selectContext.value,\n }),\n inputProps: {\n ...(renderedChildren as ReactElement).props.inputProps,\n style: { ...(renderedChildren as ReactElement).props.inputProps?.style, cursor: 'pointer' },\n },\n });\n } else if (isComponent('Button')(renderedChildren)) {\n return React.cloneElement(renderedChildren, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(renderedChildren as ReactElement).props,\n children: (renderedChildren as ReactElement).props.children ?? '',\n }),\n 'aria-activedescendant': isOpen ? focusContext.state.activedescendant?.[0] : undefined,\n className: classNames((renderedChildren as ReactElement).props.className, selectContext?.triggerClassName),\n color: selectContext?.color ?? (renderedChildren as ReactElement).props.color,\n isActive: isOpen,\n isDisabled: selectContext?.isDisabled,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n rightIcon: (renderedChildren as ReactElement).props.rightIcon ?? mdiChevronDown,\n rightIconProps: (renderedChildren as ReactElement).props.rightIcon\n ? (renderedChildren as ReactElement).props.rightIconProps\n : (renderedChildren as ReactElement).props.rightIconProps ?? {\n style: {\n transition: 'transform 300ms ease-out',\n transform: `rotate(${isOpen ? '-180deg' : '0'})`,\n },\n },\n role: 'combobox',\n theme,\n variant: selectContext?.variant ?? (renderedChildren as ReactElement).props.variant,\n ...(selectContext?.isInvalid === true && { color: 'error' }),\n ...(typeof children !== 'function' &&\n selectContext?.value && {\n children: selectContext.value,\n }),\n });\n }\n\n return <>{renderedChildren}</>;\n});\nSelectTrigger.className = CLASSNAME;\nSelectTrigger.defaultProps = DEFAULT_PROPS;\nSelectTrigger.displayName = COMPONENT_NAME;\n","import React, { useEffect, useMemo, useReducer, useState } from 'react';\nimport { SelectContent } from '../select-content';\nimport { SelectTrigger } from '../select-trigger';\n\nimport { SelectProps } from './types';\nimport { Popover } from '@redsift/popovers';\nimport { SelectContext } from './context';\nimport {\n ListboxReducer,\n ListboxState,\n ListboxContextProps,\n FocusWithinGroup,\n ListboxContext,\n Flexbox,\n Text,\n ListboxActionType,\n Theme,\n useTheme,\n ThemeProvider,\n} from '@redsift/design-system';\n\nconst COMPONENT_NAME = 'Select';\nconst CLASSNAME = 'redsift-select';\nconst DEFAULT_PROPS: Partial<SelectProps> = {\n minWidth: 'trigger-width',\n};\n\n/**\n * The Select component.\n */\nexport const BaseSelect: React.FC<SelectProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n color,\n defaultValue,\n description,\n descriptionProps,\n isDisabled,\n isInvalid,\n onChange,\n theme: propsTheme,\n triggerClassName,\n value,\n variant,\n wrapperProps,\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const [selectedValue, setValue] = useState<string>(value || defaultValue || '');\n useEffect(() => {\n if (value) {\n state.setValue(value);\n }\n }, [value]);\n\n /** Listbox context */\n const [listboxState, listboxDispatch] = useReducer(ListboxReducer, {\n isDisabled,\n selectedValues: [selectedValue],\n } as ListboxState);\n const listboxContext = useMemo<ListboxContextProps>(\n () => ({\n state: listboxState,\n dispatch: listboxDispatch,\n }),\n [listboxState]\n );\n useEffect(() => {\n listboxDispatch({\n type: ListboxActionType.UPDATE_OPTIONS,\n payload: {\n isDisabled: isDisabled || false,\n },\n });\n }, [isDisabled, theme]);\n\n /** Select context. */\n const state = {\n color,\n isDisabled: isDisabled || false,\n isInvalid: isInvalid || false,\n setValue(value: string) {\n if (isDisabled) {\n return;\n }\n\n const previousValue = selectedValue;\n setValue(value);\n if (value !== previousValue && onChange) {\n onChange(value);\n }\n },\n theme,\n triggerClassName,\n value: selectedValue,\n variant,\n };\n\n return (\n <ThemeProvider value={{ theme }}>\n <FocusWithinGroup focusType=\"virtual-focus\" focusOnInit={false}>\n <SelectContext.Provider value={state}>\n <ListboxContext.Provider value={listboxContext}>\n <Flexbox flexDirection=\"column\" alignItems=\"flex-start\" gap=\"0px\" {...wrapperProps}>\n <Popover\n theme={theme}\n overrideDisplayName={{ content: 'SelectContent', trigger: 'SelectTrigger' }}\n placement=\"bottom-start\"\n role=\"listbox\"\n {...props}\n />\n {description && typeof description === 'string' ? (\n <Text\n theme={theme}\n marginTop=\"8px\"\n variant=\"caption\"\n color={isInvalid ? 'error' : theme === Theme.light ? 'dark-grey' : 'white'}\n {...descriptionProps}\n >\n {description}\n </Text>\n ) : description ? (\n description\n ) : null}\n </Flexbox>\n </ListboxContext.Provider>\n </SelectContext.Provider>\n </FocusWithinGroup>\n </ThemeProvider>\n );\n};\nBaseSelect.className = CLASSNAME;\nBaseSelect.defaultProps = DEFAULT_PROPS;\nBaseSelect.displayName = COMPONENT_NAME;\n\nexport const Select = Object.assign(BaseSelect, {\n Trigger: SelectTrigger,\n Content: SelectContent,\n});\n"],"names":["ComboboxSelectionMode","single","multiple","ComboboxVariant","options","suggestions","StyledComboboxContentHeader","styled","div","baseContainer","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","ComboboxContentHeader","forwardRef","props","ref","children","className","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","_extends","classNames","defaultProps","displayName","StyledComboboxContentFooter","ComboboxContentFooter","ComboboxContext","createContext","ComboboxContentListbox","renderFreeTextItem","focusContext","useContext","FocusWithinGroupContext","listboxState","ListboxContext","comboboxState","useEffect","state","delayedAction","tabStops","length","dispatch","canHaveMultipleSelections","selectionMode","canHaveFreeText","variant","cloneChildAndPush","child","array","value","includes","push","cloneElement","key","hasCheckbox","renderedChildren","Array","isArray","isComponent","Item","maxOptionsLength","filter","filterValue","type","caseSensitive","startsWith","endsWith","toLowerCase","tabIndex","isFocused","isSelected","isDisabled","handleKeyDown","handleClick","useListboxItem","domElementRef","freeTextItemRef","inputValue","id","freeTextItemId","theme","useTheme","renderedFreeTextItem","Flexbox","flexDirection","gap","margin","style","outline","width","StyledItem","role","$isActive","undefined","$isDisabled","$isFocused","$isHovered","$isSelected","$hasCheckbox","$theme","onClick","onKeyDown","height","visibility","padding","BaseComboboxContent","containerProps","getContainerProps","getFloatingProps","isOpen","refs","strategy","x","y","usePopoverContext","popoverRef","useMergeRefs","setFloating","appContainerState","AppContainerContext","header","listbox","footer","partitionComponents","Children","toArray","FloatingPortal","root","appContainerRef","current","StyledPopoverContent","_objectSpread","position","top","left","PopoverContent","ComboboxContent","Object","assign","Header","Listbox","Footer","enUS","frFR","ComboboxTrigger","_renderedChildren$pro","useId","hideExpandButton","openOnFocus","hideClearButton","format","useMessageFormatter","intlMessages","getReferenceProps","handleOpen","handleOpenPopover","childrenRef","triggerRef","setReference","_inputRef","useRef","inputRef","handleChange","FocusWithinGroupActionType","FILTER_LIST","payload","setInputValue","event","code","ListboxActionType","TOGGLE","activedescendant","test","DELAY_ACTION","KEY_DOWN_ON_LIST","EventKey","Home","ctrlKey","SET","values","slice","selectedId","ArrowDown","preventDefault","ArrowUp","End","_focusContext$state$a","_focusContext$state$a2","_focusContext$state$a3","_focusContext$state$a4","_focusContext$state$a5","_inputRef$current","_focusContext$state$a6","focus","FOCUS_ON_LIST","handleFocus","_inputRef$current2","select","handleBlur","setValue","selectedValues","handleClear","_props$children","_focusContext$state$a7","_comboboxState$value","_getReferenceProps","ariaControls","ariaExpanded","ariaHaspopup","inputProps","autoComplete","autoCapitalize","autoCorrect","spellCheck","count","hasClearButton","triggerClassName","isInvalid","onClear","onChange","onBlur","onFocus","pills","map","v","IconButton","icon","mdiClose","label","internal","isRequired","Fragment","color","mdiChevronDown","iconProps","transition","transform","minWidth","BaseCombobox","defaultValue","description","descriptionProps","onInputChange","propsInputValue","propsTheme","wrapperProps","selectedValue","useState","listboxDispatch","useReducer","ListboxReducer","listboxContext","useMemo","UPDATE_OPTIONS","previousValue","ThemeProvider","FocusWithinGroup","focusType","focusOnInit","Provider","alignItems","Popover","overrideDisplayName","content","trigger","placement","Text","marginTop","Theme","light","isValidElement","Combobox","Trigger","Content","MenuButtonContent","MenuButtonContext","MenuButtonTrigger","menuButtonContext","_document$getElementB","document","getElementById","click","_menuButtonContext$co","_menuButtonContext$va","isActive","BaseMenuButton","labelProps","listRole","MenuButton","SelectContent","SelectContext","SelectTrigger","selectContext","_focusContext$state$a8","_selectContext$color","_selectContext$varian","_props$inputProps","Icon","cursor","isReadOnly","caretColor","_props$children2","_focusContext$state$a9","_selectContext$color2","_props$rightIcon","_props$rightIconProps","_selectContext$varian2","rightIcon","rightIconProps","BaseSelect","Select"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
"test": "yarn test:unit && yarn test:storybook"
|
|
31
31
|
},
|
|
32
32
|
"types": "index.d.ts",
|
|
33
|
-
"version": "10.
|
|
33
|
+
"version": "10.3.0-alpha.1",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@redsift/design-system": "^10.
|
|
36
|
-
"@redsift/icons": "^10.
|
|
37
|
-
"@redsift/popovers": "^10.
|
|
35
|
+
"@redsift/design-system": "^10.3.0-alpha.1",
|
|
36
|
+
"@redsift/icons": "^10.3.0-alpha.1",
|
|
37
|
+
"@redsift/popovers": "^10.3.0-alpha.1",
|
|
38
38
|
"classnames": "^2.3.1",
|
|
39
39
|
"styled-components": "^5.3.5"
|
|
40
40
|
},
|
|
@@ -95,5 +95,5 @@
|
|
|
95
95
|
"react-dom": ">=17",
|
|
96
96
|
"styled-components": "^5.3.5"
|
|
97
97
|
},
|
|
98
|
-
"gitHead": "
|
|
98
|
+
"gitHead": "316717fd897b6d1baffebb79fac296535db5d3a9"
|
|
99
99
|
}
|