{
+ children?: JSX.Element;
+ icon?: (state: IconActionProps) => JSX.Element;
inverted?: boolean;
+ interactive?: boolean;
+ class?: string;
}
export const Tag = (props: TagProps) => {
@@ -23,7 +24,6 @@ export const Tag = (props: TagProps) => {
const handleActionClick = () => {
setIsActive(true);
- props.action?.onClick();
setTimeout(() => setIsActive(false), 150);
};
@@ -32,23 +32,18 @@ export const Tag = (props: TagProps) => {
class={cx("tag", {
inverted: inverted(),
active: isActive(),
- "has-action": props.action,
+ "has-icon": props.icon,
+ "is-interactive": props.interactive,
+ class: props.class,
})}
- aria-label={props.label}
- aria-readonly={!props.action}
>
- {props.label}
+ {props.children}
-
-
-
+ {props.icon?.({
+ inverted: inverted(),
+ handleActionClick,
+ })}
);
};
diff --git a/pkgs/clan-app/ui/src/components/TagGroup/TagGroup.tsx b/pkgs/clan-app/ui/src/components/TagGroup/TagGroup.tsx
index 455665cc6..3dd2ca4cf 100644
--- a/pkgs/clan-app/ui/src/components/TagGroup/TagGroup.tsx
+++ b/pkgs/clan-app/ui/src/components/TagGroup/TagGroup.tsx
@@ -15,7 +15,7 @@ export const TagGroup = (props: TagGroupProps) => {
return (
- {(label) => }
+ {(label) => {label}}
);