@payfit/unity-components
Version:
70 lines (69 loc) • 3.09 kB
JavaScript
import { CircularIconButton as e } from "../../../../../core/components/icon-button/CircularIconButton.js";
import { Text as t } from "../../../../../core/components/text/Text.js";
import { useAIComposerContext as n } from "../AIComposer.context.js";
import { forwardRef as r } from "react";
import { uyMerge as i, uyTv as a } from "@payfit/unity-themes";
import { jsx as o, jsxs as s } from "react/jsx-runtime";
import { useIntl as c } from "react-intl";
import { Icon as l } from "@payfit/unity-icons";
import { Tag as u } from "react-aria-components/TagGroup";
//#region src/modules/ai-kit/components/ai-composer/parts/AIComposerAttachment.tsx
var d = a({
base: [
"uy:group",
"uy:inline-flex uy:shrink-0 uy:items-center uy:justify-center uy:gap-25",
"uy:rounded-pill uy:bg-surface-neutral-lowest-enabled uy:pl-75 uy:pr-25 uy:text-content-neutral-enabled",
"uy:enabled:hover:bg-surface-neutral-lowest-hover uy:enabled:hover:text-content-neutral-hover",
"uy:enabled:active:bg-surface-neutral-lowest-active uy:enabled:active:text-content-neutral-active",
"uy:data-[hovered=\"true\"]:bg-surface-neutral-lowest-hover uy:data-[hovered=\"true\"]:text-content-neutral-hover",
"uy:data-[active=\"true\"]:bg-surface-neutral-lowest-active uy:data-[active=\"true\"]:text-content-neutral-active",
"uy:data-[pressed=\"true\"]:bg-surface-neutral-lowest-pressed uy:data-[pressed=\"true\"]:text-content-neutral-pressed",
"uy:data-[focus-visible=\"true\"]:text-content-neutral-focus",
"uy:data-[focus-visible=\"true\"]:outline-2 uy:data-[focus-visible=\"true\"]:outline-solid uy:data-[focus-visible=\"true\"]:outline-utility-focus-ring uy:data-[focus-visible=\"true\"]:outline-offset-2",
"uy:data-[disabled=\"true\"]:bg-surface-neutral-lowest-disabled uy:data-[disabled=\"true\"]:text-content-neutral-disabled"
],
slots: {
label: "uy:min-w-0 uy:flex-1 uy:truncate",
removeButton: "uy:data-[disabled=\"true\"]:bg-surface-neutral-lowest-disabled"
}
}), f = r(({ children: r, icon: a, isDisabled: f, maxCharactersTruncation: p = 12, className: m, ...h }, g) => {
let _ = c(), v = n().state, y = f || v === "disabled" || v === "loading", b = h.textValue ?? (typeof r == "string" ? r : void 0), x = d();
return /* @__PURE__ */ s(u, {
ref: g,
...h,
isDisabled: y,
textValue: b,
className: i(x.base(), m),
children: [
/* @__PURE__ */ o(l, {
src: a,
size: 20,
color: y ? "content.neutral.lowest.disabled" : "content.neutral.lowest",
role: "presentation",
"aria-hidden": "true"
}),
/* @__PURE__ */ o(t, {
asElement: "span",
className: x.label(),
isTruncated: !0,
maxWidthCh: p,
variant: "bodySmallStrong",
children: r
}),
/* @__PURE__ */ o(e, {
className: x.removeButton(),
isDisabled: y,
asElement: "button",
icon: "CloseOutlined",
slot: "remove",
title: _.formatMessage({
id: "unity:module:ai-kit:composer:attachment:remove",
defaultMessage: "Remove Attachment"
})
})
]
});
});
f.displayName = "AIComposerAttachment";
//#endregion
export { f as AIComposerAttachment };