@useblu/ocean-react 1.137.1 → 1.138.0

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 CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.138.0](https://github.com/ocean-ds/ocean-web/compare/v1.137.1...v1.138.0) (2026-09-11)
7
+
8
+ ### Features
9
+
10
+ - **chips:** modo de escolha única com radio e rodapé Limpar/Filtrar ([#1256](https://github.com/ocean-ds/ocean-web/issues/1256)) ([ef91666](https://github.com/ocean-ds/ocean-web/commit/ef916660be89486b3b07a3b342af61b5a353215e))
11
+
6
12
  ## [1.137.1](https://github.com/ocean-ds/ocean-web/compare/v1.137.0...v1.137.1) (2026-09-11)
7
13
 
8
14
  ### Bug Fixes
package/Chips/Chips.d.ts CHANGED
@@ -5,6 +5,7 @@ interface IChips {
5
5
  icon?: React.ReactNode;
6
6
  disabled?: boolean;
7
7
  multiChoice?: boolean;
8
+ singleSelection?: boolean;
8
9
  options?: ChipValue[];
9
10
  defaultValue?: ChipValue;
10
11
  clearLabel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Chips.d.ts","sourceRoot":"","sources":["../../src/Chips/Chips.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,UAAU,MAAM;IAId,KAAK,EAAE,MAAM,CAAC;IAId,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAIvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAInB,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IAItB,YAAY,CAAC,EAAE,SAAS,CAAC;IAKzB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,cAAc,CAAC,EAAE,MAAM,CAAC;IAIxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAIlB,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAIxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAIrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAIpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAIrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAIrD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAIrB,aAAa,CAAC,EAAE,SAAS,CAAC;IAI1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CA2J1C,CAAC;AAIF,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Chips.d.ts","sourceRoot":"","sources":["../../src/Chips/Chips.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,UAAU,MAAM;IAId,KAAK,EAAE,MAAM,CAAC;IAId,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAIvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAInB,WAAW,CAAC,EAAE,OAAO,CAAC;IAMtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAI1B,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IAItB,YAAY,CAAC,EAAE,SAAS,CAAC;IAKzB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,cAAc,CAAC,EAAE,MAAM,CAAC;IAIxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAIlB,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAIxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAIrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAIpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAIrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAIrD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAIrB,aAAa,CAAC,EAAE,SAAS,CAAC;IAI1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CA8J1C,CAAC;AAIF,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAe,KAAK,CAAC"}
@@ -6,6 +6,7 @@ interface IMultipleChoiceOptions {
6
6
  clearLabel: string;
7
7
  filterLabel: string;
8
8
  multiChoice: boolean;
9
+ singleSelection?: boolean;
9
10
  onSelect: (label: string, value: string) => void;
10
11
  clearOptions: () => void;
11
12
  filterOptions: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"MultipleChoiceOptions.d.ts","sourceRoot":"","sources":["../../src/Chips/MultipleChoiceOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKzC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,UAAU,sBAAsB;IAC9B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1B,eAAe,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,2BAA2B,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAClD,sBAAsB,CAsJvB,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"MultipleChoiceOptions.d.ts","sourceRoot":"","sources":["../../src/Chips/MultipleChoiceOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKzC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,UAAU,sBAAsB;IAC9B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1B,eAAe,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,2BAA2B,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAClD,sBAAsB,CAgKvB,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { IUseChipOptions, IUseChipReturn } from '../types';
2
- declare const useChip: ({ defaultValue, multiChoice, onChange, onClean, onConfirm, onClose, onClick, options, selectedValue, }: IUseChipOptions) => IUseChipReturn;
2
+ declare const useChip: ({ defaultValue, multiChoice, singleSelection, onChange, onClean, onConfirm, onClose, onClick, options, selectedValue, }: IUseChipOptions) => IUseChipReturn;
3
3
  export default useChip;
4
4
  //# sourceMappingURL=useChip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChip.d.ts","sourceRoot":"","sources":["../../../src/Chips/hooks/useChip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO3E,QAAA,MAAM,OAAO,GAAI,wGAUd,eAAe,KAAG,cAmJpB,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"useChip.d.ts","sourceRoot":"","sources":["../../../src/Chips/hooks/useChip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQ3E,QAAA,MAAM,OAAO,GAAI,yHAWd,eAAe,KAAG,cA0KpB,CAAC;AAEF,eAAe,OAAO,CAAC"}
package/Chips/types.d.ts CHANGED
@@ -22,6 +22,7 @@ export interface IUseChipReturn {
22
22
  export interface IUseChipOptions {
23
23
  defaultValue?: ChipValue;
24
24
  multiChoice?: boolean;
25
+ singleSelection?: boolean;
25
26
  onChange?: (value: ChipValue[] | ChipValue) => void;
26
27
  onClean?: () => void;
27
28
  onConfirm?: (value: ChipValue[] | ChipValue) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Chips/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,2BAA2B,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACzC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACzC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Chips/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,2BAA2B,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACzC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACzC"}
package/index.es.js CHANGED
@@ -47252,7 +47252,7 @@ var CardListItem = forwardRef(function (_a, ref) {
47252
47252
  CardListItem.displayName = 'CardListItem';
47253
47253
 
47254
47254
  var MultipleChoiceOptions = function (_a) {
47255
- var options = _a.options, selectedOptions = _a.selectedOptions, clearLabel = _a.clearLabel, filterLabel = _a.filterLabel, multiChoice = _a.multiChoice, onSelect = _a.onSelect, clearOptions = _a.clearOptions, filterOptions = _a.filterOptions, headerOptions = _a.headerOptions, selectionIsOpen = _a.selectionIsOpen, handleContextMenuOpenChange = _a.handleContextMenuOpenChange, selectAllOptions = _a.selectAllOptions;
47255
+ var options = _a.options, selectedOptions = _a.selectedOptions, clearLabel = _a.clearLabel, filterLabel = _a.filterLabel, multiChoice = _a.multiChoice, _b = _a.singleSelection, singleSelection = _b === void 0 ? false : _b, onSelect = _a.onSelect, clearOptions = _a.clearOptions, filterOptions = _a.filterOptions, headerOptions = _a.headerOptions, selectionIsOpen = _a.selectionIsOpen, handleContextMenuOpenChange = _a.handleContextMenuOpenChange, selectAllOptions = _a.selectAllOptions;
47256
47256
  var isMobile = useMedia$1('(max-width: 768px)');
47257
47257
  var selectedArray = Array.isArray(selectedOptions) ? selectedOptions : [];
47258
47258
  var selectedValues = selectedArray.map(function (option) { return option.value; });
@@ -47275,7 +47275,7 @@ var MultipleChoiceOptions = function (_a) {
47275
47275
  }
47276
47276
  });
47277
47277
  };
47278
- if (!multiChoice) {
47278
+ if (!multiChoice && !singleSelection) {
47279
47279
  return null;
47280
47280
  }
47281
47281
  var isMultiArray = Array.isArray(selectedOptions);
@@ -47295,7 +47295,7 @@ var MultipleChoiceOptions = function (_a) {
47295
47295
  e.createElement("div", { className: "ods-chips__options__responsive-header" },
47296
47296
  e.createElement(IconButton, { size: "sm", onClick: function () { return handleContextMenuOpenChange(false); }, "aria-label": "Fechar menu" },
47297
47297
  e.createElement(Wa, null))),
47298
- selectAllOptions && (e.createElement("div", { className: "ods-chips__options__select-all" },
47298
+ selectAllOptions && !singleSelection && (e.createElement("div", { className: "ods-chips__options__select-all" },
47299
47299
  e.createElement(ListSelectable, { status: "highlight", type: "text", title: "Selecionar todos", checkbox: {
47300
47300
  id: 'select-all',
47301
47301
  checked: allOptionsSelected || someOptionsSelected,
@@ -47308,36 +47308,38 @@ var MultipleChoiceOptions = function (_a) {
47308
47308
  var isSelected = Array.isArray(selectedOptions)
47309
47309
  ? selectedOptions.some(function (option) { return option.value === value; })
47310
47310
  : selectedOptions.value === value;
47311
+ var selectionInput = {
47312
+ id: "chips-option-".concat(value),
47313
+ checked: isSelected,
47314
+ onClick: function () { return onSelect(label, value); },
47315
+ readOnly: true,
47316
+ disabled: disabled,
47317
+ };
47311
47318
  return (e.createElement("div", { key: value },
47312
- e.createElement(ListSelectable, { inverted: true, indicator: indicator, type: "text", title: label, showDivider: index !== options.length - 1, platform: isMobile ? 'app' : 'web', checkbox: {
47313
- id: "chips-option-".concat(value),
47314
- checked: isSelected,
47315
- onClick: function () { return onSelect(label, value); },
47316
- readOnly: true,
47317
- disabled: disabled,
47318
- indeterminate: indeterminate || false,
47319
- } })));
47319
+ e.createElement(ListSelectable, { inverted: true, indicator: indicator, type: "text", title: label, showDivider: index !== options.length - 1, platform: isMobile ? 'app' : 'web', radio: singleSelection ? selectionInput : undefined, checkbox: singleSelection
47320
+ ? undefined
47321
+ : __assign$1(__assign$1({}, selectionInput), { indeterminate: indeterminate || false }) })));
47320
47322
  }),
47321
47323
  e.createElement("div", { className: "ods-chips__options--footer" },
47322
47324
  e.createElement("button", { type: "button", onClick: clearOptions, className: responsiveSecondaryBtnClasses, disabled: !isMultiArray || selectedOptions.length === 0 }, clearLabel),
47323
47325
  e.createElement("button", { type: "button", onClick: filterOptions, className: responsivePrimaryBtnClasses }, filterLabel)))));
47324
47326
  };
47325
47327
 
47326
- var shouldDefaultToEmpty = function (defaultValue, multiChoice) { return Boolean(defaultValue) || Boolean(multiChoice); };
47328
+ var shouldDefaultToEmpty = function (defaultValue, multiChoice, singleSelection) { return Boolean(defaultValue) || Boolean(multiChoice) || Boolean(singleSelection); };
47327
47329
  var useChip = function (_a) {
47328
- var defaultValue = _a.defaultValue, _b = _a.multiChoice, multiChoice = _b === void 0 ? false : _b, onChange = _a.onChange, onClean = _a.onClean, onConfirm = _a.onConfirm, onClose = _a.onClose, onClick = _a.onClick, _c = _a.options, options = _c === void 0 ? [] : _c, selectedValue = _a.selectedValue;
47330
+ var defaultValue = _a.defaultValue, _b = _a.multiChoice, multiChoice = _b === void 0 ? false : _b, _c = _a.singleSelection, singleSelection = _c === void 0 ? false : _c, onChange = _a.onChange, onClean = _a.onClean, onConfirm = _a.onConfirm, onClose = _a.onClose, onClick = _a.onClick, _d = _a.options, options = _d === void 0 ? [] : _d, selectedValue = _a.selectedValue;
47329
47331
  var wrapperRef = useRef(null);
47330
- var _d = useState(0), counter = _d[0], setCounter = _d[1];
47331
- var _e = useState(false), selectionIsOpen = _e[0], setSelectionIsOpen = _e[1];
47332
- var _f = useState(function () {
47333
- return shouldDefaultToEmpty(defaultValue, multiChoice)
47332
+ var _e = useState(0), counter = _e[0], setCounter = _e[1];
47333
+ var _f = useState(false), selectionIsOpen = _f[0], setSelectionIsOpen = _f[1];
47334
+ var _g = useState(function () {
47335
+ return shouldDefaultToEmpty(defaultValue, multiChoice, singleSelection)
47334
47336
  ? []
47335
47337
  : { label: '', value: '' };
47336
- }), selectedOptions = _f[0], setSelectedOptions = _f[1];
47338
+ }), selectedOptions = _g[0], setSelectedOptions = _g[1];
47337
47339
  useEffect(function () {
47338
47340
  if (selectedValue && selectedValue !== selectedOptions) {
47339
47341
  setSelectedOptions(selectedValue);
47340
- if (multiChoice && Array.isArray(selectedValue)) {
47342
+ if (multiChoice && !singleSelection && Array.isArray(selectedValue)) {
47341
47343
  setCounter(selectedValue.length);
47342
47344
  }
47343
47345
  }
@@ -47366,6 +47368,21 @@ var useChip = function (_a) {
47366
47368
  }
47367
47369
  }, [options.length, onClick]);
47368
47370
  var handleSelectOption = useCallback(function (labelProp, value) {
47371
+ if (singleSelection) {
47372
+ setSelectedOptions(function (prev) {
47373
+ var previous = Array.isArray(prev) ? prev : [];
47374
+ var isSameOption = previous.some(function (option) { return option.value === value; });
47375
+ var matchedOption = options.find(function (option) { return option.value === value; });
47376
+ var next = isSameOption
47377
+ ? []
47378
+ : [matchedOption !== null && matchedOption !== void 0 ? matchedOption : { label: labelProp, value: value }];
47379
+ if (onChange) {
47380
+ onChange(next);
47381
+ }
47382
+ return next;
47383
+ });
47384
+ return;
47385
+ }
47369
47386
  if (!multiChoice) {
47370
47387
  var nextSelection = { label: labelProp, value: value };
47371
47388
  setSelectedOptions(nextSelection);
@@ -47393,7 +47410,7 @@ var useChip = function (_a) {
47393
47410
  }
47394
47411
  return copyOptions;
47395
47412
  });
47396
- }, [multiChoice, onChange, options]);
47413
+ }, [multiChoice, onChange, options, singleSelection]);
47397
47414
  var clearOptions = useCallback(function () {
47398
47415
  setSelectedOptions([]);
47399
47416
  setCounter(0);
@@ -47437,10 +47454,11 @@ var useChip = function (_a) {
47437
47454
  };
47438
47455
 
47439
47456
  var Chips = function (_a) {
47440
- var label = _a.label, icon = _a.icon, disabled = _a.disabled, defaultValue = _a.defaultValue, _b = _a.options, options = _b === void 0 ? [] : _b, _c = _a.multiChoice, multiChoice = _c === void 0 ? false : _c, _d = _a.clearLabel, clearLabel = _d === void 0 ? 'Limpar' : _d, _e = _a.filterLabel, filterLabel = _e === void 0 ? 'Filtrar' : _e, initialCounter = _a.initialCounter, actived = _a.actived, selectedValue = _a.selectedValue, onClick = _a.onClick, onChange = _a.onChange, onClose = _a.onClose, onConfirm = _a.onConfirm, onClean = _a.onClean, headerOptions = _a.headerOptions, _f = _a.selectAllOptions, selectAllOptions = _f === void 0 ? false : _f;
47441
- var _g = useChip({
47457
+ var label = _a.label, icon = _a.icon, disabled = _a.disabled, defaultValue = _a.defaultValue, _b = _a.options, options = _b === void 0 ? [] : _b, _c = _a.multiChoice, multiChoice = _c === void 0 ? false : _c, _d = _a.singleSelection, singleSelection = _d === void 0 ? false : _d, _e = _a.clearLabel, clearLabel = _e === void 0 ? 'Limpar' : _e, _f = _a.filterLabel, filterLabel = _f === void 0 ? 'Filtrar' : _f, initialCounter = _a.initialCounter, actived = _a.actived, selectedValue = _a.selectedValue, onClick = _a.onClick, onChange = _a.onChange, onClose = _a.onClose, onConfirm = _a.onConfirm, onClean = _a.onClean, headerOptions = _a.headerOptions, _g = _a.selectAllOptions, selectAllOptions = _g === void 0 ? false : _g;
47458
+ var _h = useChip({
47442
47459
  defaultValue: defaultValue,
47443
47460
  multiChoice: multiChoice,
47461
+ singleSelection: singleSelection,
47444
47462
  onChange: onChange,
47445
47463
  onClean: onClean,
47446
47464
  onConfirm: onConfirm,
@@ -47448,7 +47466,7 @@ var Chips = function (_a) {
47448
47466
  onClick: onClick,
47449
47467
  options: options,
47450
47468
  selectedValue: selectedValue,
47451
- }), clearOptions = _g.clearOptions, counter = _g.counter, filterOptions = _g.filterOptions, handleClickChips = _g.handleClickChips, handleContextMenuOpenChange = _g.handleContextMenuOpenChange, handleSelectOption = _g.handleSelectOption, selectedOptions = _g.selectedOptions, selectionIsOpen = _g.selectionIsOpen, wrapperRef = _g.wrapperRef;
47469
+ }), clearOptions = _h.clearOptions, counter = _h.counter, filterOptions = _h.filterOptions, handleClickChips = _h.handleClickChips, handleContextMenuOpenChange = _h.handleContextMenuOpenChange, handleSelectOption = _h.handleSelectOption, selectedOptions = _h.selectedOptions, selectionIsOpen = _h.selectionIsOpen, wrapperRef = _h.wrapperRef;
47452
47470
  var displayValue = function () {
47453
47471
  if (!Array.isArray(selectedOptions)) {
47454
47472
  return selectedOptions.value ? selectedOptions.label : label;
@@ -47456,7 +47474,7 @@ var Chips = function (_a) {
47456
47474
  return label;
47457
47475
  };
47458
47476
  var contextualMenuItems = e.useMemo(function () {
47459
- return multiChoice
47477
+ return multiChoice || singleSelection
47460
47478
  ? []
47461
47479
  : options.map(function (_a) {
47462
47480
  var optionLabel = _a.label, value = _a.value, indicator = _a.indicator, optionDisabled = _a.disabled, tag = _a.tag;
@@ -47470,7 +47488,7 @@ var Chips = function (_a) {
47470
47488
  type: 'neutral',
47471
47489
  });
47472
47490
  });
47473
- }, [multiChoice, options]);
47491
+ }, [multiChoice, singleSelection, options]);
47474
47492
  var handleContextualMenuSelect = function (value) {
47475
47493
  var option = options.find(function (item) { return item.value === value; });
47476
47494
  if (option) {
@@ -47483,8 +47501,8 @@ var Chips = function (_a) {
47483
47501
  var hasOptions = options && (options === null || options === void 0 ? void 0 : options.length) > 0;
47484
47502
  var shouldRenderOptions = selectionIsOpen && hasOptions;
47485
47503
  var renderOptions = function () {
47486
- if (multiChoice) {
47487
- return (e.createElement(MultipleChoiceOptions, { options: options, onSelect: handleSelectOption, selectedOptions: selectedOptions, clearLabel: clearLabel, filterLabel: filterLabel, multiChoice: multiChoice, clearOptions: clearOptions, filterOptions: filterOptions, headerOptions: headerOptions, selectionIsOpen: selectionIsOpen, handleContextMenuOpenChange: handleContextMenuOpenChange, selectAllOptions: selectAllOptions }));
47504
+ if (multiChoice || singleSelection) {
47505
+ return (e.createElement(MultipleChoiceOptions, { options: options, onSelect: handleSelectOption, selectedOptions: selectedOptions, clearLabel: clearLabel, filterLabel: filterLabel, multiChoice: multiChoice, singleSelection: singleSelection, clearOptions: clearOptions, filterOptions: filterOptions, headerOptions: headerOptions, selectionIsOpen: selectionIsOpen, handleContextMenuOpenChange: handleContextMenuOpenChange, selectAllOptions: selectAllOptions }));
47488
47506
  }
47489
47507
  return (e.createElement(ContextualMenu, { items: contextualMenuItems, open: selectionIsOpen, onOpenChange: handleContextMenuOpenChange, onSelect: handleContextualMenuSelect, selectedValue: contextualMenuSelectedValue, className: "ods-chips__contextual-menu" }));
47490
47508
  };