@persona/design-system 0.10.12 → 0.10.14
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/CHANGELOG.md +41 -0
- package/dist/{CheckboxGroupField-XSVAmESI.d.mts → CheckboxGroupField-tBvP22Bo.d.mts} +2 -2
- package/dist/CheckboxGroupField.d.mts +1 -1
- package/dist/{Combobox-BNjYEAmv.mjs → Combobox-DmFQ5cAy.mjs} +63 -51
- package/dist/Combobox-DmFQ5cAy.mjs.map +1 -0
- package/dist/{Combobox-DbcSss15.d.mts → Combobox-RX4DfO5L.d.mts} +3 -3
- package/dist/Combobox.d.mts +2 -2
- package/dist/{ComboboxBase-CrFweFGi.d.mts → ComboboxBase-VIGR58Uc.d.mts} +2 -2
- package/dist/ComboboxBase.d.mts +1 -1
- package/dist/{ComboboxMultiSelect-Cp5GBGQj.d.mts → ComboboxMultiSelect-D5TWGGKZ.d.mts} +2 -2
- package/dist/ComboboxMultiSelect.d.mts +1 -1
- package/dist/{ComboboxSingleSelect-u7fK3Yvy.d.mts → ComboboxSingleSelect-D9It8t6W.d.mts} +3 -3
- package/dist/ComboboxSingleSelect.d.mts +1 -1
- package/dist/{CompactBar-BLZZWtIE.d.mts → CompactBar-tNtY2EhN.d.mts} +2 -2
- package/dist/CompactBar.d.mts +1 -1
- package/dist/{ControlBar-B3Jn8G0k.d.mts → ControlBar-CDb6b1_6.d.mts} +5 -3
- package/dist/ControlBar.d.mts +1 -1
- package/dist/{DataTable-C1mdfmQa.d.mts → DataTable-0nhT5_Fe.d.mts} +31 -7
- package/dist/{DataTable-DdSY9mzT.mjs → DataTable-6t5ryaEq.mjs} +146 -77
- package/dist/DataTable-6t5ryaEq.mjs.map +1 -0
- package/dist/DataTable.d.mts +1 -1
- package/dist/{DatePicker-DiilpYQg.mjs → DatePicker-CHVYVKB-.mjs} +2 -2
- package/dist/{DatePicker-DiilpYQg.mjs.map → DatePicker-CHVYVKB-.mjs.map} +1 -1
- package/dist/DropdownButton.d.mts +1 -1
- package/dist/{DropdownMenu-CQR0U-zM.d.mts → DropdownMenu-Db6N6ZNB.d.mts} +2 -2
- package/dist/DropdownMenu.d.mts +1 -1
- package/dist/{FloatingActionBar-BUgSKimy.d.mts → FloatingActionBar-CfgjHs81.d.mts} +5 -1
- package/dist/FloatingActionBar.d.mts +1 -1
- package/dist/{FormField-yYJFkJ6R.mjs → FormField-BfVrDOY0.mjs} +4 -4
- package/dist/{FormField-yYJFkJ6R.mjs.map → FormField-BfVrDOY0.mjs.map} +1 -1
- package/dist/{HoverCopyableField-X2XfKTTh.mjs → HoverCopyableField-CJ_p3llp.mjs} +2 -2
- package/dist/{HoverCopyableField-X2XfKTTh.mjs.map → HoverCopyableField-CJ_p3llp.mjs.map} +1 -1
- package/dist/IndexTableLayout.d.mts +3 -3
- package/dist/InlineCombobox.d.mts +1 -1
- package/dist/InlineInput.d.mts +1 -1
- package/dist/{Link-B29ZMN6m.mjs → Link-Df3zJrj2.mjs} +1 -1
- package/dist/{Link-B29ZMN6m.mjs.map → Link-Df3zJrj2.mjs.map} +1 -1
- package/dist/{ListBox-4rTgr3IJ.mjs → ListBox-BRgjgUSp.mjs} +2 -2
- package/dist/{ListBox-4rTgr3IJ.mjs.map → ListBox-BRgjgUSp.mjs.map} +1 -1
- package/dist/{ListBox-ZDaitaXR.d.mts → ListBox-l47zUDj4.d.mts} +2 -2
- package/dist/ListBox.d.mts +1 -1
- package/dist/{ListBoxField-CGvVWKyL.d.mts → ListBoxField-Di_6uD3S.d.mts} +4 -4
- package/dist/ListBoxField.d.mts +1 -1
- package/dist/{LogicRow-Bzp5o1sL.d.mts → LogicRow-7f17CKrW.d.mts} +2 -2
- package/dist/LogicRow.d.mts +1 -1
- package/dist/MaskedInput.d.mts +1 -1
- package/dist/{Menu-DviYNrFd.d.mts → Menu-DvzoR8e7.d.mts} +2 -2
- package/dist/Menu.d.mts +1 -1
- package/dist/{Modal-CiPFqr0L.mjs → Modal-C_vSgqgl.mjs} +20 -16
- package/dist/Modal-C_vSgqgl.mjs.map +1 -0
- package/dist/{Modal-CujB7DuB.d.mts → Modal-IVXc4p8Y.d.mts} +7 -2
- package/dist/Modal.d.mts +1 -1
- package/dist/{Pii-jSYND7Cn.mjs → Pii-BYPkrBuT.mjs} +1 -1
- package/dist/{Pii-jSYND7Cn.mjs.map → Pii-BYPkrBuT.mjs.map} +1 -1
- package/dist/{Popover-CVX-dfYb.mjs → Popover-DP9DXReH.mjs} +1 -1
- package/dist/{Popover-CVX-dfYb.mjs.map → Popover-DP9DXReH.mjs.map} +1 -1
- package/dist/{Select-DsVeAyZy.d.mts → Select-boZ6XP8k.d.mts} +2 -2
- package/dist/Select.d.mts +1 -1
- package/dist/SmartTextInputField.d.mts +2 -2
- package/dist/SmartTextInputListbox.d.mts +8 -3
- package/dist/{TableBox-D9NA-s9l.mjs → TableBox-RxpwflEb.mjs} +3 -3
- package/dist/{TableBox-D9NA-s9l.mjs.map → TableBox-RxpwflEb.mjs.map} +1 -1
- package/dist/TableBox.d.mts +1 -1
- package/dist/{TableBoxCell-CQOL30et.d.mts → TableBoxCell-B6Z23mby.d.mts} +4 -4
- package/dist/TableBoxCell.d.mts +1 -1
- package/dist/{TableBoxField-z0GIFeQw.d.mts → TableBoxField-6qAOW8t9.d.mts} +5 -5
- package/dist/TableBoxField.d.mts +1 -1
- package/dist/{TableBoxRow-tb9-KMr9.d.mts → TableBoxRow-CpgNWdLS.d.mts} +2 -2
- package/dist/TableBoxRow.d.mts +1 -1
- package/dist/{TableBoxRowActions-BZwulsFP.d.mts → TableBoxRowActions-BDx5naRj.d.mts} +2 -2
- package/dist/TableBoxRowActions.d.mts +1 -1
- package/dist/{TableControls-DE6eHq8h.d.mts → TableControls-BGKL7_zF.d.mts} +4 -4
- package/dist/{TableControls-BXykbUBf.mjs → TableControls-BwZl4TjJ.mjs} +31 -12
- package/dist/TableControls-BwZl4TjJ.mjs.map +1 -0
- package/dist/TableControls.d.mts +1 -1
- package/dist/{TableControlsContext-C2_2EuMh.d.mts → TableControlsContext-DhABbtVY.d.mts} +2 -2
- package/dist/TableControlsContext.d.mts +1 -1
- package/dist/{TableViewConfigurationDropdown-DE9HFXYY.d.mts → TableViewConfigurationDropdown-D76ApJ_-.d.mts} +2 -2
- package/dist/TableViewConfigurationDropdown.d.mts +1 -1
- package/dist/WizardModal.d.mts +1 -1
- package/dist/{clientFilterUtils-2TBUC31K.d.mts → clientFilterUtils-WH_Dqtv4.d.mts} +2 -2
- package/dist/clientFilterUtils.d.mts +1 -1
- package/dist/components/Combobox/index.d.mts +4 -4
- package/dist/components/Combobox/index.mjs +1 -1
- package/dist/components/DataTable/TableControls/index.d.mts +7 -7
- package/dist/components/DataTable/TableControls/index.mjs +1 -1
- package/dist/components/DataTable/index.d.mts +6 -6
- package/dist/components/DataTable/index.mjs +1 -1
- package/dist/components/DataTable/types.d.mts +1 -1
- package/dist/components/DatePicker/index.mjs +1 -1
- package/dist/components/DropdownMenu/index.d.mts +1 -1
- package/dist/components/FormField/index.d.mts +4 -4
- package/dist/components/FormField/index.mjs +1 -1
- package/dist/components/HoverCopyableField/index.mjs +1 -1
- package/dist/components/Link/index.mjs +1 -1
- package/dist/components/ListBox/index.d.mts +3 -3
- package/dist/components/ListBox/index.mjs +1 -1
- package/dist/components/Menu/index.d.mts +1 -1
- package/dist/components/Modal/index.d.mts +1 -1
- package/dist/components/Modal/index.mjs +1 -1
- package/dist/components/Pii/index.mjs +1 -1
- package/dist/components/Popover/index.mjs +1 -1
- package/dist/components/RichTextEditor/index.mjs +2 -2
- package/dist/components/Select/index.d.mts +1 -1
- package/dist/components/SmartTextInput/index.mjs +128 -59
- package/dist/components/SmartTextInput/index.mjs.map +1 -1
- package/dist/components/TableBox/index.d.mts +1 -1
- package/dist/components/TableBox/index.mjs +1 -1
- package/dist/components/VersionHistory/index.mjs +1 -1
- package/dist/fieldPickerOptions.d.mts +1 -1
- package/dist/{filters-DW7pqWv3.d.mts → filters-BXtKuft3.d.mts} +2 -2
- package/dist/filters.d.mts +1 -1
- package/dist/{helpers-BTD2kXLs.d.mts → helpers-gpO42h8t.d.mts} +5 -3
- package/dist/helpers.d.mts +1 -1
- package/dist/{index-B4tE0RxY.d.mts → index-bkzLg85W.d.mts} +3 -3
- package/dist/{inputFields-DnBb3NhK.d.mts → inputFields-B7parF2l.d.mts} +4 -4
- package/dist/inputFields.d.mts +1 -1
- package/dist/lib/PDSProvider.d.mts +2 -1
- package/dist/lib/PDSProvider.mjs +8 -3
- package/dist/lib/PDSProvider.mjs.map +1 -1
- package/dist/lib/colorMode.d.mts +18 -7
- package/dist/lib/colorMode.mjs +47 -13
- package/dist/lib/colorMode.mjs.map +1 -1
- package/dist/lib/schemaOptions.mjs +1 -1
- package/dist/lib/schemaOptions.mjs.map +1 -1
- package/dist/patterns/IndexTableLayout/index.mjs +1 -1
- package/dist/patterns/WizardModal/index.mjs +1 -1
- package/dist/{types-NO2GRlM-.d.mts → types-BvaXqjUm.d.mts} +2 -2
- package/dist/{types-Dws2XDz2.d.mts → types-CuH-sUJ2.d.mts} +6 -4
- package/dist/types5.d.mts +1 -1
- package/dist/useColumnConfiguration.d.mts +2 -2
- package/dist/useComboboxFooterAction.d.mts +1 -1
- package/dist/{useTableColumns-tITjHasE.d.mts → useTableColumns-I7StvoRs.d.mts} +17 -2
- package/dist/useTableColumns.d.mts +1 -1
- package/dist/useTruncation.d.mts +1 -1
- package/dist/utils4.d.mts +1 -1
- package/dist/withDisabledReason.d.mts +19 -0
- package/llms.txt +4 -3
- package/package.json +4 -12
- package/skills/ui-authoring/COMPONENTS.md +0 -1
- package/skills/ui-authoring/PATTERNS.md +0 -64
- package/skills/ui-authoring/TOKENS.md +14 -25
- package/dist/ChartFrame.d.mts +0 -61
- package/dist/ChartLegend.d.mts +0 -60
- package/dist/ChartPopover.d.mts +0 -155
- package/dist/Combobox-BNjYEAmv.mjs.map +0 -1
- package/dist/DataTable-DdSY9mzT.mjs.map +0 -1
- package/dist/Modal-CiPFqr0L.mjs.map +0 -1
- package/dist/TableControls-BXykbUBf.mjs.map +0 -1
- package/dist/chartColors.d.mts +0 -92
- package/dist/chartFrameLayout.d.mts +0 -46
- package/dist/components/Chart/index.d.mts +0 -9
- package/dist/components/Chart/index.mjs +0 -680
- package/dist/components/Chart/index.mjs.map +0 -1
- package/dist/useChartColors.d.mts +0 -30
- package/dist/useChartSeriesVisibility.d.mts +0 -22
- package/dist/useChartStyles.d.mts +0 -108
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,44 @@
|
|
|
1
|
+
## 0.10.14 (2026-11-06)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
- **modal:** accept a portalContainer for the overlay
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **design-system:** keep SmartTextInput mode in sync with external state
|
|
10
|
+
|
|
11
|
+
## 0.10.13 (2026-11-06)
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
- **design-system:** explain disabled bulk actions with disabledReason ([#546](https://github.com/persona-id/persona-design-system/pull/546))
|
|
16
|
+
- **design-system:** controlled DataTable row selection ([#544](https://github.com/persona-id/persona-design-system/pull/544))
|
|
17
|
+
- ⚠️ **charting:** move chart components to a private @persona/charting package
|
|
18
|
+
- **colorMode:** add useColorMode, scope theme and color-scheme
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
- **design-system:** keep controlled selection checkboxes across data refreshes ([#545](https://github.com/persona-id/persona-design-system/pull/545))
|
|
23
|
+
- **design-system:** reject SmartTextInput chain syntax errors, keep text after unclosed expressions, match queries case-insensitively
|
|
24
|
+
- **design-system:** match custom function links in validatePath
|
|
25
|
+
- **design-system:** use semantic tokens for SmartTextInput styling
|
|
26
|
+
- **design-system:** keep SmartTextInput function-argument cursor offsets aligned
|
|
27
|
+
- **design-system:** keep SmartTextInput popover styles and listbox semantics
|
|
28
|
+
- **combobox:** report multi-select activation once under React 18 ([#554](https://github.com/persona-id/persona-design-system/pull/554))
|
|
29
|
+
- **colorMode:** print roots and scopes on the light palette
|
|
30
|
+
- **modal:** drop the entrance transform once the modal has risen
|
|
31
|
+
|
|
32
|
+
### ⚠️ Breaking Changes
|
|
33
|
+
|
|
34
|
+
- **charting:** move chart components to a private @persona/charting package
|
|
35
|
+
@persona/design-system/components/Chart moved to the private @persona/charting package
|
|
36
|
+
|
|
37
|
+
### 🧱 Updated Dependencies
|
|
38
|
+
|
|
39
|
+
- Updated design-tokens to 0.4.27
|
|
40
|
+
- Updated icons to 0.1.16
|
|
41
|
+
|
|
1
42
|
## 0.10.12 (2026-11-05)
|
|
2
43
|
|
|
3
44
|
### Features
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as CheckboxProps } from "./Checkbox-Clt9mCTk.mjs";
|
|
2
|
-
import { o as ImplementsFormField } from "./inputFields-
|
|
2
|
+
import { o as ImplementsFormField } from "./inputFields-B7parF2l.mjs";
|
|
3
3
|
import { ReactElement } from "react";
|
|
4
4
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
import { AriaCheckboxGroupProps } from "react-aria";
|
|
@@ -22,4 +22,4 @@ declare const CheckboxGroupField: ({
|
|
|
22
22
|
}: CheckboxGroupFieldProps) => _$react_jsx_runtime0.JSX.Element;
|
|
23
23
|
//#endregion
|
|
24
24
|
export { CheckboxGroupField as t };
|
|
25
|
-
//# sourceMappingURL=CheckboxGroupField-
|
|
25
|
+
//# sourceMappingURL=CheckboxGroupField-tBvP22Bo.d.mts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as CheckboxGroupField } from "./CheckboxGroupField-
|
|
1
|
+
import { t as CheckboxGroupField } from "./CheckboxGroupField-tBvP22Bo.mjs";
|
|
2
2
|
export { CheckboxGroupField as default };
|
|
@@ -1012,7 +1012,8 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1012
1012
|
return item ? item.label : "";
|
|
1013
1013
|
}, []);
|
|
1014
1014
|
const getOptionId = useCallback((index) => `${field.inputId}-option-${index}`, [field.inputId]);
|
|
1015
|
-
const
|
|
1015
|
+
const reportValues = useCallback((nextValues) => onValuesChange?.([...new Set(nextValues)]), [onValuesChange]);
|
|
1016
|
+
const { getSelectedItemProps, getDropdownProps, removeSelectedItem, reset } = useMultipleSelection({
|
|
1016
1017
|
selectedItems,
|
|
1017
1018
|
itemToKey: mode.itemToKey,
|
|
1018
1019
|
onStateChange: ({ selectedItems: newSelectedItems, type }) => {
|
|
@@ -1023,13 +1024,10 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1023
1024
|
case useMultipleSelection.stateChangeTypes.FunctionRemoveSelectedItem:
|
|
1024
1025
|
case useMultipleSelection.stateChangeTypes.FunctionAddSelectedItem:
|
|
1025
1026
|
case useMultipleSelection.stateChangeTypes.FunctionSetSelectedItems:
|
|
1026
|
-
if (
|
|
1027
|
-
const newValues = newSelectedItems.map((item) => item.value);
|
|
1028
|
-
onValuesChange?.(newValues);
|
|
1029
|
-
}
|
|
1027
|
+
if (newSelectedItems) reportValues(newSelectedItems.map((item) => item.value));
|
|
1030
1028
|
break;
|
|
1031
1029
|
case useMultipleSelection.stateChangeTypes.FunctionReset:
|
|
1032
|
-
|
|
1030
|
+
reportValues([]);
|
|
1033
1031
|
break;
|
|
1034
1032
|
default: break;
|
|
1035
1033
|
}
|
|
@@ -1053,10 +1051,10 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1053
1051
|
const handleSelectAllToggle = useCallback(() => {
|
|
1054
1052
|
if (selectedState.allSelected || selectedState.indeterminate) {
|
|
1055
1053
|
const visibleValues = filteredOptions.map((option) => option.value);
|
|
1056
|
-
|
|
1054
|
+
reportValues(selectedItems.filter((item) => !visibleValues.includes(item.value)).map((item) => item.value));
|
|
1057
1055
|
} else {
|
|
1058
1056
|
const newItems = filteredOptions.filter((option) => !values.includes(option.value));
|
|
1059
|
-
|
|
1057
|
+
reportValues([...selectedItems, ...newItems].map((item) => item.value));
|
|
1060
1058
|
}
|
|
1061
1059
|
}, [
|
|
1062
1060
|
selectedState.allSelected,
|
|
@@ -1064,7 +1062,20 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1064
1062
|
filteredOptions,
|
|
1065
1063
|
selectedItems,
|
|
1066
1064
|
values,
|
|
1067
|
-
|
|
1065
|
+
reportValues
|
|
1066
|
+
]);
|
|
1067
|
+
const handleOptionToggle = useCallback((option) => {
|
|
1068
|
+
if (option.value === SELECT_ALL_VALUE) {
|
|
1069
|
+
handleSelectAllToggle();
|
|
1070
|
+
return;
|
|
1071
|
+
}
|
|
1072
|
+
const currentValues = selectedItems.map((item) => item.value);
|
|
1073
|
+
reportValues(values.includes(option.value) ? currentValues.filter((value) => value !== option.value) : [...currentValues, option.value]);
|
|
1074
|
+
}, [
|
|
1075
|
+
selectedItems,
|
|
1076
|
+
values,
|
|
1077
|
+
reportValues,
|
|
1078
|
+
handleSelectAllToggle
|
|
1068
1079
|
]);
|
|
1069
1080
|
const { isOpen, getToggleButtonProps, getMenuProps, getInputProps, getItemProps, highlightedIndex, setHighlightedIndex, closeMenu, openMenu } = useCombobox({
|
|
1070
1081
|
items: navigableItems,
|
|
@@ -1084,21 +1095,12 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1084
1095
|
if (rowIndex != null) virtualizer.scrollToIndex(rowIndex, { align: "auto" });
|
|
1085
1096
|
}
|
|
1086
1097
|
},
|
|
1087
|
-
onStateChange({ type,
|
|
1098
|
+
onStateChange({ type, inputValue: newInputValue }) {
|
|
1088
1099
|
switch (type) {
|
|
1089
1100
|
case useCombobox.stateChangeTypes.InputChange:
|
|
1090
1101
|
setInputValue(newInputValue || "");
|
|
1091
1102
|
mode.onInputChange?.(newInputValue || "");
|
|
1092
1103
|
break;
|
|
1093
|
-
case useCombobox.stateChangeTypes.InputKeyDownEnter:
|
|
1094
|
-
case useCombobox.stateChangeTypes.ItemClick:
|
|
1095
|
-
if (newSelectedItem && newSelectedItem.value === SELECT_ALL_VALUE) {
|
|
1096
|
-
handleSelectAllToggle();
|
|
1097
|
-
break;
|
|
1098
|
-
}
|
|
1099
|
-
if (newSelectedItem) if (values.includes(newSelectedItem.value)) removeSelectedItem(newSelectedItem);
|
|
1100
|
-
else addSelectedItem(newSelectedItem);
|
|
1101
|
-
break;
|
|
1102
1104
|
default: break;
|
|
1103
1105
|
}
|
|
1104
1106
|
},
|
|
@@ -1134,7 +1136,8 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1134
1136
|
if (option.value === SELECT_ALL_VALUE) return /* @__PURE__ */ jsx(StyledMenuItem$1, {
|
|
1135
1137
|
...getItemProps({
|
|
1136
1138
|
item: option,
|
|
1137
|
-
index: currentIndex
|
|
1139
|
+
index: currentIndex,
|
|
1140
|
+
onClick: () => handleOptionToggle(option)
|
|
1138
1141
|
}),
|
|
1139
1142
|
focused: isHighlighted,
|
|
1140
1143
|
selected: false,
|
|
@@ -1160,7 +1163,8 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1160
1163
|
...getItemProps({
|
|
1161
1164
|
item: option,
|
|
1162
1165
|
index: currentIndex,
|
|
1163
|
-
"aria-selected": isSelected
|
|
1166
|
+
"aria-selected": isSelected,
|
|
1167
|
+
onClick: () => handleOptionToggle(option)
|
|
1164
1168
|
}),
|
|
1165
1169
|
focused: isHighlighted,
|
|
1166
1170
|
selected: false,
|
|
@@ -1196,7 +1200,8 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1196
1200
|
values,
|
|
1197
1201
|
getItemProps,
|
|
1198
1202
|
size,
|
|
1199
|
-
selectedState
|
|
1203
|
+
selectedState,
|
|
1204
|
+
handleOptionToggle
|
|
1200
1205
|
]);
|
|
1201
1206
|
const isMenuOpen = isOpen;
|
|
1202
1207
|
const { isFooterHighlighted, footerActionId, showFooterAction, handleFooterKeyDown, clearFooterHighlight } = useComboboxFooterAction({
|
|
@@ -1210,8 +1215,21 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1210
1215
|
inputId: field.inputId
|
|
1211
1216
|
});
|
|
1212
1217
|
const handleKeyDown = useCallback((event) => {
|
|
1213
|
-
if (event.key === "Enter"
|
|
1214
|
-
|
|
1218
|
+
if (event.key === "Enter") {
|
|
1219
|
+
if (!isMenuOpen) openMenu();
|
|
1220
|
+
else if (highlightedIndex >= 0 && navigableItems[highlightedIndex]) {
|
|
1221
|
+
event.preventDefault();
|
|
1222
|
+
Object.assign(event, { preventDownshiftDefault: true });
|
|
1223
|
+
handleOptionToggle(navigableItems[highlightedIndex]);
|
|
1224
|
+
}
|
|
1225
|
+
}
|
|
1226
|
+
}, [
|
|
1227
|
+
isMenuOpen,
|
|
1228
|
+
openMenu,
|
|
1229
|
+
highlightedIndex,
|
|
1230
|
+
navigableItems,
|
|
1231
|
+
handleOptionToggle
|
|
1232
|
+
]);
|
|
1215
1233
|
const dropdownPosition = useDropdownPosition(portalContainerRef, isMenuOpen, embedded ? false : portal);
|
|
1216
1234
|
useEffect(() => {
|
|
1217
1235
|
mode.onMenuOpenChange(isMenuOpen);
|
|
@@ -1251,13 +1269,7 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1251
1269
|
}
|
|
1252
1270
|
if (e.key === "Enter" && highlightedIndex >= 0 && navigableItems[highlightedIndex]) {
|
|
1253
1271
|
e.preventDefault();
|
|
1254
|
-
|
|
1255
|
-
if (selectedItem.value === SELECT_ALL_VALUE) {
|
|
1256
|
-
handleSelectAllToggle();
|
|
1257
|
-
return;
|
|
1258
|
-
}
|
|
1259
|
-
if (values.includes(selectedItem.value)) removeSelectedItem(selectedItem);
|
|
1260
|
-
else addSelectedItem(selectedItem);
|
|
1272
|
+
handleOptionToggle(navigableItems[highlightedIndex]);
|
|
1261
1273
|
}
|
|
1262
1274
|
if (e.key === "Escape") {
|
|
1263
1275
|
clearFooterHighlight();
|
|
@@ -1277,12 +1289,9 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1277
1289
|
handleFooterKeyDown,
|
|
1278
1290
|
isFooterHighlighted,
|
|
1279
1291
|
clearFooterHighlight,
|
|
1280
|
-
values,
|
|
1281
|
-
addSelectedItem,
|
|
1282
|
-
removeSelectedItem,
|
|
1283
1292
|
closeMenu,
|
|
1284
1293
|
comboboxInputRef,
|
|
1285
|
-
|
|
1294
|
+
handleOptionToggle
|
|
1286
1295
|
]);
|
|
1287
1296
|
useOutsideClick({
|
|
1288
1297
|
ref: comboboxContainerRef,
|
|
@@ -1327,21 +1336,24 @@ function ComboboxMultiSelectComponent(componentProps, ref) {
|
|
|
1327
1336
|
ref: comboboxContainerRef,
|
|
1328
1337
|
children: [embedded ? null : externalTrigger != null ? externalTrigger : /* @__PURE__ */ jsxs(InputContainer, { children: [
|
|
1329
1338
|
/* @__PURE__ */ jsx(MultiSelectComboboxInput, {
|
|
1330
|
-
...getInputProps(
|
|
1331
|
-
...
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1339
|
+
...getInputProps({
|
|
1340
|
+
...getDropdownProps({
|
|
1341
|
+
...props,
|
|
1342
|
+
ref: comboboxInputRef,
|
|
1343
|
+
id: field.inputId,
|
|
1344
|
+
placeholder: selectedItems.length === 0 ? placeholder : "",
|
|
1345
|
+
disabled: field.disabled,
|
|
1346
|
+
"aria-label": ariaLabel,
|
|
1347
|
+
"aria-labelledby": labelId,
|
|
1348
|
+
"aria-describedby": [field.helperTextId, field.hasWarning ? field.warningTextId : null].filter(Boolean).join(" ") || void 0,
|
|
1349
|
+
"aria-errormessage": field.hasError ? field.errorTextId : void 0,
|
|
1350
|
+
"aria-invalid": field.hasError,
|
|
1351
|
+
"aria-required": required || void 0,
|
|
1352
|
+
preventKeyAction: isMenuOpen,
|
|
1353
|
+
onKeyDown: handleKeyDown
|
|
1354
|
+
}),
|
|
1355
|
+
...isMenuOpen ? { onKeyDown: handleKeyDown } : {}
|
|
1356
|
+
}),
|
|
1345
1357
|
size,
|
|
1346
1358
|
$isOpen: isMenuOpen,
|
|
1347
1359
|
hasWarning: field.hasWarning,
|
|
@@ -2130,4 +2142,4 @@ const Combobox = forwardRef(ComboboxComponent);
|
|
|
2130
2142
|
//#endregion
|
|
2131
2143
|
export { CaretButton as n, flattenOptions as r, Combobox as t };
|
|
2132
2144
|
|
|
2133
|
-
//# sourceMappingURL=Combobox-
|
|
2145
|
+
//# sourceMappingURL=Combobox-DmFQ5cAy.mjs.map
|