@trebired/frontend 28.1.0 → 29.0.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 (280) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +80 -6
  3. package/dist/config/default/config.d.ts.map +1 -1
  4. package/dist/config/default/config.js +2 -0
  5. package/dist/config/default/config.js.map +1 -1
  6. package/dist/config/index.d.ts +1 -1
  7. package/dist/config/index.d.ts.map +1 -1
  8. package/dist/config/index.js.map +1 -1
  9. package/dist/config/links.d.ts +5 -0
  10. package/dist/config/links.d.ts.map +1 -0
  11. package/dist/config/links.js +134 -0
  12. package/dist/config/links.js.map +1 -0
  13. package/dist/config/normalize.d.ts.map +1 -1
  14. package/dist/config/normalize.js +3 -0
  15. package/dist/config/normalize.js.map +1 -1
  16. package/dist/config/scss.d.ts.map +1 -1
  17. package/dist/config/scss.js +3 -1
  18. package/dist/config/scss.js.map +1 -1
  19. package/dist/config/types/language.d.ts +16 -0
  20. package/dist/config/types/language.d.ts.map +1 -0
  21. package/dist/config/types/language.js +2 -0
  22. package/dist/config/types/language.js.map +1 -0
  23. package/dist/config/types/links.d.ts +71 -0
  24. package/dist/config/types/links.d.ts.map +1 -0
  25. package/dist/config/types/links.js +2 -0
  26. package/dist/config/types/links.js.map +1 -0
  27. package/dist/config/types.d.ts +6 -16
  28. package/dist/config/types.d.ts.map +1 -1
  29. package/dist/config/typography.d.ts +2 -1
  30. package/dist/config/typography.d.ts.map +1 -1
  31. package/dist/config/typography.js +14 -1
  32. package/dist/config/typography.js.map +1 -1
  33. package/dist/entries/root/02.d.ts +1 -1
  34. package/dist/entries/root/02.d.ts.map +1 -1
  35. package/dist/entries/root/02.js +1 -1
  36. package/dist/entries/root/02.js.map +1 -1
  37. package/dist/hollow/bitmap.d.ts +5 -0
  38. package/dist/hollow/bitmap.d.ts.map +1 -0
  39. package/dist/hollow/bitmap.js +45 -0
  40. package/dist/hollow/bitmap.js.map +1 -0
  41. package/dist/hollow/component.d.ts +18 -0
  42. package/dist/hollow/component.d.ts.map +1 -0
  43. package/dist/hollow/component.js +44 -0
  44. package/dist/hollow/component.js.map +1 -0
  45. package/dist/hollow/index.d.ts +7 -0
  46. package/dist/hollow/index.d.ts.map +1 -0
  47. package/dist/hollow/index.js +4 -0
  48. package/dist/hollow/index.js.map +1 -0
  49. package/dist/hollow/print.d.ts +19 -0
  50. package/dist/hollow/print.d.ts.map +1 -0
  51. package/dist/hollow/print.js +103 -0
  52. package/dist/hollow/print.js.map +1 -0
  53. package/dist/hollow/shapes.d.ts +11 -0
  54. package/dist/hollow/shapes.d.ts.map +1 -0
  55. package/dist/hollow/shapes.js +65 -0
  56. package/dist/hollow/shapes.js.map +1 -0
  57. package/dist/hollow/styles/index.scss +56 -0
  58. package/dist/indent/styles/index.scss +24 -0
  59. package/dist/inputs/advanced/input/styles/field.scss +2 -2
  60. package/dist/inputs/styles/field.scss +14 -3
  61. package/dist/language/messages.d.ts.map +1 -1
  62. package/dist/language/messages.js +8 -0
  63. package/dist/language/messages.js.map +1 -1
  64. package/dist/layer/index.d.ts +2 -1
  65. package/dist/layer/index.d.ts.map +1 -1
  66. package/dist/layer/index.js +6 -2
  67. package/dist/layer/index.js.map +1 -1
  68. package/dist/layout/components/site/footer.d.ts +3 -17
  69. package/dist/layout/components/site/footer.d.ts.map +1 -1
  70. package/dist/layout/components/site/footer.js +15 -15
  71. package/dist/layout/components/site/footer.js.map +1 -1
  72. package/dist/layout/components/site/header/groups.d.ts +44 -0
  73. package/dist/layout/components/site/header/groups.d.ts.map +1 -0
  74. package/dist/layout/components/site/header/groups.js +92 -0
  75. package/dist/layout/components/site/header/groups.js.map +1 -0
  76. package/dist/layout/components/site/header/search.d.ts +11 -0
  77. package/dist/layout/components/site/header/search.d.ts.map +1 -0
  78. package/dist/layout/components/site/header/search.js +81 -0
  79. package/dist/layout/components/site/header/search.js.map +1 -0
  80. package/dist/layout/components/site/header/sheet.d.ts +14 -0
  81. package/dist/layout/components/site/header/sheet.d.ts.map +1 -0
  82. package/dist/layout/components/site/header/sheet.js +88 -0
  83. package/dist/layout/components/site/header/sheet.js.map +1 -0
  84. package/dist/layout/components/site/header.d.ts +1 -1
  85. package/dist/layout/components/site/header.d.ts.map +1 -1
  86. package/dist/layout/components/site/header.js +34 -43
  87. package/dist/layout/components/site/header.js.map +1 -1
  88. package/dist/layout/components/site/link.d.ts +8 -3
  89. package/dist/layout/components/site/link.d.ts.map +1 -1
  90. package/dist/layout/components/site/link.js +16 -8
  91. package/dist/layout/components/site/link.js.map +1 -1
  92. package/dist/layout/header/tone.d.ts.map +1 -1
  93. package/dist/layout/header/tone.js +4 -2
  94. package/dist/layout/header/tone.js.map +1 -1
  95. package/dist/layout/index.d.ts +2 -0
  96. package/dist/layout/index.d.ts.map +1 -1
  97. package/dist/layout/index.js +1 -0
  98. package/dist/layout/index.js.map +1 -1
  99. package/dist/layout/links.d.ts +29 -0
  100. package/dist/layout/links.d.ts.map +1 -0
  101. package/dist/layout/links.js +77 -0
  102. package/dist/layout/links.js.map +1 -0
  103. package/dist/layout/scroll.d.ts.map +1 -1
  104. package/dist/layout/scroll.js +10 -0
  105. package/dist/layout/scroll.js.map +1 -1
  106. package/dist/layout/styles/index.scss +1 -0
  107. package/dist/layout/styles/site/footer.scss +8 -1
  108. package/dist/layout/styles/site/header.scss +1 -3
  109. package/dist/layout/styles/site/menu.scss +17 -3
  110. package/dist/layout/styles/site/sheet.scss +196 -0
  111. package/dist/popover/index.d.ts.map +1 -1
  112. package/dist/popover/index.js +5 -4
  113. package/dist/popover/index.js.map +1 -1
  114. package/dist/popover/styles/index.scss +1 -1
  115. package/dist/primitives/components/prose.d.ts.map +1 -1
  116. package/dist/primitives/components/prose.js +4 -3
  117. package/dist/primitives/components/prose.js.map +1 -1
  118. package/dist/primitives/styles/_link.scss +22 -8
  119. package/dist/reveal/index.d.ts.map +1 -1
  120. package/dist/reveal/index.js +41 -4
  121. package/dist/reveal/index.js.map +1 -1
  122. package/dist/reveal/styles/index.scss +10 -20
  123. package/dist/search/site/build.d.ts +33 -0
  124. package/dist/search/site/build.d.ts.map +1 -0
  125. package/dist/search/site/build.js +27 -0
  126. package/dist/search/site/build.js.map +1 -0
  127. package/dist/search/site/extract.d.ts +13 -0
  128. package/dist/search/site/extract.d.ts.map +1 -0
  129. package/dist/search/site/extract.js +82 -0
  130. package/dist/search/site/extract.js.map +1 -0
  131. package/dist/search/site/load.d.ts +4 -0
  132. package/dist/search/site/load.d.ts.map +1 -0
  133. package/dist/search/site/load.js +25 -0
  134. package/dist/search/site/load.js.map +1 -0
  135. package/dist/search/site/query.d.ts +31 -0
  136. package/dist/search/site/query.d.ts.map +1 -0
  137. package/dist/search/site/query.js +125 -0
  138. package/dist/search/site/query.js.map +1 -0
  139. package/dist/server/index.d.ts +2 -0
  140. package/dist/server/index.d.ts.map +1 -1
  141. package/dist/server/index.js +1 -0
  142. package/dist/server/index.js.map +1 -1
  143. package/dist/src/config/default/config.d.ts.map +1 -1
  144. package/dist/src/config/default/config.js +2 -0
  145. package/dist/src/config/default/config.js.map +1 -1
  146. package/dist/src/config/index.d.ts +1 -1
  147. package/dist/src/config/index.d.ts.map +1 -1
  148. package/dist/src/config/index.js.map +1 -1
  149. package/dist/src/config/links.d.ts +5 -0
  150. package/dist/src/config/links.d.ts.map +1 -0
  151. package/dist/src/config/links.js +134 -0
  152. package/dist/src/config/links.js.map +1 -0
  153. package/dist/src/config/normalize.d.ts.map +1 -1
  154. package/dist/src/config/normalize.js +3 -0
  155. package/dist/src/config/normalize.js.map +1 -1
  156. package/dist/src/config/scss.d.ts.map +1 -1
  157. package/dist/src/config/scss.js +3 -1
  158. package/dist/src/config/scss.js.map +1 -1
  159. package/dist/src/config/types/language.d.ts +16 -0
  160. package/dist/src/config/types/language.d.ts.map +1 -0
  161. package/dist/src/config/types/language.js +2 -0
  162. package/dist/src/config/types/language.js.map +1 -0
  163. package/dist/src/config/types/links.d.ts +71 -0
  164. package/dist/src/config/types/links.d.ts.map +1 -0
  165. package/dist/src/config/types/links.js +2 -0
  166. package/dist/src/config/types/links.js.map +1 -0
  167. package/dist/src/config/types.d.ts +6 -16
  168. package/dist/src/config/types.d.ts.map +1 -1
  169. package/dist/src/config/typography.d.ts +2 -1
  170. package/dist/src/config/typography.d.ts.map +1 -1
  171. package/dist/src/config/typography.js +14 -1
  172. package/dist/src/config/typography.js.map +1 -1
  173. package/dist/src/entries/root/02.d.ts +1 -1
  174. package/dist/src/entries/root/02.d.ts.map +1 -1
  175. package/dist/src/entries/root/02.js +1 -1
  176. package/dist/src/entries/root/02.js.map +1 -1
  177. package/dist/src/hollow/bitmap.d.ts +5 -0
  178. package/dist/src/hollow/bitmap.d.ts.map +1 -0
  179. package/dist/src/hollow/bitmap.js +45 -0
  180. package/dist/src/hollow/bitmap.js.map +1 -0
  181. package/dist/src/hollow/component.d.ts +18 -0
  182. package/dist/src/hollow/component.d.ts.map +1 -0
  183. package/dist/src/hollow/component.js +44 -0
  184. package/dist/src/hollow/component.js.map +1 -0
  185. package/dist/src/hollow/index.d.ts +7 -0
  186. package/dist/src/hollow/index.d.ts.map +1 -0
  187. package/dist/src/hollow/index.js +4 -0
  188. package/dist/src/hollow/index.js.map +1 -0
  189. package/dist/src/hollow/print.d.ts +19 -0
  190. package/dist/src/hollow/print.d.ts.map +1 -0
  191. package/dist/src/hollow/print.js +103 -0
  192. package/dist/src/hollow/print.js.map +1 -0
  193. package/dist/src/hollow/shapes.d.ts +11 -0
  194. package/dist/src/hollow/shapes.d.ts.map +1 -0
  195. package/dist/src/hollow/shapes.js +65 -0
  196. package/dist/src/hollow/shapes.js.map +1 -0
  197. package/dist/src/language/messages.d.ts.map +1 -1
  198. package/dist/src/language/messages.js +8 -0
  199. package/dist/src/language/messages.js.map +1 -1
  200. package/dist/src/layer/index.d.ts +2 -1
  201. package/dist/src/layer/index.d.ts.map +1 -1
  202. package/dist/src/layer/index.js +6 -2
  203. package/dist/src/layer/index.js.map +1 -1
  204. package/dist/src/layout/components/site/footer.d.ts +3 -17
  205. package/dist/src/layout/components/site/footer.d.ts.map +1 -1
  206. package/dist/src/layout/components/site/footer.js +15 -15
  207. package/dist/src/layout/components/site/footer.js.map +1 -1
  208. package/dist/src/layout/components/site/header/groups.d.ts +44 -0
  209. package/dist/src/layout/components/site/header/groups.d.ts.map +1 -0
  210. package/dist/src/layout/components/site/header/groups.js +92 -0
  211. package/dist/src/layout/components/site/header/groups.js.map +1 -0
  212. package/dist/src/layout/components/site/header/search.d.ts +11 -0
  213. package/dist/src/layout/components/site/header/search.d.ts.map +1 -0
  214. package/dist/src/layout/components/site/header/search.js +81 -0
  215. package/dist/src/layout/components/site/header/search.js.map +1 -0
  216. package/dist/src/layout/components/site/header/sheet.d.ts +14 -0
  217. package/dist/src/layout/components/site/header/sheet.d.ts.map +1 -0
  218. package/dist/src/layout/components/site/header/sheet.js +88 -0
  219. package/dist/src/layout/components/site/header/sheet.js.map +1 -0
  220. package/dist/src/layout/components/site/header.d.ts +1 -1
  221. package/dist/src/layout/components/site/header.d.ts.map +1 -1
  222. package/dist/src/layout/components/site/header.js +34 -43
  223. package/dist/src/layout/components/site/header.js.map +1 -1
  224. package/dist/src/layout/components/site/link.d.ts +8 -3
  225. package/dist/src/layout/components/site/link.d.ts.map +1 -1
  226. package/dist/src/layout/components/site/link.js +16 -8
  227. package/dist/src/layout/components/site/link.js.map +1 -1
  228. package/dist/src/layout/header/tone.d.ts.map +1 -1
  229. package/dist/src/layout/header/tone.js +4 -2
  230. package/dist/src/layout/header/tone.js.map +1 -1
  231. package/dist/src/layout/index.d.ts +2 -0
  232. package/dist/src/layout/index.d.ts.map +1 -1
  233. package/dist/src/layout/index.js +1 -0
  234. package/dist/src/layout/index.js.map +1 -1
  235. package/dist/src/layout/links.d.ts +29 -0
  236. package/dist/src/layout/links.d.ts.map +1 -0
  237. package/dist/src/layout/links.js +77 -0
  238. package/dist/src/layout/links.js.map +1 -0
  239. package/dist/src/layout/scroll.d.ts.map +1 -1
  240. package/dist/src/layout/scroll.js +10 -0
  241. package/dist/src/layout/scroll.js.map +1 -1
  242. package/dist/src/popover/index.d.ts.map +1 -1
  243. package/dist/src/popover/index.js +5 -4
  244. package/dist/src/popover/index.js.map +1 -1
  245. package/dist/src/primitives/components/prose.d.ts.map +1 -1
  246. package/dist/src/primitives/components/prose.js +4 -3
  247. package/dist/src/primitives/components/prose.js.map +1 -1
  248. package/dist/src/reveal/index.d.ts.map +1 -1
  249. package/dist/src/reveal/index.js +41 -4
  250. package/dist/src/reveal/index.js.map +1 -1
  251. package/dist/src/search/site/build.d.ts +33 -0
  252. package/dist/src/search/site/build.d.ts.map +1 -0
  253. package/dist/src/search/site/build.js +27 -0
  254. package/dist/src/search/site/build.js.map +1 -0
  255. package/dist/src/search/site/extract.d.ts +13 -0
  256. package/dist/src/search/site/extract.d.ts.map +1 -0
  257. package/dist/src/search/site/extract.js +82 -0
  258. package/dist/src/search/site/extract.js.map +1 -0
  259. package/dist/src/search/site/load.d.ts +4 -0
  260. package/dist/src/search/site/load.d.ts.map +1 -0
  261. package/dist/src/search/site/load.js +25 -0
  262. package/dist/src/search/site/load.js.map +1 -0
  263. package/dist/src/search/site/query.d.ts +31 -0
  264. package/dist/src/search/site/query.d.ts.map +1 -0
  265. package/dist/src/search/site/query.js +125 -0
  266. package/dist/src/search/site/query.js.map +1 -0
  267. package/dist/src/server/index.d.ts +2 -0
  268. package/dist/src/server/index.d.ts.map +1 -1
  269. package/dist/src/server/index.js +1 -0
  270. package/dist/src/server/index.js.map +1 -1
  271. package/dist/src/tooltip/index.d.ts.map +1 -1
  272. package/dist/src/tooltip/index.js +2 -1
  273. package/dist/src/tooltip/index.js.map +1 -1
  274. package/dist/styles/tokens.scss +1 -0
  275. package/dist/styles/utils/_tone.scss +2 -0
  276. package/dist/styles/utils/text/core.scss +25 -0
  277. package/dist/tooltip/index.d.ts.map +1 -1
  278. package/dist/tooltip/index.js +2 -1
  279. package/dist/tooltip/index.js.map +1 -1
  280. package/package.json +10 -1
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../../../src/layout/components/site/footer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../../../src/layout/components/site/footer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { ReactNode } from "react";
2
+ import { type SiteLink } from "./../link.js";
3
+ import type { SiteHeaderSheet } from "./sheet.js";
4
+ type LinkRenderProps = {
5
+ currentPaths: string[];
6
+ currentUrl: string;
7
+ hasSection: boolean;
8
+ lang?: string;
9
+ onNavigate?: () => void;
10
+ section: string;
11
+ softRedirect?: boolean;
12
+ tabIndex?: number;
13
+ };
14
+ type GroupProps = LinkRenderProps & {
15
+ link: SiteLink;
16
+ };
17
+ type SheetProps = {
18
+ sheet: SiteHeaderSheet;
19
+ sheetId: string;
20
+ };
21
+ declare function useSiteLinkState(links: SiteLink[]): {
22
+ currentPaths: string[];
23
+ currentUrl: string;
24
+ hasSection: boolean;
25
+ section: string;
26
+ };
27
+ declare function SiteHeaderAnchor(props: LinkRenderProps & {
28
+ children?: ReactNode;
29
+ className?: string;
30
+ link: SiteLink;
31
+ plain?: boolean;
32
+ }): import("react").JSX.Element;
33
+ declare function SiteHeaderNavTrigger(props: GroupProps & SheetProps & {
34
+ index: number;
35
+ }): import("react").JSX.Element;
36
+ declare function SiteHeaderSheetPanel(props: SheetProps & {
37
+ lang?: string;
38
+ links: SiteLink[];
39
+ softRedirect?: boolean;
40
+ }): import("react").JSX.Element;
41
+ declare function SiteHeaderMenuGroup(props: GroupProps): import("react").JSX.Element;
42
+ export { SiteHeaderAnchor, SiteHeaderMenuGroup, SiteHeaderNavTrigger, SiteHeaderSheetPanel, useSiteLinkState };
43
+ export type { LinkRenderProps, SheetProps };
44
+ //# 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":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,EAUL,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,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,+BAe/H;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,+BAoB/E;AA4DD,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,92 @@
1
+ import { createElement as _createElement } from "react";
2
+ import { jsx as _jsx, jsxs as _jsxs } 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, SiteLinkLabel, 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, children: props.children }));
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
+ return (_jsxs(SiteHeaderAnchor, { ...props, className: frontendElementClass(block, "sheet-entry"), link: link, children: [_jsx("span", { children: _jsx(SiteLinkLabel, { link: link }) }), description] }));
43
+ }
44
+ function SheetColumn(props) {
45
+ const headingId = `${useId().replace(/:/gu, "")}_sheet_heading`;
46
+ 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 })) })] }));
47
+ }
48
+ function SheetGrid(props) {
49
+ const children = siteLinkChildren(props.link);
50
+ const columns = children.some(isSiteLinkGroup);
51
+ return (_jsx("div", { className: frontendElementClass(block, "sheet-grid"), ...frontendDataAttrs({ "site-header-layout": columns ? "columns" : "list" }), children: children.map((child, index) => {
52
+ const key = siteLinkKey(child, index);
53
+ if (isSiteLinkGroup(child))
54
+ return _createElement(SheetColumn, { ...props, key: key, link: child });
55
+ return _createElement(SheetEntry, { ...props, key: key, link: child });
56
+ }) }));
57
+ }
58
+ function SheetSection(props) {
59
+ const grid = _jsx(SheetGrid, { ...props });
60
+ 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 }));
61
+ }
62
+ function SiteHeaderSheetPanel(props) {
63
+ const { links, sheet, sheetId } = props;
64
+ const state = useSiteLinkState(links);
65
+ const groups = links.map((link, index) => ({ index, link })).filter(({ link }) => isSiteLinkGroup(link));
66
+ if (!groups.length)
67
+ return null;
68
+ const open = Boolean(sheet.open);
69
+ 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 }))) }) }) }));
70
+ }
71
+ function SiteHeaderChevron() {
72
+ return _jsx("span", { "aria-hidden": "true", className: frontendElementClass(block, "menu-group-chevron") });
73
+ }
74
+ function MenuSection(props) {
75
+ 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 }))) })] }));
76
+ }
77
+ function MenuGroupLinks(props) {
78
+ const links = (_jsx("div", { className: frontendElementClass(block, "menu-group-links"), children: siteLinkChildren(props.link).map((child, index) => {
79
+ const key = siteLinkKey(child, index);
80
+ if (isSiteLinkGroup(child))
81
+ return _createElement(MenuSection, { ...props, key: key, link: child });
82
+ return _createElement(SiteHeaderAnchor, { ...props, key: key, link: child });
83
+ }) }));
84
+ if (!props.link.search)
85
+ return links;
86
+ return _jsx(SiteHeaderSearch, { lang: props.lang, onNavigate: props.onNavigate, softRedirect: props.softRedirect, children: links });
87
+ }
88
+ function SiteHeaderMenuGroup(props) {
89
+ 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, {})] }) }));
90
+ }
91
+ export { SiteHeaderAnchor, SiteHeaderMenuGroup, SiteHeaderNavTrigger, SiteHeaderSheetPanel, useSiteLinkState };
92
+ //# 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":";AACA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAsB,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAa9C,MAAM,KAAK,GAAG,aAAa,CAAC;AAC5B,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,SAAS,aAAa,CAAC,KAAa,EAAE,MAAc;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACjC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAClG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CACzB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAChF,GAAG,EAAE,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CACvD,CAAC;QACJ,CAAC,EAAE,QAAQ,CAAC,CAAC;QACf,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,KAAK,CAAC;YACb,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,IAAwB,EAAE,KAA8B,EAAE,KAAiC;IAC5G,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAc,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAA4B,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;SAChF,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,IAAI,CAAC;QAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAC1D,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;;QACvD,OAAO;IACZ,KAAK,CAAC,cAAc,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,OAAO,CAAC,KAA8E;IAC7F,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACjH,MAAM,KAAK,GAAG,CACZ,8BACA,eAAM,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,YAAG,KAAK,GAAQ,EAC/D,eAAM,SAAS,EAAE,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,CAAC,YAChE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAmB,IAAI,CAAC,IAAI,IAAjB,KAAK,CAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAC1F,IACJ,CACJ,CAAC;IACF,OAAO,CACL,KAAC,cAAc,IACf,SAAS,EAAE,oBAAoB,CAAC,KAAK,EAAE,aAAa,CAAC,EACrD,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAC/B,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,KAAK,QACL,YAAY,EAAE,KAAK,CAAC,YAAY,GAC9B,CACH,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAoH;IACzI,MAAM,OAAO,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IACtD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;IACrC,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrG,MAAM,IAAI,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9H,OAAO,CACL,4BAAe,QAAQ,EAAC,SAAS,EAAE,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,CAAC,aAC/E,IAAI,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,CAAC,YAAG,IAAI,GAAK,CAAC,CAAC,CAAC,IAAI,EACxF,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACX,aACA,SAAS,EAAE,oBAAoB,CAAC,KAAK,EAAE,aAAa,CAAC,EACrD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EACpE,GAAG,EAAE,OAAO,YAEX,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACb,uBACA,KAAC,OAAO,IAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,GAAI,IAD5E,GAAG,CAAC,IAAI,CAEZ,CACV,CAAC,GACG,CACN,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA4B;IACpD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACrH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC;IAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,CAAC,KAAsC,EAAE,EAAE;QAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;YACpC,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO;YAAE,OAAO,EAAE,aAAa,CAAc,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;aACrF,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW;YAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClF,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;IACvB,CAAC,CAAC;IACF,OAAO,CACL,eAAK,SAAS,EAAE,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,aACrD,iCACe,SAAS,gBACZ,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAC5D,YAAY,EAAC,KAAK,EAClB,SAAS,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EACzF,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACjD,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EACjE,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,qBAAqB,CAAC,uBAAuB,EAAE,MAAM,CAAC,EACnE,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,KAAK,EACjB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,KAAK,GACV,EACF,cAAK,EAAE,EAAE,SAAS,YACjB,SAAS,CAAC,CAAC,CAAC,KAAC,aAAa,OAAK,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI,GACrI,EACN,cAAK,MAAM,EAAE,SAAS,YAAG,KAAK,CAAC,QAAQ,GAAO,IACxC,CACP,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -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,7 +13,7 @@ type SiteHeaderProps = Omit<HTMLAttributes<HTMLElement>, "children"> & {
13
13
  brand: ReactNode;
14
14
  brandHref?: false | string;
15
15
  labels?: SiteHeaderLabels;
16
- links?: SiteHeaderLink[];
16
+ lang?: string;
17
17
  menuActions?: ReactNode;
18
18
  softRedirect?: boolean;
19
19
  };
@@ -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;AAIxE,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,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AA8IF,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,+BAwCzC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
@@ -1,65 +1,42 @@
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";
12
+ import { resolveSiteLinks } from "./../../links.js";
13
+ import { useLocale } from "./../../../react/locale.js";
14
14
  const block = "site-header";
15
15
  function SiteHeaderSkipLink({ labels }) {
16
16
  return (_jsx("a", { className: frontendClassName("skip-link"), href: `#${A11Y_MAIN_ID}`, children: labels?.skipToContent || "Skip to content" }));
17
17
  }
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
18
  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
19
  const shared = {
46
- currentPaths,
47
- currentUrl,
48
- hasSection: fragments.length > 0,
20
+ ...useSiteLinkState(props.links),
21
+ lang: props.lang,
49
22
  onNavigate: props.onNavigate,
50
- section,
51
23
  softRedirect: props.softRedirect,
52
24
  tabIndex: props.tabIndex,
53
25
  };
26
+ const { sheet, sheetId } = props;
54
27
  return (_jsx(_Fragment, { children: props.links.map((link, index) => {
55
28
  const key = siteLinkKey(link, index);
56
29
  if (!isSiteLinkGroup(link))
57
30
  return _createElement(SiteHeaderAnchor, { ...shared, key: key, link: link });
58
- if (props.grouped)
31
+ if (!sheet || !sheetId)
59
32
  return _createElement(SiteHeaderMenuGroup, { ...shared, key: key, link: link });
60
- return _createElement(SiteHeaderNavGroup, { ...shared, key: key, link: link });
33
+ return _createElement(SiteHeaderNavTrigger, { ...shared, index: index, key: key, link: link, sheet: sheet, sheetId: sheetId });
61
34
  }) }));
62
35
  }
36
+ function closeSheetOverLink(event, close) {
37
+ if (event.target instanceof Element && event.target.closest("a[href]"))
38
+ close();
39
+ }
63
40
  function closeOnLink(event, close) {
64
41
  if (event.target instanceof Element && event.target.closest("a[href]"))
65
42
  close();
@@ -79,16 +56,30 @@ function SiteHeaderToggle(props) {
79
56
  return (_jsx("button", { "aria-controls": menuId, "aria-expanded": state.open, "aria-label": state.open ? labels?.closeMenu || "Close menu" : labels?.openMenu || "Open menu", className: frontendElementClass(block, "toggle"), onClick: state.toggle, ref: state.toggleRef, type: "button", children: _jsx(SiteHeaderBurger, {}) }));
80
57
  }
81
58
  function SiteHeaderMenu(props) {
82
- 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] }) }) }));
59
+ const { actions, labels, links, menuActions = actions, menuId, softRedirect, state } = props;
60
+ 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] }) }) }));
61
+ }
62
+ function SiteHeaderNav(props) {
63
+ const { sheet } = props;
64
+ 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
65
  }
85
66
  function SiteHeader(props) {
86
- const { actions, brand, brandHref = "/", className, labels, links = [], menuActions, softRedirect, ...rest } = props;
67
+ const { actions, brand, brandHref = "/", className, labels, lang: givenLang, menuActions, softRedirect, ...rest } = props;
68
+ const { locale } = useLocale();
69
+ const lang = givenLang || locale;
70
+ const links = resolveSiteLinks(lang)?.header || [];
87
71
  const state = useSiteHeaderMenu();
88
- const menuId = `${useId().replace(/:/gu, "")}_site_menu`;
72
+ const baseId = useId().replace(/:/gu, "");
73
+ const menuId = `${baseId}_site_menu`;
74
+ const sheetId = `${baseId}_site_sheet`;
89
75
  const hasMenu = links.length > 0 || Boolean(menuActions);
90
76
  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] }));
77
+ const sheet = useSiteHeaderSheet(state.headerRef);
78
+ useEffect(() => {
79
+ if (compact)
80
+ sheet.close();
81
+ }, [compact, sheet.close]);
82
+ 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, lang: lang, links: links, menuId: menuId, state: state }) : null] }));
92
83
  }
93
84
  export { SiteHeader };
94
85
  //# sourceMappingURL=header.js.map