@clarify-labs/renderer 0.8.2 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/output/{ClarifyShell-BPv2bxI4.js → ClarifyShell-291_IXxJ.js} +240 -133
  2. package/output/ClarifyShell-291_IXxJ.js.map +1 -0
  3. package/output/{ClarifyShell-B74Fq4UU.cjs → ClarifyShell-DJ4fOVOd.cjs} +239 -132
  4. package/output/ClarifyShell-DJ4fOVOd.cjs.map +1 -0
  5. package/output/{OpenApiOperation-BMXfV15v.cjs → OpenApiOperation-3DUVruIO.cjs} +4 -4
  6. package/output/OpenApiOperation-3DUVruIO.cjs.map +1 -0
  7. package/output/{OpenApiOperation-fJ3QQOJX.js → OpenApiOperation-E8lSLsSK.js} +4 -4
  8. package/output/OpenApiOperation-E8lSLsSK.js.map +1 -0
  9. package/output/{PageActions-BwY7ierv.js → PageActions-DaXQgMYP.js} +14 -6
  10. package/output/PageActions-DaXQgMYP.js.map +1 -0
  11. package/output/{PageActions-DOKkt2zo.cjs → PageActions-GI1t-JrR.cjs} +14 -6
  12. package/output/PageActions-GI1t-JrR.cjs.map +1 -0
  13. package/output/app/SectionProvider.d.ts +1 -0
  14. package/output/client.cjs +3 -3
  15. package/output/client.js +3 -3
  16. package/output/index.cjs +4 -4
  17. package/output/index.js +4 -4
  18. package/output/preview.cjs +2 -2
  19. package/output/preview.js +2 -2
  20. package/output/{render-ZSckbg74.cjs → render-r9DclX3Y.cjs} +2 -2
  21. package/output/{render-ZSckbg74.cjs.map → render-r9DclX3Y.cjs.map} +1 -1
  22. package/output/{render-Cghgq1AQ.js → render-yBo2SUlA.js} +2 -2
  23. package/output/{render-Cghgq1AQ.js.map → render-yBo2SUlA.js.map} +1 -1
  24. package/output/server.cjs +2 -2
  25. package/output/server.js +2 -2
  26. package/package.json +1 -1
  27. package/output/ClarifyShell-B74Fq4UU.cjs.map +0 -1
  28. package/output/ClarifyShell-BPv2bxI4.js.map +0 -1
  29. package/output/OpenApiOperation-BMXfV15v.cjs.map +0 -1
  30. package/output/OpenApiOperation-fJ3QQOJX.js.map +0 -1
  31. package/output/PageActions-BwY7ierv.js.map +0 -1
  32. package/output/PageActions-DOKkt2zo.cjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-DakpK96I.cjs");
2
- const require_PageActions = require("./PageActions-DOKkt2zo.cjs");
2
+ const require_PageActions = require("./PageActions-GI1t-JrR.cjs");
3
3
  let clsx = require("clsx");
4
4
  clsx = require_chunk.__toESM(clsx, 1);
5
5
  let react = require("react");
@@ -582,9 +582,9 @@ function PageSkeleton() {
582
582
  //#endregion
583
583
  //#region source/app/AppShell.tsx
584
584
  function BannerSlot(props) {
585
- const { activeBannerKey, dismissedBannerKey, onDismiss, config, locale } = props;
585
+ const { activeBannerKey, dismissedBannerKey, bannerResolved, onDismiss, config, locale } = props;
586
586
  function DefaultBannerComponent() {
587
- if (!(Boolean(config.banner) && dismissedBannerKey !== activeBannerKey)) return null;
587
+ if (!(bannerResolved && Boolean(config.banner) && dismissedBannerKey !== activeBannerKey)) return null;
588
588
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageBanner, {
589
589
  currentLocale: locale,
590
590
  onDismiss
@@ -685,6 +685,126 @@ function applyDocumentMetadata(config, route) {
685
685
  setNamedMeta("description", route?.description ?? config.description);
686
686
  setNamedMeta("keywords", route?.keywords?.join(", "));
687
687
  }
688
+ function useRouteState(config, routes, navigation, pathname) {
689
+ const currentRoute = routeForPath(routes, pathname);
690
+ const explicitLocale = explicitLocaleForPath(config, pathname);
691
+ const storedLocale = storedLocaleForConfig(config);
692
+ const currentLocale = explicitLocale ?? storedLocale ?? fallbackLocale(config);
693
+ return {
694
+ currentRoute,
695
+ explicitLocale,
696
+ storedLocale,
697
+ currentLocale,
698
+ currentLocaleConfig: config.i18n?.locales.find((locale) => locale.code === currentLocale),
699
+ notFoundRoute: currentRoute ? void 0 : notFoundRouteForPath(routes, pathname, currentLocale),
700
+ currentNavigation: navigationForLocale(navigation, currentLocale, pathname),
701
+ sections: sectionsForRoute(currentRoute)
702
+ };
703
+ }
704
+ function useRenderedRoutes(routes, notFoundRoute) {
705
+ const renderRoutes = (0, react.useMemo)(() => routes.map((route) => ({
706
+ ...route,
707
+ component: resolveRouteComponent(route)
708
+ })), [routes]);
709
+ return {
710
+ renderRoutes,
711
+ NotFoundRouteComponent: notFoundRoute ? renderRoutes.find((route) => require_PageActions.isSameRoutePath(route.path, notFoundRoute.path))?.component : void 0
712
+ };
713
+ }
714
+ function emptySubscribe() {
715
+ return () => {};
716
+ }
717
+ function useStoredBannerDismissed(storageKey) {
718
+ return (0, react.useSyncExternalStore)(emptySubscribe, () => Boolean(storageKey && window.localStorage.getItem(storageKey) === "1"), () => false);
719
+ }
720
+ function useBannerState(config, currentLocale) {
721
+ const banner = config.banner;
722
+ const bannerContent = banner ? require_PageActions.resolveLocalizedText(banner.content, currentLocale, config.i18n?.defaultLocale) : "";
723
+ const bannerStorageKey = banner && bannerContent ? `clarify:banner:dismissed:${config.title}:${bannerContent}` : void 0;
724
+ const storedBannerDismissed = useStoredBannerDismissed(banner?.dismissible ? bannerStorageKey : void 0);
725
+ const [dismissedBannerKey, setDismissedBannerKey] = (0, react.useState)();
726
+ const activeBannerKey = banner ? JSON.stringify(banner) : void 0;
727
+ return {
728
+ activeBannerKey,
729
+ bannerResolved: !banner?.dismissible || !storedBannerDismissed,
730
+ dismissedBannerKey,
731
+ hasBanner: Boolean(banner && bannerContent) && !storedBannerDismissed && dismissedBannerKey !== activeBannerKey,
732
+ dismissBanner: () => setDismissedBannerKey(activeBannerKey)
733
+ };
734
+ }
735
+ function useStoredLocalePreference(explicitLocale) {
736
+ (0, react.useEffect)(() => {
737
+ if (explicitLocale) require_PageActions.storeLocalePreference(explicitLocale);
738
+ }, [explicitLocale]);
739
+ }
740
+ function useStoredLocaleRedirect(arg0) {
741
+ const { config, currentRoute, explicitLocale, location, navigate, pathname, storedLocale } = arg0;
742
+ (0, react.useEffect)(() => {
743
+ if (explicitLocale || !storedLocale || isDefaultLocale(config, storedLocale)) return;
744
+ const localizedPath = currentRoute?.alternates?.[storedLocale];
745
+ if (!localizedPath || require_PageActions.isSameRoutePath(localizedPath, pathname)) return;
746
+ navigate(`${localizedPath}${location.search}${location.hash}`, { replace: true });
747
+ }, [
748
+ config,
749
+ currentRoute,
750
+ explicitLocale,
751
+ location.hash,
752
+ location.search,
753
+ navigate,
754
+ pathname,
755
+ storedLocale
756
+ ]);
757
+ }
758
+ function useRouteScroll(location) {
759
+ (0, react.useEffect)(() => {
760
+ if (location.hash) {
761
+ scrollToHash(location.hash);
762
+ return;
763
+ }
764
+ window.scrollTo({
765
+ top: 0,
766
+ left: 0
767
+ });
768
+ window.requestAnimationFrame(() => {
769
+ window.dispatchEvent(new Event("scroll"));
770
+ });
771
+ }, [location.hash, location.pathname]);
772
+ }
773
+ function useDocumentLanguage(currentLocale, currentLocaleConfig) {
774
+ (0, react.useEffect)(() => {
775
+ if (!currentLocale) return;
776
+ document.documentElement.lang = currentLocale;
777
+ if (currentLocaleConfig?.dir) document.documentElement.dir = currentLocaleConfig.dir;
778
+ else document.documentElement.removeAttribute("dir");
779
+ }, [currentLocale, currentLocaleConfig?.dir]);
780
+ }
781
+ function useDocumentMetadata(config, route) {
782
+ (0, react.useEffect)(() => {
783
+ applyDocumentMetadata(config, route);
784
+ }, [config, route]);
785
+ }
786
+ function headerOffsetForLayout(hasTabs, hasBanner) {
787
+ if (hasTabs && hasBanner) return "10rem";
788
+ if (hasTabs) return "7rem";
789
+ if (hasBanner) return "6.5rem";
790
+ return "3.5rem";
791
+ }
792
+ function sidebarScrollClassName(hasTabs, hasBanner) {
793
+ const classNames = ["clarify-sidebar-scroll lg:sticky lg:z-30 lg:overflow-y-auto lg:pb-8"];
794
+ if (hasTabs && hasBanner) classNames.push("lg:top-40 lg:h-(--clarify-sidebar-height-with-tabs-and-banner) lg:pt-10");
795
+ else if (hasTabs) classNames.push("lg:top-28 lg:h-(--clarify-sidebar-height-with-tabs) lg:pt-10");
796
+ else if (hasBanner) classNames.push("lg:top-26 lg:h-(--clarify-sidebar-height-with-banner) lg:pt-10");
797
+ else classNames.push("lg:top-14 lg:h-(--clarify-sidebar-height) lg:pt-10");
798
+ return (0, clsx.default)(classNames);
799
+ }
800
+ function contentClassName(hasTabs, hasBanner) {
801
+ const classNames = ["clarify-content @container relative flex min-h-screen min-w-0 flex-col px-4 pb-12 sm:px-6 lg:px-8 xl:px-10"];
802
+ if (hasTabs && hasBanner) classNames.push("pt-26 lg:pt-40");
803
+ else if (hasTabs) classNames.push("pt-14 lg:pt-28");
804
+ else if (hasBanner) classNames.push("pt-26");
805
+ else classNames.push("pt-14");
806
+ return (0, clsx.default)(classNames);
807
+ }
688
808
  function BuiltInNotFoundPage() {
689
809
  const text = require_PageActions.useBuiltInText();
690
810
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
@@ -725,68 +845,129 @@ function AppShell(arg0) {
725
845
  const location = (0, react_router_dom.useLocation)();
726
846
  const navigate = (0, react_router_dom.useNavigate)();
727
847
  const pathname = require_PageActions.normalizeRoutePath(location.pathname);
728
- const currentRoute = routeForPath(routes, pathname);
729
- const explicitLocale = explicitLocaleForPath(config, pathname);
730
- const storedLocale = storedLocaleForConfig(config);
731
- const currentLocale = explicitLocale ?? storedLocale ?? fallbackLocale(config);
732
- const currentLocaleConfig = config.i18n?.locales.find((locale) => locale.code === currentLocale);
733
- const notFoundRoute = currentRoute ? void 0 : notFoundRouteForPath(routes, pathname, currentLocale);
848
+ const headerRef = (0, react.useRef)(null);
849
+ const { currentRoute, explicitLocale, storedLocale, currentLocale, currentLocaleConfig, notFoundRoute, currentNavigation, sections } = useRouteState(config, routes, navigation, pathname);
734
850
  const text = require_PageActions.useBuiltInText(currentLocale);
735
- const currentNavigation = navigationForLocale(navigation, currentLocale, pathname);
736
- const sections = sectionsForRoute(currentRoute);
737
- const [dismissedBannerKey, setDismissedBannerKey] = (0, react.useState)();
738
- const activeBannerKey = config.banner ? JSON.stringify(config.banner) : void 0;
739
- const hasBanner = Boolean(config.banner) && dismissedBannerKey !== activeBannerKey;
851
+ const { activeBannerKey, bannerResolved, dismissedBannerKey, hasBanner, dismissBanner } = useBannerState(config, currentLocale);
740
852
  const hasTabs = Boolean(currentNavigation.tabs?.length);
741
- const renderRoutes = (0, react.useMemo)(() => routes.map((route) => ({
742
- ...route,
743
- component: resolveRouteComponent(route)
744
- })), [routes]);
745
- const NotFoundRouteComponent = notFoundRoute ? renderRoutes.find((route) => require_PageActions.isSameRoutePath(route.path, notFoundRoute.path))?.component : void 0;
746
- (0, react.useEffect)(() => {
747
- if (explicitLocale) require_PageActions.storeLocalePreference(explicitLocale);
748
- }, [explicitLocale]);
749
- (0, react.useEffect)(() => {
750
- if (explicitLocale || !storedLocale || isDefaultLocale(config, storedLocale)) return;
751
- const localizedPath = currentRoute?.alternates?.[storedLocale];
752
- if (!localizedPath || require_PageActions.isSameRoutePath(localizedPath, pathname)) return;
753
- navigate(`${localizedPath}${location.search}${location.hash}`, { replace: true });
754
- }, [
853
+ const { renderRoutes, NotFoundRouteComponent } = useRenderedRoutes(routes, notFoundRoute);
854
+ useStoredLocalePreference(explicitLocale);
855
+ useStoredLocaleRedirect({
755
856
  config,
756
857
  currentRoute,
757
858
  explicitLocale,
758
- location.hash,
759
- location.search,
859
+ location,
760
860
  navigate,
761
861
  pathname,
762
862
  storedLocale
763
- ]);
764
- (0, react.useEffect)(() => {
765
- if (location.hash) {
766
- scrollToHash(location.hash);
767
- return;
768
- }
769
- window.scrollTo({
770
- top: 0,
771
- left: 0
863
+ });
864
+ useRouteScroll(location);
865
+ useDocumentLanguage(currentLocale, currentLocaleConfig);
866
+ useDocumentMetadata(config, currentRoute ?? notFoundRoute);
867
+ const layoutStyle = { "--clarify-header-offset": headerOffsetForLayout(hasTabs, hasBanner) };
868
+ function renderBannerSlot() {
869
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BannerSlot, {
870
+ activeBannerKey,
871
+ dismissedBannerKey,
872
+ bannerResolved,
873
+ onDismiss: dismissBanner,
874
+ config,
875
+ locale: currentLocale
772
876
  });
773
- window.requestAnimationFrame(() => {
774
- window.dispatchEvent(new Event("scroll"));
877
+ }
878
+ function renderHeader() {
879
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PageActions.Header, {
880
+ ref: headerRef,
881
+ config,
882
+ navigation: currentNavigation.items,
883
+ tabs: currentNavigation.tabs,
884
+ routes,
885
+ currentLocale,
886
+ currentRoute,
887
+ banner: renderBannerSlot()
775
888
  });
776
- }, [location.hash, location.pathname]);
777
- (0, react.useEffect)(() => {
778
- if (!currentLocale) return;
779
- document.documentElement.lang = currentLocale;
780
- if (currentLocaleConfig?.dir) document.documentElement.dir = currentLocaleConfig.dir;
781
- else document.documentElement.removeAttribute("dir");
782
- }, [currentLocale, currentLocaleConfig?.dir]);
783
- (0, react.useEffect)(() => {
784
- applyDocumentMetadata(config, currentRoute ?? notFoundRoute);
785
- }, [
786
- config,
787
- currentRoute,
788
- notFoundRoute
789
- ]);
889
+ }
890
+ function renderSidebar() {
891
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("aside", {
892
+ "data-pagefind-ignore": true,
893
+ className: "clarify-sidebar hidden lg:block lg:self-stretch lg:bg-(--clarify-theme-tokens-colors-background) lg:px-5 xl:px-6",
894
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
895
+ className: sidebarScrollClassName(hasTabs, hasBanner),
896
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PageActions.Navigation, { navigation: currentNavigation.items })
897
+ })
898
+ });
899
+ }
900
+ function renderRouteElements() {
901
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_router_dom.Routes, { children: [renderRoutes.map((route) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_router_dom.Route, {
902
+ path: route.path,
903
+ element: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(route.component, {})
904
+ }, route.path)), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_router_dom.Route, {
905
+ path: "*",
906
+ element: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NotFoundRouteElement, { component: NotFoundRouteComponent })
907
+ })] });
908
+ }
909
+ function renderMain() {
910
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("main", {
911
+ className: "clarify-main min-w-0 flex-auto",
912
+ "data-pagefind-body": true,
913
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageErrorBoundary, {
914
+ title: text("renderError.title"),
915
+ description: text("renderError.description"),
916
+ reloadLabel: text("renderError.reload"),
917
+ detailsLabel: text("renderError.details"),
918
+ pathLabel: text("renderError.path"),
919
+ typeLabel: text("renderError.type"),
920
+ messageLabel: text("renderError.message"),
921
+ stackLabel: text("renderError.stack"),
922
+ componentStackLabel: text("renderError.componentStack"),
923
+ timestampLabel: text("renderError.timestamp"),
924
+ copyLabel: text("actions.copy"),
925
+ copiedLabel: text("actions.copied"),
926
+ path: pathname,
927
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Suspense, {
928
+ fallback: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageSkeleton, {}),
929
+ children: renderRouteElements()
930
+ })
931
+ }, pathname)
932
+ });
933
+ }
934
+ function renderFooter() {
935
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
936
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RuntimeSlot, { name: "page.footer.before" }),
937
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RuntimeSlot, {
938
+ name: "page.footer.replace",
939
+ default: DefaultFooterComponent
940
+ }),
941
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
942
+ className: "flex justify-end",
943
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BuiltWithClarify, {})
944
+ })
945
+ ] });
946
+ }
947
+ function renderContent() {
948
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
949
+ className: contentClassName(hasTabs, hasBanner),
950
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_PageActions.PageActionsProvider, {
951
+ route: currentRoute,
952
+ routePrefix: config.routePrefix,
953
+ children: [
954
+ renderMain(),
955
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageNavigation, {
956
+ navigation: currentNavigation.items,
957
+ currentRoute
958
+ }),
959
+ renderFooter()
960
+ ]
961
+ })
962
+ });
963
+ }
964
+ function renderLayout() {
965
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
966
+ className: "clarify-layout mx-auto grid w-full max-w-(--clarify-theme-layout-max-width) grid-cols-1 lg:grid-cols-(--clarify-layout-sidebar-grid) xl:grid-cols-(--clarify-layout-sidebar-grid-wide)",
967
+ style: layoutStyle,
968
+ children: [renderSidebar(), renderContent()]
969
+ });
970
+ }
790
971
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PageActions.LocaleContext.Provider, {
791
972
  value: currentLocale,
792
973
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RuntimeSlotsProvider, {
@@ -794,82 +975,8 @@ function AppShell(arg0) {
794
975
  route: currentRoute,
795
976
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_PageActions.SectionProvider, {
796
977
  sections,
797
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PageActions.Header, {
798
- config,
799
- navigation: currentNavigation.items,
800
- tabs: currentNavigation.tabs,
801
- routes,
802
- currentLocale,
803
- currentRoute,
804
- banner: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BannerSlot, {
805
- activeBannerKey,
806
- dismissedBannerKey,
807
- onDismiss: () => setDismissedBannerKey(activeBannerKey),
808
- config,
809
- locale: currentLocale
810
- })
811
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
812
- className: "clarify-layout mx-auto grid w-full max-w-(--clarify-theme-layout-max-width) grid-cols-1 lg:grid-cols-(--clarify-layout-sidebar-grid) xl:grid-cols-(--clarify-layout-sidebar-grid-wide)",
813
- style: { "--clarify-header-offset": hasTabs && hasBanner ? "10rem" : hasTabs && !hasBanner ? "7rem" : !hasTabs && hasBanner ? "6.5rem" : "3.5rem" },
814
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("aside", {
815
- "data-pagefind-ignore": true,
816
- className: "clarify-sidebar hidden lg:block lg:self-stretch lg:bg-(--clarify-theme-tokens-colors-background) lg:px-5 xl:px-6",
817
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
818
- className: (0, clsx.default)("clarify-sidebar-scroll lg:sticky lg:z-30 lg:overflow-y-auto lg:pb-8", hasTabs && hasBanner && "lg:top-40 lg:h-(--clarify-sidebar-height-with-tabs-and-banner) lg:pt-10", hasTabs && !hasBanner && "lg:top-28 lg:h-(--clarify-sidebar-height-with-tabs) lg:pt-10", !hasTabs && hasBanner && "lg:top-26 lg:h-(--clarify-sidebar-height-with-banner) lg:pt-10", !hasTabs && !hasBanner && "lg:top-14 lg:h-(--clarify-sidebar-height) lg:pt-10"),
819
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PageActions.Navigation, { navigation: currentNavigation.items })
820
- })
821
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
822
- className: (0, clsx.default)("clarify-content @container relative flex min-h-screen min-w-0 flex-col px-4 pb-12 sm:px-6 lg:px-8 xl:px-10", hasTabs && hasBanner && "pt-26 lg:pt-40", hasTabs && !hasBanner && "pt-14 lg:pt-28", !hasTabs && hasBanner && "pt-26", !hasTabs && !hasBanner && "pt-14"),
823
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_PageActions.PageActionsProvider, {
824
- route: currentRoute,
825
- routePrefix: config.routePrefix,
826
- children: [
827
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("main", {
828
- className: "clarify-main min-w-0 flex-auto",
829
- "data-pagefind-body": true,
830
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageErrorBoundary, {
831
- title: text("renderError.title"),
832
- description: text("renderError.description"),
833
- reloadLabel: text("renderError.reload"),
834
- detailsLabel: text("renderError.details"),
835
- pathLabel: text("renderError.path"),
836
- typeLabel: text("renderError.type"),
837
- messageLabel: text("renderError.message"),
838
- stackLabel: text("renderError.stack"),
839
- componentStackLabel: text("renderError.componentStack"),
840
- timestampLabel: text("renderError.timestamp"),
841
- copyLabel: text("actions.copy"),
842
- copiedLabel: text("actions.copied"),
843
- path: pathname,
844
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Suspense, {
845
- fallback: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageSkeleton, {}),
846
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_router_dom.Routes, { children: [renderRoutes.map((route) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_router_dom.Route, {
847
- path: route.path,
848
- element: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(route.component, {})
849
- }, route.path)), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_router_dom.Route, {
850
- path: "*",
851
- element: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NotFoundRouteElement, { component: NotFoundRouteComponent })
852
- })] })
853
- })
854
- }, pathname)
855
- }),
856
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageNavigation, {
857
- navigation: currentNavigation.items,
858
- currentRoute
859
- }),
860
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RuntimeSlot, { name: "page.footer.before" }),
861
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RuntimeSlot, {
862
- name: "page.footer.replace",
863
- default: DefaultFooterComponent
864
- }),
865
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
866
- className: "flex justify-end",
867
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BuiltWithClarify, {})
868
- })
869
- ]
870
- })
871
- })]
872
- })]
978
+ headerRef,
979
+ children: [renderHeader(), renderLayout()]
873
980
  })
874
981
  })
875
982
  });
@@ -2246,4 +2353,4 @@ Object.defineProperty(exports, "useSlot", {
2246
2353
  }
2247
2354
  });
2248
2355
 
2249
- //# sourceMappingURL=ClarifyShell-B74Fq4UU.cjs.map
2356
+ //# sourceMappingURL=ClarifyShell-DJ4fOVOd.cjs.map