@kwiz/fluentui
Version:
KWIZ common controls for FluentUI
19 lines • 1.76 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { InteractionTag, InteractionTagPrimary, InteractionTagSecondary, Tag } from '@fluentui/react-components';
import { isFunction, isNullOrUndefined } from '@kwiz/common';
import { KnownClassNames } from '../styles';
export const TagEx = (props) => {
let className;
let appearance = props.appearance;
if (!isNullOrUndefined(props.selected)) {
appearance = props.selected === true ? "brand" : props.selected === false ? "outline" : "filled";
className = props.selected === true ? KnownClassNames.tagSelected : props.selected === false ? KnownClassNames.tagUnselected : KnownClassNames.tagNoSelection;
}
const hasSecondaryAction = isFunction(props.secondaryAction);
return isFunction(props.action)
? _jsxs(InteractionTag, { className: className, title: props.title, shape: props.shape, size: props.size, appearance: appearance, disabled: props.disabled, value: props.value, children: [_jsx(InteractionTagPrimary, { media: props.icon ? undefined : props.media, icon: props.icon, onClick: props.action, secondaryText: props.secondaryText, hasSecondaryAction: hasSecondaryAction, children: props.text }), props.secondaryAction && _jsx(InteractionTagSecondary, { onClick: props.secondaryAction, "aria-label": "remove" })] })
: _jsx(Tag, { className: className, title: props.title, shape: props.shape, size: props.size, appearance: appearance, disabled: props.disabled, dismissible: hasSecondaryAction, dismissIcon: hasSecondaryAction ? {
"aria-label": props.secondaryText || "remove", onClick: props.secondaryAction
} : undefined, value: props.value, children: props.text });
};
//# sourceMappingURL=tag-ex.js.map