@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.
Files changed (157) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/{CheckboxGroupField-XSVAmESI.d.mts → CheckboxGroupField-tBvP22Bo.d.mts} +2 -2
  3. package/dist/CheckboxGroupField.d.mts +1 -1
  4. package/dist/{Combobox-BNjYEAmv.mjs → Combobox-DmFQ5cAy.mjs} +63 -51
  5. package/dist/Combobox-DmFQ5cAy.mjs.map +1 -0
  6. package/dist/{Combobox-DbcSss15.d.mts → Combobox-RX4DfO5L.d.mts} +3 -3
  7. package/dist/Combobox.d.mts +2 -2
  8. package/dist/{ComboboxBase-CrFweFGi.d.mts → ComboboxBase-VIGR58Uc.d.mts} +2 -2
  9. package/dist/ComboboxBase.d.mts +1 -1
  10. package/dist/{ComboboxMultiSelect-Cp5GBGQj.d.mts → ComboboxMultiSelect-D5TWGGKZ.d.mts} +2 -2
  11. package/dist/ComboboxMultiSelect.d.mts +1 -1
  12. package/dist/{ComboboxSingleSelect-u7fK3Yvy.d.mts → ComboboxSingleSelect-D9It8t6W.d.mts} +3 -3
  13. package/dist/ComboboxSingleSelect.d.mts +1 -1
  14. package/dist/{CompactBar-BLZZWtIE.d.mts → CompactBar-tNtY2EhN.d.mts} +2 -2
  15. package/dist/CompactBar.d.mts +1 -1
  16. package/dist/{ControlBar-B3Jn8G0k.d.mts → ControlBar-CDb6b1_6.d.mts} +5 -3
  17. package/dist/ControlBar.d.mts +1 -1
  18. package/dist/{DataTable-C1mdfmQa.d.mts → DataTable-0nhT5_Fe.d.mts} +31 -7
  19. package/dist/{DataTable-DdSY9mzT.mjs → DataTable-6t5ryaEq.mjs} +146 -77
  20. package/dist/DataTable-6t5ryaEq.mjs.map +1 -0
  21. package/dist/DataTable.d.mts +1 -1
  22. package/dist/{DatePicker-DiilpYQg.mjs → DatePicker-CHVYVKB-.mjs} +2 -2
  23. package/dist/{DatePicker-DiilpYQg.mjs.map → DatePicker-CHVYVKB-.mjs.map} +1 -1
  24. package/dist/DropdownButton.d.mts +1 -1
  25. package/dist/{DropdownMenu-CQR0U-zM.d.mts → DropdownMenu-Db6N6ZNB.d.mts} +2 -2
  26. package/dist/DropdownMenu.d.mts +1 -1
  27. package/dist/{FloatingActionBar-BUgSKimy.d.mts → FloatingActionBar-CfgjHs81.d.mts} +5 -1
  28. package/dist/FloatingActionBar.d.mts +1 -1
  29. package/dist/{FormField-yYJFkJ6R.mjs → FormField-BfVrDOY0.mjs} +4 -4
  30. package/dist/{FormField-yYJFkJ6R.mjs.map → FormField-BfVrDOY0.mjs.map} +1 -1
  31. package/dist/{HoverCopyableField-X2XfKTTh.mjs → HoverCopyableField-CJ_p3llp.mjs} +2 -2
  32. package/dist/{HoverCopyableField-X2XfKTTh.mjs.map → HoverCopyableField-CJ_p3llp.mjs.map} +1 -1
  33. package/dist/IndexTableLayout.d.mts +3 -3
  34. package/dist/InlineCombobox.d.mts +1 -1
  35. package/dist/InlineInput.d.mts +1 -1
  36. package/dist/{Link-B29ZMN6m.mjs → Link-Df3zJrj2.mjs} +1 -1
  37. package/dist/{Link-B29ZMN6m.mjs.map → Link-Df3zJrj2.mjs.map} +1 -1
  38. package/dist/{ListBox-4rTgr3IJ.mjs → ListBox-BRgjgUSp.mjs} +2 -2
  39. package/dist/{ListBox-4rTgr3IJ.mjs.map → ListBox-BRgjgUSp.mjs.map} +1 -1
  40. package/dist/{ListBox-ZDaitaXR.d.mts → ListBox-l47zUDj4.d.mts} +2 -2
  41. package/dist/ListBox.d.mts +1 -1
  42. package/dist/{ListBoxField-CGvVWKyL.d.mts → ListBoxField-Di_6uD3S.d.mts} +4 -4
  43. package/dist/ListBoxField.d.mts +1 -1
  44. package/dist/{LogicRow-Bzp5o1sL.d.mts → LogicRow-7f17CKrW.d.mts} +2 -2
  45. package/dist/LogicRow.d.mts +1 -1
  46. package/dist/MaskedInput.d.mts +1 -1
  47. package/dist/{Menu-DviYNrFd.d.mts → Menu-DvzoR8e7.d.mts} +2 -2
  48. package/dist/Menu.d.mts +1 -1
  49. package/dist/{Modal-CiPFqr0L.mjs → Modal-C_vSgqgl.mjs} +20 -16
  50. package/dist/Modal-C_vSgqgl.mjs.map +1 -0
  51. package/dist/{Modal-CujB7DuB.d.mts → Modal-IVXc4p8Y.d.mts} +7 -2
  52. package/dist/Modal.d.mts +1 -1
  53. package/dist/{Pii-jSYND7Cn.mjs → Pii-BYPkrBuT.mjs} +1 -1
  54. package/dist/{Pii-jSYND7Cn.mjs.map → Pii-BYPkrBuT.mjs.map} +1 -1
  55. package/dist/{Popover-CVX-dfYb.mjs → Popover-DP9DXReH.mjs} +1 -1
  56. package/dist/{Popover-CVX-dfYb.mjs.map → Popover-DP9DXReH.mjs.map} +1 -1
  57. package/dist/{Select-DsVeAyZy.d.mts → Select-boZ6XP8k.d.mts} +2 -2
  58. package/dist/Select.d.mts +1 -1
  59. package/dist/SmartTextInputField.d.mts +2 -2
  60. package/dist/SmartTextInputListbox.d.mts +8 -3
  61. package/dist/{TableBox-D9NA-s9l.mjs → TableBox-RxpwflEb.mjs} +3 -3
  62. package/dist/{TableBox-D9NA-s9l.mjs.map → TableBox-RxpwflEb.mjs.map} +1 -1
  63. package/dist/TableBox.d.mts +1 -1
  64. package/dist/{TableBoxCell-CQOL30et.d.mts → TableBoxCell-B6Z23mby.d.mts} +4 -4
  65. package/dist/TableBoxCell.d.mts +1 -1
  66. package/dist/{TableBoxField-z0GIFeQw.d.mts → TableBoxField-6qAOW8t9.d.mts} +5 -5
  67. package/dist/TableBoxField.d.mts +1 -1
  68. package/dist/{TableBoxRow-tb9-KMr9.d.mts → TableBoxRow-CpgNWdLS.d.mts} +2 -2
  69. package/dist/TableBoxRow.d.mts +1 -1
  70. package/dist/{TableBoxRowActions-BZwulsFP.d.mts → TableBoxRowActions-BDx5naRj.d.mts} +2 -2
  71. package/dist/TableBoxRowActions.d.mts +1 -1
  72. package/dist/{TableControls-DE6eHq8h.d.mts → TableControls-BGKL7_zF.d.mts} +4 -4
  73. package/dist/{TableControls-BXykbUBf.mjs → TableControls-BwZl4TjJ.mjs} +31 -12
  74. package/dist/TableControls-BwZl4TjJ.mjs.map +1 -0
  75. package/dist/TableControls.d.mts +1 -1
  76. package/dist/{TableControlsContext-C2_2EuMh.d.mts → TableControlsContext-DhABbtVY.d.mts} +2 -2
  77. package/dist/TableControlsContext.d.mts +1 -1
  78. package/dist/{TableViewConfigurationDropdown-DE9HFXYY.d.mts → TableViewConfigurationDropdown-D76ApJ_-.d.mts} +2 -2
  79. package/dist/TableViewConfigurationDropdown.d.mts +1 -1
  80. package/dist/WizardModal.d.mts +1 -1
  81. package/dist/{clientFilterUtils-2TBUC31K.d.mts → clientFilterUtils-WH_Dqtv4.d.mts} +2 -2
  82. package/dist/clientFilterUtils.d.mts +1 -1
  83. package/dist/components/Combobox/index.d.mts +4 -4
  84. package/dist/components/Combobox/index.mjs +1 -1
  85. package/dist/components/DataTable/TableControls/index.d.mts +7 -7
  86. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  87. package/dist/components/DataTable/index.d.mts +6 -6
  88. package/dist/components/DataTable/index.mjs +1 -1
  89. package/dist/components/DataTable/types.d.mts +1 -1
  90. package/dist/components/DatePicker/index.mjs +1 -1
  91. package/dist/components/DropdownMenu/index.d.mts +1 -1
  92. package/dist/components/FormField/index.d.mts +4 -4
  93. package/dist/components/FormField/index.mjs +1 -1
  94. package/dist/components/HoverCopyableField/index.mjs +1 -1
  95. package/dist/components/Link/index.mjs +1 -1
  96. package/dist/components/ListBox/index.d.mts +3 -3
  97. package/dist/components/ListBox/index.mjs +1 -1
  98. package/dist/components/Menu/index.d.mts +1 -1
  99. package/dist/components/Modal/index.d.mts +1 -1
  100. package/dist/components/Modal/index.mjs +1 -1
  101. package/dist/components/Pii/index.mjs +1 -1
  102. package/dist/components/Popover/index.mjs +1 -1
  103. package/dist/components/RichTextEditor/index.mjs +2 -2
  104. package/dist/components/Select/index.d.mts +1 -1
  105. package/dist/components/SmartTextInput/index.mjs +128 -59
  106. package/dist/components/SmartTextInput/index.mjs.map +1 -1
  107. package/dist/components/TableBox/index.d.mts +1 -1
  108. package/dist/components/TableBox/index.mjs +1 -1
  109. package/dist/components/VersionHistory/index.mjs +1 -1
  110. package/dist/fieldPickerOptions.d.mts +1 -1
  111. package/dist/{filters-DW7pqWv3.d.mts → filters-BXtKuft3.d.mts} +2 -2
  112. package/dist/filters.d.mts +1 -1
  113. package/dist/{helpers-BTD2kXLs.d.mts → helpers-gpO42h8t.d.mts} +5 -3
  114. package/dist/helpers.d.mts +1 -1
  115. package/dist/{index-B4tE0RxY.d.mts → index-bkzLg85W.d.mts} +3 -3
  116. package/dist/{inputFields-DnBb3NhK.d.mts → inputFields-B7parF2l.d.mts} +4 -4
  117. package/dist/inputFields.d.mts +1 -1
  118. package/dist/lib/PDSProvider.d.mts +2 -1
  119. package/dist/lib/PDSProvider.mjs +8 -3
  120. package/dist/lib/PDSProvider.mjs.map +1 -1
  121. package/dist/lib/colorMode.d.mts +18 -7
  122. package/dist/lib/colorMode.mjs +47 -13
  123. package/dist/lib/colorMode.mjs.map +1 -1
  124. package/dist/lib/schemaOptions.mjs +1 -1
  125. package/dist/lib/schemaOptions.mjs.map +1 -1
  126. package/dist/patterns/IndexTableLayout/index.mjs +1 -1
  127. package/dist/patterns/WizardModal/index.mjs +1 -1
  128. package/dist/{types-NO2GRlM-.d.mts → types-BvaXqjUm.d.mts} +2 -2
  129. package/dist/{types-Dws2XDz2.d.mts → types-CuH-sUJ2.d.mts} +6 -4
  130. package/dist/types5.d.mts +1 -1
  131. package/dist/useColumnConfiguration.d.mts +2 -2
  132. package/dist/useComboboxFooterAction.d.mts +1 -1
  133. package/dist/{useTableColumns-tITjHasE.d.mts → useTableColumns-I7StvoRs.d.mts} +17 -2
  134. package/dist/useTableColumns.d.mts +1 -1
  135. package/dist/useTruncation.d.mts +1 -1
  136. package/dist/utils4.d.mts +1 -1
  137. package/dist/withDisabledReason.d.mts +19 -0
  138. package/llms.txt +4 -3
  139. package/package.json +4 -12
  140. package/skills/ui-authoring/COMPONENTS.md +0 -1
  141. package/skills/ui-authoring/PATTERNS.md +0 -64
  142. package/skills/ui-authoring/TOKENS.md +14 -25
  143. package/dist/ChartFrame.d.mts +0 -61
  144. package/dist/ChartLegend.d.mts +0 -60
  145. package/dist/ChartPopover.d.mts +0 -155
  146. package/dist/Combobox-BNjYEAmv.mjs.map +0 -1
  147. package/dist/DataTable-DdSY9mzT.mjs.map +0 -1
  148. package/dist/Modal-CiPFqr0L.mjs.map +0 -1
  149. package/dist/TableControls-BXykbUBf.mjs.map +0 -1
  150. package/dist/chartColors.d.mts +0 -92
  151. package/dist/chartFrameLayout.d.mts +0 -46
  152. package/dist/components/Chart/index.d.mts +0 -9
  153. package/dist/components/Chart/index.mjs +0 -680
  154. package/dist/components/Chart/index.mjs.map +0 -1
  155. package/dist/useChartColors.d.mts +0 -30
  156. package/dist/useChartSeriesVisibility.d.mts +0 -22
  157. 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-DnBb3NhK.mjs";
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-XSVAmESI.d.mts.map
25
+ //# sourceMappingURL=CheckboxGroupField-tBvP22Bo.d.mts.map
@@ -1,2 +1,2 @@
1
- import { t as CheckboxGroupField } from "./CheckboxGroupField-XSVAmESI.mjs";
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 { addSelectedItem, getSelectedItemProps, getDropdownProps, removeSelectedItem, reset, setSelectedItems } = useMultipleSelection({
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 (onValuesChange && newSelectedItems) {
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
- if (onValuesChange) onValuesChange([]);
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
- setSelectedItems(selectedItems.filter((item) => !visibleValues.includes(item.value)));
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
- setSelectedItems([...selectedItems, ...newItems]);
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
- setSelectedItems
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, selectedItem: newSelectedItem, inputValue: newInputValue }) {
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" && !isMenuOpen) openMenu();
1214
- }, [isMenuOpen, openMenu]);
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
- const selectedItem = navigableItems[highlightedIndex];
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
- handleSelectAllToggle
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(getDropdownProps({
1331
- ...props,
1332
- ref: comboboxInputRef,
1333
- id: field.inputId,
1334
- placeholder: selectedItems.length === 0 ? placeholder : "",
1335
- disabled: field.disabled,
1336
- "aria-label": ariaLabel,
1337
- "aria-labelledby": labelId,
1338
- "aria-describedby": [field.helperTextId, field.hasWarning ? field.warningTextId : null].filter(Boolean).join(" ") || void 0,
1339
- "aria-errormessage": field.hasError ? field.errorTextId : void 0,
1340
- "aria-invalid": field.hasError,
1341
- "aria-required": required || void 0,
1342
- preventKeyAction: isMenuOpen,
1343
- onKeyDown: handleKeyDown
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-BNjYEAmv.mjs.map
2145
+ //# sourceMappingURL=Combobox-DmFQ5cAy.mjs.map