@playbooks/ui
Version:
An interface library for Playbooks.
28 lines (27 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const require$$0 = require("react/jsx-runtime");
const Router = require("next/router");
const html = require("./toast-context-kVz4KXNu.cjs");
const head = require("./head.cjs");
const transforms = require("./transforms-Ca9m4pGF.cjs");
const Route = ({ name = "Route", seo, tailwind, className, children, ...props }) => {
var _a, _b;
const { theme } = html.useInterface();
const base = theme.route();
const computed = { ...base, ...props, tailwind, className, name };
const interfaceContext = html.useInterface();
const router = Router.useRouter();
const paths = router.asPath.split("?")[0].split("/");
const formattedPaths = paths.map(
(path) => path.split("-").map((v) => transforms.capitalize(v)).join(" ")
);
const computedTitle = ((_a = interfaceContext.meta) == null ? void 0 : _a.title) + formattedPaths.join(" | ");
const computedUrl = ((_b = interfaceContext.meta) == null ? void 0 : _b.baseUrl) + router.asPath.split("?")[0];
const computedHead = { ...interfaceContext.meta, ...seo };
return /* @__PURE__ */ require$$0.jsxs(html.Div, { ...computed, children: [
/* @__PURE__ */ require$$0.jsx(head.Head, { ...computedHead, title: (seo == null ? void 0 : seo.title) || computedTitle, url: computedUrl }),
children
] });
};
exports.Route = Route;