UNPKG

@payfit/unity-components

Version:

70 lines (69 loc) • 3.09 kB
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 };