@playbooks/ui
Version:
An interface library for Playbooks.
99 lines (98 loc) • 4.19 kB
JavaScript
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const require$$0 = require("react/jsx-runtime");
const transforms = require("./transforms-Ca9m4pGF.cjs");
const html = require("./toast-context-kVz4KXNu.cjs");
const Table = ({ name = "Table", tailwind, className, children, ...props }) => {
const { theme } = html.useInterface();
const base = theme.table();
const classes = transforms.computeTailwind({ ...base, ...props, ...tailwind, className });
return /* @__PURE__ */ require$$0.jsx(transforms.Table, { name, className: classes, children });
};
const TableHeader = ({
name = "TableHeader",
tailwind,
className,
children,
...props
}) => {
const { theme } = html.useInterface();
const base = theme.tableHeader();
const classes = transforms.computeTailwind({ ...base, ...props, ...tailwind, className });
return /* @__PURE__ */ require$$0.jsx(transforms.THead, { name, className: classes, children });
};
const TableHeaderRow = ({
name = "TableHeaderRow",
tailwind,
className,
children,
...props
}) => {
const { theme } = html.useInterface();
const base = theme.tableHeaderRow();
const classes = transforms.computeTailwind({ ...base, ...props, ...tailwind, className });
return /* @__PURE__ */ require$$0.jsx(transforms.TR, { className: classes, children });
};
const TableHead = ({
name = "TableHead",
alt = "sort table",
value,
params,
setParams,
tailwind,
className,
children,
...props
}) => {
const { theme } = html.useInterface();
const base = theme.tableHead();
const classes = transforms.computeTailwind({ ...base, ...props, ...tailwind, className });
const direction = value === (params == null ? void 0 : params.sortProp) && (params == null ? void 0 : params.sortValue) === "asc" ? "desc" : "asc";
return /* @__PURE__ */ require$$0.jsx(transforms.TH, { name, className: classes, children: transforms.isObject(params) ? /* @__PURE__ */ require$$0.jsxs(
html.BtnWrapper,
{
alt,
onClick: () => setParams({ ...params, sortProp: value, sortValue: direction }),
className: "inherit",
children: [
children,
value === (params == null ? void 0 : params.sortProp) && (params == null ? void 0 : params.sortValue) === "asc" && /* @__PURE__ */ require$$0.jsx(html.FarIcon, { icon: "sort-up", className: "text-xs ml-2" }),
value === (params == null ? void 0 : params.sortProp) && (params == null ? void 0 : params.sortValue) === "desc" && /* @__PURE__ */ require$$0.jsx(html.FarIcon, { icon: "sort-down", className: "text-xs ml-2" }),
value !== (params == null ? void 0 : params.sortProp) && /* @__PURE__ */ require$$0.jsx(html.FarIcon, { icon: "sort", className: "text-xs ml-2" })
]
}
) : /* @__PURE__ */ require$$0.jsx(html.Div, { children }) });
};
const TableBody = ({ name = "TableBody", tailwind, className, children, ...props }) => {
const { theme } = html.useInterface();
const base = theme.tableBody();
const classes = transforms.computeTailwind({ ...base, ...props, ...tailwind, className });
return /* @__PURE__ */ require$$0.jsx(transforms.TBody, { name, className: classes, children });
};
const TableRow = ({ name = "TableRow", tailwind, className, children, ...props }) => {
const { theme } = html.useInterface();
const base = theme.tableRow();
const classes = transforms.computeTailwind({ ...base, ...props, ...tailwind, className });
return /* @__PURE__ */ require$$0.jsx(transforms.TR, { name, className: classes, children });
};
const TableData = ({
name = "TableData",
title = false,
value,
tailwind,
className,
children,
...props
}) => {
const { theme } = html.useInterface();
const base = theme.tableData({ title });
const classes = transforms.computeTailwind({ ...base, ...props, ...tailwind, className });
return /* @__PURE__ */ require$$0.jsx(transforms.TD, { name, className: classes, children: value ? value : children });
};
exports.Table = Table;
exports.TableBody = TableBody;
exports.TableData = TableData;
exports.TableHead = TableHead;
exports.TableHeader = TableHeader;
exports.TableHeaderRow = TableHeaderRow;
exports.TableRow = TableRow;