@trebired/frontend 28.0.0 → 28.2.0

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 (105) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +45 -1
  3. package/dist/indent/styles/index.scss +30 -0
  4. package/dist/inputs/advanced/input/styles/field.scss +2 -2
  5. package/dist/inputs/styles/field.scss +14 -3
  6. package/dist/language/messages.d.ts.map +1 -1
  7. package/dist/language/messages.js +8 -0
  8. package/dist/language/messages.js.map +1 -1
  9. package/dist/layout/components/site/header/groups.d.ts +42 -0
  10. package/dist/layout/components/site/header/groups.d.ts.map +1 -0
  11. package/dist/layout/components/site/header/groups.js +93 -0
  12. package/dist/layout/components/site/header/groups.js.map +1 -0
  13. package/dist/layout/components/site/header/search.d.ts +11 -0
  14. package/dist/layout/components/site/header/search.d.ts.map +1 -0
  15. package/dist/layout/components/site/header/search.js +81 -0
  16. package/dist/layout/components/site/header/search.js.map +1 -0
  17. package/dist/layout/components/site/header/sheet.d.ts +14 -0
  18. package/dist/layout/components/site/header/sheet.d.ts.map +1 -0
  19. package/dist/layout/components/site/header/sheet.js +88 -0
  20. package/dist/layout/components/site/header/sheet.js.map +1 -0
  21. package/dist/layout/components/site/header.d.ts +1 -0
  22. package/dist/layout/components/site/header.d.ts.map +1 -1
  23. package/dist/layout/components/site/header.js +28 -42
  24. package/dist/layout/components/site/header.js.map +1 -1
  25. package/dist/layout/components/site/link.d.ts +2 -0
  26. package/dist/layout/components/site/link.d.ts.map +1 -1
  27. package/dist/layout/components/site/link.js.map +1 -1
  28. package/dist/layout/styles/index.scss +1 -0
  29. package/dist/layout/styles/site/footer.scss +1 -1
  30. package/dist/layout/styles/site/header.scss +1 -3
  31. package/dist/layout/styles/site/menu.scss +17 -3
  32. package/dist/layout/styles/site/sheet.scss +191 -0
  33. package/dist/popover/index.d.ts.map +1 -1
  34. package/dist/popover/index.js +9 -4
  35. package/dist/popover/index.js.map +1 -1
  36. package/dist/popover/styles/index.scss +1 -1
  37. package/dist/primitives/styles/_link.scss +6 -2
  38. package/dist/search/site/build.d.ts +33 -0
  39. package/dist/search/site/build.d.ts.map +1 -0
  40. package/dist/search/site/build.js +27 -0
  41. package/dist/search/site/build.js.map +1 -0
  42. package/dist/search/site/extract.d.ts +13 -0
  43. package/dist/search/site/extract.d.ts.map +1 -0
  44. package/dist/search/site/extract.js +82 -0
  45. package/dist/search/site/extract.js.map +1 -0
  46. package/dist/search/site/load.d.ts +4 -0
  47. package/dist/search/site/load.d.ts.map +1 -0
  48. package/dist/search/site/load.js +25 -0
  49. package/dist/search/site/load.js.map +1 -0
  50. package/dist/search/site/query.d.ts +31 -0
  51. package/dist/search/site/query.d.ts.map +1 -0
  52. package/dist/search/site/query.js +125 -0
  53. package/dist/search/site/query.js.map +1 -0
  54. package/dist/server/index.d.ts +2 -0
  55. package/dist/server/index.d.ts.map +1 -1
  56. package/dist/server/index.js +1 -0
  57. package/dist/server/index.js.map +1 -1
  58. package/dist/src/language/messages.d.ts.map +1 -1
  59. package/dist/src/language/messages.js +8 -0
  60. package/dist/src/language/messages.js.map +1 -1
  61. package/dist/src/layout/components/site/header/groups.d.ts +42 -0
  62. package/dist/src/layout/components/site/header/groups.d.ts.map +1 -0
  63. package/dist/src/layout/components/site/header/groups.js +93 -0
  64. package/dist/src/layout/components/site/header/groups.js.map +1 -0
  65. package/dist/src/layout/components/site/header/search.d.ts +11 -0
  66. package/dist/src/layout/components/site/header/search.d.ts.map +1 -0
  67. package/dist/src/layout/components/site/header/search.js +81 -0
  68. package/dist/src/layout/components/site/header/search.js.map +1 -0
  69. package/dist/src/layout/components/site/header/sheet.d.ts +14 -0
  70. package/dist/src/layout/components/site/header/sheet.d.ts.map +1 -0
  71. package/dist/src/layout/components/site/header/sheet.js +88 -0
  72. package/dist/src/layout/components/site/header/sheet.js.map +1 -0
  73. package/dist/src/layout/components/site/header.d.ts +1 -0
  74. package/dist/src/layout/components/site/header.d.ts.map +1 -1
  75. package/dist/src/layout/components/site/header.js +28 -42
  76. package/dist/src/layout/components/site/header.js.map +1 -1
  77. package/dist/src/layout/components/site/link.d.ts +2 -0
  78. package/dist/src/layout/components/site/link.d.ts.map +1 -1
  79. package/dist/src/layout/components/site/link.js.map +1 -1
  80. package/dist/src/popover/index.d.ts.map +1 -1
  81. package/dist/src/popover/index.js +9 -4
  82. package/dist/src/popover/index.js.map +1 -1
  83. package/dist/src/search/site/build.d.ts +33 -0
  84. package/dist/src/search/site/build.d.ts.map +1 -0
  85. package/dist/src/search/site/build.js +27 -0
  86. package/dist/src/search/site/build.js.map +1 -0
  87. package/dist/src/search/site/extract.d.ts +13 -0
  88. package/dist/src/search/site/extract.d.ts.map +1 -0
  89. package/dist/src/search/site/extract.js +82 -0
  90. package/dist/src/search/site/extract.js.map +1 -0
  91. package/dist/src/search/site/load.d.ts +4 -0
  92. package/dist/src/search/site/load.d.ts.map +1 -0
  93. package/dist/src/search/site/load.js +25 -0
  94. package/dist/src/search/site/load.js.map +1 -0
  95. package/dist/src/search/site/query.d.ts +31 -0
  96. package/dist/src/search/site/query.d.ts.map +1 -0
  97. package/dist/src/search/site/query.js +125 -0
  98. package/dist/src/search/site/query.js.map +1 -0
  99. package/dist/src/server/index.d.ts +2 -0
  100. package/dist/src/server/index.d.ts.map +1 -1
  101. package/dist/src/server/index.js +1 -0
  102. package/dist/src/server/index.js.map +1 -1
  103. package/dist/styles/tokens.scss +1 -0
  104. package/dist/styles/utils/_tone.scss +2 -0
  105. package/package.json +1 -1
@@ -0,0 +1,42 @@
1
+ import { type SiteLink } from "./../link.js";
2
+ import type { SiteHeaderSheet } from "./sheet.js";
3
+ type LinkRenderProps = {
4
+ currentPaths: string[];
5
+ currentUrl: string;
6
+ hasSection: boolean;
7
+ lang?: string;
8
+ onNavigate?: () => void;
9
+ section: string;
10
+ softRedirect?: boolean;
11
+ tabIndex?: number;
12
+ };
13
+ type GroupProps = LinkRenderProps & {
14
+ link: SiteLink;
15
+ };
16
+ type SheetProps = {
17
+ sheet: SiteHeaderSheet;
18
+ sheetId: string;
19
+ };
20
+ declare function useSiteLinkState(links: SiteLink[]): {
21
+ currentPaths: string[];
22
+ currentUrl: string;
23
+ hasSection: boolean;
24
+ section: string;
25
+ };
26
+ declare function SiteHeaderAnchor(props: LinkRenderProps & {
27
+ className?: string;
28
+ link: SiteLink;
29
+ plain?: boolean;
30
+ }): import("react").JSX.Element;
31
+ declare function SiteHeaderNavTrigger(props: GroupProps & SheetProps & {
32
+ index: number;
33
+ }): import("react").JSX.Element;
34
+ declare function SiteHeaderSheetPanel(props: SheetProps & {
35
+ lang?: string;
36
+ links: SiteLink[];
37
+ softRedirect?: boolean;
38
+ }): import("react").JSX.Element;
39
+ declare function SiteHeaderMenuGroup(props: GroupProps): import("react").JSX.Element;
40
+ export { SiteHeaderAnchor, SiteHeaderMenuGroup, SiteHeaderNavTrigger, SiteHeaderSheetPanel, useSiteLinkState };
41
+ export type { LinkRenderProps, SheetProps };
42
+ //# sourceMappingURL=groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/site/header/groups.tsx"],"names":[],"mappings":"AAKA,OAAO,EASL,KAAK,QAAQ,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,KAAK,eAAe,GAAG;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,UAAU,GAAG,eAAe,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvD,KAAK,UAAU,GAAG;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAQ9D,iBAAS,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE;;;;;EAY1C;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,+BAazG;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,+BAoB/E;AA6DD,iBAAS,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,+BAiC7G;AAiCD,iBAAS,mBAAmB,CAAC,KAAK,EAAE,UAAU,+BAe7C;AAED,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC;AAC/G,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,93 @@
1
+ import { createElement as _createElement } from "react";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useEffect, useId, useSyncExternalStore } from "react";
4
+ import { Disclosure, DisclosureButton } from "./../../../../inputs/components/disclosure.js";
5
+ import { frontendClassName, frontendDataAttrs, frontendElementClass } from "../../../../../namespace/index.js";
6
+ import { useRenderCurrentUrl } from "./../../../../render/current_url.js";
7
+ import { activeSection, observeSections, serverActiveSection, subscribeActiveSection } from "./../section_spy.js";
8
+ import { isSiteLinkActive, isSiteLinkGroup, SiteLinkAnchor, siteLinkChildren, siteLinkFragment, siteLinkKey, siteLinkOnCurrentPage, sitePathForms, } from "./../link.js";
9
+ import { SiteHeaderSearch } from "./search.js";
10
+ const block = "site-header";
11
+ function siteLinkLeaves(links) {
12
+ return links.flatMap((link) => (isSiteLinkGroup(link) ? siteLinkLeaves(siteLinkChildren(link)) : [link]));
13
+ }
14
+ function useSiteLinkState(links) {
15
+ const currentUrl = useRenderCurrentUrl();
16
+ const currentPaths = sitePathForms(currentUrl);
17
+ const fragments = siteLinkLeaves(links)
18
+ .filter((link) => siteLinkFragment(link) && siteLinkOnCurrentPage(link, currentPaths))
19
+ .map((link) => siteLinkFragment(link));
20
+ const fragmentKey = fragments.join("|");
21
+ useEffect(() => {
22
+ observeSections(fragmentKey ? fragmentKey.split("|") : []);
23
+ }, [fragmentKey]);
24
+ const section = useSyncExternalStore(subscribeActiveSection, activeSection, serverActiveSection);
25
+ return { currentPaths, currentUrl, hasSection: fragments.length > 0, section };
26
+ }
27
+ function SiteHeaderAnchor(props) {
28
+ const { className, currentPaths, hasSection, link, section } = props;
29
+ return (_jsx(SiteLinkAnchor, { active: isSiteLinkActive(link, currentPaths, section, hasSection, props.currentUrl), className: className, link: link, onNavigate: props.onNavigate, plain: props.plain, softRedirect: props.softRedirect, tabIndex: props.tabIndex }));
30
+ }
31
+ function SiteHeaderNavTrigger(props) {
32
+ const { link, sheet } = props;
33
+ const key = String(props.index);
34
+ return (_jsxs("button", { "aria-controls": `${props.sheetId}_${key}`, "aria-expanded": sheet.open === key, className: frontendElementClass(block, "nav-trigger"), onClick: (event) => sheet.toggle(key, event.detail === 0), onPointerEnter: (event) => {
35
+ if (event.pointerType === "mouse")
36
+ sheet.hover(key);
37
+ }, tabIndex: props.tabIndex, type: "button", ...frontendDataAttrs({ "site-header-trigger": key }), children: [_jsx("span", { className: frontendClassName("text-link"), children: link.label }), _jsx("span", { "aria-hidden": "true", className: frontendElementClass(block, "nav-chevron") })] }));
38
+ }
39
+ function SheetEntry(props) {
40
+ const { link } = props;
41
+ const description = link.description === undefined ? null : (_jsx("span", { className: frontendElementClass(block, "sheet-description"), children: link.description }));
42
+ const label = (_jsxs(_Fragment, { children: [_jsx("span", { className: frontendClassName("text-link"), children: link.label }), description] }));
43
+ return _jsx(SiteHeaderAnchor, { ...props, plain: true, className: frontendElementClass(block, "sheet-entry"), link: { ...link, label } });
44
+ }
45
+ function SheetColumn(props) {
46
+ const headingId = `${useId().replace(/:/gu, "")}_sheet_heading`;
47
+ return (_jsxs("div", { "aria-labelledby": headingId, className: frontendElementClass(block, "sheet-column"), role: "group", children: [_jsx("h5", { className: frontendElementClass(block, "sheet-heading"), id: headingId, children: props.link.label }), _jsx("div", { className: `${frontendElementClass(block, "sheet-links")} ${frontendClassName("scroll-min")}`, children: siteLinkChildren(props.link).map((child, index) => _createElement(SheetEntry, { ...props, key: siteLinkKey(child, index), link: child })) })] }));
48
+ }
49
+ function SheetGrid(props) {
50
+ const children = siteLinkChildren(props.link);
51
+ const columns = children.some(isSiteLinkGroup);
52
+ return (_jsx("div", { className: frontendElementClass(block, "sheet-grid"), ...frontendDataAttrs({ "site-header-layout": columns ? "columns" : "list" }), children: children.map((child, index) => {
53
+ const key = siteLinkKey(child, index);
54
+ if (isSiteLinkGroup(child))
55
+ return _createElement(SheetColumn, { ...props, key: key, link: child });
56
+ return _createElement(SheetEntry, { ...props, key: key, link: child });
57
+ }) }));
58
+ }
59
+ function SheetSection(props) {
60
+ const grid = _jsx(SheetGrid, { ...props });
61
+ return (_jsx("div", { className: frontendElementClass(block, "sheet-section"), hidden: props.hidden, id: props.id, ...frontendDataAttrs({ "site-header-section": props.sectionKey }), children: props.link.search ? (_jsx(SiteHeaderSearch, { lang: props.lang, onNavigate: props.onNavigate, softRedirect: props.softRedirect, children: grid })) : grid }));
62
+ }
63
+ function SiteHeaderSheetPanel(props) {
64
+ const { links, sheet, sheetId } = props;
65
+ const state = useSiteLinkState(links);
66
+ const groups = links.map((link, index) => ({ index, link })).filter(({ link }) => isSiteLinkGroup(link));
67
+ if (!groups.length)
68
+ return null;
69
+ const open = Boolean(sheet.open);
70
+ return (_jsx("div", { "aria-hidden": !open, className: frontendElementClass(block, "sheet"), inert: !open, onPointerEnter: sheet.stay, ...frontendDataAttrs({ "site-header-sheet": open ? "open" : "closed" }), children: _jsx("div", { className: `${frontendElementClass(block, "sheet-body")} ${frontendClassName("scroll-min")}`, children: _jsx("div", { className: frontendElementClass(block, "sheet-content"), children: groups.map(({ index, link }) => (_createElement(SheetSection, { ...state, hidden: sheet.current !== String(index), id: `${sheetId}_${index}`, key: siteLinkKey(link, index), lang: props.lang, link: link, onNavigate: sheet.close, sectionKey: String(index), softRedirect: props.softRedirect }))) }) }) }));
71
+ }
72
+ function SiteHeaderChevron() {
73
+ return _jsx("span", { "aria-hidden": "true", className: frontendElementClass(block, "menu-group-chevron") });
74
+ }
75
+ function MenuSection(props) {
76
+ return (_jsxs("div", { className: frontendElementClass(block, "menu-section"), children: [_jsx("h5", { className: frontendElementClass(block, "menu-section-heading"), children: props.link.label }), _jsx("div", { className: frontendElementClass(block, "menu-section-links"), children: siteLinkChildren(props.link).map((child, index) => (_createElement(SiteHeaderAnchor, { ...props, key: siteLinkKey(child, index), link: child }))) })] }));
77
+ }
78
+ function MenuGroupLinks(props) {
79
+ const links = (_jsx("div", { className: frontendElementClass(block, "menu-group-links"), children: siteLinkChildren(props.link).map((child, index) => {
80
+ const key = siteLinkKey(child, index);
81
+ if (isSiteLinkGroup(child))
82
+ return _createElement(MenuSection, { ...props, key: key, link: child });
83
+ return _createElement(SiteHeaderAnchor, { ...props, key: key, link: child });
84
+ }) }));
85
+ if (!props.link.search)
86
+ return links;
87
+ return _jsx(SiteHeaderSearch, { lang: props.lang, onNavigate: props.onNavigate, softRedirect: props.softRedirect, children: links });
88
+ }
89
+ function SiteHeaderMenuGroup(props) {
90
+ return (_jsx(Disclosure, { className: frontendElementClass(block, "menu-group"), panel: _jsx(MenuGroupLinks, { ...props }), trigger: _jsxs(DisclosureButton, { className: frontendElementClass(block, "menu-group-label"), children: [_jsx("span", { className: frontendClassName("text-link"), children: props.link.label }), _jsx(SiteHeaderChevron, {})] }) }));
91
+ }
92
+ export { SiteHeaderAnchor, SiteHeaderMenuGroup, SiteHeaderNavTrigger, SiteHeaderSheetPanel, useSiteLinkState };
93
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../../../../src/layout/components/site/header/groups.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ReactNode } from "react";
2
+ type SiteHeaderSearchProps = {
3
+ children?: ReactNode;
4
+ lang?: string;
5
+ onNavigate?: () => void;
6
+ softRedirect?: boolean;
7
+ };
8
+ declare function SiteHeaderSearch(props: SiteHeaderSearchProps): import("react").JSX.Element;
9
+ export { SiteHeaderSearch };
10
+ export type { SiteHeaderSearchProps };
11
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/site/header/search.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAYtD,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAsFF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAyCrD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useId, useRef, useState } from "react";
3
+ import { frontendClassName, frontendElementClass } from "../../../../../namespace/index.js";
4
+ import { normalizeLocale, sourceLanguageMessage } from "./../../../../language/messages.js";
5
+ import { loadSiteSearch } from "./../../../../search/site/load.js";
6
+ import { searchSite } from "./../../../../search/site/query.js";
7
+ import { SiteLinkAnchor } from "./../link.js";
8
+ const block = "site-header";
9
+ const DEBOUNCE = 90;
10
+ function useSiteSearch(query, locale) {
11
+ const [state, setState] = useState({ hits: [], status: "idle" });
12
+ useEffect(() => {
13
+ const value = query.trim();
14
+ if (!value) {
15
+ setState({ hits: [], status: "idle" });
16
+ return undefined;
17
+ }
18
+ let live = true;
19
+ const timer = window.setTimeout(() => {
20
+ setState((current) => (current.status === "ready" ? current : { ...current, status: "loading" }));
21
+ loadSiteSearch(locale).then((pages) => live && setState({ hits: searchSite(pages, value), status: "ready" }), () => live && setState({ hits: [], status: "failed" }));
22
+ }, DEBOUNCE);
23
+ return () => {
24
+ live = false;
25
+ window.clearTimeout(timer);
26
+ };
27
+ }, [locale, query]);
28
+ return state;
29
+ }
30
+ function moveFocus(list, input, event) {
31
+ const links = [...(list?.querySelectorAll("a[href]") || [])];
32
+ const index = links.indexOf(document.activeElement);
33
+ if (event.key === "ArrowDown")
34
+ links[Math.min(links.length - 1, index + 1)]?.focus();
35
+ else if (event.key === "ArrowUp" && index <= 0)
36
+ input?.focus();
37
+ else if (event.key === "ArrowUp")
38
+ links[index - 1]?.focus();
39
+ else
40
+ return;
41
+ event.preventDefault();
42
+ }
43
+ function HitLink(props) {
44
+ const { hit } = props;
45
+ const title = hit.section && hit.section.title !== hit.title ? `${hit.title} · ${hit.section.title}` : hit.title;
46
+ const label = (_jsxs(_Fragment, { children: [_jsx("span", { className: frontendClassName("text-link"), children: title }), _jsx("span", { className: frontendElementClass(block, "sheet-description"), children: hit.snippet.map((part, index) => (part.mark ? _jsx("mark", { children: part.text }, index) : part.text)) })] }));
47
+ return (_jsx(SiteLinkAnchor, { className: frontendElementClass(block, "sheet-entry"), link: { href: hit.href, label }, onNavigate: props.onNavigate, plain: true, softRedirect: props.softRedirect }));
48
+ }
49
+ function SearchResults(props) {
50
+ const listRef = useRef(null);
51
+ const { hits, status } = props.state;
52
+ const say = (key) => sourceLanguageMessage(key, props.locale, { query: props.query.trim() });
53
+ const note = status === "failed" ? say("siteSearchFailed") : status === "ready" && !hits.length ? say("siteSearchEmpty") : "";
54
+ return (_jsxs("div", { "aria-live": "polite", className: frontendElementClass(block, "search-results"), children: [note ? _jsx("p", { className: frontendElementClass(block, "sheet-description"), children: note }) : null, hits.length ? (_jsx("ol", { className: frontendElementClass(block, "search-list"), onKeyDown: (event) => moveFocus(listRef.current, props.input, event), ref: listRef, children: hits.map((hit) => (_jsx("li", { children: _jsx(HitLink, { hit: hit, onNavigate: props.onNavigate, softRedirect: props.softRedirect }) }, hit.href))) })) : null] }));
55
+ }
56
+ function SiteHeaderSearch(props) {
57
+ const locale = normalizeLocale(props.lang || (typeof document === "undefined" ? "" : document.documentElement.lang));
58
+ const [query, setQuery] = useState("");
59
+ const inputRef = useRef(null);
60
+ const resultsId = `${useId().replace(/:/gu, "")}_site_search`;
61
+ const state = useSiteSearch(query, locale);
62
+ const searching = Boolean(query.trim());
63
+ const onKeyDown = (event) => {
64
+ const results = document.getElementById(resultsId);
65
+ if (event.key === "Escape" && query) {
66
+ event.stopPropagation();
67
+ setQuery("");
68
+ }
69
+ else if (event.key === "Enter")
70
+ results?.querySelector("a[href]")?.click();
71
+ else if (event.key === "ArrowDown")
72
+ moveFocus(results, inputRef.current, event);
73
+ };
74
+ const navigate = () => {
75
+ setQuery("");
76
+ props.onNavigate?.();
77
+ };
78
+ return (_jsxs("div", { className: frontendElementClass(block, "search"), children: [_jsx("input", { "aria-controls": resultsId, "aria-label": sourceLanguageMessage("siteSearchLabel", locale), autoComplete: "off", className: `${frontendClassName("input")} ${frontendElementClass(block, "search-input")}`, onChange: (event) => setQuery(event.target.value), onFocus: () => void loadSiteSearch(locale).catch(() => undefined), onKeyDown: onKeyDown, placeholder: sourceLanguageMessage("siteSearchPlaceholder", locale), ref: inputRef, spellCheck: false, type: "search", value: query }), _jsx("div", { id: resultsId, children: searching ? _jsx(SearchResults, { ...props, input: inputRef.current, locale: locale, onNavigate: navigate, query: query, state: state }) : null }), _jsx("div", { hidden: searching, children: props.children })] }));
79
+ }
80
+ export { SiteHeaderSearch };
81
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../../../src/layout/components/site/header/search.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { RefObject } from "react";
2
+ type SiteHeaderSheet = {
3
+ close: () => void;
4
+ current: string;
5
+ hover: (key: string) => void;
6
+ leave: () => void;
7
+ open: string;
8
+ stay: () => void;
9
+ toggle: (key: string, keyboard: boolean) => void;
10
+ };
11
+ declare function useSiteHeaderSheet(headerRef: RefObject<HTMLElement | null>): SiteHeaderSheet;
12
+ export { useSiteHeaderSheet };
13
+ export type { SiteHeaderSheet };
14
+ //# sourceMappingURL=sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/site/header/sheet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQvC,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD,CAAC;AA2CF,iBAAS,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,GAAC,IAAI,CAAC,GAAG,eAAe,CAiCnF;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
+ import { registerOverlayCloser } from "../../../../../spa/closers.js";
3
+ import { frontendDataSelector } from "../../../../../namespace/index.js";
4
+ import { SITE_HEADER_DESKTOP_QUERY } from "./state.js";
5
+ const CLOSE_DELAY = 180;
6
+ const HOVER_GRACE = 400;
7
+ function focusFirstLink(header, key) {
8
+ requestAnimationFrame(() => {
9
+ const section = header?.querySelector(`${frontendDataSelector("site-header-section", key)}`);
10
+ section?.querySelector("a[href]")?.focus({ preventScroll: true });
11
+ });
12
+ }
13
+ function useSheetDismissal(headerRef, open, close) {
14
+ useEffect(() => registerOverlayCloser(close), [close]);
15
+ useEffect(() => {
16
+ const header = headerRef.current;
17
+ if (!open || !header)
18
+ return undefined;
19
+ const onKeyDown = (event) => {
20
+ if (event.key !== "Escape")
21
+ return;
22
+ const inside = header.contains(document.activeElement);
23
+ close();
24
+ if (inside)
25
+ header.querySelector(frontendDataSelector("site-header-trigger", open))?.focus({ preventScroll: true });
26
+ };
27
+ const onPointerDown = (event) => {
28
+ if (event.target instanceof Node && !header.contains(event.target))
29
+ close();
30
+ };
31
+ const onFocusOut = (event) => {
32
+ if (!(event.relatedTarget instanceof Node) || !header.contains(event.relatedTarget))
33
+ close();
34
+ };
35
+ const media = window.matchMedia?.(SITE_HEADER_DESKTOP_QUERY);
36
+ const onMedia = () => {
37
+ if (!media?.matches)
38
+ close();
39
+ };
40
+ document.addEventListener("keydown", onKeyDown);
41
+ document.addEventListener("pointerdown", onPointerDown);
42
+ header.addEventListener("focusout", onFocusOut);
43
+ media?.addEventListener?.("change", onMedia);
44
+ return () => {
45
+ document.removeEventListener("keydown", onKeyDown);
46
+ document.removeEventListener("pointerdown", onPointerDown);
47
+ header.removeEventListener("focusout", onFocusOut);
48
+ media?.removeEventListener?.("change", onMedia);
49
+ };
50
+ }, [close, headerRef, open]);
51
+ }
52
+ function useSiteHeaderSheet(headerRef) {
53
+ const [open, setOpen] = useState("");
54
+ const [current, setCurrent] = useState("");
55
+ const timer = useRef(0);
56
+ const hoveredAt = useRef(0);
57
+ const stay = useCallback(() => {
58
+ window.clearTimeout(timer.current);
59
+ timer.current = 0;
60
+ }, []);
61
+ const close = useCallback(() => {
62
+ stay();
63
+ setOpen("");
64
+ }, [stay]);
65
+ const hover = useCallback((key) => {
66
+ stay();
67
+ hoveredAt.current = Date.now();
68
+ setCurrent(key);
69
+ setOpen(key);
70
+ }, [stay]);
71
+ const leave = useCallback(() => {
72
+ stay();
73
+ timer.current = window.setTimeout(() => setOpen(""), CLOSE_DELAY);
74
+ }, [stay]);
75
+ const toggle = useCallback((key, keyboard) => {
76
+ stay();
77
+ const closing = open === key && Date.now() - hoveredAt.current >= HOVER_GRACE;
78
+ setCurrent(key);
79
+ setOpen(closing ? "" : key);
80
+ if (keyboard && !closing)
81
+ focusFirstLink(headerRef.current, key);
82
+ }, [headerRef, open, stay]);
83
+ useEffect(() => () => window.clearTimeout(timer.current), []);
84
+ useSheetDismissal(headerRef, open, close);
85
+ return { close, current, hover, leave, open, stay, toggle };
86
+ }
87
+ export { useSiteHeaderSheet };
88
+ //# sourceMappingURL=sheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../../../../../src/layout/components/site/header/sheet.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ type SiteHeaderProps = Omit<HTMLAttributes<HTMLElement>, "children"> & {
13
13
  brand: ReactNode;
14
14
  brandHref?: false | string;
15
15
  labels?: SiteHeaderLabels;
16
+ lang?: string;
16
17
  links?: SiteHeaderLink[];
17
18
  menuActions?: ReactNode;
18
19
  softRedirect?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../src/layout/components/site/header.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AASnE,OAAO,EASL,KAAK,QAAQ,EACd,MAAM,WAAW,CAAC;AAGnB,KAAK,cAAc,GAAG,QAAQ,CAAC;AAE/B,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG;IACrE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AA4NF,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,+BAqCzC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../src/layout/components/site/header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA4B,SAAS,EAAE,MAAM,OAAO,CAAC;AAgBjF,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExE,KAAK,cAAc,GAAG,QAAQ,CAAC;AAE/B,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG;IACrE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AA8IF,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,+BAqCzC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
@@ -1,65 +1,40 @@
1
1
  import { createElement as _createElement } from "react";
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Disclosure, DisclosureButton } from "./../../../inputs/components/disclosure.js";
4
- import { useEffect, useId, useSyncExternalStore } from "react";
5
- import { PopoverOpenButton, PopoverPanel } from "./../../../popover/components/index.js";
3
+ import { useEffect, useId } from "react";
6
4
  import { classNames } from "../../../../components/index.js";
7
5
  import { frontendClassName, frontendDataAttrs, frontendElementClass } from "../../../../namespace/index.js";
8
6
  import { A11Y_MAIN_ID } from "./../../../a11y/attributes.js";
9
7
  import { useSiteHeaderMenu } from "./header/state.js";
10
8
  import { useSiteHeaderFit } from "./header/fit.js";
11
- import { activeSection, observeSections, serverActiveSection, subscribeActiveSection } from "./section_spy.js";
12
- import { isSiteLinkActive, isSiteLinkGroup, SiteLinkAnchor, siteLinkChildren, siteLinkFragment, siteLinkKey, siteLinkOnCurrentPage, sitePathForms, } from "./link.js";
13
- import { useRenderCurrentUrl } from "./../../../render/current_url.js";
9
+ import { useSiteHeaderSheet } from "./header/sheet.js";
10
+ import { SiteHeaderAnchor, SiteHeaderMenuGroup, SiteHeaderNavTrigger, SiteHeaderSheetPanel, useSiteLinkState, } from "./header/groups.js";
11
+ import { isSiteLinkGroup, siteLinkKey } from "./link.js";
14
12
  const block = "site-header";
15
13
  function SiteHeaderSkipLink({ labels }) {
16
14
  return (_jsx("a", { className: frontendClassName("skip-link"), href: `#${A11Y_MAIN_ID}`, children: labels?.skipToContent || "Skip to content" }));
17
15
  }
18
- function SiteHeaderAnchor(props) {
19
- const { className, currentPaths, hasSection, link, section } = props;
20
- return (_jsx(SiteLinkAnchor, { active: isSiteLinkActive(link, currentPaths, section, hasSection, props.currentUrl), className: className, link: link, onNavigate: props.onNavigate, plain: props.plain, softRedirect: props.softRedirect, tabIndex: props.tabIndex }));
21
- }
22
- function SiteHeaderNavGroup(props) {
23
- const { currentPaths, hasSection, link, section } = props;
24
- const panelId = `${useId().replace(/:/gu, "")}_nav_group`;
25
- const active = isSiteLinkActive(link, currentPaths, section, hasSection, props.currentUrl);
26
- return (_jsxs(_Fragment, { children: [_jsx(PopoverOpenButton, { "aria-current": active ? "true" : undefined, className: frontendElementClass(block, "nav-trigger"), controls: panelId, hover: true, tabIndex: props.tabIndex, children: _jsx("span", { className: frontendClassName("text-link"), children: link.label }) }), _jsx(PopoverPanel, { id: panelId, children: siteLinkChildren(link).map((child, index) => (_createElement(SiteHeaderAnchor, { ...props, plain: true, className: frontendClassName("popover-item"), key: siteLinkKey(child, index), link: child }))) })] }));
27
- }
28
- function SiteHeaderChevron() {
29
- return (_jsx("span", { "aria-hidden": "true", className: frontendElementClass(block, "menu-group-chevron") }));
30
- }
31
- function SiteHeaderMenuGroup(props) {
32
- return (_jsx(Disclosure, { className: frontendElementClass(block, "menu-group"), panel: _jsx("div", { className: frontendElementClass(block, "menu-group-links"), children: siteLinkChildren(props.link).map((child, index) => (_createElement(SiteHeaderAnchor, { ...props, key: siteLinkKey(child, index), link: child }))) }), trigger: _jsxs(DisclosureButton, { className: frontendElementClass(block, "menu-group-label"), children: [_jsx("span", { children: props.link.label }), _jsx(SiteHeaderChevron, {})] }) }));
33
- }
34
16
  function SiteHeaderLinks(props) {
35
- const currentUrl = useRenderCurrentUrl();
36
- const currentPaths = sitePathForms(currentUrl);
37
- const fragments = props.links.flatMap((link) => (isSiteLinkGroup(link) ? siteLinkChildren(link) : [link]))
38
- .filter((link) => siteLinkFragment(link) && siteLinkOnCurrentPage(link, currentPaths))
39
- .map((link) => siteLinkFragment(link));
40
- const fragmentKey = fragments.join("|");
41
- useEffect(() => {
42
- observeSections(fragmentKey ? fragmentKey.split("|") : []);
43
- }, [fragmentKey]);
44
- const section = useSyncExternalStore(subscribeActiveSection, activeSection, serverActiveSection);
45
17
  const shared = {
46
- currentPaths,
47
- currentUrl,
48
- hasSection: fragments.length > 0,
18
+ ...useSiteLinkState(props.links),
19
+ lang: props.lang,
49
20
  onNavigate: props.onNavigate,
50
- section,
51
21
  softRedirect: props.softRedirect,
52
22
  tabIndex: props.tabIndex,
53
23
  };
24
+ const { sheet, sheetId } = props;
54
25
  return (_jsx(_Fragment, { children: props.links.map((link, index) => {
55
26
  const key = siteLinkKey(link, index);
56
27
  if (!isSiteLinkGroup(link))
57
28
  return _createElement(SiteHeaderAnchor, { ...shared, key: key, link: link });
58
- if (props.grouped)
29
+ if (!sheet || !sheetId)
59
30
  return _createElement(SiteHeaderMenuGroup, { ...shared, key: key, link: link });
60
- return _createElement(SiteHeaderNavGroup, { ...shared, key: key, link: link });
31
+ return _createElement(SiteHeaderNavTrigger, { ...shared, index: index, key: key, link: link, sheet: sheet, sheetId: sheetId });
61
32
  }) }));
62
33
  }
34
+ function closeSheetOverLink(event, close) {
35
+ if (event.target instanceof Element && event.target.closest("a[href]"))
36
+ close();
37
+ }
63
38
  function closeOnLink(event, close) {
64
39
  if (event.target instanceof Element && event.target.closest("a[href]"))
65
40
  close();
@@ -80,15 +55,26 @@ function SiteHeaderToggle(props) {
80
55
  }
81
56
  function SiteHeaderMenu(props) {
82
57
  const { actions, labels, links = [], menuActions = actions, menuId, softRedirect, state } = props;
83
- return (_jsx("div", { "aria-hidden": !state.open, className: frontendElementClass(block, "menu"), id: menuId, inert: !state.open, children: _jsx("div", { className: frontendElementClass(block, "menu-body"), children: _jsxs("div", { className: frontendElementClass(block, "menu-content"), children: [links.length ? (_jsx("nav", { "aria-label": labels?.navigation, className: frontendElementClass(block, "menu-links"), children: _jsx(SiteHeaderLinks, { grouped: true, links: links, onNavigate: state.close, softRedirect: softRedirect }) })) : null, menuActions ? (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", className: frontendElementClass(block, "menu-divider") }), _jsx("div", { className: frontendElementClass(block, "menu-footer"), onClick: (event) => closeOnLink(event, state.close), children: menuActions })] })) : null] }) }) }));
58
+ return (_jsx("div", { "aria-hidden": !state.open, className: frontendElementClass(block, "menu"), id: menuId, inert: !state.open, children: _jsx("div", { className: frontendElementClass(block, "menu-body"), children: _jsxs("div", { className: frontendElementClass(block, "menu-content"), children: [links.length ? (_jsx("nav", { "aria-label": labels?.navigation, className: frontendElementClass(block, "menu-links"), children: _jsx(SiteHeaderLinks, { lang: props.lang, links: links, onNavigate: state.close, softRedirect: softRedirect }) })) : null, menuActions ? (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", className: frontendElementClass(block, "menu-divider") }), _jsx("div", { className: frontendElementClass(block, "menu-footer"), onClick: (event) => closeOnLink(event, state.close), children: menuActions })] })) : null] }) }) }));
59
+ }
60
+ function SiteHeaderNav(props) {
61
+ const { sheet } = props;
62
+ return (_jsx("nav", { "aria-label": props.labels?.navigation, className: frontendElementClass(block, "nav"), onPointerOver: (event) => closeSheetOverLink(event, sheet.leave), children: _jsx(SiteHeaderLinks, { links: props.links, sheet: sheet, sheetId: props.sheetId, softRedirect: props.softRedirect }) }));
84
63
  }
85
64
  function SiteHeader(props) {
86
- const { actions, brand, brandHref = "/", className, labels, links = [], menuActions, softRedirect, ...rest } = props;
65
+ const { actions, brand, brandHref = "/", className, labels, lang, links = [], menuActions, softRedirect, ...rest } = props;
87
66
  const state = useSiteHeaderMenu();
88
- const menuId = `${useId().replace(/:/gu, "")}_site_menu`;
67
+ const baseId = useId().replace(/:/gu, "");
68
+ const menuId = `${baseId}_site_menu`;
69
+ const sheetId = `${baseId}_site_sheet`;
89
70
  const hasMenu = links.length > 0 || Boolean(menuActions);
90
71
  const compact = useSiteHeaderFit(state.headerRef, hasMenu);
91
- return (_jsxs("header", { ...rest, className: classNames(frontendClassName(block), className), ...frontendDataAttrs({ "site-header": "", "site-header-open": state.open ? "true" : "false" }), ...frontendDataAttrs({ "site-header-menu": hasMenu ? "true" : "false" }), ...frontendDataAttrs({ "site-header-compact": compact ? "true" : undefined }), ref: state.headerRef, children: [_jsx(SiteHeaderSkipLink, { labels: labels }), _jsxs("div", { className: frontendElementClass(block, "bar"), children: [_jsx(SiteHeaderBrand, { brand: brand, brandHref: brandHref, labels: labels, softRedirect: softRedirect }), links.length ? (_jsx("nav", { "aria-label": labels?.navigation, className: frontendElementClass(block, "nav"), children: _jsx(SiteHeaderLinks, { links: links, softRedirect: softRedirect }) })) : null, actions ? _jsx("div", { className: frontendElementClass(block, "actions"), children: actions }) : null, hasMenu ? _jsx(SiteHeaderToggle, { ...props, menuId: menuId, state: state }) : null] }), hasMenu ? _jsx(SiteHeaderMenu, { ...props, menuId: menuId, state: state }) : null] }));
72
+ const sheet = useSiteHeaderSheet(state.headerRef);
73
+ useEffect(() => {
74
+ if (compact)
75
+ sheet.close();
76
+ }, [compact, sheet.close]);
77
+ return (_jsxs("header", { ...rest, className: classNames(frontendClassName(block), className), ...frontendDataAttrs({ "site-header": "", "site-header-open": state.open ? "true" : "false" }), ...frontendDataAttrs({ "site-header-menu": hasMenu ? "true" : "false" }), ...frontendDataAttrs({ "site-header-compact": compact ? "true" : undefined }), onPointerEnter: sheet.stay, onPointerLeave: sheet.leave, ref: state.headerRef, children: [_jsx(SiteHeaderSkipLink, { labels: labels }), _jsxs("div", { className: frontendElementClass(block, "bar"), children: [_jsx(SiteHeaderBrand, { brand: brand, brandHref: brandHref, labels: labels, softRedirect: softRedirect }), links.length ? _jsx(SiteHeaderNav, { labels: labels, links: links, sheet: sheet, sheetId: sheetId, softRedirect: softRedirect }) : null, actions ? _jsx("div", { className: frontendElementClass(block, "actions"), children: actions }) : null, hasMenu ? _jsx(SiteHeaderToggle, { ...props, menuId: menuId, state: state }) : null] }), _jsx(SiteHeaderSheetPanel, { lang: lang, links: links, sheet: sheet, sheetId: sheetId, softRedirect: softRedirect }), hasMenu ? _jsx(SiteHeaderMenu, { ...props, menuId: menuId, state: state }) : null] }));
92
78
  }
93
79
  export { SiteHeader };
94
80
  //# sourceMappingURL=header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../src/layout/components/site/header.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../src/layout/components/site/header.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import type { MouseEvent, ReactNode } from "react";
2
2
  type SiteLink = {
3
3
  active?: boolean;
4
+ description?: ReactNode;
4
5
  href?: string;
5
6
  key?: string;
6
7
  label: ReactNode;
7
8
  links?: SiteLink[];
8
9
  node?: ReactNode;
9
10
  rel?: string;
11
+ search?: boolean;
10
12
  softRedirect?: boolean;
11
13
  target?: string;
12
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../src/layout/components/site/link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKnD,KAAK,QAAQ,GAAG;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,QAAA,MAAM,SAAS,cAAc,CAAC;AAQ9B,iBAAS,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAI/C;AAOD,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAGhD;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAEpD;AAED,iBAAS,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAEhD;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAWD,iBAAS,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAG9E;AAED,iBAAS,gBAAgB,CACvB,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,UAAU,SAAK,GACd,OAAO,CAYT;AAED,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,iBAAS,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BAwBjD;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,aAAa,GACd,CAAC;AACF,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../src/layout/components/site/link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKnD,KAAK,QAAQ,GAAG;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,QAAA,MAAM,SAAS,cAAc,CAAC;AAQ9B,iBAAS,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAI/C;AAOD,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAGhD;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAEpD;AAED,iBAAS,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAEhD;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAWD,iBAAS,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAG9E;AAED,iBAAS,gBAAgB,CACvB,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,UAAU,SAAK,GACd,OAAO,CAYT;AAED,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,iBAAS,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BAwBjD;AAED,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,aAAa,GACd,CAAC;AACF,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC"}