@primer/react-brand 0.74.0 → 0.75.0-rc.96de7cef

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 (456) hide show
  1. package/docs/components/RiverAccordion/index.md +49 -6
  2. package/docs/components/SubdomainNavBar/index.md +215 -86
  3. package/docs/index.md +2 -2
  4. package/esm/Hero/sub-components/HeroLabel.d.ts +1 -0
  5. package/esm/Hero/sub-components/HeroLabel.d.ts.map +1 -1
  6. package/esm/Hero/sub-components/HeroLabel.js +7 -6
  7. package/esm/Hero/sub-components/HeroLabel.js.map +1 -1
  8. package/esm/SubdomainNavBar/NavigationVisbilityObserver.d.ts +3 -1
  9. package/esm/SubdomainNavBar/NavigationVisbilityObserver.d.ts.map +1 -1
  10. package/esm/SubdomainNavBar/NavigationVisbilityObserver.js +115 -63
  11. package/esm/SubdomainNavBar/NavigationVisbilityObserver.js.map +1 -1
  12. package/esm/SubdomainNavBar/SubdomainNavBar.d.ts +155 -18
  13. package/esm/SubdomainNavBar/SubdomainNavBar.d.ts.map +1 -1
  14. package/esm/SubdomainNavBar/SubdomainNavBar.js +474 -298
  15. package/esm/SubdomainNavBar/SubdomainNavBar.js.map +1 -1
  16. package/esm/SubdomainNavBar/SubdomainNavBar.module-WIrpYyjV.css +1 -0
  17. package/esm/SubdomainNavBar/SubdomainNavBar.module.js +33 -9
  18. package/esm/SubdomainNavBar/SubdomainNavBar.module.js.map +1 -1
  19. package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.d.ts +9 -0
  20. package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.d.ts.map +1 -0
  21. package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.js +10 -0
  22. package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.js.map +1 -0
  23. package/esm/SubdomainNavBar/useSearchKeyboardShortcut.d.ts +8 -0
  24. package/esm/SubdomainNavBar/useSearchKeyboardShortcut.d.ts.map +1 -0
  25. package/esm/SubdomainNavBar/useSearchKeyboardShortcut.js +52 -0
  26. package/esm/SubdomainNavBar/useSearchKeyboardShortcut.js.map +1 -0
  27. package/esm/SubdomainNavBar/useSearchResults.d.ts +24 -0
  28. package/esm/SubdomainNavBar/useSearchResults.d.ts.map +1 -0
  29. package/esm/SubdomainNavBar/useSearchResults.js +57 -0
  30. package/esm/SubdomainNavBar/useSearchResults.js.map +1 -0
  31. package/esm/SubdomainNavBar/useVisibilityObserver.d.ts +1 -1
  32. package/esm/SubdomainNavBar/useVisibilityObserver.d.ts.map +1 -1
  33. package/esm/SubdomainNavBar/useVisibilityObserver.js +60 -23
  34. package/esm/SubdomainNavBar/useVisibilityObserver.js.map +1 -1
  35. package/esm/TextCursorAnimation/TextCursorAnimation.d.ts +8 -3
  36. package/esm/TextCursorAnimation/TextCursorAnimation.d.ts.map +1 -1
  37. package/esm/TextCursorAnimation/TextCursorAnimation.js +53 -27
  38. package/esm/TextCursorAnimation/TextCursorAnimation.js.map +1 -1
  39. package/esm/TextCursorAnimation/TextCursorAnimation.module-BS4hPR8H.css +1 -0
  40. package/esm/TextCursorAnimation/TextCursorAnimation.module.js +14 -4
  41. package/esm/TextCursorAnimation/TextCursorAnimation.module.js.map +1 -1
  42. package/esm/hooks/useCursorAnimation.d.ts +8 -31
  43. package/esm/hooks/useCursorAnimation.d.ts.map +1 -1
  44. package/esm/hooks/useCursorAnimation.js +84 -36
  45. package/esm/hooks/useCursorAnimation.js.map +1 -1
  46. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes-BGj0AiDW.css +1 -0
  47. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/base-DKbXhPKv.css +1 -0
  48. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes-BucKYl1n.css +1 -0
  49. package/esm/river/RiverAccordion/RiverAccordion.d.ts +13 -4
  50. package/esm/river/RiverAccordion/RiverAccordion.d.ts.map +1 -1
  51. package/esm/river/RiverAccordion/RiverAccordion.js +35 -24
  52. package/esm/river/RiverAccordion/RiverAccordion.js.map +1 -1
  53. package/esm/river/RiverAccordion/RiverAccordion.module-Cr6Q-qkm.css +1 -0
  54. package/esm/river/RiverAccordion/RiverAccordion.module.js +7 -3
  55. package/esm/river/RiverAccordion/RiverAccordion.module.js.map +1 -1
  56. package/lib/Hero/sub-components/HeroLabel.d.ts +1 -0
  57. package/lib/SubdomainNavBar/NavigationVisbilityObserver.d.ts +3 -1
  58. package/lib/SubdomainNavBar/SubdomainNavBar.d.ts +155 -18
  59. package/lib/SubdomainNavBar/SubdomainNavBarLinkContext.d.ts +8 -0
  60. package/lib/SubdomainNavBar/useSearchKeyboardShortcut.d.ts +7 -0
  61. package/lib/SubdomainNavBar/useSearchResults.d.ts +23 -0
  62. package/lib/SubdomainNavBar/useVisibilityObserver.d.ts +1 -1
  63. package/lib/TextCursorAnimation/TextCursorAnimation.d.ts +8 -3
  64. package/lib/css/main.css +1388 -302
  65. package/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes.css +1 -1
  66. package/lib/design-tokens/css/tokens/base/colors/light.css +1 -1
  67. package/lib/design-tokens/css/tokens/base/size/size.css +1 -1
  68. package/lib/design-tokens/css/tokens/base/typography/typography.css +1 -1
  69. package/lib/design-tokens/css/tokens/functional/animation/base.css +1 -1
  70. package/lib/design-tokens/css/tokens/functional/colors/global-with-modes.css +1 -1
  71. package/lib/design-tokens/css/tokens/functional/colors/global.css +1 -1
  72. package/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes.css +1 -1
  73. package/lib/design-tokens/css/tokens/functional/components/action-menu/colors-with-modes.css +1 -1
  74. package/lib/design-tokens/css/tokens/functional/components/anchor-nav/colors-with-modes.css +1 -1
  75. package/lib/design-tokens/css/tokens/functional/components/bento/base.css +1 -1
  76. package/lib/design-tokens/css/tokens/functional/components/blinking-cursor/colors-with-modes.css +1 -1
  77. package/lib/design-tokens/css/tokens/functional/components/breadcrumbs/colors-with-modes.css +1 -1
  78. package/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css +1 -1
  79. package/lib/design-tokens/css/tokens/functional/components/card/base.css +1 -1
  80. package/lib/design-tokens/css/tokens/functional/components/card/colors-with-modes.css +1 -1
  81. package/lib/design-tokens/css/tokens/functional/components/card/colors.css +1 -1
  82. package/lib/design-tokens/css/tokens/functional/components/comparison-table/colors-with-modes.css +1 -1
  83. package/lib/design-tokens/css/tokens/functional/components/comparison-table/comparison-table.css +1 -1
  84. package/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css +1 -1
  85. package/lib/design-tokens/css/tokens/functional/components/cta-banner/colors-with-modes.css +1 -1
  86. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/colors-with-modes.css +1 -1
  87. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/eyebrow-banner.css +1 -1
  88. package/lib/design-tokens/css/tokens/functional/components/faq/base.css +1 -1
  89. package/lib/design-tokens/css/tokens/functional/components/faq/colors-with-modes.css +1 -1
  90. package/lib/design-tokens/css/tokens/functional/components/faq/colors.css +1 -1
  91. package/lib/design-tokens/css/tokens/functional/components/faq/faq.css +1 -1
  92. package/lib/design-tokens/css/tokens/functional/components/footer/base.css +1 -1
  93. package/lib/design-tokens/css/tokens/functional/components/footer/colors-with-modes.css +1 -1
  94. package/lib/design-tokens/css/tokens/functional/components/footer/colors.css +1 -1
  95. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/base.css +1 -1
  96. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/colors-with-modes.css +1 -1
  97. package/lib/design-tokens/css/tokens/functional/components/grid/colors-with-modes.css +1 -1
  98. package/lib/design-tokens/css/tokens/functional/components/grid/colors.css +1 -1
  99. package/lib/design-tokens/css/tokens/functional/components/grid/grid.css +1 -1
  100. package/lib/design-tokens/css/tokens/functional/components/hero/base.css +1 -1
  101. package/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css +1 -1
  102. package/lib/design-tokens/css/tokens/functional/components/icon/colors.css +1 -1
  103. package/lib/design-tokens/css/tokens/functional/components/ide/base.css +1 -1
  104. package/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes.css +1 -1
  105. package/lib/design-tokens/css/tokens/functional/components/image/base.css +1 -1
  106. package/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes.css +1 -1
  107. package/lib/design-tokens/css/tokens/functional/components/inline-code/colors.css +1 -1
  108. package/lib/design-tokens/css/tokens/functional/components/inline-link/base.css +1 -1
  109. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css +1 -1
  110. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors.css +1 -1
  111. package/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes.css +1 -1
  112. package/lib/design-tokens/css/tokens/functional/components/label/colors.css +1 -1
  113. package/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css +1 -1
  114. package/lib/design-tokens/css/tokens/functional/components/link/colors.css +1 -1
  115. package/lib/design-tokens/css/tokens/functional/components/logosuite/base.css +1 -1
  116. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css +1 -1
  117. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors.css +1 -1
  118. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes.css +1 -1
  119. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors.css +1 -1
  120. package/lib/design-tokens/css/tokens/functional/components/nav-list/colors-with-modes.css +1 -1
  121. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css +1 -1
  122. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors.css +1 -1
  123. package/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css +1 -1
  124. package/lib/design-tokens/css/tokens/functional/components/prose/base.css +1 -1
  125. package/lib/design-tokens/css/tokens/functional/components/prose/colors-with-modes.css +1 -1
  126. package/lib/design-tokens/css/tokens/functional/components/river/base.css +1 -1
  127. package/lib/design-tokens/css/tokens/functional/components/river/river.css +1 -1
  128. package/lib/design-tokens/css/tokens/functional/components/river-story-scroll/colors-with-modes.css +1 -1
  129. package/lib/design-tokens/css/tokens/functional/components/section/section.css +1 -1
  130. package/lib/design-tokens/css/tokens/functional/components/statistic/base.css +1 -1
  131. package/lib/design-tokens/css/tokens/functional/components/sub-nav/base.css +1 -1
  132. package/lib/design-tokens/css/tokens/functional/components/sub-nav/colors-with-modes.css +1 -1
  133. package/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css +7 -1
  134. package/lib/design-tokens/css/tokens/functional/components/tabs/base.css +1 -1
  135. package/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes.css +1 -1
  136. package/lib/design-tokens/css/tokens/functional/components/tabs/colors.css +1 -1
  137. package/lib/design-tokens/css/tokens/functional/components/testimonial/base.css +1 -1
  138. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css +1 -1
  139. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors.css +1 -1
  140. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/base.css +8 -0
  141. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes.css +7 -3
  142. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors.css +4 -2
  143. package/lib/design-tokens/css/tokens/functional/components/tiles/colors-with-modes.css +1 -1
  144. package/lib/design-tokens/css/tokens/functional/components/timeline/base.css +1 -1
  145. package/lib/design-tokens/css/tokens/functional/components/timeline/colors-with-modes.css +1 -1
  146. package/lib/design-tokens/css/tokens/functional/components/timeline/colors.css +1 -1
  147. package/lib/design-tokens/css/tokens/functional/components/token/colors-with-modes.css +1 -1
  148. package/lib/design-tokens/css/tokens/functional/components/token/colors.css +1 -1
  149. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors-with-modes.css +1 -1
  150. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors.css +1 -1
  151. package/lib/design-tokens/css/tokens/functional/components/video-player/base.css +1 -1
  152. package/lib/design-tokens/css/tokens/functional/components/video-player/colors-with-modes.css +1 -1
  153. package/lib/design-tokens/css/tokens/functional/size/border.css +1 -1
  154. package/lib/design-tokens/css/tokens/functional/size/breakpoints.css +1 -1
  155. package/lib/design-tokens/css/tokens/functional/size/size-coarse.css +1 -1
  156. package/lib/design-tokens/css/tokens/functional/size/size-fine.css +1 -1
  157. package/lib/design-tokens/css/tokens/functional/size/size.css +1 -1
  158. package/lib/design-tokens/css/tokens/functional/size/viewport.css +1 -1
  159. package/lib/design-tokens/css/tokens/functional/typography/typography-responsive.css +1 -1
  160. package/lib/design-tokens/css/tokens/functional/typography/typography.css +1 -1
  161. package/lib/design-tokens/js/module/tokens/base/colors/light.js +1 -1
  162. package/lib/design-tokens/js/module/tokens/base/size/size.js +1 -1
  163. package/lib/design-tokens/js/module/tokens/base/typography/typography.js +1 -1
  164. package/lib/design-tokens/js/module/tokens/functional/animation/base.js +1 -1
  165. package/lib/design-tokens/js/module/tokens/functional/colors/global.js +1 -1
  166. package/lib/design-tokens/js/module/tokens/functional/components/bento/base.js +1 -1
  167. package/lib/design-tokens/js/module/tokens/functional/components/card/base.js +1 -1
  168. package/lib/design-tokens/js/module/tokens/functional/components/card/colors.js +1 -1
  169. package/lib/design-tokens/js/module/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  170. package/lib/design-tokens/js/module/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  171. package/lib/design-tokens/js/module/tokens/functional/components/faq/base.js +1 -1
  172. package/lib/design-tokens/js/module/tokens/functional/components/faq/colors.js +1 -1
  173. package/lib/design-tokens/js/module/tokens/functional/components/faq/faq.js +1 -1
  174. package/lib/design-tokens/js/module/tokens/functional/components/footer/base.js +1 -1
  175. package/lib/design-tokens/js/module/tokens/functional/components/footer/colors.js +1 -1
  176. package/lib/design-tokens/js/module/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  177. package/lib/design-tokens/js/module/tokens/functional/components/grid/colors.js +1 -1
  178. package/lib/design-tokens/js/module/tokens/functional/components/grid/grid.js +1 -1
  179. package/lib/design-tokens/js/module/tokens/functional/components/hero/base.js +1 -1
  180. package/lib/design-tokens/js/module/tokens/functional/components/icon/colors.js +1 -1
  181. package/lib/design-tokens/js/module/tokens/functional/components/ide/base.js +1 -1
  182. package/lib/design-tokens/js/module/tokens/functional/components/image/base.js +1 -1
  183. package/lib/design-tokens/js/module/tokens/functional/components/inline-code/colors.js +1 -1
  184. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/base.js +1 -1
  185. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/colors.js +1 -1
  186. package/lib/design-tokens/js/module/tokens/functional/components/label/colors.js +1 -1
  187. package/lib/design-tokens/js/module/tokens/functional/components/link/colors.js +1 -1
  188. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/base.js +1 -1
  189. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/colors.js +1 -1
  190. package/lib/design-tokens/js/module/tokens/functional/components/media-playlist/colors.js +1 -1
  191. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/colors.js +1 -1
  192. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  193. package/lib/design-tokens/js/module/tokens/functional/components/prose/base.js +1 -1
  194. package/lib/design-tokens/js/module/tokens/functional/components/river/base.js +1 -1
  195. package/lib/design-tokens/js/module/tokens/functional/components/river/river.js +1 -1
  196. package/lib/design-tokens/js/module/tokens/functional/components/section/section.js +1 -1
  197. package/lib/design-tokens/js/module/tokens/functional/components/statistic/base.js +1 -1
  198. package/lib/design-tokens/js/module/tokens/functional/components/sub-nav/base.js +1 -1
  199. package/lib/design-tokens/js/module/tokens/functional/components/tabs/base.js +1 -1
  200. package/lib/design-tokens/js/module/tokens/functional/components/tabs/colors.js +1 -1
  201. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/base.js +1 -1
  202. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/colors.js +1 -1
  203. package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/base.js +14 -0
  204. package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/colors.js +10 -2
  205. package/lib/design-tokens/js/module/tokens/functional/components/timeline/base.js +1 -1
  206. package/lib/design-tokens/js/module/tokens/functional/components/timeline/colors.js +1 -1
  207. package/lib/design-tokens/js/module/tokens/functional/components/token/colors.js +1 -1
  208. package/lib/design-tokens/js/module/tokens/functional/components/tooltip/colors.js +1 -1
  209. package/lib/design-tokens/js/module/tokens/functional/components/video-player/base.js +1 -1
  210. package/lib/design-tokens/js/module/tokens/functional/size/border.js +1 -1
  211. package/lib/design-tokens/js/module/tokens/functional/size/breakpoints.js +1 -1
  212. package/lib/design-tokens/js/module/tokens/functional/size/size-coarse.js +1 -1
  213. package/lib/design-tokens/js/module/tokens/functional/size/size-fine.js +1 -1
  214. package/lib/design-tokens/js/module/tokens/functional/size/size.js +1 -1
  215. package/lib/design-tokens/js/module/tokens/functional/size/viewport.js +1 -1
  216. package/lib/design-tokens/js/module/tokens/functional/typography/typography-responsive.js +1 -1
  217. package/lib/design-tokens/js/module/tokens/functional/typography/typography.js +1 -1
  218. package/lib/design-tokens/js/tokens/base/colors/light.js +1 -1
  219. package/lib/design-tokens/js/tokens/base/size/size.js +1 -1
  220. package/lib/design-tokens/js/tokens/base/typography/typography.js +1 -1
  221. package/lib/design-tokens/js/tokens/functional/animation/base.js +1 -1
  222. package/lib/design-tokens/js/tokens/functional/colors/global.js +1 -1
  223. package/lib/design-tokens/js/tokens/functional/components/bento/base.js +1 -1
  224. package/lib/design-tokens/js/tokens/functional/components/card/base.js +1 -1
  225. package/lib/design-tokens/js/tokens/functional/components/card/colors.js +1 -1
  226. package/lib/design-tokens/js/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  227. package/lib/design-tokens/js/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  228. package/lib/design-tokens/js/tokens/functional/components/faq/base.js +1 -1
  229. package/lib/design-tokens/js/tokens/functional/components/faq/colors.js +1 -1
  230. package/lib/design-tokens/js/tokens/functional/components/faq/faq.js +1 -1
  231. package/lib/design-tokens/js/tokens/functional/components/footer/base.js +1 -1
  232. package/lib/design-tokens/js/tokens/functional/components/footer/colors.js +1 -1
  233. package/lib/design-tokens/js/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  234. package/lib/design-tokens/js/tokens/functional/components/grid/colors.js +1 -1
  235. package/lib/design-tokens/js/tokens/functional/components/grid/grid.js +1 -1
  236. package/lib/design-tokens/js/tokens/functional/components/hero/base.js +1 -1
  237. package/lib/design-tokens/js/tokens/functional/components/icon/colors.js +1 -1
  238. package/lib/design-tokens/js/tokens/functional/components/ide/base.js +1 -1
  239. package/lib/design-tokens/js/tokens/functional/components/image/base.js +1 -1
  240. package/lib/design-tokens/js/tokens/functional/components/inline-code/colors.js +1 -1
  241. package/lib/design-tokens/js/tokens/functional/components/inline-link/base.js +1 -1
  242. package/lib/design-tokens/js/tokens/functional/components/inline-link/colors.js +1 -1
  243. package/lib/design-tokens/js/tokens/functional/components/label/colors.js +1 -1
  244. package/lib/design-tokens/js/tokens/functional/components/link/colors.js +1 -1
  245. package/lib/design-tokens/js/tokens/functional/components/logosuite/base.js +1 -1
  246. package/lib/design-tokens/js/tokens/functional/components/logosuite/colors.js +1 -1
  247. package/lib/design-tokens/js/tokens/functional/components/media-playlist/colors.js +1 -1
  248. package/lib/design-tokens/js/tokens/functional/components/pricing-options/colors.js +1 -1
  249. package/lib/design-tokens/js/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  250. package/lib/design-tokens/js/tokens/functional/components/prose/base.js +1 -1
  251. package/lib/design-tokens/js/tokens/functional/components/river/base.js +1 -1
  252. package/lib/design-tokens/js/tokens/functional/components/river/river.js +1 -1
  253. package/lib/design-tokens/js/tokens/functional/components/section/section.js +1 -1
  254. package/lib/design-tokens/js/tokens/functional/components/statistic/base.js +1 -1
  255. package/lib/design-tokens/js/tokens/functional/components/sub-nav/base.js +1 -1
  256. package/lib/design-tokens/js/tokens/functional/components/tabs/base.js +1 -1
  257. package/lib/design-tokens/js/tokens/functional/components/tabs/colors.js +1 -1
  258. package/lib/design-tokens/js/tokens/functional/components/testimonial/base.js +1 -1
  259. package/lib/design-tokens/js/tokens/functional/components/testimonial/colors.js +1 -1
  260. package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/base.js +6 -0
  261. package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/colors.js +4 -2
  262. package/lib/design-tokens/js/tokens/functional/components/timeline/base.js +1 -1
  263. package/lib/design-tokens/js/tokens/functional/components/timeline/colors.js +1 -1
  264. package/lib/design-tokens/js/tokens/functional/components/token/colors.js +1 -1
  265. package/lib/design-tokens/js/tokens/functional/components/tooltip/colors.js +1 -1
  266. package/lib/design-tokens/js/tokens/functional/components/video-player/base.js +1 -1
  267. package/lib/design-tokens/js/tokens/functional/size/border.js +1 -1
  268. package/lib/design-tokens/js/tokens/functional/size/breakpoints.js +1 -1
  269. package/lib/design-tokens/js/tokens/functional/size/size-coarse.js +1 -1
  270. package/lib/design-tokens/js/tokens/functional/size/size-fine.js +1 -1
  271. package/lib/design-tokens/js/tokens/functional/size/size.js +1 -1
  272. package/lib/design-tokens/js/tokens/functional/size/viewport.js +1 -1
  273. package/lib/design-tokens/js/tokens/functional/typography/typography-responsive.js +1 -1
  274. package/lib/design-tokens/js/tokens/functional/typography/typography.js +1 -1
  275. package/lib/design-tokens/json/colors.json +6 -1
  276. package/lib/design-tokens/scss/tokens/base/colors/light.scss +1 -1
  277. package/lib/design-tokens/scss/tokens/base/size/size.scss +1 -1
  278. package/lib/design-tokens/scss/tokens/base/typography/typography.scss +1 -1
  279. package/lib/design-tokens/scss/tokens/functional/animation/base.scss +1 -1
  280. package/lib/design-tokens/scss/tokens/functional/colors/global.scss +1 -1
  281. package/lib/design-tokens/scss/tokens/functional/components/bento/base.scss +1 -1
  282. package/lib/design-tokens/scss/tokens/functional/components/card/base.scss +1 -1
  283. package/lib/design-tokens/scss/tokens/functional/components/card/colors.scss +1 -1
  284. package/lib/design-tokens/scss/tokens/functional/components/comparison-table/comparison-table.scss +1 -1
  285. package/lib/design-tokens/scss/tokens/functional/components/eyebrow-banner/eyebrow-banner.scss +1 -1
  286. package/lib/design-tokens/scss/tokens/functional/components/faq/base.scss +1 -1
  287. package/lib/design-tokens/scss/tokens/functional/components/faq/colors.scss +1 -1
  288. package/lib/design-tokens/scss/tokens/functional/components/faq/faq.scss +1 -1
  289. package/lib/design-tokens/scss/tokens/functional/components/footer/base.scss +1 -1
  290. package/lib/design-tokens/scss/tokens/functional/components/footer/colors.scss +1 -1
  291. package/lib/design-tokens/scss/tokens/functional/components/frosted-glass-vfx/base.scss +1 -1
  292. package/lib/design-tokens/scss/tokens/functional/components/grid/colors.scss +1 -1
  293. package/lib/design-tokens/scss/tokens/functional/components/grid/grid.scss +1 -1
  294. package/lib/design-tokens/scss/tokens/functional/components/hero/base.scss +1 -1
  295. package/lib/design-tokens/scss/tokens/functional/components/icon/colors.scss +1 -1
  296. package/lib/design-tokens/scss/tokens/functional/components/ide/base.scss +1 -1
  297. package/lib/design-tokens/scss/tokens/functional/components/image/base.scss +1 -1
  298. package/lib/design-tokens/scss/tokens/functional/components/inline-code/colors.scss +1 -1
  299. package/lib/design-tokens/scss/tokens/functional/components/inline-link/base.scss +1 -1
  300. package/lib/design-tokens/scss/tokens/functional/components/inline-link/colors.scss +1 -1
  301. package/lib/design-tokens/scss/tokens/functional/components/label/colors.scss +1 -1
  302. package/lib/design-tokens/scss/tokens/functional/components/link/colors.scss +1 -1
  303. package/lib/design-tokens/scss/tokens/functional/components/logosuite/base.scss +1 -1
  304. package/lib/design-tokens/scss/tokens/functional/components/logosuite/colors.scss +1 -1
  305. package/lib/design-tokens/scss/tokens/functional/components/media-playlist/colors.scss +1 -1
  306. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/colors.scss +1 -1
  307. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/pricing-options.scss +1 -1
  308. package/lib/design-tokens/scss/tokens/functional/components/prose/base.scss +1 -1
  309. package/lib/design-tokens/scss/tokens/functional/components/river/base.scss +1 -1
  310. package/lib/design-tokens/scss/tokens/functional/components/river/river.scss +1 -1
  311. package/lib/design-tokens/scss/tokens/functional/components/section/section.scss +1 -1
  312. package/lib/design-tokens/scss/tokens/functional/components/statistic/base.scss +1 -1
  313. package/lib/design-tokens/scss/tokens/functional/components/sub-nav/base.scss +1 -1
  314. package/lib/design-tokens/scss/tokens/functional/components/tabs/base.scss +1 -1
  315. package/lib/design-tokens/scss/tokens/functional/components/tabs/colors.scss +1 -1
  316. package/lib/design-tokens/scss/tokens/functional/components/testimonial/base.scss +1 -1
  317. package/lib/design-tokens/scss/tokens/functional/components/testimonial/colors.scss +1 -1
  318. package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/base.scss +5 -0
  319. package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/colors.scss +4 -2
  320. package/lib/design-tokens/scss/tokens/functional/components/timeline/base.scss +1 -1
  321. package/lib/design-tokens/scss/tokens/functional/components/timeline/colors.scss +1 -1
  322. package/lib/design-tokens/scss/tokens/functional/components/token/colors.scss +1 -1
  323. package/lib/design-tokens/scss/tokens/functional/components/tooltip/colors.scss +1 -1
  324. package/lib/design-tokens/scss/tokens/functional/components/video-player/base.scss +1 -1
  325. package/lib/design-tokens/scss/tokens/functional/size/border.scss +1 -1
  326. package/lib/design-tokens/scss/tokens/functional/size/breakpoints.scss +1 -1
  327. package/lib/design-tokens/scss/tokens/functional/size/size-coarse.scss +1 -1
  328. package/lib/design-tokens/scss/tokens/functional/size/size-fine.scss +1 -1
  329. package/lib/design-tokens/scss/tokens/functional/size/size.scss +1 -1
  330. package/lib/design-tokens/scss/tokens/functional/size/viewport.scss +1 -1
  331. package/lib/design-tokens/scss/tokens/functional/typography/typography-responsive.scss +1 -1
  332. package/lib/design-tokens/scss/tokens/functional/typography/typography.scss +1 -1
  333. package/lib/design-tokens/ts/tokens/base/colors/light.d.ts +1 -1
  334. package/lib/design-tokens/ts/tokens/base/colors/light.js +1 -1
  335. package/lib/design-tokens/ts/tokens/base/size/size.d.ts +1 -1
  336. package/lib/design-tokens/ts/tokens/base/size/size.js +1 -1
  337. package/lib/design-tokens/ts/tokens/base/typography/typography.d.ts +1 -1
  338. package/lib/design-tokens/ts/tokens/base/typography/typography.js +1 -1
  339. package/lib/design-tokens/ts/tokens/functional/animation/base.d.ts +1 -1
  340. package/lib/design-tokens/ts/tokens/functional/animation/base.js +1 -1
  341. package/lib/design-tokens/ts/tokens/functional/colors/global.d.ts +1 -1
  342. package/lib/design-tokens/ts/tokens/functional/colors/global.js +1 -1
  343. package/lib/design-tokens/ts/tokens/functional/components/bento/base.d.ts +1 -1
  344. package/lib/design-tokens/ts/tokens/functional/components/bento/base.js +1 -1
  345. package/lib/design-tokens/ts/tokens/functional/components/card/base.d.ts +1 -1
  346. package/lib/design-tokens/ts/tokens/functional/components/card/base.js +1 -1
  347. package/lib/design-tokens/ts/tokens/functional/components/card/colors.d.ts +1 -1
  348. package/lib/design-tokens/ts/tokens/functional/components/card/colors.js +1 -1
  349. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.d.ts +1 -1
  350. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  351. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.d.ts +1 -1
  352. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  353. package/lib/design-tokens/ts/tokens/functional/components/faq/base.d.ts +1 -1
  354. package/lib/design-tokens/ts/tokens/functional/components/faq/base.js +1 -1
  355. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.d.ts +1 -1
  356. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.js +1 -1
  357. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.d.ts +1 -1
  358. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.js +1 -1
  359. package/lib/design-tokens/ts/tokens/functional/components/footer/base.d.ts +1 -1
  360. package/lib/design-tokens/ts/tokens/functional/components/footer/base.js +1 -1
  361. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.d.ts +1 -1
  362. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.js +1 -1
  363. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.d.ts +1 -1
  364. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  365. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.d.ts +1 -1
  366. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.js +1 -1
  367. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.d.ts +1 -1
  368. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.js +1 -1
  369. package/lib/design-tokens/ts/tokens/functional/components/hero/base.d.ts +1 -1
  370. package/lib/design-tokens/ts/tokens/functional/components/hero/base.js +1 -1
  371. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.d.ts +1 -1
  372. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.js +1 -1
  373. package/lib/design-tokens/ts/tokens/functional/components/ide/base.d.ts +1 -1
  374. package/lib/design-tokens/ts/tokens/functional/components/ide/base.js +1 -1
  375. package/lib/design-tokens/ts/tokens/functional/components/image/base.d.ts +1 -1
  376. package/lib/design-tokens/ts/tokens/functional/components/image/base.js +1 -1
  377. package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.d.ts +1 -1
  378. package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.js +1 -1
  379. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.d.ts +1 -1
  380. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.js +1 -1
  381. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.d.ts +1 -1
  382. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.js +1 -1
  383. package/lib/design-tokens/ts/tokens/functional/components/label/colors.d.ts +1 -1
  384. package/lib/design-tokens/ts/tokens/functional/components/label/colors.js +1 -1
  385. package/lib/design-tokens/ts/tokens/functional/components/link/colors.d.ts +1 -1
  386. package/lib/design-tokens/ts/tokens/functional/components/link/colors.js +1 -1
  387. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.d.ts +1 -1
  388. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.js +1 -1
  389. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.d.ts +1 -1
  390. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.js +1 -1
  391. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.d.ts +1 -1
  392. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.js +1 -1
  393. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.d.ts +1 -1
  394. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.js +1 -1
  395. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.d.ts +1 -1
  396. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  397. package/lib/design-tokens/ts/tokens/functional/components/prose/base.d.ts +1 -1
  398. package/lib/design-tokens/ts/tokens/functional/components/prose/base.js +1 -1
  399. package/lib/design-tokens/ts/tokens/functional/components/river/base.d.ts +1 -1
  400. package/lib/design-tokens/ts/tokens/functional/components/river/base.js +1 -1
  401. package/lib/design-tokens/ts/tokens/functional/components/river/river.d.ts +1 -1
  402. package/lib/design-tokens/ts/tokens/functional/components/river/river.js +1 -1
  403. package/lib/design-tokens/ts/tokens/functional/components/section/section.d.ts +1 -1
  404. package/lib/design-tokens/ts/tokens/functional/components/section/section.js +1 -1
  405. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.d.ts +1 -1
  406. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.js +1 -1
  407. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.d.ts +1 -1
  408. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.js +1 -1
  409. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.d.ts +1 -1
  410. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.js +1 -1
  411. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.d.ts +1 -1
  412. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.js +1 -1
  413. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.d.ts +1 -1
  414. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.js +1 -1
  415. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.d.ts +1 -1
  416. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.js +1 -1
  417. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.d.ts +17 -0
  418. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.js +14 -0
  419. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.d.ts +4 -2
  420. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.js +4 -2
  421. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.d.ts +1 -1
  422. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.js +1 -1
  423. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.d.ts +1 -1
  424. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.js +1 -1
  425. package/lib/design-tokens/ts/tokens/functional/components/token/colors.d.ts +1 -1
  426. package/lib/design-tokens/ts/tokens/functional/components/token/colors.js +1 -1
  427. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.d.ts +1 -1
  428. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.js +1 -1
  429. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.d.ts +1 -1
  430. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.js +1 -1
  431. package/lib/design-tokens/ts/tokens/functional/size/border.d.ts +1 -1
  432. package/lib/design-tokens/ts/tokens/functional/size/border.js +1 -1
  433. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.d.ts +1 -1
  434. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.js +1 -1
  435. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.d.ts +1 -1
  436. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.js +1 -1
  437. package/lib/design-tokens/ts/tokens/functional/size/size-fine.d.ts +1 -1
  438. package/lib/design-tokens/ts/tokens/functional/size/size-fine.js +1 -1
  439. package/lib/design-tokens/ts/tokens/functional/size/size.d.ts +1 -1
  440. package/lib/design-tokens/ts/tokens/functional/size/size.js +1 -1
  441. package/lib/design-tokens/ts/tokens/functional/size/viewport.d.ts +1 -1
  442. package/lib/design-tokens/ts/tokens/functional/size/viewport.js +1 -1
  443. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.d.ts +1 -1
  444. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.js +1 -1
  445. package/lib/design-tokens/ts/tokens/functional/typography/typography.d.ts +1 -1
  446. package/lib/design-tokens/ts/tokens/functional/typography/typography.js +1 -1
  447. package/lib/hooks/useCursorAnimation.d.ts +8 -31
  448. package/lib/index.js +1 -1
  449. package/lib/river/RiverAccordion/RiverAccordion.d.ts +13 -4
  450. package/llms.txt +2 -2
  451. package/package.json +1 -1
  452. package/esm/SubdomainNavBar/SubdomainNavBar.module-Rf4qEDka.css +0 -1
  453. package/esm/TextCursorAnimation/TextCursorAnimation.module-BJLhwKrK.css +0 -1
  454. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes-ehJCoExh.css +0 -1
  455. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes-BODdIvrY.css +0 -1
  456. package/esm/river/RiverAccordion/RiverAccordion.module-BTU_metB.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SubdomainNavBar.js","names":[],"sources":["../../src/SubdomainNavBar/SubdomainNavBar.tsx"],"sourcesContent":["import React, {useState, useCallback, useRef, PropsWithChildren, forwardRef, useMemo, useEffect} from 'react'\nimport {clsx} from 'clsx'\nimport {ChevronLeftIcon, LinkExternalIcon, MarkGithubIcon, SearchIcon, XIcon} from '@primer/octicons-react'\n\nimport {Button, FormControl, Text, TextInput} from '..'\nimport {NavigationVisbilityObserver} from './NavigationVisbilityObserver'\nimport {useOnClickOutside} from '../hooks/useOnClickOutside'\nimport {useFocusTrap} from '../hooks/useFocusTrap'\nimport {useKeyboardEscape} from '../hooks/useKeyboardEscape'\nimport {useWindowSize} from '../hooks/useWindowSize'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './SubdomainNavBar.module.css'\nimport {useId} from '../hooks/useId'\n\nexport type SubdomainNavBarProps = {\n /**\n * Valid child elements are `SubdomainNavBar.Link`, `SubdomainNavBar.PrimaryAction`,\n * `SubdomainNavBar.SecondaryAction` and `SubdomainNavBar.Search`\n */\n children?:\n | React.ReactNode\n | React.ReactElement<SubdomainNavBarLinkProps>\n | React.ReactElement<SearchProps>\n | React.ReactElement<CTAActionProps>\n /**\n * Forward a custom HTML class attribute\n */\n className?: string\n /**\n * Fixes the navigation bar to the top of the viewport. Defaults to `true`.\n */\n fixed?: boolean\n /**\n * Fill the maximum width of the parent container. Defaults to `false`.\n */\n fullWidth?: boolean\n /**\n * The title or name of the subdomain. Appears adjacent to the logo and is required for communicating content to assisitive technologies.\n */\n title: string\n /**\n * The URL for the site. Typically used to link the titleText prop value to the site root.\n */\n titleHref?: string\n /**\n * Optionally change the URL of the logo\n */\n logoHref?: string\n /**\n * When the menu is opened or closed on narrow viewports, this callback is called with the new open state.\n */\n onNarrowMenuToggle?: (isOpen: boolean) => void\n}\nconst testIds = {\n root: 'SubdomainNavBar',\n get innerContainer() {\n return `${this.root}-inner-container`\n },\n get menuButton() {\n return `${this.root}-menuButton`\n },\n get menuLinks() {\n return `${this.root}-menuLinks`\n },\n get liveRegion() {\n return `${this.root}-search-live-region`\n },\n}\n\nfunction Root({\n children,\n className,\n fixed = true,\n fullWidth = false,\n logoHref = 'https://github.com',\n title,\n titleHref = '/',\n onNarrowMenuToggle,\n ...rest\n}: SubdomainNavBarProps) {\n const [menuHidden, setMenuHidden] = useState(true)\n const [searchVisible, setSearchVisible] = useState(false)\n const {isSmall, isMedium} = useWindowSize()\n const [startOfContentButtonFocused, setStartOfContentButtonFocused] = useState(false)\n const mainElRef = useRef<HTMLElement | null>(null)\n const startOfContentID = useId('start-of-content')\n\n const handleMobileMenuClick = () => {\n const nextMenuHidden = !menuHidden\n setMenuHidden(nextMenuHidden)\n\n onNarrowMenuToggle?.(!nextMenuHidden)\n }\n const handleSearchVisibility = () => setSearchVisible(!searchVisible)\n const focusTrapRef = useRef<HTMLDivElement | null>(null)\n\n useEffect(() => {\n const mainEl = document.querySelector('main')\n if (mainEl) {\n mainEl.id = mainEl.id || startOfContentID\n mainElRef.current = mainEl\n }\n }, [startOfContentID])\n\n useFocusTrap({containerRef: focusTrapRef, restoreFocusOnCleanUp: true, disabled: menuHidden})\n useKeyboardEscape(() => {\n setMenuHidden(true)\n onNarrowMenuToggle?.(false)\n })\n\n useEffect(() => {\n if (isMedium) {\n setMenuHidden(true)\n onNarrowMenuToggle?.(false)\n }\n }, [isMedium, menuHidden, onNarrowMenuToggle])\n\n useEffect(() => {\n const newOverflowState = menuHidden ? 'auto' : 'hidden'\n document.body.style.overflow = newOverflowState\n }, [menuHidden])\n\n const setStartOfContentButtonFocusedTrue = useCallback(() => setStartOfContentButtonFocused(true), [])\n const setStartOfContentButtonFocusedFalse = useCallback(() => setStartOfContentButtonFocused(false), [])\n\n const hasLinks =\n useMemo(\n () =>\n React.Children.toArray(children).filter(\n child => React.isValidElement(child) && typeof child.type !== 'string' && child.type === Link,\n ),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n ).length > 0\n\n const menuItems = useMemo(\n () =>\n React.Children.toArray(children)\n .map((child, index) => {\n if (React.isValidElement<SubdomainNavBarLinkProps>(child) && child.type === Link) {\n const navItemId = typeof child.props.children === 'string' ? child.props.children : `${index}`\n return React.cloneElement(child, {\n 'data-navitemid': navItemId,\n href: child.props.href,\n children: child.props.children,\n style: {\n '--animation-order': index,\n } as React.CSSProperties,\n })\n }\n return null\n })\n .filter(Boolean),\n [children],\n )\n\n const hasAllActions: boolean = useMemo(() => {\n const primaryAction = React.Children.toArray(children).find(\n child => React.isValidElement(child) && child.type === PrimaryAction,\n )\n const secondaryAction = React.Children.toArray(children).find(\n child => React.isValidElement(child) && child.type === SecondaryAction,\n )\n return !!primaryAction && !!secondaryAction\n }, [children])\n\n return (\n <>\n <div\n className={clsx(\n styles['SubdomainNavBar-outer-container'],\n fixed && styles['SubdomainNavBar-outer-container--fixed'],\n hasAllActions && styles['SubdomainNavBar-outer-container--has-actions'],\n )}\n >\n <Button\n as=\"a\"\n href={`#${mainElRef.current?.id || startOfContentID}`}\n variant=\"primary\"\n className={clsx(styles['SubdomainNavBar-skip-to-content'], !startOfContentButtonFocused && 'visually-hidden')}\n onFocus={setStartOfContentButtonFocusedTrue}\n onBlur={setStartOfContentButtonFocusedFalse}\n >\n Skip to content\n </Button>\n <header className={clsx(styles['SubdomainNavBar'], className)} data-testid={testIds.root} {...rest}>\n <div\n ref={focusTrapRef}\n className={clsx(\n styles['SubdomainNavBar-inner-container'],\n searchVisible && styles['SubdomainNavBar-inner-container--search-open'],\n !fullWidth && styles['SubdomainNavBar-inner-container--centered'],\n )}\n data-testid={testIds.innerContainer}\n >\n <nav aria-label=\"Header logo and title\">\n <ol className={styles['SubdomainNavBar-title-area']}>\n <li>\n <a href={logoHref} aria-label=\"Github Home\" className={styles['SubdomainNavBar-logo-mark']}>\n <span className={clsx(styles['SubdomainNavBar-back-arrow'])}>\n <ChevronLeftIcon fill=\"currentColor\" size={24} />\n </span>\n <MarkGithubIcon fill=\"currentColor\" size={24} />\n </a>\n </li>\n {title && isSmall && (\n <>\n <li role=\"separator\" className={styles['SubdomainNavBar-title-separator']} aria-hidden>\n /\n </li>\n <li>\n <a\n href={titleHref}\n aria-label={`${title} home`}\n className={clsx(styles['SubdomainNavBar-title'])}\n >\n <Text size=\"400\" weight=\"medium\">\n {title}\n </Text>\n </a>\n </li>\n </>\n )}\n </ol>\n </nav>\n {hasLinks && (\n <nav\n id=\"menu-navigation\"\n aria-label={title}\n className={styles['SubdomainNavBar-primary-nav']}\n data-testid={testIds.menuLinks}\n >\n <NavigationVisbilityObserver className={clsx(styles['SubdomainNavBar-primary-nav-list--invisible'])}>\n {menuItems}\n </NavigationVisbilityObserver>\n </nav>\n )}\n\n <div className={clsx(styles['SubdomainNavBar-secondary-nav'])}>\n {React.Children.toArray(children)\n .map(child => {\n if (React.isValidElement<SearchProps>(child) && child.type === Search) {\n return React.cloneElement(child, {\n active: searchVisible,\n handlerFn: handleSearchVisibility,\n title,\n })\n }\n return null\n })\n .filter(Boolean)}\n\n {hasLinks && (\n <button\n aria-expanded={!menuHidden}\n aria-label=\"Menu\"\n aria-controls=\"menu-navigation\"\n aria-haspopup=\"true\"\n className={clsx(\n styles['SubdomainNavBar-menu-button'],\n styles['SubdomainNavBar-mobile-menu-button'],\n !menuHidden && styles['SubdomainNavBar-menu-button--close'],\n )}\n data-testid={testIds.menuButton}\n onClick={handleMobileMenuClick}\n >\n <div className={clsx(styles['SubdomainNavBar-menu-button-bar'])}></div>\n <div className={clsx(styles['SubdomainNavBar-menu-button-bar'])}></div>\n <div className={clsx(styles['SubdomainNavBar-menu-button-bar'])}></div>\n </button>\n )}\n\n {isMedium && (\n <div\n className={clsx(\n styles['SubdomainNavBar-button-area'],\n styles['SubdomainNavBar-button-area--visible'],\n )}\n >\n <div className={styles['SubdomainNavBar-button-area-inner']}>\n {React.Children.toArray(children)\n .map(child => {\n if (\n React.isValidElement<CTAActionProps>(child) &&\n (child.type === PrimaryAction || child.type === SecondaryAction)\n ) {\n return child\n }\n return null\n })\n .filter(Boolean)}\n </div>\n </div>\n )}\n\n {!isMedium && (\n <div\n className={clsx(\n styles['SubdomainNavBar-menu-wrapper'],\n menuHidden && styles['SubdomainNavBar-menu-wrapper--close'],\n )}\n >\n <div>\n {title && titleHref && (\n <Text as=\"p\">\n <a\n href={titleHref}\n aria-label={`${title} home`}\n className={clsx(styles['SubdomainNavBar-link'], styles['SubdomainNavBar-link--title'])}\n >\n {title}\n </a>\n </Text>\n )}\n {hasLinks && !menuHidden && (\n <NavigationVisbilityObserver\n className={clsx(styles['SubdomainNavBar-primary-nav-list--visible'])}\n >\n {menuItems}\n </NavigationVisbilityObserver>\n )}\n </div>\n <div\n className={clsx(\n styles['SubdomainNavBar-button-area'],\n styles['SubdomainNavBar-button-area--visible'],\n )}\n >\n <div className={styles['SubdomainNavBar-button-area-inner']}>\n {React.Children.toArray(children)\n .map(child => {\n if (\n React.isValidElement<CTAActionProps>(child) &&\n (child.type === PrimaryAction || child.type === SecondaryAction)\n ) {\n return child\n }\n return null\n })\n .filter(Boolean)}\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n </header>\n </div>\n {!mainElRef.current && <div id={`${startOfContentID}`} tabIndex={-1} />}\n </>\n )\n}\n\nexport type SubdomainNavBarLinkProps = {\n href: string\n isExternal?: boolean\n 'data-navitemid'?: string\n} & React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>\n\nfunction Link({href, className, children, isExternal, ...rest}: PropsWithChildren<SubdomainNavBarLinkProps>) {\n return (\n <li className={clsx(styles['SubdomainNavBar-primary-nav-list-item'], className)} {...rest}>\n <a href={href} className={styles['SubdomainNavBar-link']}>\n <span className={styles['SubdomainNavBar-link-text']}>{children}</span>\n {isExternal && <LinkExternalIcon size={16} aria-label=\"External link\" />}\n </a>\n </li>\n )\n}\n\nexport type SubdomainNavBarSearchResultProps = {\n title: string\n description: string\n url: string\n date: string\n category?: string\n}\n\ntype HandlerEvent = MouseEvent | TouchEvent | FocusEvent\n\ntype SearchProps = {\n onSubmit: (e: React.FormEvent<HTMLFormElement>) => void\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void\n ref: React.RefObject<HTMLInputElement>\n active?: boolean\n title?: string\n handlerFn?: (event: HandlerEvent) => void\n autoComplete?: boolean\n searchResults?: SubdomainNavBarSearchResultProps[]\n searchTerm?: string\n}\n\nconst _SearchInternal = forwardRef<HTMLDivElement, SearchProps>(\n ({active, title, searchResults, searchTerm, handlerFn, onSubmit, onChange}, ref) => {\n const dialogRef = useRef<HTMLDivElement | null>(null)\n\n useFocusTrap({containerRef: dialogRef, restoreFocusOnCleanUp: true, disabled: !active})\n useOnClickOutside(dialogRef, handlerFn)\n\n const [activeDescendant, setActiveDescendant] = useState<number>(-1)\n const [listboxActive, setListboxActive] = useState<boolean>()\n const [liveRegion, setLiveRegion] = useState<boolean>(false)\n\n const handleClose = useCallback(\n (event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | HandlerEvent | null) => {\n if (handlerFn) handlerFn(event as HandlerEvent)\n setActiveDescendant(-1)\n },\n [handlerFn],\n )\n\n useOnClickOutside(dialogRef, handleClose as (event) => void)\n useKeyboardEscape(() => {\n // Close the dialog if combobox is already collapsed\n if (!listboxActive && active) {\n handleClose()\n return false\n }\n\n setListboxActive(false)\n setActiveDescendant(-1)\n })\n\n const handleAriaFocus = useCallback(\n event => {\n const supportedKeys = ['ArrowDown', 'ArrowUp', 'Escape', 'Enter']\n const currentCount = activeDescendant\n const searchResultsLength = searchResults ? searchResults.length : 0\n const dialog = dialogRef.current\n let count\n\n // Prevent any other keys outside of supported from being prevented.\n // Only prevent \"Enter\" if activeDescendant is greater than -1.\n if (!supportedKeys.includes(event.key) || (event.key === 'Enter' && activeDescendant === -1) || !dialog) {\n return false\n }\n\n event.preventDefault()\n\n if (event.key === 'ArrowDown') {\n // If count reaches last search result item, reset to -1\n count = currentCount < searchResultsLength - 1 ? currentCount + 1 : -1\n setActiveDescendant(count)\n } else if (event.key === 'ArrowUp') {\n // Reset to last search result item if\n count = currentCount === -1 ? searchResultsLength - 1 : currentCount - 1\n setActiveDescendant(count)\n }\n\n if (['ArrowDown', 'ArrowUp'].includes(event.key)) {\n dialog.querySelector(`#subdomainnavbar-search-result-${count}`)?.scrollIntoView()\n }\n\n if (event.key === 'Enter') {\n const link = dialog.querySelector(`#subdomainnavbar-search-result-${activeDescendant} a`) as HTMLAnchorElement\n link.click()\n }\n },\n [searchResults, activeDescendant],\n )\n\n const searchLiveRegion = useCallback(() => {\n // Adding a non-breaking space and then removing it will force screen readers to announce the text,\n // as it thinks that there was a change within the live region.\n setLiveRegion(true)\n\n setTimeout(() => {\n if (active) setLiveRegion(false)\n }, 200)\n }, [active])\n\n useEffect(() => {\n // We want to set \"listboxActive\" when search results are present,\n // or the user pressed \"Escape\". We watch for \"searchTerm\", as we -\n // want the listbox to become active if they pressed \"Escape\", and -\n // adjusted their existing value.\n const search = searchResults && searchResults.length ? true : false\n setListboxActive(search)\n searchLiveRegion()\n }, [searchResults, searchTerm, searchLiveRegion])\n\n return (\n <>\n <div className={clsx(styles['SubdomainNavBar-search-trigger'])}>\n <button\n aria-label=\"Toggle search bar\"\n className={styles['SubdomainNavBar-search-button']}\n onClick={handlerFn as (event) => void}\n data-testid=\"toggle-search\"\n >\n <SearchIcon aria-label=\"Search icon\" />\n </button>\n </div>\n {active && (\n <div\n ref={dialogRef}\n role=\"dialog\"\n aria-label={`Search ${title}`}\n aria-modal=\"true\"\n tabIndex={-1}\n className={clsx(styles['SubdomainNavBar-search-dialog'])}\n >\n <div className={clsx(styles['SubdomainNavBar-search-dialog-control-area'])}>\n <form className={clsx(styles['SubdomainNavBar-search-form'])} onSubmit={onSubmit} role=\"search\">\n <FormControl fullWidth size=\"medium\">\n <FormControl.Label visuallyHidden>Search</FormControl.Label>\n <TextInput\n ref={ref}\n className={clsx(styles['SubdomainNavBar-search-text-input'])}\n name=\"search\"\n role=\"combobox\"\n aria-expanded={listboxActive}\n aria-controls=\"listbox-search-results\"\n placeholder={`Search ${title}`}\n onChange={onChange}\n defaultValue={searchTerm}\n invisible\n leadingVisual={<SearchIcon size={16} />}\n aria-activedescendant={\n activeDescendant === -1 ? undefined : `subdomainnavbar-search-result-${activeDescendant}`\n }\n onKeyDown={handleAriaFocus}\n />\n </FormControl>\n </form>\n <button\n aria-label=\"Close\"\n className={clsx(styles['SubdomainNavBar-menu-button'], styles['SubdomainNavBar-menu-button--close'])}\n onClick={handleClose}\n >\n <XIcon size={24} />\n </button>\n </div>\n\n <div id=\"listbox-search-results\">\n {listboxActive && (\n <div className={clsx(styles['SubdomainNavBar-search-results-container'])}>\n <Text\n id=\"subdomainnavbar-search-results-heading\"\n className={styles['SubdomainNavBar-search-results-heading']}\n >\n Results for &ldquo;{searchTerm}&rdquo;\n </Text>\n <ul\n role=\"listbox\"\n tabIndex={0}\n aria-labelledby=\"subdomainnavbar-search-results-heading\"\n className={clsx(styles['SubdomainNavBar-search-results'])}\n >\n {searchResults?.map((result, index) => (\n <li\n key={`${result.title}-${index}`}\n id={`subdomainnavbar-search-result-${index}`}\n className={styles['SubdomainNavBar-search-result-item']}\n role=\"option\"\n aria-selected={index === activeDescendant}\n >\n <div className={styles['SubdomainNavBar-search-result-item-container']}>\n <a href={result.url}>{result.title}</a>\n </div>\n\n <Text\n as=\"p\"\n size=\"200\"\n id={`subdomainnavbar-search-result-item-desc${index}`}\n className={styles['SubdomainNavBar-search-result-item-desc']}\n >\n {result.description}\n </Text>\n <div>\n <Text size=\"100\" className={styles['SubdomainNavBar-search-result-item-desc']}>\n {result.date}\n </Text>\n {result.category && (\n <>\n <Text size=\"100\" className={styles['SubdomainNavBar-search-result-item-desc']}>\n {' '}\n •{' '}\n </Text>\n <Text size=\"100\" className={styles['SubdomainNavBar-search-result-item-desc']}>\n {result.category}\n </Text>\n </>\n )}\n </div>\n </li>\n ))}\n </ul>\n </div>\n )}\n <div aria-live=\"polite\" aria-atomic=\"true\" data-testid={testIds.liveRegion} className=\"visually-hidden\">\n {`${searchResults?.length} suggestions.`}\n {liveRegion && <span>&nbsp;</span>}\n </div>\n </div>\n </div>\n )}\n </>\n )\n },\n)\n\nconst Search = _SearchInternal\n\ntype CTAActionProps = {\n href: string\n} & React.HTMLAttributes<HTMLAnchorElement>\n\nfunction PrimaryAction({children, href, ...rest}: PropsWithChildren<CTAActionProps>) {\n return (\n <Button\n as=\"a\"\n href={href}\n className={clsx(styles['SubdomainNavBar-cta-button'])}\n variant=\"primary\"\n size=\"small\"\n {...rest}\n >\n {children}\n </Button>\n )\n}\n\nfunction SecondaryAction({children, href, ...rest}: PropsWithChildren<CTAActionProps>) {\n return (\n <Button\n as=\"a\"\n href={href}\n className={clsx(styles['SubdomainNavBar-cta-button'], styles['SubdomainNavBar-cta-button--secondary'])}\n size=\"small\"\n {...rest}\n >\n {children}\n </Button>\n )\n}\n\nexport const SubdomainNavBar = Object.assign(Root, {\n Link,\n Search,\n PrimaryAction,\n SecondaryAction,\n testIds,\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"SubdomainNavBar.js","names":[],"sources":["../../src/SubdomainNavBar/SubdomainNavBar.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useRef,\n PropsWithChildren,\n forwardRef,\n useMemo,\n useEffect,\n useImperativeHandle,\n} from 'react'\nimport {clsx} from 'clsx'\nimport {ArrowUpRightIcon, ChevronLeftIcon, LinkExternalIcon, MarkGithubIcon, SearchIcon} from '@primer/octicons-react'\n\nimport {Button, FormControl, Text, TextInput} from '..'\nimport {NavigationVisbilityObserver} from './NavigationVisbilityObserver'\nimport {useFocusTrap} from '../hooks/useFocusTrap'\nimport {useKeyboardEscape} from '../hooks/useKeyboardEscape'\nimport {useWindowSize} from '../hooks/useWindowSize'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './SubdomainNavBar.module.css'\nimport {useId} from '../hooks/useId'\nimport {SubdomainNavBarLinkContext, useSubdomainNavBarLinkContext} from './SubdomainNavBarLinkContext'\nimport {useSearchKeyboardShortcut} from './useSearchKeyboardShortcut'\nimport {useSearchResults, type NormalizedSearchResultGroup} from './useSearchResults'\n\nexport type SubdomainNavBarMenuLabels = {\n /**\n * Visible and accessible label for the closed narrow menu control.\n */\n menuLabel: string\n /**\n * Visible and accessible label for the open narrow menu control.\n */\n closeLabel: string\n /**\n * Visible and accessible label for the desktop overflow menu control.\n */\n overflowMenuLabel: string\n}\n\nconst defaultMenuLabels: SubdomainNavBarMenuLabels = {\n menuLabel: 'Menu',\n closeLabel: 'Close',\n overflowMenuLabel: 'More',\n}\n\nconst SubdomainNavBarActionSizeContext = React.createContext<'small' | 'medium'>('small')\n\nexport type SubdomainNavBarProps = Omit<React.HTMLAttributes<HTMLElement>, 'children' | 'title'> & {\n /**\n * Valid child elements are `SubdomainNavBar.Link`, `SubdomainNavBar.PrimaryAction`,\n * `SubdomainNavBar.SecondaryAction` and `SubdomainNavBar.Search`\n */\n children?:\n | React.ReactNode\n | React.ReactElement<SubdomainNavBarLinkProps>\n | React.ReactElement<SubdomainNavBarSearchProps>\n | React.ReactElement<CTAActionProps>\n /**\n * Fixes the navigation bar to the top of the viewport. Defaults to `true`.\n */\n fixed?: boolean\n /**\n * Fill the maximum width of the parent container. Defaults to `false`.\n */\n fullWidth?: boolean\n /**\n * Optional React element rendered after the navigation links.\n */\n leadingComponent?: React.ReactElement\n /**\n * Optional React element rendered after the actions.\n */\n trailingComponent?: React.ReactElement\n /**\n * The title or name of the subdomain. Appears adjacent to the logo and is required for communicating content to assistive technologies.\n */\n title: string\n /**\n * The URL for the site. Typically used to link the titleText prop value to the site root.\n */\n titleHref?: string\n /**\n * Optionally change the URL of the logo\n */\n logoHref?: string\n /**\n * When the menu is opened or closed on narrow viewports, this callback is called with the new open state.\n */\n onNarrowMenuToggle?: (isOpen: boolean) => void\n /**\n * Customizable visible and accessible menu labels.\n */\n menuLabels?: Partial<SubdomainNavBarMenuLabels>\n /**\n * ID of the element that receives focus when the skip-to-content link is activated.\n * Defaults to the first rendered `main` element that is not hidden from assistive technologies.\n */\n skipToContentTargetId?: string\n}\n\nexport type SubdomainNavBarHandle = HTMLElement & {\n openSearch: () => void\n closeSearch: () => void\n}\n\nconst testIds = {\n root: 'SubdomainNavBar',\n get innerContainer() {\n return `${this.root}-inner-container`\n },\n get menuButton() {\n return `${this.root}-menuButton`\n },\n get menuLinks() {\n return `${this.root}-menuLinks`\n },\n get liveRegion() {\n return `${this.root}-search-live-region`\n },\n}\n\nfunction isUsableSkipToContentTarget(element: HTMLElement) {\n if (element.closest('[hidden], [inert], [aria-hidden=\"true\"]')) return false\n\n for (\n let currentElement: HTMLElement | null = element;\n currentElement;\n currentElement = currentElement.parentElement\n ) {\n const computedStyles = window.getComputedStyle(currentElement)\n if (computedStyles.display === 'none' || computedStyles.visibility === 'hidden') return false\n }\n\n return true\n}\n\nconst Root = forwardRef<SubdomainNavBarHandle, SubdomainNavBarProps>(function Root(\n {\n children,\n className,\n fixed = true,\n fullWidth = false,\n logoHref = 'https://github.com',\n style,\n title,\n titleHref = '/',\n leadingComponent,\n trailingComponent,\n onNarrowMenuToggle,\n menuLabels,\n skipToContentTargetId,\n ...rest\n },\n forwardedRef,\n) {\n const [menuHidden, setMenuHidden] = useState(true)\n const [searchVisible, setSearchVisible] = useState(false)\n const [menuViewportOffsetBlockStart, setMenuViewportOffsetBlockStart] = useState(0)\n const {isMedium, isLarge} = useWindowSize()\n const [startOfContentButtonFocused, setStartOfContentButtonFocused] = useState(false)\n const [resolvedSkipToContentTargetId, setResolvedSkipToContentTargetId] = useState<string>()\n const headerRef = useRef<HTMLElement | null>(null)\n const fallbackTargetRef = useRef<HTMLDivElement | null>(null)\n const fallbackTargetID = useId()\n const generatedMainTargetID = `${fallbackTargetID}-main`\n const narrowMenuID = useId()\n const resolvedMenuLabels = {...defaultMenuLabels, ...menuLabels}\n\n const updateMenuViewportOffsetBlockStart = useCallback(() => {\n setMenuViewportOffsetBlockStart(Math.max(0, headerRef.current?.getBoundingClientRect().top ?? 0))\n }, [])\n\n const closeNarrowMenu = useCallback(() => {\n if (menuHidden) return\n\n setMenuHidden(true)\n onNarrowMenuToggle?.(false)\n }, [menuHidden, onNarrowMenuToggle])\n\n const handleMobileMenuClick = () => {\n if (!menuHidden) {\n closeNarrowMenu()\n return\n }\n\n setSearchVisible(false)\n updateMenuViewportOffsetBlockStart()\n setMenuHidden(false)\n onNarrowMenuToggle?.(true)\n }\n const focusTrapRef = useRef<HTMLDivElement | null>(null)\n\n const resolveDefaultSkipToContentTarget = useCallback(() => {\n const mainElement = Array.from(document.querySelectorAll<HTMLElement>('main')).find(isUsableSkipToContentTarget)\n\n if (mainElement) {\n if (!mainElement.id) {\n mainElement.id = document.getElementById('start-of-content') ? generatedMainTargetID : 'start-of-content'\n }\n return mainElement\n }\n\n return fallbackTargetRef.current\n }, [generatedMainTargetID])\n\n const resolveSkipToContentTarget = useCallback(() => {\n if (skipToContentTargetId) {\n const explicitTarget = document.getElementById(skipToContentTargetId)\n if (explicitTarget && isUsableSkipToContentTarget(explicitTarget)) return explicitTarget\n }\n\n return resolveDefaultSkipToContentTarget()\n }, [resolveDefaultSkipToContentTarget, skipToContentTargetId])\n\n const handleSkipToContentFocus = useCallback(() => {\n setStartOfContentButtonFocused(true)\n\n const target = resolveSkipToContentTarget()\n if (target) setResolvedSkipToContentTargetId(target.id)\n }, [resolveSkipToContentTarget])\n\n const handleSkipToContentClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (\n event.defaultPrevented ||\n event.button !== 0 ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey\n ) {\n return\n }\n\n const explicitTarget = skipToContentTargetId ? document.getElementById(skipToContentTargetId) : null\n const explicitTargetUnavailable =\n skipToContentTargetId && (!explicitTarget || !isUsableSkipToContentTarget(explicitTarget))\n const target = resolveSkipToContentTarget()\n\n if (explicitTargetUnavailable) {\n // eslint-disable-next-line no-console\n console.warn(\n `SubdomainNavBar could not find the skip-to-content target \"${skipToContentTargetId}\". Falling back to the page's main content.`,\n )\n }\n\n if (!target) return\n\n const targetHash = `#${encodeURIComponent(target.id)}`\n event.currentTarget.setAttribute('href', targetHash)\n setResolvedSkipToContentTargetId(target.id)\n\n const addedTabIndex = target.tabIndex < 0 && !target.hasAttribute('tabindex')\n if (addedTabIndex) {\n target.tabIndex = -1\n }\n\n const previousScrollMarginBlockStart = target.style.scrollMarginBlockStart\n if (fixed) {\n const navbarHeight = headerRef.current?.getBoundingClientRect().height ?? 0\n target.style.scrollMarginBlockStart = `${navbarHeight}px`\n }\n\n target.addEventListener(\n 'blur',\n () => {\n if (addedTabIndex) target.removeAttribute('tabindex')\n target.style.scrollMarginBlockStart = previousScrollMarginBlockStart\n },\n {once: true},\n )\n\n target.focus({preventScroll: true})\n },\n [fixed, resolveSkipToContentTarget, skipToContentTargetId],\n )\n\n useEffect(() => {\n const target = resolveSkipToContentTarget()\n if (target) setResolvedSkipToContentTargetId(target.id)\n }, [resolveSkipToContentTarget])\n\n useFocusTrap({containerRef: focusTrapRef, restoreFocusOnCleanUp: true, disabled: menuHidden})\n useKeyboardEscape(closeNarrowMenu)\n\n useEffect(() => {\n if (isLarge) closeNarrowMenu()\n }, [closeNarrowMenu, isLarge])\n\n useEffect(() => {\n if (menuHidden || isLarge) return\n\n updateMenuViewportOffsetBlockStart()\n\n const resizeObserver = new ResizeObserver(updateMenuViewportOffsetBlockStart)\n const header = headerRef.current\n\n if (header) resizeObserver.observe(header)\n resizeObserver.observe(document.documentElement)\n\n return () => resizeObserver.disconnect()\n }, [isLarge, menuHidden, updateMenuViewportOffsetBlockStart])\n\n useEffect(() => {\n if (menuHidden) return\n\n const previousOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n\n return () => {\n document.body.style.overflow = previousOverflow\n }\n }, [menuHidden])\n\n const setStartOfContentButtonFocusedFalse = useCallback(() => setStartOfContentButtonFocused(false), [])\n\n const hasLinks =\n useMemo(\n () =>\n React.Children.toArray(children).filter(\n child => React.isValidElement(child) && typeof child.type !== 'string' && child.type === Link,\n ),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n ).length > 0\n\n const menuItems = useMemo(\n () =>\n React.Children.toArray(children)\n .map((child, index) => {\n if (React.isValidElement<SubdomainNavBarLinkMeasurementProps>(child) && child.type === Link) {\n return React.cloneElement(child, {\n href: child.props.href,\n children: child.props.children,\n style: {\n '--animation-order': index,\n } as React.CSSProperties,\n })\n }\n return null\n })\n .filter(Boolean),\n [children],\n )\n\n const actionItems = useMemo(\n () =>\n React.Children.toArray(children).filter(\n (child): child is React.ReactElement<CTAActionProps> =>\n React.isValidElement<CTAActionProps>(child) &&\n (child.type === PrimaryAction || child.type === SecondaryAction),\n ),\n [children],\n )\n\n const narrowActionItems = useMemo(\n () =>\n actionItems.map(child =>\n React.cloneElement(child, {\n onClick: event => {\n child.props.onClick?.(event)\n if (!event.defaultPrevented) closeNarrowMenu()\n },\n }),\n ),\n [actionItems, closeNarrowMenu],\n )\n\n const hasActions = actionItems.length > 0\n\n const searchItem = useMemo(\n () =>\n React.Children.toArray(children).find(\n (child): child is React.ReactElement<SubdomainNavBarSearchProps> =>\n React.isValidElement<SubdomainNavBarSearchProps>(child) && child.type === Search,\n ),\n [children],\n )\n const hasSearch = Boolean(searchItem)\n\n const handleSearchOpen = useCallback(() => {\n if (!hasSearch) return\n\n closeNarrowMenu()\n setSearchVisible(true)\n }, [closeNarrowMenu, hasSearch])\n\n const handleSearchClose = useCallback(() => setSearchVisible(false), [])\n\n useImperativeHandle(\n forwardedRef,\n () => {\n if (!headerRef.current) {\n return {\n openSearch: handleSearchOpen,\n closeSearch: handleSearchClose,\n } as SubdomainNavBarHandle\n }\n\n return Object.assign(headerRef.current, {\n openSearch: handleSearchOpen,\n closeSearch: handleSearchClose,\n })\n },\n [handleSearchClose, handleSearchOpen],\n )\n\n useSearchKeyboardShortcut({\n disabled: searchVisible,\n keyboardShortcut: searchItem?.props.keyboardShortcut,\n onTrigger: handleSearchOpen,\n })\n\n const hasLeadingComponent = leadingComponent != null\n const hasTrailingComponent = trailingComponent != null\n const hasNarrowMenuContent = hasLinks || hasActions || hasLeadingComponent || hasTrailingComponent\n const subdomainNavBarStyle = {\n ...style,\n '--SubdomainNavBar-menu-offset-block-start': `${menuViewportOffsetBlockStart}px`,\n } as React.CSSProperties\n\n return (\n <>\n <div\n className={clsx(\n styles['SubdomainNavBar-outer-container'],\n fixed && styles['SubdomainNavBar-outer-container--fixed'],\n )}\n >\n <Button\n as=\"a\"\n href={`#${resolvedSkipToContentTargetId || skipToContentTargetId || fallbackTargetID}`}\n variant=\"primary\"\n size=\"small\"\n className={clsx(styles['SubdomainNavBar-skip-to-content'], !startOfContentButtonFocused && 'visually-hidden')}\n onFocus={handleSkipToContentFocus}\n onBlur={setStartOfContentButtonFocusedFalse}\n onClick={handleSkipToContentClick}\n >\n Skip to content\n </Button>\n <header\n ref={headerRef}\n className={clsx(styles['SubdomainNavBar'], className)}\n data-testid={testIds.root}\n style={subdomainNavBarStyle}\n {...rest}\n >\n <div\n ref={focusTrapRef}\n className={clsx(\n styles['SubdomainNavBar-inner-container'],\n searchVisible && styles['SubdomainNavBar-inner-container--search-open'],\n !fullWidth && styles['SubdomainNavBar-inner-container--centered'],\n )}\n data-testid={testIds.innerContainer}\n >\n <nav aria-label=\"Header logo and title\">\n <ol className={styles['SubdomainNavBar-title-area']}>\n <li>\n <a href={logoHref} aria-label=\"Github Home\" className={styles['SubdomainNavBar-logo-mark']}>\n <span className={styles['SubdomainNavBar-back-arrow']}>\n <ChevronLeftIcon fill=\"currentColor\" size={24} />\n </span>\n <MarkGithubIcon fill=\"currentColor\" size={24} />\n </a>\n </li>\n {title && (\n <>\n <li>\n <a\n href={titleHref}\n aria-label={`${title} home`}\n className={clsx(styles['SubdomainNavBar-title'])}\n >\n <Text size=\"400\" weight=\"medium\">\n <span className={styles['SubdomainNavBar-title-prefix']}>GitHub</span>{' '}\n <span className={styles['SubdomainNavBar-title-label']}>{title}</span>\n </Text>\n </a>\n </li>\n </>\n )}\n </ol>\n </nav>\n {hasLinks && (\n <nav\n id=\"menu-navigation\"\n aria-label={title}\n className={styles['SubdomainNavBar-primary-nav']}\n data-testid={testIds.menuLinks}\n >\n <NavigationVisbilityObserver\n className={clsx(styles['SubdomainNavBar-primary-nav-list--invisible'])}\n overflowMenuLabel={resolvedMenuLabels.overflowMenuLabel}\n >\n {menuItems}\n </NavigationVisbilityObserver>\n </nav>\n )}\n {isLarge && hasLeadingComponent && (\n <div className={styles['SubdomainNavBar-leading-component']}>{leadingComponent}</div>\n )}\n\n <div className={clsx(styles['SubdomainNavBar-secondary-nav'])}>\n {React.Children.toArray(children)\n .map(child => {\n if (React.isValidElement<SubdomainNavBarSearchProps>(child) && child.type === Search) {\n return React.cloneElement(child, {\n active: searchVisible,\n className: clsx(\n child.props.className,\n isLarge &&\n (hasActions || hasTrailingComponent) &&\n styles['SubdomainNavBar-search-trigger--has-trailing-item'],\n ),\n onSearchOpen: handleSearchOpen,\n onSearchClose: handleSearchClose,\n title,\n })\n }\n return null\n })\n .filter(Boolean)}\n\n {hasNarrowMenuContent && (\n <button\n aria-expanded={!menuHidden}\n aria-label={menuHidden ? resolvedMenuLabels.menuLabel : resolvedMenuLabels.closeLabel}\n aria-controls={narrowMenuID}\n className={clsx(\n styles['SubdomainNavBar-menu-button'],\n styles['SubdomainNavBar-mobile-menu-button'],\n !menuHidden && styles['SubdomainNavBar-menu-button--close'],\n )}\n data-testid={testIds.menuButton}\n onClick={handleMobileMenuClick}\n >\n <span className={styles['SubdomainNavBar-menu-button-icon']} aria-hidden=\"true\">\n <span className={styles['SubdomainNavBar-menu-button-bar']}></span>\n <span className={styles['SubdomainNavBar-menu-button-bar']}></span>\n <span className={styles['SubdomainNavBar-menu-button-bar']}></span>\n </span>\n <span className={styles['SubdomainNavBar-menu-button-label']}>\n {menuHidden ? resolvedMenuLabels.menuLabel : resolvedMenuLabels.closeLabel}\n </span>\n </button>\n )}\n\n {isLarge && hasTrailingComponent && (\n <div className={styles['SubdomainNavBar-trailing-component']}>{trailingComponent}</div>\n )}\n {isLarge && hasActions && (\n <div\n className={clsx(\n styles['SubdomainNavBar-button-area'],\n styles['SubdomainNavBar-button-area--visible'],\n hasTrailingComponent && styles['SubdomainNavBar-button-area--has-leading-item'],\n )}\n >\n <div className={styles['SubdomainNavBar-button-area-inner']}>{actionItems}</div>\n </div>\n )}\n\n {!isLarge && (\n <div\n id={narrowMenuID}\n className={clsx(\n styles['SubdomainNavBar-menu-wrapper'],\n menuHidden && styles['SubdomainNavBar-menu-wrapper--close'],\n )}\n >\n {!menuHidden && (\n <div>\n {hasLeadingComponent && (\n <div className={styles['SubdomainNavBar-leading-component']}>{leadingComponent}</div>\n )}\n {hasLinks && (\n <SubdomainNavBarLinkContext.Provider value={{onLinkClick: closeNarrowMenu}}>\n {isMedium ? (\n <ul className={styles['SubdomainNavBar-primary-nav-list--visible']}>{menuItems}</ul>\n ) : (\n <NavigationVisbilityObserver\n className={clsx(styles['SubdomainNavBar-primary-nav-list--visible'])}\n overflowMenuLabel={resolvedMenuLabels.overflowMenuLabel}\n >\n {menuItems}\n </NavigationVisbilityObserver>\n )}\n </SubdomainNavBarLinkContext.Provider>\n )}\n </div>\n )}\n {!menuHidden && (hasActions || hasTrailingComponent) && (\n <div\n className={clsx(\n styles['SubdomainNavBar-menu-wrapper-footer'],\n (hasLinks || hasLeadingComponent) &&\n styles['SubdomainNavBar-menu-wrapper-footer--has-leading-item'],\n )}\n >\n {hasTrailingComponent && (\n <div className={styles['SubdomainNavBar-trailing-component']}>{trailingComponent}</div>\n )}\n {hasActions && (\n <div\n className={clsx(\n styles['SubdomainNavBar-button-area'],\n styles['SubdomainNavBar-button-area--visible'],\n )}\n >\n <div className={styles['SubdomainNavBar-button-area-inner']}>\n <SubdomainNavBarActionSizeContext.Provider value={isMedium ? 'small' : 'medium'}>\n {narrowActionItems}\n </SubdomainNavBarActionSizeContext.Provider>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n {!isLarge && !menuHidden && <div className={styles['SubdomainNavBar-menu-backdrop']} aria-hidden=\"true\" />}\n </header>\n </div>\n <div ref={fallbackTargetRef} id={fallbackTargetID} tabIndex={-1} />\n </>\n )\n})\n\nexport type SubdomainNavBarLinkProps = {\n href: string\n isExternal?: boolean\n} & React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>\n\ntype SubdomainNavBarLinkMeasurementProps = SubdomainNavBarLinkProps\n\nfunction Link({\n href,\n className,\n children,\n isExternal,\n 'aria-current': ariaCurrent,\n 'aria-hidden': ariaHidden,\n tabIndex,\n ...rest\n}: PropsWithChildren<SubdomainNavBarLinkProps>) {\n const {isOverflowed, onLinkClick} = useSubdomainNavBarLinkContext()\n\n return (\n <li\n {...rest}\n // Keep overflowed links measurable in layout; removing them would make overflow calculation state-dependent.\n aria-hidden={isOverflowed ? true : ariaHidden}\n className={clsx(styles['SubdomainNavBar-primary-nav-list-item'], className)}\n tabIndex={isOverflowed ? -1 : tabIndex}\n >\n <a\n href={href}\n aria-current={ariaCurrent}\n className={styles['SubdomainNavBar-link']}\n onClick={onLinkClick}\n tabIndex={isOverflowed ? -1 : undefined}\n >\n <span className={styles['SubdomainNavBar-link-content']}>\n <span className={styles['SubdomainNavBar-link-text']}>{children}</span>\n {isExternal && <LinkExternalIcon size={16} aria-label=\"External link\" />}\n </span>\n </a>\n </li>\n )\n}\n\nexport type SubdomainNavBarSearchResultProps = {\n title: string\n description: string\n url: string\n date: string\n category?: string\n group?: string\n isExternal?: boolean\n}\n\nexport type SubdomainNavBarSearchResultGroupProps = {\n title: string\n results: SubdomainNavBarSearchResultProps[]\n}\n\nexport type SubdomainNavBarSearchResults = SubdomainNavBarSearchResultProps[] | SubdomainNavBarSearchResultGroupProps[]\n\nexport type SubdomainNavBarSearchLabels = {\n /**\n * Accessible label for the search input. Defaults to \"Search\".\n */\n searchLabel: string\n /**\n * Visible and accessible label for the close action. Defaults to \"Close\".\n */\n closeLabel: string\n /**\n * Accessible label for an untitled search result group. Defaults to \"Results\".\n */\n resultsLabel: string\n /**\n * Accessible label for grouped search results without a search term. Defaults to \"Search results\".\n */\n searchResultsLabel: string\n /**\n * Formats the default search placeholder and dialog label using the navigation title.\n */\n formatSearchWithTitle: (title: string) => string\n /**\n * Formats the accessible label for the responsive search trigger.\n */\n formatSearchTrigger: (placeholder: string) => string\n /**\n * Formats the visible heading for ungrouped search results.\n */\n formatResultsHeading: (searchTerm: string) => string\n /**\n * Formats the accessible label for grouped search results.\n */\n formatResultsLabel: (searchTerm: string) => string\n /**\n * Formats the search result count announcement.\n */\n formatSuggestions: (count: number) => string\n}\n\nconst defaultSearchLabels: SubdomainNavBarSearchLabels = {\n searchLabel: 'Search',\n closeLabel: 'Close',\n resultsLabel: 'Results',\n searchResultsLabel: 'Search results',\n formatSearchWithTitle: title => `Search ${title}`,\n formatSearchTrigger: placeholder => `${placeholder} search`,\n formatResultsHeading: searchTerm => `Results for “${searchTerm}”`,\n formatResultsLabel: searchTerm => `Results for ${searchTerm}`,\n formatSuggestions: count => `${count} suggestions.`,\n}\n\nexport type SubdomainNavBarSearchProps = {\n onSubmit: (e: React.FormEvent<HTMLFormElement>) => void\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void\n active?: boolean\n className?: string\n title?: string\n onSearchOpen?: () => void\n onSearchClose?: () => void\n /**\n * Placeholder text shown in the search trigger and the opened search input.\n */\n placeholder?: string\n /**\n * Optional keyboard shortcut hint shown in the search trigger. Pass an empty string to hide it.\n */\n shortcutLabel?: string\n /**\n * Optional global keyboard shortcut that opens the search dialog. Omit or pass `false` to disable it.\n * Supports single keys and modifier combinations, such as `/` or `Command+Option+k`.\n */\n keyboardShortcut?: string | false\n searchResults?: SubdomainNavBarSearchResults\n searchTerm?: string\n /**\n * Customizable visible and accessible search text. Unspecified labels use the English defaults.\n */\n labels?: Partial<SubdomainNavBarSearchLabels>\n}\n\nconst _SearchInternal = forwardRef<HTMLInputElement, SubdomainNavBarSearchProps>(\n (\n {\n active,\n className,\n title,\n searchResults,\n searchTerm,\n onSearchOpen,\n onSearchClose,\n onSubmit,\n onChange,\n placeholder,\n shortcutLabel,\n keyboardShortcut,\n labels,\n },\n forwardedRef,\n ) => {\n const dialogRef = useRef<HTMLDialogElement | null>(null)\n const inputRef = useRef<HTMLInputElement | null>(null)\n const resolvedLabels = {...defaultSearchLabels, ...labels}\n const resolvedPlaceholder =\n placeholder ?? (title ? resolvedLabels.formatSearchWithTitle(title) : resolvedLabels.searchLabel)\n const dialogLabel = title ? resolvedLabels.formatSearchWithTitle(title) : resolvedLabels.searchLabel\n const resolvedShortcutLabel = shortcutLabel ?? (keyboardShortcut || '')\n const {\n activeDescendant,\n handleSearchResultKeyDown,\n hasGroupedSearchResults,\n hasSearchResults,\n normalizedSearchResultGroups,\n resetActiveDescendant,\n searchResultsLength,\n } = useSearchResults({dialogRef, searchResults})\n\n const handleClose = useCallback(() => {\n onSearchClose?.()\n resetActiveDescendant()\n }, [onSearchClose, resetActiveDescendant])\n\n const setInputRef = useCallback(\n (input: HTMLInputElement | null) => {\n inputRef.current = input\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(input)\n return\n }\n\n if (forwardedRef) {\n forwardedRef.current = input\n }\n },\n [forwardedRef],\n )\n\n useEffect(() => {\n const dialog = dialogRef.current\n\n if (!dialog) return\n\n if (active) {\n if (!dialog.open) {\n if (typeof dialog.showModal === 'function') {\n dialog.showModal()\n } else {\n dialog.setAttribute('open', '')\n }\n }\n\n inputRef.current?.focus()\n\n return\n }\n\n if (dialog.open) {\n if (typeof dialog.close === 'function') {\n dialog.close()\n } else {\n dialog.removeAttribute('open')\n }\n }\n }, [active, inputRef])\n\n useEffect(() => {\n const dialog = dialogRef.current\n if (!dialog) return\n\n const handleDialogClick = (event: MouseEvent) => {\n if (event.target !== dialog) return\n\n const dialogRect = dialog.getBoundingClientRect()\n const clickIsInsideDialog =\n event.clientX >= dialogRect.left &&\n event.clientX <= dialogRect.right &&\n event.clientY >= dialogRect.top &&\n event.clientY <= dialogRect.bottom\n\n if (clickIsInsideDialog) return\n\n handleClose()\n }\n\n dialog.addEventListener('click', handleDialogClick)\n return () => dialog.removeEventListener('click', handleDialogClick)\n }, [handleClose])\n\n const handleDialogCancel = useCallback(\n (event: React.SyntheticEvent<HTMLDialogElement>) => {\n event.preventDefault()\n handleClose()\n },\n [handleClose],\n )\n\n const renderSearchResult = ({result, index}: NormalizedSearchResultGroup['results'][number]) => (\n <li key={`${result.title}-${index}`} className={styles['SubdomainNavBar-search-result-item']} role=\"presentation\">\n <div className={styles['SubdomainNavBar-search-result-item-container']}>\n <a\n id={`subdomainnavbar-search-result-${index}`}\n href={result.url}\n role=\"option\"\n aria-selected={index === activeDescendant}\n >\n <span>{result.title}</span>\n {hasGroupedSearchResults && result.isExternal && <ArrowUpRightIcon size={20} aria-hidden=\"true\" />}\n </a>\n </div>\n\n <Text\n as=\"p\"\n size=\"200\"\n id={`subdomainnavbar-search-result-item-desc${index}`}\n className={styles['SubdomainNavBar-search-result-item-desc']}\n >\n {result.description}\n </Text>\n <div className={styles['SubdomainNavBar-search-result-item-meta']}>\n <Text size=\"100\" className={styles['SubdomainNavBar-search-result-item-desc']}>\n {result.date}\n </Text>\n {result.category && (\n <>\n <Text size=\"100\" className={styles['SubdomainNavBar-search-result-item-desc']}>\n {' '}\n •{' '}\n </Text>\n <Text size=\"100\" className={styles['SubdomainNavBar-search-result-item-desc']}>\n {result.category}\n </Text>\n </>\n )}\n </div>\n </li>\n )\n\n return (\n <>\n <div className={clsx(styles['SubdomainNavBar-search-trigger'], className)}>\n <button\n aria-label={resolvedLabels.formatSearchTrigger(resolvedPlaceholder)}\n className={styles['SubdomainNavBar-search-input-button']}\n onClick={onSearchOpen}\n data-testid=\"toggle-search\"\n type=\"button\"\n >\n <span className={styles['SubdomainNavBar-search-input-button-placeholder']}>\n <SearchIcon aria-hidden=\"true\" size={16} />\n <span>{resolvedPlaceholder}</span>\n </span>\n {resolvedShortcutLabel && (\n <span className={styles['SubdomainNavBar-search-input-button-shortcut']}>{resolvedShortcutLabel}</span>\n )}\n </button>\n </div>\n <dialog\n ref={dialogRef}\n aria-label={dialogLabel}\n className={clsx(\n styles['SubdomainNavBar-search-dialog'],\n hasSearchResults && styles['SubdomainNavBar-search-dialog--has-results'],\n )}\n onCancel={handleDialogCancel}\n >\n {active && (\n <>\n <div className={clsx(styles['SubdomainNavBar-search-dialog-control-area'])}>\n <div className={styles['SubdomainNavBar-search-input-area']}>\n <form className={clsx(styles['SubdomainNavBar-search-form'])} onSubmit={onSubmit} role=\"search\">\n <FormControl fullWidth size=\"medium\">\n <FormControl.Label visuallyHidden>{resolvedLabels.searchLabel}</FormControl.Label>\n <TextInput\n ref={setInputRef}\n className={clsx(styles['SubdomainNavBar-search-text-input'])}\n name=\"search\"\n role=\"combobox\"\n // Suppress the browser's native autocomplete/autofill dropdown. When it is\n // open, the browser consumes the first Escape to dismiss it, which would\n // otherwise require an extra keypress before the native dialog can close.\n autoComplete=\"off\"\n aria-autocomplete=\"list\"\n aria-expanded={hasSearchResults}\n aria-controls=\"listbox-search-results\"\n placeholder={resolvedPlaceholder}\n onChange={onChange}\n defaultValue={searchTerm}\n invisible\n leadingVisual={<SearchIcon size={16} />}\n aria-activedescendant={\n activeDescendant === -1 ? undefined : `subdomainnavbar-search-result-${activeDescendant}`\n }\n onKeyDown={handleSearchResultKeyDown}\n />\n </FormControl>\n </form>\n <button\n aria-label={resolvedLabels.closeLabel}\n className={styles['SubdomainNavBar-search-close-button']}\n onClick={handleClose}\n type=\"button\"\n >\n {resolvedLabels.closeLabel}\n </button>\n </div>\n </div>\n\n <div\n id=\"listbox-search-results\"\n className={clsx(\n styles['SubdomainNavBar-search-results-area'],\n hasSearchResults && styles['SubdomainNavBar-search-results-area--visible'],\n )}\n >\n {hasSearchResults && (\n <div className={clsx(styles['SubdomainNavBar-search-results-container'])}>\n {!hasGroupedSearchResults && (\n <Text\n id=\"subdomainnavbar-search-results-heading\"\n className={styles['SubdomainNavBar-search-results-heading']}\n >\n {resolvedLabels.formatResultsHeading(searchTerm ?? '')}\n </Text>\n )}\n <ul\n role=\"listbox\"\n tabIndex={0}\n aria-labelledby={!hasGroupedSearchResults ? 'subdomainnavbar-search-results-heading' : undefined}\n aria-label={\n hasGroupedSearchResults\n ? searchTerm\n ? resolvedLabels.formatResultsLabel(searchTerm)\n : resolvedLabels.searchResultsLabel\n : undefined\n }\n className={clsx(styles['SubdomainNavBar-search-results'])}\n >\n {hasGroupedSearchResults\n ? normalizedSearchResultGroups.map((group, groupIndex) => {\n const groupHeadingId = `subdomainnavbar-search-result-group-${groupIndex}`\n\n return (\n <li\n key={group.title ?? `ungrouped-${groupIndex}`}\n className={styles['SubdomainNavBar-search-result-group']}\n role=\"presentation\"\n >\n {group.title && (\n <Text\n id={groupHeadingId}\n className={styles['SubdomainNavBar-search-result-group-heading']}\n >\n {group.title}\n </Text>\n )}\n <ul\n className={styles['SubdomainNavBar-search-result-group-list']}\n role=\"group\"\n aria-labelledby={group.title ? groupHeadingId : undefined}\n aria-label={group.title ? undefined : resolvedLabels.resultsLabel}\n >\n {group.results.map(renderSearchResult)}\n </ul>\n </li>\n )\n })\n : normalizedSearchResultGroups.flatMap(group => group.results.map(renderSearchResult))}\n </ul>\n </div>\n )}\n <div aria-live=\"polite\" aria-atomic=\"true\" data-testid={testIds.liveRegion} className=\"visually-hidden\">\n {resolvedLabels.formatSuggestions(searchResultsLength)}\n <span>&nbsp;</span>\n </div>\n </div>\n </>\n )}\n </dialog>\n </>\n )\n },\n)\n\nconst Search = _SearchInternal\n\nRoot.displayName = 'SubdomainNavBar'\n\ntype CTAActionProps = {\n href: string\n} & React.HTMLAttributes<HTMLAnchorElement>\n\nfunction PrimaryAction({children, href, ...rest}: PropsWithChildren<CTAActionProps>) {\n const size = React.useContext(SubdomainNavBarActionSizeContext)\n\n return (\n <Button\n as=\"a\"\n href={href}\n className={clsx(styles['SubdomainNavBar-cta-button'])}\n variant=\"primary\"\n size={size}\n {...rest}\n >\n {children}\n </Button>\n )\n}\n\nfunction SecondaryAction({children, href, ...rest}: PropsWithChildren<CTAActionProps>) {\n const size = React.useContext(SubdomainNavBarActionSizeContext)\n\n return (\n <Button\n as=\"a\"\n href={href}\n className={clsx(styles['SubdomainNavBar-cta-button'], styles['SubdomainNavBar-cta-button--secondary'])}\n size={size}\n {...rest}\n >\n {children}\n </Button>\n )\n}\n\nexport const SubdomainNavBar = Object.assign(Root, {\n Link,\n Search,\n PrimaryAction,\n SecondaryAction,\n testIds,\n})\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ{--SubdomainNavBar-height:var(--base-size-64);z-index:90;background:var(--brand-color-canvas-default);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);height:var(--SubdomainNavBar-height);font-weight:550;position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ:after{content:"";height:var(--brand-borderWidth-thin);background-color:var(--brand-color-text-emphasized);pointer-events:none;position:absolute;inset-block-start:calc(100% + var(--brand-borderWidth-thin));inset-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container___IgUR_{--SubdomainNavBar-height:var(--base-size-64);z-index:90}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container___IgUR_{--SubdomainNavBar-height:calc(var(--base-size-64) - var(--base-size-8))}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container___IgUR_:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container--fixed___MRCMj){position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container--fixed___MRCMj{position:fixed;top:0;left:0;right:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___AG_fq{padding:4px 28px;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--centered___XNZiG{max-width:1280px;margin:0 auto}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___AG_fq{padding:4px 32px}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--search-open___FzHaX{animation:.15s Primer_Brand__SubdomainNavBar-module__fade-out___N4ZdP}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___nL2Uc{align-items:center;gap:var(--base-size-8);max-width:340px;color:var(--brand-color-text-default);padding:0;padding:var(--base-size-16) 0;margin:0;list-style-type:none;display:inline-flex}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___nL2Uc{gap:var(--base-size-16)}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark____d4o_,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___t_fVh{color:var(--brand-color-text-default);align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark____d4o_{position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-back-arrow___XrY4k{color:var(--brand-color-text-muted);opacity:0;transform:translateX(var(--base-size-4));transition:opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast) ease;position:absolute;inset-inline-start:calc(-1 * var(--base-size-24) + var(--base-size-4))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark____d4o_:hover .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-back-arrow___XrY4k{opacity:1;transform:translate(0)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark____d4o_ svg{width:32px;height:32px}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___t_fVh{line-height:var(--base-size-32);padding-right:var(--base-size-16);white-space:nowrap;-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___t_fVh:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-prefix___z49Rr{color:var(--brand-color-text-default)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-label___K4J56{color:var(--brand-color-text-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___fdV5N,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component____TQVj{align-items:center;min-width:0;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___fdV5N{margin-inline-end:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component____TQVj{margin-inline-start:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___jGodL{flex:1 1 0;align-items:center;min-width:0;margin:0;padding:0;list-style-type:none;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___G_T3a{list-style-type:none}@media screen and (width<=767px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___G_T3a,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--invisible___x6OZ_{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--visible___WzNtG{margin:0;padding:0;display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___fdV5N,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component____TQVj{box-sizing:border-box;width:100%;padding-block:var(--base-size-16);padding-inline:var(--base-size-16);flex:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___fdV5N{margin-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component____TQVj{margin-inline-start:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC{top:var(--SubdomainNavBar-height);z-index:2;background-color:var(--brand-color-canvas-default);width:100%;max-height:calc(100vh - var(--SubdomainNavBar-height) - 0px);max-height:calc(100vh - var(--SubdomainNavBar-height) - var(--SubdomainNavBar-menu-offset-block-start,0px));animation:.5s Primer_Brand__SubdomainNavBar-module__fade-in-down___OOzma;animation-timing-function:var(--brand-animation-easing-default);flex-direction:column;justify-content:flex-start;display:flex;position:absolute;left:0;right:0;overflow-y:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper--close___1RqhN{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer___hkgdu{flex-direction:column;flex:none;width:100%;display:flex}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow___a5MgQ{min-width:0;margin:0 var(--base-size-24) 0 0;flex:1 1 0;align-items:center;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___G_T3a{min-width:0;block-size:var(--base-size-48);max-block-size:var(--base-size-48);flex-wrap:nowrap;flex:auto;align-items:center;margin:0;padding:0;display:flex;overflow:hidden}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye{white-space:nowrap;flex:none}@media screen and (width<=767px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye{animation-name:Primer_Brand__SubdomainNavBar-module__fade-in-down-staggered___thp2V;animation-duration:.5s;animation-delay:calc(var(--animation-order) * 80ms);animation-fill-mode:both;animation-timing-function:var(--brand-animation-easing-default)}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--overflowed___bnjKR{visibility:hidden;pointer-events:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--overflow___mbCpF{visibility:hidden;pointer-events:none;flex:none;align-items:center;display:flex;position:absolute;inset-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow--has-overflow___jlL5Q .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--overflow___mbCpF{visibility:visible;pointer-events:auto;position:relative}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF{align-items:center;gap:var(--base-size-8);color:var(--brand-color-text-default);font-family:var(--brand-heading-fontFamily);font-weight:var(--base-text-weight-normal);font-size:var(--base-size-20);line-height:var(--base-size-20);padding:var(--base-size-8) var(--base-size-16) var(--base-size-16) var(--base-size-28);flex-direction:row;-webkit-text-decoration:none;text-decoration:none;display:flex;position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-text___FIOYx{position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO{align-items:center;gap:var(--base-size-8);display:inline-flex}@media screen and (width<=767px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:first-of-type{padding-top:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link--title___o6Xts{font-weight:var(--base-text-weight-medium)}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF{font-family:var(--brand-heading-fontFamily);font-weight:var(--base-text-weight-normal);font-size:var(--base-size-16);line-height:var(--base-size-16);padding:var(--base-size-16) var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-text___FIOYx:after{content:"";background-color:var(--brand-SubdomainNavBar-border-nav-default);opacity:0;width:100%;height:2px;transition:opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast);transform-origin:50%;position:absolute;bottom:-6px;left:0;transform:scale(0)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:hover .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-text___FIOYx:after,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-text___FIOYx:after{opacity:1;transform:scale(.75)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:active .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-text___FIOYx:after{background-color:var(--brand-SubdomainNavBar-border-nav-pressed);transform:scale(.75)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF{transition:background-color var(--brand-animation-easing-default) .25s;background-color:var(--brand-SubdomainNavBar-canvas-overflow-default);color:var(--brand-SubdomainNavBar-fg-overflow-default)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-text___FIOYx:after{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:hover{background-color:var(--brand-SubdomainNavBar-canvas-overflow-hover)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus-visible{box-shadow:inset 0px 0px 0px 2px var(--brand-color-focus);outline:none}}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF{padding:var(--base-size-16) var(--base-size-24)}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu[aria-expanded=true]:hover:after,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu[aria-expanded=true]:focus:after{display:none}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu{cursor:pointer;appearance:none;align-items:center;gap:var(--base-size-4);background-color:#0000;border:none;display:inline-flex}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu___1Fpy3{z-index:100;background-color:var(--base-color-scale-white-0);border-radius:var(--brand-borderRadius-large);animation:.25s Primer_Brand__SubdomainNavBar-module__fade-in-down___OOzma,.25s forwards Primer_Brand__SubdomainNavBar-module__enlarge-shadow___iGPSy;animation-timing-function:var(--brand-animation-easing-default);position:absolute;right:auto;overflow:hidden;box-shadow:0 8px 24px #01040926}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-list____yMUW{width:max-content;margin:0;padding:0;list-style-type:none;display:grid}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___cg18b{flex:0 auto;align-items:center;min-width:0;margin-left:auto;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___luJC1{box-sizing:border-box;align-items:center;min-width:0;display:flex}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___luJC1{--SubdomainNavBar-search-input-width:calc(var(--base-size-128) * 2 + var(--base-size-24));flex:0 9999 var(--SubdomainNavBar-search-input-width);width:var(--SubdomainNavBar-search-input-width);max-width:100%;min-width:calc(var(--base-size-128) + var(--base-size-32))}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___rah9_{cursor:pointer;appearance:none;border:var(--brand-borderWidth-thick) solid transparent;color:var(--brand-color-text-default);width:calc(48px - var(--brand-borderWidth-thick));height:calc(48px - var(--brand-borderWidth-thick));transition:border .25s var(--brand-animation-easing-default), box-shadow .25s ease;border-radius:var(--brand-borderRadius-medium);background-color:#0000;justify-content:center;align-items:center;gap:0;display:flex;position:relative;box-shadow:0 0 0 2px #0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___rah9_ svg{width:24px;height:24px}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button___fLNL1{cursor:pointer;appearance:none;justify-content:space-between;align-items:center;gap:var(--base-size-16);width:100%;block-size:var(--base-size-32);min-block-size:var(--base-size-32);padding:var(--base-size-4) var(--base-size-4) var(--base-size-4) calc(var(--base-size-8) + var(--base-size-2));color:var(--brand-color-text-muted);background-color:var(--brand-color-canvas-subtle);border-radius:var(--brand-borderRadius-medium);font-family:var(--brand-body-fontFamily);transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default), box-shadow var(--brand-animation-duration-fast) var(--brand-animation-easing-default);border:0;display:flex;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button___fLNL1:hover{box-shadow:inset 0 0 0 var(--brand-borderWidth-thin) var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button___fLNL1:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button___fLNL1:active{box-shadow:inset 0 0 0 var(--brand-borderWidth-thin) var(--brand-color-border-default)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___1ap5p{align-items:center;gap:var(--base-size-8);min-width:0;color:var(--brand-color-text-muted);font-size:var(--brand-text-size-100);font-weight:var(--base-text-weight-normal);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;display:inline-flex;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___1ap5p svg{flex:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___1ap5p span{text-overflow:ellipsis;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-shortcut___eFzhj{min-width:var(--base-size-24);padding-inline:var(--base-size-8);color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-radius:calc(var(--brand-borderRadius-medium) / 2);font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--base-text-weight-normal);flex:none;justify-content:center;align-self:stretch;align-items:center;line-height:1.6;display:inline-flex}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___luJC1{flex:0 0 var(--base-size-48);width:var(--base-size-48);justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button___fLNL1{width:var(--base-size-32);padding:var(--base-size-8);background-color:#0000;justify-content:center;gap:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___1ap5p{gap:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___1ap5p span,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-shortcut___eFzhj{display:none}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___rah9_{align-self:center;align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-icon___D74um{gap:calc(var(--base-size-4) - var(--brand-borderWidth-thin));flex-direction:column;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-label___egE8k{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz{background-color:var(--brand-color-text-default);width:22px;height:2px;margin:var(--base-size-4) auto;border-radius:var(--brand-borderRadius-large);display:block}@media (prefers-reduced-motion:no-preference){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz{transition-timing-function:var(--brand-animation-easing-default);transition-property:opacity,transform;transition-duration:.5s}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz:first-of-type{transform-origin:100% 100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz:nth-of-type(3){transform-origin:100% 0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz:first-of-type{transform:rotate(-45deg)translateY(-3px)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz:nth-of-type(2){opacity:0;transform:scale(0)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz:nth-of-type(3){transform:rotate(45deg)translateY(3px)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___von6y.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR{z-index:3;background-color:var(--brand-color-canvas-muted);position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___von6y.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR:focus-visible{box-shadow:none;outline:none;transition:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___von6y.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR:focus-visible:before{content:"";z-index:2;pointer-events:none;border:var(--brand-borderWidth-thick) solid var(--brand-color-focus);position:absolute;inset:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___von6y.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR:after{content:"";z-index:1;height:calc(var(--brand-borderWidth-thin) * 2);background-color:var(--brand-color-canvas-muted);position:absolute;inset-block-end:calc(var(--brand-borderWidth-thin) * -2);inset-inline:0}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___rah9_:hover{border:var(--brand-borderWidth-thick) solid var(--brand-SubdomainNavBar-border-button-hover);background-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___rah9_:active{box-shadow:0 0 0 1px var(--brand-SubdomainNavBar-border-button-hover);background-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___von6y{display:none}}@media screen and (width>=48rem) and (width<=63.24rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___jGodL{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___cg18b{flex:none;align-self:stretch;position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___luJC1{--SubdomainNavBar-tablet-search-width:calc(var(--base-size-128) * 2 + var(--base-size-2));flex:0 0 var(--SubdomainNavBar-tablet-search-width);width:var(--SubdomainNavBar-tablet-search-width);padding-inline:var(--base-size-8);border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button___fLNL1{width:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___von6y{justify-content:center;align-self:stretch;align-items:center;gap:var(--base-size-8);width:max-content;min-width:calc(var(--base-size-64) + var(--base-size-32));height:100%;padding-inline:var(--base-size-16);color:var(--brand-color-text-default);border:0;border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);font-family:var(--brand-body-fontFamily);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);border-radius:0;flex-direction:row;flex:none;overflow:visible}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-label___egE8k{white-space:nowrap;align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-icon___D74um{width:var(--base-size-16);height:var(--base-size-16);flex:none;justify-content:center;align-items:stretch;overflow:visible}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-icon___D74um .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz{width:var(--base-size-16);height:var(--base-size-2);transform-origin:50%;margin:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz:first-of-type{transform:translateY(calc(var(--base-size-6) - var(--brand-borderWidth-thin))) rotate(45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz:nth-of-type(3){transform:translateY(calc(var(--brand-borderWidth-thin) - var(--base-size-6))) rotate(-45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC{inset-inline:0;top:var(--SubdomainNavBar-height);z-index:2;box-sizing:border-box;width:100%;max-height:calc(100vh - var(--SubdomainNavBar-height) - 0px);max-height:calc(100vh - var(--SubdomainNavBar-height) - var(--SubdomainNavBar-menu-offset-block-start,0px));background-color:var(--brand-color-canvas-default);border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);animation:Primer_Brand__SubdomainNavBar-module__fade-in-down___OOzma var(--brand-animation-duration-default);animation-timing-function:var(--brand-animation-easing-default);flex-direction:column;justify-content:flex-start;display:flex;position:absolute;overflow-y:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper--close___1RqhN{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--visible___WzNtG{grid-gap:var(--brand-borderWidth-thin);gap:var(--brand-borderWidth-thin);padding:var(--base-size-8) var(--base-size-16);margin:0;display:grid}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer___hkgdu{flex-direction:column;flex:none;width:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF{box-sizing:border-box;width:100%;min-height:var(--base-size-40);padding:var(--base-size-8) var(--base-size-12);color:var(--brand-color-text-muted);background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh){width:100%;height:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF{padding:var(--base-size-8) var(--base-size-12)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO{background-color:#0000;border-radius:0;width:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:hover>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus-visible>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:active>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF[aria-current]:not([aria-current=false])>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO{background-color:#0000;outline:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:hover,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus-visible,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:active,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF[aria-current]:not([aria-current=false]){color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus-visible{box-shadow:inset 0 0 0 var(--brand-borderWidth-thick) var(--brand-color-focus);outline:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link--title___o6Xts{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___fdV5N,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component____TQVj{box-sizing:border-box;width:100%;height:auto;padding:var(--base-size-16);flex:none;margin-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___8f5K5{width:100%;height:auto;padding:0;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___UBvrS{box-sizing:border-box;width:100%;margin-block:var(--base-size-24);padding-inline:var(--base-size-16);flex-direction:column}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer--has-leading-item___WZBV5,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___fdV5N+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--visible___WzNtG,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer___hkgdu .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component____TQVj+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___8f5K5{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___8f5K5{gap:var(--base-size-16);align-items:center;min-width:0;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___UBvrS{gap:var(--base-size-8);min-width:0;display:flex}@media screen and (width<=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___8f5K5{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area--visible___ryXWp{z-index:99;width:100%;height:auto;animation-name:Primer_Brand__SubdomainNavBar-module__fade-in-down-staggered___thp2V;animation-duration:.5s;animation-delay:.8s;animation-fill-mode:both;animation-timing-function:var(--brand-animation-easing-default);display:flex;left:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--search-open___FzHaX .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area--visible___ryXWp{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___UBvrS{box-sizing:border-box;width:100%;margin-block:var(--base-size-24);padding-inline:var(--base-size-24);flex-direction:column;min-width:0}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-cta-button___12YEw{white-space:nowrap}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC{top:var(--SubdomainNavBar-height);height:auto;max-height:calc(100vh - var(--SubdomainNavBar-height) - 0px);max-height:calc(100vh - var(--SubdomainNavBar-height) - var(--SubdomainNavBar-menu-offset-block-start,0px))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-backdrop___ebVCx{inset-block-start:calc(var(--SubdomainNavBar-height) + 0px);z-index:1;background-color:var(--brand-SubdomainNavBar-searchDialog-backdropColor);animation:Primer_Brand__SubdomainNavBar-module__fade-in____apVG var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);position:fixed;inset-block-start:calc(var(--SubdomainNavBar-height) + var(--SubdomainNavBar-menu-offset-block-start,0px));inset-block-end:0;inset-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--search-open___FzHaX{animation:none}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ{--SubdomainNavBar-height:calc(var(--base-size-64) - var(--base-size-8));--SubdomainNavBar-mobile-control-size:var(--base-size-48)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___AG_fq{height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___nL2Uc{gap:0;max-width:none;height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___nL2Uc>li{height:100%;padding-inline:0 var(--base-size-16);align-items:center;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___nL2Uc>li:first-child{width:auto;padding-inline:var(--base-size-16) var(--base-size-8);justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark____d4o_{justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark____d4o_ svg{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___t_fVh{padding-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___t_fVh>*{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___cg18b{height:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___luJC1{flex:0 0 var(--SubdomainNavBar-mobile-control-size);width:var(--SubdomainNavBar-mobile-control-size);border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);justify-content:center;height:100%;padding-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button___fLNL1,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___von6y{box-sizing:border-box;flex:0 0 var(--SubdomainNavBar-mobile-control-size);width:var(--SubdomainNavBar-mobile-control-size);height:100%;padding-inline:var(--base-size-16);border-radius:0;flex-direction:column;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___von6y{gap:calc(var(--base-size-4) - var(--brand-borderWidth-thin));border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz{width:var(--base-size-16);height:var(--base-size-2);transform-origin:50%;margin:0 auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz:first-of-type{transform:translateY(calc(var(--base-size-6) - var(--brand-borderWidth-thin))) rotate(45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz:nth-of-type(3){transform:translateY(calc(var(--brand-borderWidth-thin) - var(--base-size-6))) rotate(-45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF{padding:var(--base-size-16);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link--title___o6Xts{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___UBvrS{padding-inline:var(--base-size-16)}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___AG_fq{max-width:none;height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___nL2Uc{gap:0;max-width:none;height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___nL2Uc>li{height:100%;padding-inline:0 var(--base-size-16);border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);align-items:center;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___nL2Uc>li:first-child{width:auto;padding-inline:var(--base-size-16) var(--base-size-8);border-inline-end:0;justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark____d4o_{justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark____d4o_ svg{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___t_fVh{padding-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___t_fVh>*{font-size:var(--base-size-16);line-height:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___jGodL,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow___a5MgQ,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___G_T3a,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___cg18b,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___8f5K5,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___fdV5N,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component____TQVj{height:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___fdV5N,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component____TQVj{padding-inline:var(--base-size-16);margin-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___fdV5N{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___G_T3a{block-size:100%;max-block-size:100%;align-items:stretch;margin:0;padding-inline-start:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow___a5MgQ{margin:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye{align-items:center;height:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF{height:100%;padding:0 var(--base-size-16);color:var(--brand-color-text-muted);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200);align-items:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu{padding-inline:var(--base-size-4)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO{gap:var(--base-size-4);padding:var(--base-size-4) var(--base-size-12);border-radius:var(--brand-borderRadius-full);background-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:hover>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:active>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF[aria-current]:not([aria-current=false])>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu:hover>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu:active>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu[aria-expanded=true]>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO{background-color:var(--brand-SubdomainNavBar-color-link-bgColor)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus-visible,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu:focus-visible{outline:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus-visible>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu:focus-visible>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-text___FIOYx:after{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu___1Fpy3{animation:Primer_Brand__SubdomainNavBar-module__fade-in-down-overflow___lLD6Z var(--brand-animation-duration-faster);animation-timing-function:var(--brand-animation-easing-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);box-shadow:none;min-width:calc(var(--base-size-128) + var(--base-size-32));transform:translateY(calc(0px - var(--base-size-4)));border-start-start-radius:0;border-start-end-radius:0;border-end-end-radius:var(--brand-borderRadius-medium);border-end-start-radius:var(--brand-borderRadius-medium)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-list____yMUW{gap:var(--brand-borderWidth-thin);padding:var(--base-size-8);width:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF{width:100%;min-height:var(--base-size-40);padding:var(--base-size-8) var(--base-size-12);color:var(--brand-color-text-muted);background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:hover,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF:focus-visible{color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle)}@media (prefers-reduced-motion:no-preference){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO{transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default)}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___luJC1{height:100%;padding-inline:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger--has-trailing-item___529Ok{border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___8f5K5{padding-inline:var(--base-size-16);align-items:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area--has-leading-item___C21xN{border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___luJC1{--SubdomainNavBar-search-input-width:max(calc(var(--base-size-128) + var(--base-size-32)), min(28.5vw, calc(var(--base-size-128) * 3 + var(--base-size-36))));align-self:stretch}}@media screen and (width>=1024px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-cta-button--secondary___yseqR{display:inline-flex}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-form___gg9BC{width:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-area___RrS2g{align-items:center;gap:var(--base-size-8);width:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___gt5Jr{cursor:pointer;appearance:none;min-block-size:var(--base-size-32);padding:var(--base-size-8) var(--base-size-12);color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle);border-radius:var(--brand-borderRadius-medium);font-family:var(--brand-body-fontFamily);font-size:var(--brand-text-size-100);font-weight:var(--base-text-weight-medium);line-height:var(--base-size-14);letter-spacing:var(--brand-text-letterSpacing-100);border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___gt5Jr:hover{background-color:var(--brand-color-canvas-inset)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___gt5Jr:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog-control-area___pG07_{height:var(--base-size-40);background:0 0;align-items:center;max-width:none;margin:0;padding:0;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-text-input___3vzlg{border-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-area___DFTo5{width:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-container___JOfOM{padding:var(--base-size-24);background-color:var(--base-color-scale-white-0);border-radius:var(--brand-borderRadius-large);width:80%;max-width:570px;height:70vh;max-height:514px;margin:0 auto;animation:.5s Primer_Brand__SubdomainNavBar-module__fade-in-down___OOzma;box-shadow:0 8px 24px #01040926}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results___h8tWb{padding:0 var(--base-size-24) 0 0;height:90%;margin:0;list-style:none;overflow-y:scroll}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-heading___QXRP1{font-weight:var(--brand-heading-weight-600);font-size:var(--base-size-20);line-height:var(--base-size-24);margin-bottom:var(--base-size-20);padding:0 var(--base-size-8);color:var(--base-color-scale-black-0);display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___lpqQJ,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-list___DpFLC{margin:0;padding:0;list-style:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___lpqQJ+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___lpqQJ{margin-block-start:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-heading___9XvbA{margin:0 0 var(--base-size-20);padding:0 var(--base-size-8);color:var(--brand-color-text-muted);font-weight:var(--brand-heading-weight-600);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YGhFd{padding:var(--base-size-16) var(--base-size-8);border-bottom:1px solid #b7bfc7;border-bottom:solid var(--brand-borderWidth-thin,1px) var(--brand-SubdomainNavBar-search-results-border-default,#b7bfc7)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___reflK a[aria-selected=true]{outline:var(--brand-color-focus) auto var(--brand-borderWidth-thick)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___reflK{letter-spacing:var(--brand-heading-letterSpacing-400);font-size:var(--brand-text-size-400)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___reflK a{color:var(--base-color-scale-black-0);margin:0 0 var(--base-size-12);font-size:var(--base-size-16);font-weight:var(--brand-heading-weight-400);font-family:var(--brand-heading-fontFamily);line-height:var(--brand-text-lineHeight-400);-webkit-text-decoration:none;text-decoration:none;display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___reflK a svg{flex:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___reflK a:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-desc____KBS3{color:var(--base-color-scale-black-0)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h{inset-block-start:calc(var(--base-size-64) + var(--base-size-8));inset-block-end:auto;inset-inline:calc(var(--base-size-64) + var(--base-size-8));z-index:99;width:min(calc(100vw - ((var(--base-size-64) + var(--base-size-8)) * 2)), calc((var(--base-size-128) * 6) + var(--base-size-36)));max-height:calc(100vh - ((var(--base-size-64) + var(--base-size-8)) * 2));height:auto;padding:var(--base-size-16);color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-large);box-shadow:0 0 calc(var(--base-size-32) + var(--base-size-2)) var(--brand-SubdomainNavBar-searchDialog-shadowColor);margin-inline:auto;position:fixed;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog--has-results___DwTTb{padding-block-end:var(--base-size-32)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h::backdrop{background-color:var(--brand-SubdomainNavBar-searchDialog-backdropColor);-webkit-backdrop-filter:blur(var(--base-size-24));backdrop-filter:blur(var(--base-size-24))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-area___RrS2g{gap:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-form___gg9BC{min-width:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-form___gg9BC section>span:focus-within{box-shadow:none;border-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-text-input___3vzlg{color:var(--brand-color-text-default);font-size:calc(var(--base-size-16) + var(--base-size-2));font-weight:var(--base-text-weight-medium);line-height:var(--brand-text-lineHeight-300);letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___gt5Jr{background-color:var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-area--visible___IViA3{border-block-start:var(--brand-borderWidth-thin) dashed var(--brand-color-border-muted);margin-block-start:var(--base-size-24);padding-block-start:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-container___JOfOM{width:100%;max-width:none;height:auto;max-height:calc(100vh - (((var(--base-size-64) + var(--base-size-8)) * 2) + var(--base-size-128)));box-shadow:none;background-color:#0000;border-radius:0;margin:0;padding:0;animation:none;overflow-y:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results___h8tWb{height:auto;margin:0;padding:0;overflow:visible}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-heading___QXRP1,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-heading___9XvbA{color:var(--brand-color-text-muted);font-size:var(--brand-text-size-100);font-weight:var(--brand-heading-weight-600);line-height:var(--brand-text-lineHeight-100);margin-block-end:var(--base-size-20);padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___lpqQJ+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___lpqQJ{margin-block-start:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YGhFd{padding:var(--base-size-16) var(--base-size-4);border-block-end:0;border-block-start:var(--brand-borderWidth-thin) dashed var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-list___DpFLC>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YGhFd:first-child,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results___h8tWb>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YGhFd:first-child{border-block-start:0;padding-block-start:var(--base-size-12)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___reflK{font-size:var(--brand-text-size-300);letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___reflK a{align-items:center;gap:calc(var(--base-size-8) + var(--base-size-2));width:100%;color:var(--brand-color-text-default);font-size:var(--brand-text-size-300);font-weight:var(--brand-heading-weight-600);line-height:var(--brand-text-lineHeight-300);letter-spacing:var(--brand-text-letterSpacing-100);margin:0;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___reflK a span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-desc____KBS3,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-meta___22jiW{display:none}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h{inset-block-start:var(--base-size-16);inset-block-end:auto;inset-inline:var(--base-size-16);width:calc(100vw - (var(--base-size-16) * 2));max-height:calc(100vh - (var(--base-size-16) * 2));height:auto}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-skip-to-content___bG_Zk{z-index:100;position:absolute;inset-block-start:calc(var(--SubdomainNavBar-height) / 2);inset-inline-start:var(--base-size-16);transform:translateY(-50%)}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in-down___OOzma{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in____apVG{0%{opacity:0}to{opacity:1}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in-down-overflow___lLD6Z{0%{opacity:0;transform:translateY(calc(0px - var(--base-size-24)))}to{opacity:1;transform:translateY(calc(0px - var(--base-size-4)))}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-out___N4ZdP{0%{opacity:1}to{opacity:0}}@keyframes Primer_Brand__SubdomainNavBar-module__enlarge-shadow___iGPSy{0%{scale:.98;box-shadow:0 8px #01040926}to{scale:1;box-shadow:0 8px 24px #01040926}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in-down-staggered___thp2V{0%{opacity:0;transform:scale(.6)translateY(-8px)}to{opacity:1}}@media (prefers-reduced-motion:reduce){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ:before,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ:after,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@@ -1,4 +1,4 @@
1
- import './SubdomainNavBar.module-Rf4qEDka.css';var e = {
1
+ import './SubdomainNavBar.module-WIrpYyjV.css';var e = {
2
2
  SubdomainNavBar: "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___fdyTJ",
3
3
  "SubdomainNavBar-outer-container": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container___IgUR_",
4
4
  "SubdomainNavBar-outer-container--fixed": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container--fixed___MRCMj",
@@ -8,9 +8,12 @@ import './SubdomainNavBar.module-Rf4qEDka.css';var e = {
8
8
  "fade-out": "Primer_Brand__SubdomainNavBar-module__fade-out___N4ZdP",
9
9
  "SubdomainNavBar-title-area": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___nL2Uc",
10
10
  "SubdomainNavBar-logo-mark": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark____d4o_",
11
- "SubdomainNavBar-back-arrow": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-back-arrow___XrY4k",
12
- "SubdomainNavBar-title-separator": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-separator___LZ_qq",
13
11
  "SubdomainNavBar-title": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___t_fVh",
12
+ "SubdomainNavBar-back-arrow": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-back-arrow___XrY4k",
13
+ "SubdomainNavBar-title-prefix": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-prefix___z49Rr",
14
+ "SubdomainNavBar-title-label": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-label___K4J56",
15
+ "SubdomainNavBar-leading-component": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___fdV5N",
16
+ "SubdomainNavBar-trailing-component": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component____TQVj",
14
17
  "SubdomainNavBar-primary-nav": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___jGodL",
15
18
  "SubdomainNavBar-primary-nav-list": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___G_T3a",
16
19
  "SubdomainNavBar-primary-nav-list--invisible": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--invisible___x6OZ_",
@@ -18,14 +21,16 @@ import './SubdomainNavBar.module-Rf4qEDka.css';var e = {
18
21
  "SubdomainNavBar-menu-wrapper": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___XgFWC",
19
22
  "fade-in-down": "Primer_Brand__SubdomainNavBar-module__fade-in-down___OOzma",
20
23
  "SubdomainNavBar-menu-wrapper--close": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper--close___1RqhN",
21
- "SubdomainNavBar-outer-container--has-actions": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container--has-actions___nygz4",
24
+ "SubdomainNavBar-menu-wrapper-footer": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer___hkgdu",
25
+ "SubdomainNavBar-primary-nav-overflow": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow___a5MgQ",
22
26
  "SubdomainNavBar-primary-nav-list-item": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___v4aye",
23
27
  "fade-in-down-staggered": "Primer_Brand__SubdomainNavBar-module__fade-in-down-staggered___thp2V",
24
- "SubdomainNavBar-primary-nav-list-item--visible": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--visible___3J0tI",
25
- "SubdomainNavBar-primary-nav-list-item--invisible": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--invisible___J07zI",
28
+ "SubdomainNavBar-primary-nav-list-item--overflowed": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--overflowed___bnjKR",
26
29
  "SubdomainNavBar-primary-nav-list-item--overflow": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--overflow___mbCpF",
30
+ "SubdomainNavBar-primary-nav-overflow--has-overflow": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow--has-overflow___jlL5Q",
27
31
  "SubdomainNavBar-link": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___ekhaF",
28
32
  "SubdomainNavBar-link-text": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-text___FIOYx",
33
+ "SubdomainNavBar-link-content": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___7j9YO",
29
34
  "SubdomainNavBar-link--title": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link--title___o6Xts",
30
35
  "SubdomainNavBar-overflow-menu-item": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___gsrhh",
31
36
  "SubdomainNavBar-more-link": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___2UoCu",
@@ -34,26 +39,45 @@ import './SubdomainNavBar.module-Rf4qEDka.css';var e = {
34
39
  "SubdomainNavBar-overflow-menu-list": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-list____yMUW",
35
40
  "SubdomainNavBar-secondary-nav": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___cg18b",
36
41
  "SubdomainNavBar-search-trigger": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___luJC1",
37
- "SubdomainNavBar-search-button": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-button___v1X9R",
38
42
  "SubdomainNavBar-menu-button": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___rah9_",
43
+ "SubdomainNavBar-search-input-button": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button___fLNL1",
44
+ "SubdomainNavBar-search-input-button-placeholder": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___1ap5p",
45
+ "SubdomainNavBar-search-input-button-shortcut": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-shortcut___eFzhj",
46
+ "SubdomainNavBar-menu-button-icon": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-icon___D74um",
47
+ "SubdomainNavBar-menu-button-label": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-label___egE8k",
39
48
  "SubdomainNavBar-menu-button-bar": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___XSuBz",
40
49
  "SubdomainNavBar-menu-button--close": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___ofAoR",
41
50
  "SubdomainNavBar-mobile-menu-button": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___von6y",
42
- "SubdomainNavBar-search-dialog-control-area": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog-control-area___pG07_",
43
51
  "SubdomainNavBar-button-area": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___8f5K5",
44
52
  "SubdomainNavBar-button-area-inner": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___UBvrS",
53
+ "SubdomainNavBar-menu-wrapper-footer--has-leading-item": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer--has-leading-item___WZBV5",
45
54
  "SubdomainNavBar-button-area--visible": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area--visible___ryXWp",
46
55
  "SubdomainNavBar-cta-button": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-cta-button___12YEw",
56
+ "SubdomainNavBar-menu-backdrop": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-backdrop___ebVCx",
57
+ "fade-in": "Primer_Brand__SubdomainNavBar-module__fade-in____apVG",
58
+ "fade-in-down-overflow": "Primer_Brand__SubdomainNavBar-module__fade-in-down-overflow___lLD6Z",
59
+ "SubdomainNavBar-search-trigger--has-trailing-item": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger--has-trailing-item___529Ok",
60
+ "SubdomainNavBar-button-area--has-leading-item": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area--has-leading-item___C21xN",
47
61
  "SubdomainNavBar-cta-button--secondary": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-cta-button--secondary___yseqR",
48
62
  "SubdomainNavBar-search-form": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-form___gg9BC",
49
- "SubdomainNavBar-search-dialog": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h",
63
+ "SubdomainNavBar-search-input-area": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-area___RrS2g",
64
+ "SubdomainNavBar-search-close-button": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___gt5Jr",
65
+ "SubdomainNavBar-search-dialog-control-area": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog-control-area___pG07_",
50
66
  "SubdomainNavBar-search-text-input": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-text-input___3vzlg",
67
+ "SubdomainNavBar-search-results-area": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-area___DFTo5",
51
68
  "SubdomainNavBar-search-results-container": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-container___JOfOM",
52
69
  "SubdomainNavBar-search-results": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results___h8tWb",
53
70
  "SubdomainNavBar-search-results-heading": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-heading___QXRP1",
71
+ "SubdomainNavBar-search-result-group": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___lpqQJ",
72
+ "SubdomainNavBar-search-result-group-list": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-list___DpFLC",
73
+ "SubdomainNavBar-search-result-group-heading": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-heading___9XvbA",
54
74
  "SubdomainNavBar-search-result-item": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YGhFd",
55
75
  "SubdomainNavBar-search-result-item-container": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___reflK",
56
76
  "SubdomainNavBar-search-result-item-desc": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-desc____KBS3",
77
+ "SubdomainNavBar-search-dialog": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___b9d4h",
78
+ "SubdomainNavBar-search-dialog--has-results": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog--has-results___DwTTb",
79
+ "SubdomainNavBar-search-results-area--visible": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-area--visible___IViA3",
80
+ "SubdomainNavBar-search-result-item-meta": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-meta___22jiW",
57
81
  "SubdomainNavBar-skip-to-content": "Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-skip-to-content___bG_Zk"
58
82
  };
59
83
  //#endregion