@payfit/unity-components
Version:
116 lines (115 loc) • 3.5 kB
JavaScript
import { Icon as e } from "../../icon/Icon.js";
import { Text as t } from "../../text/Text.js";
import { useRouter as n } from "../../../providers/router/RouterProvider.js";
import { useTaskMenuContext as r } from "../TaskMenu.context.js";
import { commonTask as i } from "./task.variants.js";
import { forwardRef as a, useEffect as o } from "react";
import { uyTv as s } from "@payfit/unity-themes";
import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
import { FormattedMessage as d, useIntl as f } from "react-intl";
import { Button as p } from "react-aria-components/Button";
import { Link as m } from "react-aria-components/Link";
//#region src/components/task-menu/parts/RawTask.tsx
var h = s({
extend: i,
slots: {
base: [],
element: [
"uy:p-200",
"uy:md:p-0",
"uy:cursor-pointer",
"uy:group-data-[task-status=uncompleted]/base:group-data-[current=true]/base:bg-surface-neutral-selected",
"uy:md:group-data-[task-status=uncompleted]/base:group-data-[current=true]/base:bg-[transparent]"
],
text: "uy:leading-[1]",
lock: "uy:self-center",
number: ""
}
}), g = a(({ href: i, isExact: a = !1, label: s, onPress: g, taskNumber: _, taskStatus: v = "uncompleted", children: y, uniqueId: b, ...x }, S) => {
let C = n(), w = f(), { currentTask: T, setCurrentTask: E, state: D, expandedTaskGroup: O, toggleTaskGroup: k } = r(), A = i ? m : p;
o(() => {
i && C?.isActive(i.toString(), a) && E?.({
uniqueId: b,
label: s
});
}, [
i,
a,
C,
s,
b,
E
]);
let j = T?.uniqueId === b, M = {
"data-current": j,
"aria-current": j ? "page" : void 0
}, { base: N, number: P, element: F, text: I, lock: L } = h({ taskStatus: v });
return /* @__PURE__ */ u("li", {
ref: S,
"data-task-status": v,
className: N(),
...j ? { "data-current": !0 } : {},
...x,
children: [/* @__PURE__ */ u(A, {
className: F(),
href: i,
onPress: (e) => {
E?.({
uniqueId: b,
label: s
}), D?.toggle(), O && k?.(O), g?.(e);
},
...M,
...x,
children: [
/* @__PURE__ */ l("div", {
className: P(),
children: v === "completed" ? /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l(e, {
size: 24,
"aria-hidden": "true",
src: "CheckOutlined",
alt: w.formatMessage({
id: "unity:component:task-menu:task:completed:label",
defaultMessage: "Completed"
})
}), /* @__PURE__ */ l("span", {
className: "uy:sr-only",
children: /* @__PURE__ */ l(d, {
id: "unity:component:task-menu:task:completed:label",
defaultMessage: "Completed"
})
})] }) : /* @__PURE__ */ l(t, {
asElement: "span",
variant: j ? "bodyStrong" : "body",
className: "uy:leading-[1]",
children: _
})
}),
/* @__PURE__ */ l(t, {
asElement: "span",
className: I(),
variant: j ? "bodyStrong" : "body",
children: s
}),
v === "locked" && /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l(e, {
"aria-hidden": "true",
className: L(),
src: "LockOutlined",
alt: w.formatMessage({
id: "unity:component:task-menu:task:lock:label",
defaultMessage: "Locked"
})
}), /* @__PURE__ */ l("span", {
className: "uy:sr-only",
children: /* @__PURE__ */ l(d, {
id: "unity:component:task-menu:task:lock:label",
defaultMessage: "Locked"
})
})] })
]
}), y]
});
});
g.displayName = "RawTask";
//#endregion
export { g as RawTask, h as rawTask };