@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,73 +1,125 @@
1
1
  import e from "../node_modules/clsx/dist/clsx.js";
2
2
  import { useProvidedRefOrCreate as t } from "../hooks/useRef.js";
3
- import { useOnClickOutside as n } from "../hooks/useOnClickOutside.js";
4
- import { useKeyboardEscape as r } from "../hooks/useKeyboardEscape.js";
5
- import { ChevronDownIcon as i } from "../node_modules/@primer/octicons-react/dist/index.esm.js";
6
- import { useWindowSize as a } from "../hooks/useWindowSize.js";
7
- import { useVisibilityObserver as o } from "./useVisibilityObserver.js";
8
- import s from "./SubdomainNavBar.module.js";
9
- import c, { forwardRef as l, useCallback as u, useRef as d, useState as f } from "react";
10
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
3
+ import { useAnchoredPosition as n } from "../hooks/useAnchoredPosition.js";
4
+ import { useOnClickOutside as r } from "../hooks/useOnClickOutside.js";
5
+ import { useKeyboardEscape as i } from "../hooks/useKeyboardEscape.js";
6
+ import { TriangleDownIcon as a, TriangleUpIcon as o } from "../node_modules/@primer/octicons-react/dist/index.esm.js";
7
+ import { useWindowSize as s } from "../hooks/useWindowSize.js";
8
+ import { useVisibilityObserver as c } from "./useVisibilityObserver.js";
9
+ import l from "./SubdomainNavBar.module.js";
10
+ import { SubdomainNavBarLinkContext as u } from "./SubdomainNavBarLinkContext.js";
11
+ import d, { forwardRef as f, useCallback as p, useEffect as m, useRef as h, useState as g } from "react";
12
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
11
13
  //#region src/SubdomainNavBar/NavigationVisbilityObserver.tsx
12
- var h = l(({ children: n, className: r, ...i }, l) => {
13
- let u = t(l), [d] = o(u, n), { isMedium: f } = a(), h = Object.values(d).includes(!1);
14
- return /* @__PURE__ */ m("ul", {
15
- className: e(s["SubdomainNavBar-primary-nav-list"], r),
16
- ref: u,
17
- ...i,
18
- children: [c.Children.map(n, (t) => {
19
- if (c.isValidElement(t)) {
20
- let n = t.props["data-navitemid"];
21
- if (!n) return t;
22
- let r = d[n];
23
- return c.cloneElement(t, { className: e(t.props.className, f && r && s["SubdomainNavBar-primary-nav-list-item--visible"], f && r === !1 && s["SubdomainNavBar-primary-nav-list-item--invisible"]) });
24
- }
25
- return t;
26
- }), h && /* @__PURE__ */ p(g, {
27
- visibilityMap: d,
28
- children: n
29
- })]
30
- });
31
- });
32
- function g({ children: t, className: a, visibilityMap: o }) {
33
- let [l, h] = f(null), g = d(null);
34
- n(g, () => y());
35
- let _ = !!l, v = (e) => {
36
- l ? y() : h(e.currentTarget);
37
- }, y = u(() => {
38
- h(null);
39
- }, []);
40
- return r(y), /* @__PURE__ */ m("li", {
41
- className: e(s["SubdomainNavBar-primary-nav-list-item--overflow"], a),
42
- ref: g,
43
- children: [/* @__PURE__ */ m("button", {
44
- "aria-expanded": _ ? "true" : "false",
45
- "aria-controls": "more-navigation",
46
- "aria-haspopup": "true",
47
- onClick: v,
48
- className: e(s["SubdomainNavBar-link"], s["SubdomainNavBar-more-link"]),
49
- children: ["More", /* @__PURE__ */ p(i, {})]
50
- }), /* @__PURE__ */ p("div", {
51
- id: "more-navigation",
52
- style: { display: _ ? "block" : "none" },
53
- className: e(s["SubdomainNavBar-overflow-menu"]),
54
- children: /* @__PURE__ */ p("ul", {
55
- className: e(s["SubdomainNavBar-overflow-menu-list"]),
56
- children: c.Children.map(t, (t) => {
57
- if (c.isValidElement(t)) {
58
- let n = t.props["data-navitemid"];
59
- return !n || o[n] ? null : /* @__PURE__ */ p(c.Fragment, { children: c.cloneElement(t, {
60
- onClick: y,
61
- className: e(s["SubdomainNavBar-overflow-menu-item"], t.props.className)
62
- }) });
14
+ var y = f(({ children: a, className: o, overflowMenuLabel: f, ...y }, S) => {
15
+ let C = t(S), w = h(null), T = h(null), E = h(null), { isMedium: D } = s(), [O] = c(C, w, d.Children.toArray(a).map((e, t) => d.isValidElement(e) ? `${t}:${typeof e.props.children == "string" ? e.props.children : ""}` : `${t}:`).join("|"), !D), [k, A] = g(!1), j = Object.values(O).includes(!1), M = d.useId(), N = d.Children.toArray(a).findIndex((e, t) => d.isValidElement(e) ? O[t] === !1 : !1), P = N === -1 ? d.Children.count(a) * 2 : N * 2 - 1, F = d.Children.map(a, (t, n) => {
16
+ if (d.isValidElement(t)) {
17
+ let r = D && O[n] === !1;
18
+ return /* @__PURE__ */ _(u.Provider, {
19
+ value: { isOverflowed: r },
20
+ children: d.cloneElement(t, {
21
+ className: e(t.props.className, r && l["SubdomainNavBar-primary-nav-list-item--overflowed"]),
22
+ style: {
23
+ ...t.props.style,
24
+ order: n * 2
63
25
  }
64
- return null;
65
26
  })
66
- })
27
+ });
28
+ }
29
+ return t;
30
+ }), I = p(() => {
31
+ A(!1);
32
+ }, []), L = () => {
33
+ A((e) => !e);
34
+ }, R = p(() => {
35
+ k && (I(), T.current?.focus());
36
+ }, [I, k]);
37
+ m(() => {
38
+ j || I();
39
+ }, [I, j]), r(w, I, E), i(R);
40
+ let { position: z } = n({
41
+ floatingElementRef: E,
42
+ anchorElementRef: T,
43
+ align: "end",
44
+ side: "outside-bottom"
45
+ }, [
46
+ k,
47
+ j,
48
+ P,
49
+ O
50
+ ]);
51
+ return D ? /* @__PURE__ */ v("div", {
52
+ className: e(l["SubdomainNavBar-primary-nav-overflow"], j && l["SubdomainNavBar-primary-nav-overflow--has-overflow"], o),
53
+ children: [/* @__PURE__ */ v("ul", {
54
+ className: l["SubdomainNavBar-primary-nav-list"],
55
+ ref: C,
56
+ ...y,
57
+ children: [F, /* @__PURE__ */ _(b, {
58
+ ariaControls: M,
59
+ buttonRef: T,
60
+ menuOpen: k,
61
+ onClick: L,
62
+ order: P,
63
+ overflowMenuLabel: f,
64
+ ref: w,
65
+ visible: j
66
+ })]
67
+ }), /* @__PURE__ */ _(x, {
68
+ id: M,
69
+ menuOpen: k,
70
+ onClose: I,
71
+ position: z,
72
+ ref: E,
73
+ visibilityMap: O,
74
+ children: a
67
75
  })]
76
+ }) : /* @__PURE__ */ _("ul", {
77
+ className: e(l["SubdomainNavBar-primary-nav-list"], o),
78
+ ref: C,
79
+ ...y,
80
+ children: a
81
+ });
82
+ }), b = f(({ ariaControls: n, buttonRef: r, className: i, menuOpen: s, onClick: c, order: u, overflowMenuLabel: d, visible: f }, p) => {
83
+ let m = t(p);
84
+ return /* @__PURE__ */ _("li", {
85
+ "aria-hidden": f ? void 0 : !0,
86
+ className: e(l["SubdomainNavBar-primary-nav-list-item--overflow"], i),
87
+ ref: m,
88
+ style: { order: u },
89
+ children: /* @__PURE__ */ _("button", {
90
+ "aria-expanded": s ? "true" : "false",
91
+ "aria-controls": n,
92
+ onClick: c,
93
+ className: e(l["SubdomainNavBar-link"], l["SubdomainNavBar-more-link"]),
94
+ ref: r,
95
+ tabIndex: f ? void 0 : -1,
96
+ children: /* @__PURE__ */ v("span", {
97
+ className: l["SubdomainNavBar-link-content"],
98
+ children: [d, _(s ? o : a, {})]
99
+ })
100
+ })
68
101
  });
69
- }
102
+ }), x = f(({ children: t, className: n, id: r, menuOpen: i, onClose: a, position: o, visibilityMap: s }, c) => i ? /* @__PURE__ */ _("div", {
103
+ id: r,
104
+ ref: c,
105
+ style: {
106
+ top: `${o?.top ?? 0}px`,
107
+ left: `${o?.left ?? 0}px`,
108
+ visibility: o ? void 0 : "hidden"
109
+ },
110
+ className: e(l["SubdomainNavBar-overflow-menu"], n),
111
+ children: /* @__PURE__ */ _("ul", {
112
+ className: e(l["SubdomainNavBar-overflow-menu-list"]),
113
+ children: d.Children.map(t, (t, n) => d.isValidElement(t) && s[n] === !1 ? /* @__PURE__ */ _(u.Provider, {
114
+ value: {
115
+ isOverflowed: !1,
116
+ onLinkClick: a
117
+ },
118
+ children: d.cloneElement(t, { className: e(l["SubdomainNavBar-overflow-menu-item"], t.props.className) })
119
+ }) : null)
120
+ })
121
+ }) : null);
70
122
  //#endregion
71
- export { h as NavigationVisbilityObserver };
123
+ export { y as NavigationVisbilityObserver };
72
124
 
73
125
  //# sourceMappingURL=NavigationVisbilityObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationVisbilityObserver.js","names":[],"sources":["../../src/SubdomainNavBar/NavigationVisbilityObserver.tsx"],"sourcesContent":["import React, {forwardRef, useCallback, useRef, useState, PropsWithChildren} from 'react'\nimport {clsx} from 'clsx'\nimport {ChevronDownIcon} from '@primer/octicons-react'\n\nimport {BaseProps} from '../component-helpers'\nimport {useVisibilityObserver} from './useVisibilityObserver'\nimport {useOnClickOutside} from '../hooks/useOnClickOutside'\nimport type {VisibilityMap} from './useVisibilityObserver'\nimport type {SubdomainNavBarLinkProps} from './SubdomainNavBar'\n\nimport styles from './SubdomainNavBar.module.css'\nimport {useKeyboardEscape} from '../hooks/useKeyboardEscape'\nimport {useWindowSize} from '../hooks/useWindowSize'\nimport {useProvidedRefOrCreate} from '../hooks/useRef'\n\ntype NavigationVisibilityObserverProps = PropsWithChildren<\n BaseProps<HTMLUListElement> & React.HTMLAttributes<HTMLUListElement>\n>\n\nexport const NavigationVisbilityObserver = forwardRef<HTMLUListElement, NavigationVisibilityObserverProps>(\n ({children, className, ...rest}, forwardedRef) => {\n const navRef = useProvidedRefOrCreate<HTMLUListElement>(\n forwardedRef as React.RefObject<HTMLUListElement> | React.RefCallback<HTMLUListElement> | null,\n )\n const [visibilityMap] = useVisibilityObserver(navRef, children)\n const {isMedium} = useWindowSize()\n\n const showOverflow = Object.values(visibilityMap).includes(false)\n\n return (\n <ul className={clsx(styles['SubdomainNavBar-primary-nav-list'], className)} ref={navRef} {...rest}>\n {React.Children.map(children, child => {\n if (React.isValidElement<SubdomainNavBarLinkProps>(child)) {\n const visibilityKey = child.props['data-navitemid']\n if (!visibilityKey) {\n return child\n }\n const isVisible = visibilityMap[visibilityKey]\n return React.cloneElement(child, {\n className: clsx(\n child.props.className,\n isMedium && isVisible && styles['SubdomainNavBar-primary-nav-list-item--visible'],\n isMedium && isVisible === false && styles['SubdomainNavBar-primary-nav-list-item--invisible'],\n ),\n })\n }\n return child\n })}\n\n {showOverflow && <AnchoredOverlay visibilityMap={visibilityMap}>{children}</AnchoredOverlay>}\n </ul>\n )\n },\n)\n\ntype AnchoredOverlayProps = {\n visibilityMap: VisibilityMap\n} & BaseProps<HTMLDivElement>\n\nfunction AnchoredOverlay({children, className, visibilityMap}: React.PropsWithChildren<AnchoredOverlayProps>) {\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null)\n const ref = useRef<HTMLLIElement | null>(null)\n\n useOnClickOutside(ref, () => handleClose())\n\n const open = Boolean(anchorEl)\n\n const handleClick = event => {\n if (anchorEl) {\n handleClose()\n } else {\n setAnchorEl(event.currentTarget)\n }\n }\n\n const handleClose = useCallback(() => {\n setAnchorEl(null)\n }, [])\n\n useKeyboardEscape(handleClose)\n\n return (\n <li className={clsx(styles['SubdomainNavBar-primary-nav-list-item--overflow'], className)} ref={ref}>\n <button\n aria-expanded={open ? 'true' : 'false'}\n aria-controls=\"more-navigation\"\n aria-haspopup=\"true\"\n onClick={handleClick}\n className={clsx(styles['SubdomainNavBar-link'], styles['SubdomainNavBar-more-link'])}\n >\n More\n <ChevronDownIcon />\n </button>\n\n <div\n id=\"more-navigation\"\n style={{display: open ? 'block' : 'none'}}\n className={clsx(styles['SubdomainNavBar-overflow-menu'])}\n >\n <ul className={clsx(styles['SubdomainNavBar-overflow-menu-list'])}>\n {React.Children.map(children, child => {\n if (React.isValidElement<SubdomainNavBarLinkProps>(child)) {\n const navItemChild = child.props['data-navitemid']\n if (!navItemChild || visibilityMap[navItemChild]) {\n return null\n }\n\n return (\n <React.Fragment>\n {React.cloneElement(child, {\n onClick: handleClose,\n className: clsx(styles['SubdomainNavBar-overflow-menu-item'], child.props.className),\n })}\n </React.Fragment>\n )\n }\n return null\n })}\n </ul>\n </div>\n </li>\n )\n}\n"],"mappings":";;;;;;;;;;;AAmBA,IAAa,IAA8B,GACxC,EAAC,aAAU,cAAW,GAAG,KAAO,MAAiB;CAChD,IAAM,IAAS,EACb,EACD,EACK,CAAC,KAAiB,EAAsB,GAAQ,EAAS,EACzD,EAAC,gBAAY,GAAe,EAE5B,IAAe,OAAO,OAAO,EAAc,CAAC,SAAS,GAAM;AAEjE,QACE,kBAAC,MAAD;EAAI,WAAW,EAAK,EAAO,qCAAqC,EAAU;EAAE,KAAK;EAAQ,GAAI;YAA7F,CACG,EAAM,SAAS,IAAI,IAAU,MAAS;AACrC,OAAI,EAAM,eAAyC,EAAM,EAAE;IACzD,IAAM,IAAgB,EAAM,MAAM;AAClC,QAAI,CAAC,EACH,QAAO;IAET,IAAM,IAAY,EAAc;AAChC,WAAO,EAAM,aAAa,GAAO,EAC/B,WAAW,EACT,EAAM,MAAM,WACZ,KAAY,KAAa,EAAO,mDAChC,KAAY,MAAc,MAAS,EAAO,oDAC3C,EACF,CAAC;;AAEJ,UAAO;IACP,EAED,KAAgB,kBAAC,GAAD;GAAgC;GAAgB;GAA2B,CAAA,CACzF;;EAGV;AAMD,SAAS,EAAgB,EAAC,aAAU,cAAW,oBAA+D;CAC5G,IAAM,CAAC,GAAU,KAAe,EAAmC,KAAK,EAClE,IAAM,EAA6B,KAAK;AAE9C,GAAkB,SAAW,GAAa,CAAC;CAE3C,IAAM,IAAO,EAAQ,GAEf,KAAc,MAAS;AAC3B,EAAI,IACF,GAAa,GAEb,EAAY,EAAM,cAAc;IAI9B,IAAc,QAAkB;AACpC,IAAY,KAAK;IAChB,EAAE,CAAC;AAIN,QAFA,EAAkB,EAAY,EAG5B,kBAAC,MAAD;EAAI,WAAW,EAAK,EAAO,oDAAoD,EAAU;EAAO;YAAhG,CACE,kBAAC,UAAD;GACE,iBAAe,IAAO,SAAS;GAC/B,iBAAc;GACd,iBAAc;GACd,SAAS;GACT,WAAW,EAAK,EAAO,yBAAyB,EAAO,6BAA6B;aALtF,CAMC,QAEC,kBAAC,GAAD,EAAmB,CAAA,CACZ;MAET,kBAAC,OAAD;GACE,IAAG;GACH,OAAO,EAAC,SAAS,IAAO,UAAU,QAAO;GACzC,WAAW,EAAK,EAAO,iCAAiC;aAExD,kBAAC,MAAD;IAAI,WAAW,EAAK,EAAO,sCAAsC;cAC9D,EAAM,SAAS,IAAI,IAAU,MAAS;AACrC,SAAI,EAAM,eAAyC,EAAM,EAAE;MACzD,IAAM,IAAe,EAAM,MAAM;AAKjC,aAJI,CAAC,KAAgB,EAAc,KAC1B,OAIP,kBAAC,EAAM,UAAP,EAAA,UACG,EAAM,aAAa,GAAO;OACzB,SAAS;OACT,WAAW,EAAK,EAAO,uCAAuC,EAAM,MAAM,UAAU;OACrF,CAAC,EACa,CAAA;;AAGrB,YAAO;MACP;IACC,CAAA;GACD,CAAA,CACH"}
1
+ {"version":3,"file":"NavigationVisbilityObserver.js","names":[],"sources":["../../src/SubdomainNavBar/NavigationVisbilityObserver.tsx"],"sourcesContent":["import React, {forwardRef, useCallback, useEffect, useRef, useState, PropsWithChildren} from 'react'\nimport {clsx} from 'clsx'\nimport {TriangleDownIcon, TriangleUpIcon} from '@primer/octicons-react'\n\nimport {BaseProps} from '../component-helpers'\nimport {useVisibilityObserver} from './useVisibilityObserver'\nimport {useOnClickOutside} from '../hooks/useOnClickOutside'\nimport type {VisibilityMap} from './useVisibilityObserver'\nimport type {SubdomainNavBarLinkProps} from './SubdomainNavBar'\n\nimport styles from './SubdomainNavBar.module.css'\nimport {useAnchoredPosition} from '../hooks/useAnchoredPosition'\nimport {useKeyboardEscape} from '../hooks/useKeyboardEscape'\nimport {useWindowSize} from '../hooks/useWindowSize'\nimport {useProvidedRefOrCreate} from '../hooks/useRef'\nimport {SubdomainNavBarLinkContext} from './SubdomainNavBarLinkContext'\n\ntype NavigationVisibilityObserverProps = PropsWithChildren<\n BaseProps<HTMLUListElement> &\n React.HTMLAttributes<HTMLUListElement> & {\n overflowMenuLabel: string\n }\n>\n\nexport const NavigationVisbilityObserver = forwardRef<HTMLUListElement, NavigationVisibilityObserverProps>(\n ({children, className, overflowMenuLabel, ...rest}, forwardedRef) => {\n const navRef = useProvidedRefOrCreate<HTMLUListElement>(\n forwardedRef as React.RefObject<HTMLUListElement> | React.RefCallback<HTMLUListElement> | null,\n )\n const overflowRef = useRef<HTMLLIElement | null>(null)\n const overflowButtonRef = useRef<HTMLButtonElement | null>(null)\n const overflowMenuRef = useRef<HTMLDivElement | null>(null)\n const {isMedium} = useWindowSize()\n const measurementKey = React.Children.toArray(children)\n .map((child, index) => {\n if (React.isValidElement<SubdomainNavBarLinkProps>(child)) {\n return `${index}:${typeof child.props.children === 'string' ? child.props.children : ''}`\n }\n\n return `${index}:`\n })\n .join('|')\n const [visibilityMap] = useVisibilityObserver(navRef, overflowRef, measurementKey, !isMedium)\n const [menuOpen, setMenuOpen] = useState(false)\n\n const showOverflow = Object.values(visibilityMap).includes(false)\n const overflowMenuId = React.useId()\n const firstOverflowedItemIndex = React.Children.toArray(children).findIndex((child, index) => {\n if (React.isValidElement<SubdomainNavBarLinkProps>(child)) {\n return visibilityMap[index] === false\n }\n\n return false\n })\n const overflowOrder =\n firstOverflowedItemIndex === -1 ? React.Children.count(children) * 2 : firstOverflowedItemIndex * 2 - 1\n\n const navItems = React.Children.map(children, (child, index) => {\n if (React.isValidElement<SubdomainNavBarLinkProps>(child)) {\n const isOverflowed = isMedium && visibilityMap[index] === false\n return (\n <SubdomainNavBarLinkContext.Provider value={{isOverflowed}}>\n {React.cloneElement(child, {\n className: clsx(\n child.props.className,\n isOverflowed && styles['SubdomainNavBar-primary-nav-list-item--overflowed'],\n ),\n style: {\n ...child.props.style,\n order: index * 2,\n },\n })}\n </SubdomainNavBarLinkContext.Provider>\n )\n }\n\n return child\n })\n\n const handleClose = useCallback(() => {\n setMenuOpen(false)\n }, [])\n\n const handleOverflowButtonClick = () => {\n setMenuOpen(prevMenuOpen => !prevMenuOpen)\n }\n\n const handleEscape = useCallback(() => {\n if (menuOpen) {\n handleClose()\n overflowButtonRef.current?.focus()\n }\n }, [handleClose, menuOpen])\n\n useEffect(() => {\n if (!showOverflow) {\n handleClose()\n }\n }, [handleClose, showOverflow])\n\n useOnClickOutside(overflowRef, handleClose, overflowMenuRef)\n useKeyboardEscape(handleEscape)\n\n const {position} = useAnchoredPosition(\n {\n floatingElementRef: overflowMenuRef,\n anchorElementRef: overflowButtonRef,\n align: 'end',\n side: 'outside-bottom',\n },\n [menuOpen, showOverflow, overflowOrder, visibilityMap],\n )\n\n if (!isMedium) {\n return (\n <ul className={clsx(styles['SubdomainNavBar-primary-nav-list'], className)} ref={navRef} {...rest}>\n {children}\n </ul>\n )\n }\n\n return (\n <div\n className={clsx(\n styles['SubdomainNavBar-primary-nav-overflow'],\n showOverflow && styles['SubdomainNavBar-primary-nav-overflow--has-overflow'],\n className,\n )}\n >\n <ul className={styles['SubdomainNavBar-primary-nav-list']} ref={navRef} {...rest}>\n {navItems}\n <OverflowButton\n ariaControls={overflowMenuId}\n buttonRef={overflowButtonRef}\n menuOpen={menuOpen}\n onClick={handleOverflowButtonClick}\n order={overflowOrder}\n overflowMenuLabel={overflowMenuLabel}\n ref={overflowRef}\n visible={showOverflow}\n />\n </ul>\n <OverflowMenu\n id={overflowMenuId}\n menuOpen={menuOpen}\n onClose={handleClose}\n position={position}\n ref={overflowMenuRef}\n visibilityMap={visibilityMap}\n >\n {children}\n </OverflowMenu>\n </div>\n )\n },\n)\n\ntype OverflowButtonProps = {\n ariaControls: string\n buttonRef: React.RefObject<HTMLButtonElement | null>\n menuOpen: boolean\n onClick: () => void\n order: number\n overflowMenuLabel: string\n visible: boolean\n} & BaseProps<HTMLLIElement>\n\nconst OverflowButton = forwardRef<HTMLLIElement, OverflowButtonProps>(\n ({ariaControls, buttonRef, className, menuOpen, onClick, order, overflowMenuLabel, visible}, forwardedRef) => {\n const ref = useProvidedRefOrCreate<HTMLLIElement>(\n forwardedRef as React.RefObject<HTMLLIElement> | React.RefCallback<HTMLLIElement> | null,\n )\n\n return (\n <li\n aria-hidden={visible ? undefined : true}\n className={clsx(styles['SubdomainNavBar-primary-nav-list-item--overflow'], className)}\n ref={ref}\n style={{order}}\n >\n <button\n aria-expanded={menuOpen ? 'true' : 'false'}\n aria-controls={ariaControls}\n onClick={onClick}\n className={clsx(styles['SubdomainNavBar-link'], styles['SubdomainNavBar-more-link'])}\n ref={buttonRef}\n tabIndex={visible ? undefined : -1}\n >\n <span className={styles['SubdomainNavBar-link-content']}>\n {overflowMenuLabel}\n {menuOpen ? <TriangleUpIcon /> : <TriangleDownIcon />}\n </span>\n </button>\n </li>\n )\n },\n)\n\ntype OverflowMenuProps = {\n id: string\n menuOpen: boolean\n onClose: () => void\n position?: {top: number; left: number}\n visibilityMap: VisibilityMap\n} & BaseProps<HTMLDivElement>\n\nconst OverflowMenu = forwardRef<HTMLDivElement, React.PropsWithChildren<OverflowMenuProps>>(\n ({children, className, id, menuOpen, onClose, position, visibilityMap}, forwardedRef) => {\n if (!menuOpen) {\n return null\n }\n\n return (\n <div\n id={id}\n ref={forwardedRef}\n style={{\n top: `${position?.top ?? 0}px`,\n left: `${position?.left ?? 0}px`,\n visibility: position ? undefined : 'hidden',\n }}\n className={clsx(styles['SubdomainNavBar-overflow-menu'], className)}\n >\n <ul className={clsx(styles['SubdomainNavBar-overflow-menu-list'])}>\n {React.Children.map(children, (child, index) => {\n if (React.isValidElement<SubdomainNavBarLinkProps>(child)) {\n if (visibilityMap[index] !== false) {\n return null\n }\n\n return (\n <SubdomainNavBarLinkContext.Provider value={{isOverflowed: false, onLinkClick: onClose}}>\n {React.cloneElement(child, {\n className: clsx(styles['SubdomainNavBar-overflow-menu-item'], child.props.className),\n })}\n </SubdomainNavBarLinkContext.Provider>\n )\n }\n return null\n })}\n </ul>\n </div>\n )\n },\n)\n"],"mappings":"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"}
@@ -3,16 +3,26 @@ import React, { PropsWithChildren } from 'react';
3
3
  * Design tokens
4
4
  */
5
5
  import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css';
6
- export type SubdomainNavBarProps = {
6
+ export type SubdomainNavBarMenuLabels = {
7
7
  /**
8
- * Valid child elements are `SubdomainNavBar.Link`, `SubdomainNavBar.PrimaryAction`,
9
- * `SubdomainNavBar.SecondaryAction` and `SubdomainNavBar.Search`
8
+ * Visible and accessible label for the closed narrow menu control.
10
9
  */
11
- children?: React.ReactNode | React.ReactElement<SubdomainNavBarLinkProps> | React.ReactElement<SearchProps> | React.ReactElement<CTAActionProps>;
10
+ menuLabel: string;
12
11
  /**
13
- * Forward a custom HTML class attribute
12
+ * Visible and accessible label for the open narrow menu control.
14
13
  */
15
- className?: string;
14
+ closeLabel: string;
15
+ /**
16
+ * Visible and accessible label for the desktop overflow menu control.
17
+ */
18
+ overflowMenuLabel: string;
19
+ };
20
+ export type SubdomainNavBarProps = Omit<React.HTMLAttributes<HTMLElement>, 'children' | 'title'> & {
21
+ /**
22
+ * Valid child elements are `SubdomainNavBar.Link`, `SubdomainNavBar.PrimaryAction`,
23
+ * `SubdomainNavBar.SecondaryAction` and `SubdomainNavBar.Search`
24
+ */
25
+ children?: React.ReactNode | React.ReactElement<SubdomainNavBarLinkProps> | React.ReactElement<SubdomainNavBarSearchProps> | React.ReactElement<CTAActionProps>;
16
26
  /**
17
27
  * Fixes the navigation bar to the top of the viewport. Defaults to `true`.
18
28
  */
@@ -22,7 +32,15 @@ export type SubdomainNavBarProps = {
22
32
  */
23
33
  fullWidth?: boolean;
24
34
  /**
25
- * The title or name of the subdomain. Appears adjacent to the logo and is required for communicating content to assisitive technologies.
35
+ * Optional React element rendered after the navigation links.
36
+ */
37
+ leadingComponent?: React.ReactElement;
38
+ /**
39
+ * Optional React element rendered after the actions.
40
+ */
41
+ trailingComponent?: React.ReactElement;
42
+ /**
43
+ * The title or name of the subdomain. Appears adjacent to the logo and is required for communicating content to assistive technologies.
26
44
  */
27
45
  title: string;
28
46
  /**
@@ -37,41 +55,160 @@ export type SubdomainNavBarProps = {
37
55
  * When the menu is opened or closed on narrow viewports, this callback is called with the new open state.
38
56
  */
39
57
  onNarrowMenuToggle?: (isOpen: boolean) => void;
58
+ /**
59
+ * Customizable visible and accessible menu labels.
60
+ */
61
+ menuLabels?: Partial<SubdomainNavBarMenuLabels>;
62
+ /**
63
+ * ID of the element that receives focus when the skip-to-content link is activated.
64
+ * Defaults to the first rendered `main` element that is not hidden from assistive technologies.
65
+ */
66
+ skipToContentTargetId?: string;
67
+ };
68
+ export type SubdomainNavBarHandle = HTMLElement & {
69
+ openSearch: () => void;
70
+ closeSearch: () => void;
40
71
  };
41
- declare function Root({ children, className, fixed, fullWidth, logoHref, title, titleHref, onNarrowMenuToggle, ...rest }: SubdomainNavBarProps): import("react/jsx-runtime").JSX.Element;
42
72
  export type SubdomainNavBarLinkProps = {
43
73
  href: string;
44
74
  isExternal?: boolean;
45
- 'data-navitemid'?: string;
46
75
  } & React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>;
47
- declare function Link({ href, className, children, isExternal, ...rest }: PropsWithChildren<SubdomainNavBarLinkProps>): import("react/jsx-runtime").JSX.Element;
76
+ declare function Link({ href, className, children, isExternal, 'aria-current': ariaCurrent, 'aria-hidden': ariaHidden, tabIndex, ...rest }: PropsWithChildren<SubdomainNavBarLinkProps>): import("react/jsx-runtime").JSX.Element;
48
77
  export type SubdomainNavBarSearchResultProps = {
49
78
  title: string;
50
79
  description: string;
51
80
  url: string;
52
81
  date: string;
53
82
  category?: string;
83
+ group?: string;
84
+ isExternal?: boolean;
85
+ };
86
+ export type SubdomainNavBarSearchResultGroupProps = {
87
+ title: string;
88
+ results: SubdomainNavBarSearchResultProps[];
54
89
  };
55
- type HandlerEvent = MouseEvent | TouchEvent | FocusEvent;
56
- type SearchProps = {
90
+ export type SubdomainNavBarSearchResults = SubdomainNavBarSearchResultProps[] | SubdomainNavBarSearchResultGroupProps[];
91
+ export type SubdomainNavBarSearchLabels = {
92
+ /**
93
+ * Accessible label for the search input. Defaults to "Search".
94
+ */
95
+ searchLabel: string;
96
+ /**
97
+ * Visible and accessible label for the close action. Defaults to "Close".
98
+ */
99
+ closeLabel: string;
100
+ /**
101
+ * Accessible label for an untitled search result group. Defaults to "Results".
102
+ */
103
+ resultsLabel: string;
104
+ /**
105
+ * Accessible label for grouped search results without a search term. Defaults to "Search results".
106
+ */
107
+ searchResultsLabel: string;
108
+ /**
109
+ * Formats the default search placeholder and dialog label using the navigation title.
110
+ */
111
+ formatSearchWithTitle: (title: string) => string;
112
+ /**
113
+ * Formats the accessible label for the responsive search trigger.
114
+ */
115
+ formatSearchTrigger: (placeholder: string) => string;
116
+ /**
117
+ * Formats the visible heading for ungrouped search results.
118
+ */
119
+ formatResultsHeading: (searchTerm: string) => string;
120
+ /**
121
+ * Formats the accessible label for grouped search results.
122
+ */
123
+ formatResultsLabel: (searchTerm: string) => string;
124
+ /**
125
+ * Formats the search result count announcement.
126
+ */
127
+ formatSuggestions: (count: number) => string;
128
+ };
129
+ export type SubdomainNavBarSearchProps = {
57
130
  onSubmit: (e: React.FormEvent<HTMLFormElement>) => void;
58
131
  onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
59
- ref: React.RefObject<HTMLInputElement>;
60
132
  active?: boolean;
133
+ className?: string;
61
134
  title?: string;
62
- handlerFn?: (event: HandlerEvent) => void;
63
- autoComplete?: boolean;
64
- searchResults?: SubdomainNavBarSearchResultProps[];
135
+ onSearchOpen?: () => void;
136
+ onSearchClose?: () => void;
137
+ /**
138
+ * Placeholder text shown in the search trigger and the opened search input.
139
+ */
140
+ placeholder?: string;
141
+ /**
142
+ * Optional keyboard shortcut hint shown in the search trigger. Pass an empty string to hide it.
143
+ */
144
+ shortcutLabel?: string;
145
+ /**
146
+ * Optional global keyboard shortcut that opens the search dialog. Omit or pass `false` to disable it.
147
+ * Supports single keys and modifier combinations, such as `/` or `Command+Option+k`.
148
+ */
149
+ keyboardShortcut?: string | false;
150
+ searchResults?: SubdomainNavBarSearchResults;
65
151
  searchTerm?: string;
152
+ /**
153
+ * Customizable visible and accessible search text. Unspecified labels use the English defaults.
154
+ */
155
+ labels?: Partial<SubdomainNavBarSearchLabels>;
66
156
  };
67
157
  type CTAActionProps = {
68
158
  href: string;
69
159
  } & React.HTMLAttributes<HTMLAnchorElement>;
70
160
  declare function PrimaryAction({ children, href, ...rest }: PropsWithChildren<CTAActionProps>): import("react/jsx-runtime").JSX.Element;
71
161
  declare function SecondaryAction({ children, href, ...rest }: PropsWithChildren<CTAActionProps>): import("react/jsx-runtime").JSX.Element;
72
- export declare const SubdomainNavBar: typeof Root & {
162
+ export declare const SubdomainNavBar: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLElement>, "title" | "children"> & {
163
+ /**
164
+ * Valid child elements are `SubdomainNavBar.Link`, `SubdomainNavBar.PrimaryAction`,
165
+ * `SubdomainNavBar.SecondaryAction` and `SubdomainNavBar.Search`
166
+ */
167
+ children?: React.ReactNode | React.ReactElement<SubdomainNavBarLinkProps> | React.ReactElement<SubdomainNavBarSearchProps> | React.ReactElement<CTAActionProps>;
168
+ /**
169
+ * Fixes the navigation bar to the top of the viewport. Defaults to `true`.
170
+ */
171
+ fixed?: boolean;
172
+ /**
173
+ * Fill the maximum width of the parent container. Defaults to `false`.
174
+ */
175
+ fullWidth?: boolean;
176
+ /**
177
+ * Optional React element rendered after the navigation links.
178
+ */
179
+ leadingComponent?: React.ReactElement;
180
+ /**
181
+ * Optional React element rendered after the actions.
182
+ */
183
+ trailingComponent?: React.ReactElement;
184
+ /**
185
+ * The title or name of the subdomain. Appears adjacent to the logo and is required for communicating content to assistive technologies.
186
+ */
187
+ title: string;
188
+ /**
189
+ * The URL for the site. Typically used to link the titleText prop value to the site root.
190
+ */
191
+ titleHref?: string;
192
+ /**
193
+ * Optionally change the URL of the logo
194
+ */
195
+ logoHref?: string;
196
+ /**
197
+ * When the menu is opened or closed on narrow viewports, this callback is called with the new open state.
198
+ */
199
+ onNarrowMenuToggle?: (isOpen: boolean) => void;
200
+ /**
201
+ * Customizable visible and accessible menu labels.
202
+ */
203
+ menuLabels?: Partial<SubdomainNavBarMenuLabels>;
204
+ /**
205
+ * ID of the element that receives focus when the skip-to-content link is activated.
206
+ * Defaults to the first rendered `main` element that is not hidden from assistive technologies.
207
+ */
208
+ skipToContentTargetId?: string;
209
+ } & React.RefAttributes<SubdomainNavBarHandle>> & {
73
210
  Link: typeof Link;
74
- Search: React.ForwardRefExoticComponent<Omit<SearchProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
211
+ Search: React.ForwardRefExoticComponent<SubdomainNavBarSearchProps & React.RefAttributes<HTMLInputElement>>;
75
212
  PrimaryAction: typeof PrimaryAction;
76
213
  SecondaryAction: typeof SecondaryAction;
77
214
  testIds: {
@@ -1 +1 @@
1
- {"version":3,"file":"SubdomainNavBar.d.ts","sourceRoot":"","sources":["../../src/SubdomainNavBar/SubdomainNavBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAgC,iBAAiB,EAAiC,MAAM,OAAO,CAAA;AAW7G;;GAEG;AACH,OAAO,qHAAqH,CAAA;AAM5H,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,QAAQ,CAAC,EACL,KAAK,CAAC,SAAS,GACf,KAAK,CAAC,YAAY,CAAC,wBAAwB,CAAC,GAC5C,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,GAC/B,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CAC/C,CAAA;AAiBD,iBAAS,IAAI,CAAC,EACZ,QAAQ,EACR,SAAS,EACT,KAAY,EACZ,SAAiB,EACjB,QAA+B,EAC/B,KAAK,EACL,SAAe,EACf,kBAAkB,EAClB,GAAG,IAAI,EACR,EAAE,oBAAoB,2CAgRtB;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAA;AAEjF,iBAAS,IAAI,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,EAAC,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,2CAS1G;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAA;AAExD,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI,CAAA;IACvD,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IAC1D,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACtC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IACzC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,gCAAgC,EAAE,CAAA;IAClD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAsND,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAE3C,iBAAS,aAAa,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,2CAalF;AAED,iBAAS,eAAe,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,2CAYpF;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;CAM1B,CAAA"}
1
+ {"version":3,"file":"SubdomainNavBar.d.ts","sourceRoot":"","sources":["../../src/SubdomainNavBar/SubdomainNavBar.tsx"],"names":[],"mappings":"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"}