+ renderTag: (item, { className, ref, 'aria-hidden': ariaHidden }) => (
+
{item.key}
),
diff --git a/packages/components/src/components/SelectNext/types.ts b/packages/components/src/components/SelectNext/types.ts
index 116c3a06..0fc371a3 100644
--- a/packages/components/src/components/SelectNext/types.ts
+++ b/packages/components/src/components/SelectNext/types.ts
@@ -68,6 +68,8 @@ export type SelectNextProps<
className?: string;
/** Whether the field can be emptied. */
isClearable?: boolean;
+ /** Whether the selection can be focused but not changed by the user. */
+ isReadOnly?: boolean;
/** Addon placed before the children. */
startAddon?: ReactNode;
/** Addon placed after the children. */
@@ -108,6 +110,7 @@ export type SelectNextProps<
states: {
isInvalid?: boolean;
isDisabled?: boolean;
+ isReadOnly?: boolean;
isRequired?: boolean;
}
) => ReactNode;
diff --git a/packages/components/src/components/SelectedTags/SelectedTagsMultiline.tsx b/packages/components/src/components/SelectedTags/SelectedTagsMultiline.tsx
index 7d06f810..7cbdf768 100644
--- a/packages/components/src/components/SelectedTags/SelectedTagsMultiline.tsx
+++ b/packages/components/src/components/SelectedTags/SelectedTagsMultiline.tsx
@@ -37,15 +37,16 @@ export function SelectedTagsMultiline
({
};
const tagProps: TagProps = {
- isDisabled,
className: s.tag,
variant: isInvalid ? 'error-fade' : 'contrast-fade',
- allowsRemoving: !isReadOnly,
+ allowsRemoving: true,
+ isDisabled,
slotProps: {
removeIcon: {
as: 'div',
tabIndex: undefined,
onPress: onRemove,
+ isDisabled: isReadOnly || isDisabled,
},
},
};
diff --git a/packages/components/src/components/SelectedTags/SelectedTagsResponsive.tsx b/packages/components/src/components/SelectedTags/SelectedTagsResponsive.tsx
index 1b10a363..574c23b9 100644
--- a/packages/components/src/components/SelectedTags/SelectedTagsResponsive.tsx
+++ b/packages/components/src/components/SelectedTags/SelectedTagsResponsive.tsx
@@ -53,15 +53,16 @@ export function SelectedTagsResponsive({
const tagProps: TagProps = {
ref: itemsRefs[i],
className: s.tag,
- isDisabled,
'aria-hidden': !visibleMap[i] || undefined,
- allowsRemoving: !isReadOnly,
+ allowsRemoving: true,
+ isDisabled,
variant: isInvalid ? 'error-fade' : 'contrast-fade',
slotProps: {
removeIcon: {
as: 'div',
tabIndex: undefined,
onPress: onRemove,
+ isDisabled: isReadOnly || isDisabled,
},
},
};