@primer/react-brand 0.68.0-rc.b6d410ef → 0.68.1-rc.e248cf2a

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 (418) hide show
  1. package/esm/LogoSuite/LogoSuite.module-69Mthqju.css +1 -0
  2. package/esm/LogoSuite/LogoSuite.module.js +1 -1
  3. package/esm/LogoSuite/LogoSuite.module.js.map +1 -1
  4. package/esm/MediaPlaylist/MediaPlaylist.d.ts +77 -0
  5. package/esm/MediaPlaylist/MediaPlaylist.d.ts.map +1 -0
  6. package/esm/MediaPlaylist/MediaPlaylist.js +172 -0
  7. package/esm/MediaPlaylist/MediaPlaylist.js.map +1 -0
  8. package/esm/MediaPlaylist/MediaPlaylist.module-BU39a4-W.css +1 -0
  9. package/esm/MediaPlaylist/MediaPlaylist.module.js +30 -0
  10. package/esm/MediaPlaylist/MediaPlaylist.module.js.map +1 -0
  11. package/esm/MediaPlaylist/index.d.ts +2 -0
  12. package/esm/MediaPlaylist/index.d.ts.map +1 -0
  13. package/esm/MediaPlaylist/useMediaPlaylist.d.ts +84 -0
  14. package/esm/MediaPlaylist/useMediaPlaylist.d.ts.map +1 -0
  15. package/esm/MediaPlaylist/useMediaPlaylist.js +114 -0
  16. package/esm/MediaPlaylist/useMediaPlaylist.js.map +1 -0
  17. package/esm/Pagination/Pagination.d.ts +2 -5
  18. package/esm/Pagination/Pagination.d.ts.map +1 -1
  19. package/esm/Pagination/Pagination.js +94 -52
  20. package/esm/Pagination/Pagination.js.map +1 -1
  21. package/esm/Pagination/Pagination.module-DmKBSq7s.css +1 -0
  22. package/esm/Pagination/Pagination.module.js +9 -3
  23. package/esm/Pagination/Pagination.module.js.map +1 -1
  24. package/esm/Pagination/model.d.ts +2 -2
  25. package/esm/Pagination/model.d.ts.map +1 -1
  26. package/esm/Pagination/model.js.map +1 -1
  27. package/esm/SubNav/SubNav.d.ts.map +1 -1
  28. package/esm/SubNav/SubNav.js +17 -16
  29. package/esm/SubNav/SubNav.js.map +1 -1
  30. package/esm/SubNav/SubNav.module-D-gLr0JO.css +1 -0
  31. package/esm/SubNav/SubNav.module.js +1 -1
  32. package/esm/SubNav/SubNav.module.js.map +1 -1
  33. package/esm/Tiles/Tiles.module-BOGZTY7t.css +1 -0
  34. package/esm/Tiles/Tiles.module.js +1 -1
  35. package/esm/Tiles/Tiles.module.js.map +1 -1
  36. package/esm/index.d.ts +1 -0
  37. package/esm/index.d.ts.map +1 -1
  38. package/esm/index.esm.js +51 -50
  39. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes-YId8eSZQ.css +1 -0
  40. package/esm/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.content.d.ts +49 -0
  41. package/esm/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.content.d.ts.map +1 -0
  42. package/esm/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.d.ts +7 -0
  43. package/esm/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.d.ts.map +1 -0
  44. package/esm/recipes/Flexsuite/Details/index.d.ts +4 -0
  45. package/esm/recipes/Flexsuite/Details/index.d.ts.map +1 -0
  46. package/esm/recipes/Flexsuite/Overview/FlexSuiteAIOverview.d.ts.map +1 -1
  47. package/lib/MediaPlaylist/MediaPlaylist.d.ts +76 -0
  48. package/lib/MediaPlaylist/index.d.ts +1 -0
  49. package/lib/MediaPlaylist/useMediaPlaylist.d.ts +83 -0
  50. package/lib/Pagination/Pagination.d.ts +2 -5
  51. package/lib/Pagination/model.d.ts +2 -2
  52. package/lib/css/main.css +570 -250
  53. package/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes.css +1 -1
  54. package/lib/design-tokens/css/tokens/base/colors/light.css +1 -1
  55. package/lib/design-tokens/css/tokens/base/size/size.css +1 -1
  56. package/lib/design-tokens/css/tokens/base/typography/typography.css +1 -1
  57. package/lib/design-tokens/css/tokens/functional/animation/base.css +1 -1
  58. package/lib/design-tokens/css/tokens/functional/colors/global-with-modes.css +1 -1
  59. package/lib/design-tokens/css/tokens/functional/colors/global.css +1 -1
  60. package/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes.css +1 -1
  61. package/lib/design-tokens/css/tokens/functional/components/action-menu/colors-with-modes.css +1 -1
  62. package/lib/design-tokens/css/tokens/functional/components/anchor-nav/colors-with-modes.css +1 -1
  63. package/lib/design-tokens/css/tokens/functional/components/bento/base.css +1 -1
  64. package/lib/design-tokens/css/tokens/functional/components/blinking-cursor/colors-with-modes.css +1 -1
  65. package/lib/design-tokens/css/tokens/functional/components/breadcrumbs/colors-with-modes.css +1 -1
  66. package/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css +1 -1
  67. package/lib/design-tokens/css/tokens/functional/components/card/base.css +1 -1
  68. package/lib/design-tokens/css/tokens/functional/components/card/colors-with-modes.css +1 -1
  69. package/lib/design-tokens/css/tokens/functional/components/card/colors.css +1 -1
  70. package/lib/design-tokens/css/tokens/functional/components/comparison-table/colors-with-modes.css +1 -1
  71. package/lib/design-tokens/css/tokens/functional/components/comparison-table/comparison-table.css +1 -1
  72. package/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css +1 -1
  73. package/lib/design-tokens/css/tokens/functional/components/cta-banner/colors-with-modes.css +1 -1
  74. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/colors-with-modes.css +1 -1
  75. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/eyebrow-banner.css +1 -1
  76. package/lib/design-tokens/css/tokens/functional/components/faq/base.css +1 -1
  77. package/lib/design-tokens/css/tokens/functional/components/faq/colors-with-modes.css +1 -1
  78. package/lib/design-tokens/css/tokens/functional/components/faq/colors.css +1 -1
  79. package/lib/design-tokens/css/tokens/functional/components/faq/faq.css +1 -1
  80. package/lib/design-tokens/css/tokens/functional/components/footer/colors-with-modes.css +1 -1
  81. package/lib/design-tokens/css/tokens/functional/components/footer/colors.css +1 -1
  82. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/base.css +1 -1
  83. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/colors-with-modes.css +1 -1
  84. package/lib/design-tokens/css/tokens/functional/components/grid/colors-with-modes.css +1 -1
  85. package/lib/design-tokens/css/tokens/functional/components/grid/colors.css +1 -1
  86. package/lib/design-tokens/css/tokens/functional/components/grid/grid.css +1 -1
  87. package/lib/design-tokens/css/tokens/functional/components/hero/base.css +1 -1
  88. package/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css +1 -1
  89. package/lib/design-tokens/css/tokens/functional/components/icon/colors.css +1 -1
  90. package/lib/design-tokens/css/tokens/functional/components/ide/base.css +1 -1
  91. package/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes.css +1 -1
  92. package/lib/design-tokens/css/tokens/functional/components/image/base.css +1 -1
  93. package/lib/design-tokens/css/tokens/functional/components/inline-link/base.css +1 -1
  94. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css +1 -1
  95. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors.css +1 -1
  96. package/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes.css +1 -1
  97. package/lib/design-tokens/css/tokens/functional/components/label/colors.css +1 -1
  98. package/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css +1 -1
  99. package/lib/design-tokens/css/tokens/functional/components/link/colors.css +1 -1
  100. package/lib/design-tokens/css/tokens/functional/components/logosuite/base.css +1 -1
  101. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css +1 -1
  102. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors.css +1 -1
  103. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes.css +13 -0
  104. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors.css +8 -0
  105. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css +1 -1
  106. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors.css +1 -1
  107. package/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css +1 -1
  108. package/lib/design-tokens/css/tokens/functional/components/prose/base.css +1 -1
  109. package/lib/design-tokens/css/tokens/functional/components/prose/colors-with-modes.css +1 -1
  110. package/lib/design-tokens/css/tokens/functional/components/river/base.css +1 -1
  111. package/lib/design-tokens/css/tokens/functional/components/river/river.css +1 -1
  112. package/lib/design-tokens/css/tokens/functional/components/river-story-scroll/colors-with-modes.css +1 -1
  113. package/lib/design-tokens/css/tokens/functional/components/section/section.css +1 -1
  114. package/lib/design-tokens/css/tokens/functional/components/statistic/base.css +1 -1
  115. package/lib/design-tokens/css/tokens/functional/components/sub-nav/base.css +1 -1
  116. package/lib/design-tokens/css/tokens/functional/components/sub-nav/colors-with-modes.css +1 -1
  117. package/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css +1 -1
  118. package/lib/design-tokens/css/tokens/functional/components/tabs/base.css +1 -1
  119. package/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes.css +1 -1
  120. package/lib/design-tokens/css/tokens/functional/components/tabs/colors.css +1 -1
  121. package/lib/design-tokens/css/tokens/functional/components/testimonial/base.css +1 -1
  122. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css +1 -1
  123. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors.css +1 -1
  124. package/lib/design-tokens/css/tokens/functional/components/tiles/colors-with-modes.css +1 -1
  125. package/lib/design-tokens/css/tokens/functional/components/timeline/base.css +1 -1
  126. package/lib/design-tokens/css/tokens/functional/components/timeline/colors-with-modes.css +1 -1
  127. package/lib/design-tokens/css/tokens/functional/components/timeline/colors.css +1 -1
  128. package/lib/design-tokens/css/tokens/functional/components/token/colors-with-modes.css +1 -1
  129. package/lib/design-tokens/css/tokens/functional/components/token/colors.css +1 -1
  130. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors-with-modes.css +1 -1
  131. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors.css +1 -1
  132. package/lib/design-tokens/css/tokens/functional/components/video-player/base.css +1 -1
  133. package/lib/design-tokens/css/tokens/functional/components/video-player/colors-with-modes.css +1 -1
  134. package/lib/design-tokens/css/tokens/functional/size/border.css +1 -1
  135. package/lib/design-tokens/css/tokens/functional/size/breakpoints.css +1 -1
  136. package/lib/design-tokens/css/tokens/functional/size/size-coarse.css +1 -1
  137. package/lib/design-tokens/css/tokens/functional/size/size-fine.css +1 -1
  138. package/lib/design-tokens/css/tokens/functional/size/size.css +1 -1
  139. package/lib/design-tokens/css/tokens/functional/size/viewport.css +1 -1
  140. package/lib/design-tokens/css/tokens/functional/typography/typography-responsive.css +1 -1
  141. package/lib/design-tokens/css/tokens/functional/typography/typography.css +1 -1
  142. package/lib/design-tokens/js/module/tokens/base/colors/light.js +1 -1
  143. package/lib/design-tokens/js/module/tokens/base/size/size.js +1 -1
  144. package/lib/design-tokens/js/module/tokens/base/typography/typography.js +1 -1
  145. package/lib/design-tokens/js/module/tokens/functional/animation/base.js +1 -1
  146. package/lib/design-tokens/js/module/tokens/functional/colors/global.js +1 -1
  147. package/lib/design-tokens/js/module/tokens/functional/components/bento/base.js +1 -1
  148. package/lib/design-tokens/js/module/tokens/functional/components/card/base.js +1 -1
  149. package/lib/design-tokens/js/module/tokens/functional/components/card/colors.js +1 -1
  150. package/lib/design-tokens/js/module/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  151. package/lib/design-tokens/js/module/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  152. package/lib/design-tokens/js/module/tokens/functional/components/faq/base.js +1 -1
  153. package/lib/design-tokens/js/module/tokens/functional/components/faq/colors.js +1 -1
  154. package/lib/design-tokens/js/module/tokens/functional/components/faq/faq.js +1 -1
  155. package/lib/design-tokens/js/module/tokens/functional/components/footer/colors.js +1 -1
  156. package/lib/design-tokens/js/module/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  157. package/lib/design-tokens/js/module/tokens/functional/components/grid/colors.js +1 -1
  158. package/lib/design-tokens/js/module/tokens/functional/components/grid/grid.js +1 -1
  159. package/lib/design-tokens/js/module/tokens/functional/components/hero/base.js +1 -1
  160. package/lib/design-tokens/js/module/tokens/functional/components/icon/colors.js +1 -1
  161. package/lib/design-tokens/js/module/tokens/functional/components/ide/base.js +1 -1
  162. package/lib/design-tokens/js/module/tokens/functional/components/image/base.js +1 -1
  163. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/base.js +1 -1
  164. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/colors.js +1 -1
  165. package/lib/design-tokens/js/module/tokens/functional/components/label/colors.js +1 -1
  166. package/lib/design-tokens/js/module/tokens/functional/components/link/colors.js +1 -1
  167. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/base.js +1 -1
  168. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/colors.js +1 -1
  169. package/lib/design-tokens/js/module/tokens/functional/components/media-playlist/colors.js +15 -0
  170. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/colors.js +1 -1
  171. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  172. package/lib/design-tokens/js/module/tokens/functional/components/prose/base.js +1 -1
  173. package/lib/design-tokens/js/module/tokens/functional/components/river/base.js +1 -1
  174. package/lib/design-tokens/js/module/tokens/functional/components/river/river.js +1 -1
  175. package/lib/design-tokens/js/module/tokens/functional/components/section/section.js +1 -1
  176. package/lib/design-tokens/js/module/tokens/functional/components/statistic/base.js +1 -1
  177. package/lib/design-tokens/js/module/tokens/functional/components/sub-nav/base.js +1 -1
  178. package/lib/design-tokens/js/module/tokens/functional/components/tabs/base.js +1 -1
  179. package/lib/design-tokens/js/module/tokens/functional/components/tabs/colors.js +1 -1
  180. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/base.js +1 -1
  181. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/colors.js +1 -1
  182. package/lib/design-tokens/js/module/tokens/functional/components/timeline/base.js +1 -1
  183. package/lib/design-tokens/js/module/tokens/functional/components/timeline/colors.js +1 -1
  184. package/lib/design-tokens/js/module/tokens/functional/components/token/colors.js +1 -1
  185. package/lib/design-tokens/js/module/tokens/functional/components/tooltip/colors.js +1 -1
  186. package/lib/design-tokens/js/module/tokens/functional/components/video-player/base.js +1 -1
  187. package/lib/design-tokens/js/module/tokens/functional/size/border.js +1 -1
  188. package/lib/design-tokens/js/module/tokens/functional/size/breakpoints.js +1 -1
  189. package/lib/design-tokens/js/module/tokens/functional/size/size-coarse.js +1 -1
  190. package/lib/design-tokens/js/module/tokens/functional/size/size-fine.js +1 -1
  191. package/lib/design-tokens/js/module/tokens/functional/size/size.js +1 -1
  192. package/lib/design-tokens/js/module/tokens/functional/size/viewport.js +1 -1
  193. package/lib/design-tokens/js/module/tokens/functional/typography/typography-responsive.js +1 -1
  194. package/lib/design-tokens/js/module/tokens/functional/typography/typography.js +1 -1
  195. package/lib/design-tokens/js/tokens/base/colors/light.js +1 -1
  196. package/lib/design-tokens/js/tokens/base/size/size.js +1 -1
  197. package/lib/design-tokens/js/tokens/base/typography/typography.js +1 -1
  198. package/lib/design-tokens/js/tokens/functional/animation/base.js +1 -1
  199. package/lib/design-tokens/js/tokens/functional/colors/global.js +1 -1
  200. package/lib/design-tokens/js/tokens/functional/components/bento/base.js +1 -1
  201. package/lib/design-tokens/js/tokens/functional/components/card/base.js +1 -1
  202. package/lib/design-tokens/js/tokens/functional/components/card/colors.js +1 -1
  203. package/lib/design-tokens/js/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  204. package/lib/design-tokens/js/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  205. package/lib/design-tokens/js/tokens/functional/components/faq/base.js +1 -1
  206. package/lib/design-tokens/js/tokens/functional/components/faq/colors.js +1 -1
  207. package/lib/design-tokens/js/tokens/functional/components/faq/faq.js +1 -1
  208. package/lib/design-tokens/js/tokens/functional/components/footer/colors.js +1 -1
  209. package/lib/design-tokens/js/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  210. package/lib/design-tokens/js/tokens/functional/components/grid/colors.js +1 -1
  211. package/lib/design-tokens/js/tokens/functional/components/grid/grid.js +1 -1
  212. package/lib/design-tokens/js/tokens/functional/components/hero/base.js +1 -1
  213. package/lib/design-tokens/js/tokens/functional/components/icon/colors.js +1 -1
  214. package/lib/design-tokens/js/tokens/functional/components/ide/base.js +1 -1
  215. package/lib/design-tokens/js/tokens/functional/components/image/base.js +1 -1
  216. package/lib/design-tokens/js/tokens/functional/components/inline-link/base.js +1 -1
  217. package/lib/design-tokens/js/tokens/functional/components/inline-link/colors.js +1 -1
  218. package/lib/design-tokens/js/tokens/functional/components/label/colors.js +1 -1
  219. package/lib/design-tokens/js/tokens/functional/components/link/colors.js +1 -1
  220. package/lib/design-tokens/js/tokens/functional/components/logosuite/base.js +1 -1
  221. package/lib/design-tokens/js/tokens/functional/components/logosuite/colors.js +1 -1
  222. package/lib/design-tokens/js/tokens/functional/components/media-playlist/colors.js +6 -0
  223. package/lib/design-tokens/js/tokens/functional/components/pricing-options/colors.js +1 -1
  224. package/lib/design-tokens/js/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  225. package/lib/design-tokens/js/tokens/functional/components/prose/base.js +1 -1
  226. package/lib/design-tokens/js/tokens/functional/components/river/base.js +1 -1
  227. package/lib/design-tokens/js/tokens/functional/components/river/river.js +1 -1
  228. package/lib/design-tokens/js/tokens/functional/components/section/section.js +1 -1
  229. package/lib/design-tokens/js/tokens/functional/components/statistic/base.js +1 -1
  230. package/lib/design-tokens/js/tokens/functional/components/sub-nav/base.js +1 -1
  231. package/lib/design-tokens/js/tokens/functional/components/tabs/base.js +1 -1
  232. package/lib/design-tokens/js/tokens/functional/components/tabs/colors.js +1 -1
  233. package/lib/design-tokens/js/tokens/functional/components/testimonial/base.js +1 -1
  234. package/lib/design-tokens/js/tokens/functional/components/testimonial/colors.js +1 -1
  235. package/lib/design-tokens/js/tokens/functional/components/timeline/base.js +1 -1
  236. package/lib/design-tokens/js/tokens/functional/components/timeline/colors.js +1 -1
  237. package/lib/design-tokens/js/tokens/functional/components/token/colors.js +1 -1
  238. package/lib/design-tokens/js/tokens/functional/components/tooltip/colors.js +1 -1
  239. package/lib/design-tokens/js/tokens/functional/components/video-player/base.js +1 -1
  240. package/lib/design-tokens/js/tokens/functional/size/border.js +1 -1
  241. package/lib/design-tokens/js/tokens/functional/size/breakpoints.js +1 -1
  242. package/lib/design-tokens/js/tokens/functional/size/size-coarse.js +1 -1
  243. package/lib/design-tokens/js/tokens/functional/size/size-fine.js +1 -1
  244. package/lib/design-tokens/js/tokens/functional/size/size.js +1 -1
  245. package/lib/design-tokens/js/tokens/functional/size/viewport.js +1 -1
  246. package/lib/design-tokens/js/tokens/functional/typography/typography-responsive.js +1 -1
  247. package/lib/design-tokens/js/tokens/functional/typography/typography.js +1 -1
  248. package/lib/design-tokens/scss/tokens/base/colors/light.scss +1 -1
  249. package/lib/design-tokens/scss/tokens/base/size/size.scss +1 -1
  250. package/lib/design-tokens/scss/tokens/base/typography/typography.scss +1 -1
  251. package/lib/design-tokens/scss/tokens/functional/animation/base.scss +1 -1
  252. package/lib/design-tokens/scss/tokens/functional/colors/global.scss +1 -1
  253. package/lib/design-tokens/scss/tokens/functional/components/bento/base.scss +1 -1
  254. package/lib/design-tokens/scss/tokens/functional/components/card/base.scss +1 -1
  255. package/lib/design-tokens/scss/tokens/functional/components/card/colors.scss +1 -1
  256. package/lib/design-tokens/scss/tokens/functional/components/comparison-table/comparison-table.scss +1 -1
  257. package/lib/design-tokens/scss/tokens/functional/components/eyebrow-banner/eyebrow-banner.scss +1 -1
  258. package/lib/design-tokens/scss/tokens/functional/components/faq/base.scss +1 -1
  259. package/lib/design-tokens/scss/tokens/functional/components/faq/colors.scss +1 -1
  260. package/lib/design-tokens/scss/tokens/functional/components/faq/faq.scss +1 -1
  261. package/lib/design-tokens/scss/tokens/functional/components/footer/colors.scss +1 -1
  262. package/lib/design-tokens/scss/tokens/functional/components/frosted-glass-vfx/base.scss +1 -1
  263. package/lib/design-tokens/scss/tokens/functional/components/grid/colors.scss +1 -1
  264. package/lib/design-tokens/scss/tokens/functional/components/grid/grid.scss +1 -1
  265. package/lib/design-tokens/scss/tokens/functional/components/hero/base.scss +1 -1
  266. package/lib/design-tokens/scss/tokens/functional/components/icon/colors.scss +1 -1
  267. package/lib/design-tokens/scss/tokens/functional/components/ide/base.scss +1 -1
  268. package/lib/design-tokens/scss/tokens/functional/components/image/base.scss +1 -1
  269. package/lib/design-tokens/scss/tokens/functional/components/inline-link/base.scss +1 -1
  270. package/lib/design-tokens/scss/tokens/functional/components/inline-link/colors.scss +1 -1
  271. package/lib/design-tokens/scss/tokens/functional/components/label/colors.scss +1 -1
  272. package/lib/design-tokens/scss/tokens/functional/components/link/colors.scss +1 -1
  273. package/lib/design-tokens/scss/tokens/functional/components/logosuite/base.scss +1 -1
  274. package/lib/design-tokens/scss/tokens/functional/components/logosuite/colors.scss +1 -1
  275. package/lib/design-tokens/scss/tokens/functional/components/media-playlist/colors.scss +5 -0
  276. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/colors.scss +1 -1
  277. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/pricing-options.scss +1 -1
  278. package/lib/design-tokens/scss/tokens/functional/components/prose/base.scss +1 -1
  279. package/lib/design-tokens/scss/tokens/functional/components/river/base.scss +1 -1
  280. package/lib/design-tokens/scss/tokens/functional/components/river/river.scss +1 -1
  281. package/lib/design-tokens/scss/tokens/functional/components/section/section.scss +1 -1
  282. package/lib/design-tokens/scss/tokens/functional/components/statistic/base.scss +1 -1
  283. package/lib/design-tokens/scss/tokens/functional/components/sub-nav/base.scss +1 -1
  284. package/lib/design-tokens/scss/tokens/functional/components/tabs/base.scss +1 -1
  285. package/lib/design-tokens/scss/tokens/functional/components/tabs/colors.scss +1 -1
  286. package/lib/design-tokens/scss/tokens/functional/components/testimonial/base.scss +1 -1
  287. package/lib/design-tokens/scss/tokens/functional/components/testimonial/colors.scss +1 -1
  288. package/lib/design-tokens/scss/tokens/functional/components/timeline/base.scss +1 -1
  289. package/lib/design-tokens/scss/tokens/functional/components/timeline/colors.scss +1 -1
  290. package/lib/design-tokens/scss/tokens/functional/components/token/colors.scss +1 -1
  291. package/lib/design-tokens/scss/tokens/functional/components/tooltip/colors.scss +1 -1
  292. package/lib/design-tokens/scss/tokens/functional/components/video-player/base.scss +1 -1
  293. package/lib/design-tokens/scss/tokens/functional/size/border.scss +1 -1
  294. package/lib/design-tokens/scss/tokens/functional/size/breakpoints.scss +1 -1
  295. package/lib/design-tokens/scss/tokens/functional/size/size-coarse.scss +1 -1
  296. package/lib/design-tokens/scss/tokens/functional/size/size-fine.scss +1 -1
  297. package/lib/design-tokens/scss/tokens/functional/size/size.scss +1 -1
  298. package/lib/design-tokens/scss/tokens/functional/size/viewport.scss +1 -1
  299. package/lib/design-tokens/scss/tokens/functional/typography/typography-responsive.scss +1 -1
  300. package/lib/design-tokens/scss/tokens/functional/typography/typography.scss +1 -1
  301. package/lib/design-tokens/ts/tokens/base/colors/light.d.ts +1 -1
  302. package/lib/design-tokens/ts/tokens/base/colors/light.js +1 -1
  303. package/lib/design-tokens/ts/tokens/base/size/size.d.ts +1 -1
  304. package/lib/design-tokens/ts/tokens/base/size/size.js +1 -1
  305. package/lib/design-tokens/ts/tokens/base/typography/typography.d.ts +1 -1
  306. package/lib/design-tokens/ts/tokens/base/typography/typography.js +1 -1
  307. package/lib/design-tokens/ts/tokens/functional/animation/base.d.ts +1 -1
  308. package/lib/design-tokens/ts/tokens/functional/animation/base.js +1 -1
  309. package/lib/design-tokens/ts/tokens/functional/colors/global.d.ts +1 -1
  310. package/lib/design-tokens/ts/tokens/functional/colors/global.js +1 -1
  311. package/lib/design-tokens/ts/tokens/functional/components/bento/base.d.ts +1 -1
  312. package/lib/design-tokens/ts/tokens/functional/components/bento/base.js +1 -1
  313. package/lib/design-tokens/ts/tokens/functional/components/card/base.d.ts +1 -1
  314. package/lib/design-tokens/ts/tokens/functional/components/card/base.js +1 -1
  315. package/lib/design-tokens/ts/tokens/functional/components/card/colors.d.ts +1 -1
  316. package/lib/design-tokens/ts/tokens/functional/components/card/colors.js +1 -1
  317. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.d.ts +1 -1
  318. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  319. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.d.ts +1 -1
  320. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  321. package/lib/design-tokens/ts/tokens/functional/components/faq/base.d.ts +1 -1
  322. package/lib/design-tokens/ts/tokens/functional/components/faq/base.js +1 -1
  323. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.d.ts +1 -1
  324. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.js +1 -1
  325. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.d.ts +1 -1
  326. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.js +1 -1
  327. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.d.ts +1 -1
  328. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.js +1 -1
  329. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.d.ts +1 -1
  330. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  331. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.d.ts +1 -1
  332. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.js +1 -1
  333. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.d.ts +1 -1
  334. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.js +1 -1
  335. package/lib/design-tokens/ts/tokens/functional/components/hero/base.d.ts +1 -1
  336. package/lib/design-tokens/ts/tokens/functional/components/hero/base.js +1 -1
  337. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.d.ts +1 -1
  338. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.js +1 -1
  339. package/lib/design-tokens/ts/tokens/functional/components/ide/base.d.ts +1 -1
  340. package/lib/design-tokens/ts/tokens/functional/components/ide/base.js +1 -1
  341. package/lib/design-tokens/ts/tokens/functional/components/image/base.d.ts +1 -1
  342. package/lib/design-tokens/ts/tokens/functional/components/image/base.js +1 -1
  343. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.d.ts +1 -1
  344. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.js +1 -1
  345. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.d.ts +1 -1
  346. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.js +1 -1
  347. package/lib/design-tokens/ts/tokens/functional/components/label/colors.d.ts +1 -1
  348. package/lib/design-tokens/ts/tokens/functional/components/label/colors.js +1 -1
  349. package/lib/design-tokens/ts/tokens/functional/components/link/colors.d.ts +1 -1
  350. package/lib/design-tokens/ts/tokens/functional/components/link/colors.js +1 -1
  351. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.d.ts +1 -1
  352. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.js +1 -1
  353. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.d.ts +1 -1
  354. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.js +1 -1
  355. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.d.ts +15 -0
  356. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.js +12 -0
  357. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.d.ts +1 -1
  358. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.js +1 -1
  359. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.d.ts +1 -1
  360. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  361. package/lib/design-tokens/ts/tokens/functional/components/prose/base.d.ts +1 -1
  362. package/lib/design-tokens/ts/tokens/functional/components/prose/base.js +1 -1
  363. package/lib/design-tokens/ts/tokens/functional/components/river/base.d.ts +1 -1
  364. package/lib/design-tokens/ts/tokens/functional/components/river/base.js +1 -1
  365. package/lib/design-tokens/ts/tokens/functional/components/river/river.d.ts +1 -1
  366. package/lib/design-tokens/ts/tokens/functional/components/river/river.js +1 -1
  367. package/lib/design-tokens/ts/tokens/functional/components/section/section.d.ts +1 -1
  368. package/lib/design-tokens/ts/tokens/functional/components/section/section.js +1 -1
  369. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.d.ts +1 -1
  370. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.js +1 -1
  371. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.d.ts +1 -1
  372. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.js +1 -1
  373. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.d.ts +1 -1
  374. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.js +1 -1
  375. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.d.ts +1 -1
  376. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.js +1 -1
  377. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.d.ts +1 -1
  378. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.js +1 -1
  379. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.d.ts +1 -1
  380. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.js +1 -1
  381. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.d.ts +1 -1
  382. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.js +1 -1
  383. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.d.ts +1 -1
  384. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.js +1 -1
  385. package/lib/design-tokens/ts/tokens/functional/components/token/colors.d.ts +1 -1
  386. package/lib/design-tokens/ts/tokens/functional/components/token/colors.js +1 -1
  387. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.d.ts +1 -1
  388. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.js +1 -1
  389. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.d.ts +1 -1
  390. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.js +1 -1
  391. package/lib/design-tokens/ts/tokens/functional/size/border.d.ts +1 -1
  392. package/lib/design-tokens/ts/tokens/functional/size/border.js +1 -1
  393. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.d.ts +1 -1
  394. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.js +1 -1
  395. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.d.ts +1 -1
  396. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.js +1 -1
  397. package/lib/design-tokens/ts/tokens/functional/size/size-fine.d.ts +1 -1
  398. package/lib/design-tokens/ts/tokens/functional/size/size-fine.js +1 -1
  399. package/lib/design-tokens/ts/tokens/functional/size/size.d.ts +1 -1
  400. package/lib/design-tokens/ts/tokens/functional/size/size.js +1 -1
  401. package/lib/design-tokens/ts/tokens/functional/size/viewport.d.ts +1 -1
  402. package/lib/design-tokens/ts/tokens/functional/size/viewport.js +1 -1
  403. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.d.ts +1 -1
  404. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.js +1 -1
  405. package/lib/design-tokens/ts/tokens/functional/typography/typography.d.ts +1 -1
  406. package/lib/design-tokens/ts/tokens/functional/typography/typography.js +1 -1
  407. package/lib/index.d.ts +1 -0
  408. package/lib/index.js +1 -1
  409. package/lib/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.content.d.ts +48 -0
  410. package/lib/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.d.ts +6 -0
  411. package/lib/recipes/Flexsuite/Details/index.d.ts +3 -0
  412. package/package.json +1 -1
  413. package/esm/LogoSuite/LogoSuite.module-CWV4mJoG.css +0 -1
  414. package/esm/Pagination/Pagination.module-C7Z_pTFq.css +0 -1
  415. package/esm/SubNav/SubNav.module-CFXuWNmS.css +0 -1
  416. package/esm/Tiles/Tiles.module-DVK0nMCy.css +0 -1
  417. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/pagination/colors-with-modes-C2GLM06X.css +0 -1
  418. package/lib/design-tokens/css/tokens/functional/components/pagination/colors-with-modes.css +0 -17
@@ -0,0 +1 @@
1
+ .Primer_Brand__LogoSuite-module__LogoSuite___bHvbJ{padding-block-end:var(--brand-LogoSuite-logobar-rowGap)}.Primer_Brand__LogoSuite-module__LogoSuite--default___mbLiN+.Primer_Brand__LogoSuite-module__LogoSuite--default___mbLiN{padding-block-start:var(--brand-LogoSuite-logobar-rowGap)}.Primer_Brand__LogoSuite-module__LogoSuite___bHvbJ:not(:has(.Primer_Brand__LogoSuite-module__LogoSuite__description___J_Sms)) .Primer_Brand__LogoSuite-module__LogoSuite__heading___PsSGL{font-family:var(--brand-fontStack-monospace);font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);letter-spacing:var(--brand-text-letterSpacing-100);text-transform:uppercase;color:var(--brand-color-text-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__heading___PsSGL+.Primer_Brand__LogoSuite-module__LogoSuite__description___J_Sms{padding-block-start:var(--base-size-16)}.Primer_Brand__LogoSuite-module__LogoSuite--start___zqwlX{text-align:left}.Primer_Brand__LogoSuite-module__LogoSuite--center___j119b,.Primer_Brand__LogoSuite-module__LogoSuite--justify___MTk0u{text-align:center}.Primer_Brand__LogoSuite-module__LogoSuite--default___mbLiN:not(.Primer_Brand__LogoSuite-module__LogoSuite___bHvbJ+.Primer_Brand__LogoSuite-module__LogoSuite___bHvbJ) .Primer_Brand__LogoSuite-module__LogoSuite__logobar___3IogC{padding-block-start:var(--base-size-32)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar___3IogC{row-gap:var(--brand-LogoSuite-logobar-rowGap);flex-wrap:wrap;justify-content:center;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--gap-default___sGwUx{--marquee-gap:var(--brand-LogoSuite-logobar-marquee-gap-default);-moz-column-gap:var(--brand-LogoSuite-logobar-columnGap-default);column-gap:var(--brand-LogoSuite-logobar-columnGap-default)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--gap-condensed___T86E8{--marquee-gap:var(--brand-LogoSuite-logobar-marquee-gap-condensed);-moz-column-gap:var(--brand-LogoSuite-logobar-columnGap-condensed);column-gap:var(--brand-LogoSuite-logobar-columnGap-condensed)}.Primer_Brand__LogoSuite-module__LogoSuite___bHvbJ:not(.Primer_Brand__LogoSuite-module__LogoSuite___bHvbJ+.Primer_Brand__LogoSuite-module__LogoSuite___bHvbJ) .Primer_Brand__LogoSuite-module__LogoSuite__heading___PsSGL:not(.Primer_Brand__LogoSuite-module__LogoSuite__heading--visually-hidden___oZzlO)+.Primer_Brand__LogoSuite-module__LogoSuite__logobar___3IogC,.Primer_Brand__LogoSuite-module__LogoSuite___bHvbJ:not(.Primer_Brand__LogoSuite-module__LogoSuite___bHvbJ+.Primer_Brand__LogoSuite-module__LogoSuite___bHvbJ) .Primer_Brand__LogoSuite-module__LogoSuite__description___J_Sms+.Primer_Brand__LogoSuite-module__LogoSuite__logobar___3IogC{margin-block-start:var(--base-size-44);padding-block-start:0}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___iM9ru svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___iM9ru img,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___iM9ru a,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___yvuYR svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___yvuYR img,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___yvuYR a{width:auto;height:var(--base-size-32)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___iM9ru svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___iM9ru path{fill:var(--brand-LogoSuite-color-logo-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___iM9ru img{filter:var(--brand-LogoSuite-color-logo-filter-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___yvuYR svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___yvuYR path{fill:var(--brand-LogoSuite-color-logo-emphasis)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___yvuYR img{filter:var(--brand-LogoSuite-color-logo-filter-emphasis)}.Primer_Brand__LogoSuite-module__LogoSuite--start___zqwlX .Primer_Brand__LogoSuite-module__LogoSuite__logobar___3IogC{justify-content:center}@media screen and (width>=48rem){.Primer_Brand__LogoSuite-module__LogoSuite--justify___MTk0u .Primer_Brand__LogoSuite-module__LogoSuite__logobar___3IogC{justify-content:space-between}}.Primer_Brand__LogoSuite-module__LogoSuite__logobar___3IogC a:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2);border-radius:var(--base-size-4)}.Primer_Brand__LogoSuite-module__LogoSuite--hasDivider___Wj8u_{border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-marquee___tyW6K{align-items:center;gap:var(--base-size-24);flex-direction:row;max-width:100vw;margin:auto;display:flex;position:relative}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___bUhyS{justify-content:space-around;align-items:center;gap:var(--marquee-gap);min-width:100%;animation-name:Primer_Brand__LogoSuite-module__LogobarScrollX___eGhi4;animation-duration:var(--brand-LogoSuite-logobar-marquee-default);flex-shrink:0;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal;animation-play-state:running;animation-fill-mode:none;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup--speed-default___nsm9D{animation-duration:var(--brand-LogoSuite-logobar-marquee-default)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup--speed-slow___NZHrb{animation-duration:var(--brand-LogoSuite-logobar-marquee-slow)}@keyframes Primer_Brand__LogoSuite-module__LogobarScrollX___eGhi4{0%{transform:translate(0)}to{transform:translateX(calc(-100% - var(--marquee-gap)))}}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee____s6pK:hover .Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___bUhyS,.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee____s6pK:focus-within .Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___bUhyS{animation-play-state:paused}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee____s6pK{padding-block:var(--base-size-4);-webkit-user-select:none;user-select:none;gap:var(--marquee-gap);flex:1;min-width:0;display:flex;overflow:hidden visible;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000);mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--paused___7p9ka *{animation-play-state:paused!important}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee--focused___zizoE .Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___bUhyS{animation-name:none}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___KDfie{cursor:pointer;width:var(--base-size-32);height:var(--base-size-32);border-radius:var(--base-size-48);border:none;border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-LogoSuite-color-control-rest);transition:background-color var(--brand-animation-duration-faster);flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___KDfie:hover{background-color:var(--brand-LogoSuite-color-control-hover)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___KDfie:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___KDfie svg{width:var(--base-size-16);height:var(--base-size-16);fill:var(--brand-color-text-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___KDfie path{fill:var(--brand-color-text-muted)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16{padding:0}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__content____8K_Y{gap:0;padding-inline:0}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__textContainer___OB63e{padding:var(--base-size-20);flex-direction:column;justify-content:center;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__logobar___3IogC{margin-block-start:auto}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___RcqbC{padding:var(--base-size-32) var(--base-size-20) var(--base-size-32);flex-direction:column;justify-content:center;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__logobar___3IogC,.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-marquee___tyW6K{width:100%;max-width:none}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__heading___PsSGL+.Primer_Brand__LogoSuite-module__LogoSuite__description___J_Sms{padding-block-start:var(--base-size-8)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__logobar___3IogC{padding-block-start:0}@media screen and (width>=48rem){.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16{padding-inline:91px}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___RcqbC{padding:var(--base-size-40)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__content____8K_Y{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__textContainer___OB63e{border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=64rem){.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16{padding-inline:0}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__content____8K_Y{max-width:1280px}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__textContainer___OB63e{text-align:left;padding:var(--base-size-64)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___RcqbC{padding:var(--base-size-64)}}@media screen and (width>=1281px){.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__content____8K_Y{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___86D16 .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___RcqbC:first-child{border-inline-start:none}}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___ZQbXf{position:relative;overflow:visible}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___ZQbXf:before{content:"";inset:calc(-1 * var(--base-size-16)) 0;z-index:1;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(var(--base-size-6));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);position:absolute}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___ZQbXf:hover:before,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___ZQbXf:focus-within:before{opacity:1}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___ZQbXf:hover svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___ZQbXf:focus-within svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___ZQbXf:hover img,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___ZQbXf:focus-within img{opacity:.7;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-takeoverButtonContainer___ehoEd{opacity:0;visibility:hidden;z-index:2;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___ZQbXf:hover .Primer_Brand__LogoSuite-module__LogoSuite__logobar-takeoverButtonContainer___ehoEd,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___ZQbXf:focus-within .Primer_Brand__LogoSuite-module__LogoSuite__logobar-takeoverButtonContainer___ehoEd{opacity:1;visibility:visible}
@@ -1,4 +1,4 @@
1
- import './LogoSuite.module-CWV4mJoG.css';var e = {
1
+ import './LogoSuite.module-69Mthqju.css';var e = {
2
2
  LogoSuite: "Primer_Brand__LogoSuite-module__LogoSuite___bHvbJ",
3
3
  "LogoSuite--default": "Primer_Brand__LogoSuite-module__LogoSuite--default___mbLiN",
4
4
  LogoSuite__description: "Primer_Brand__LogoSuite-module__LogoSuite__description___J_Sms",
@@ -1 +1 @@
1
- {"version":3,"file":"LogoSuite.module.js","names":[],"sources":["../../src/LogoSuite/LogoSuite.module.css"],"sourcesContent":[".LogoSuite {\n padding-block-end: var(--brand-LogoSuite-logobar-rowGap);\n}\n\n.LogoSuite--default + .LogoSuite--default {\n padding-block-start: var(--brand-LogoSuite-logobar-rowGap);\n}\n\n/* Small monospace heading when standalone (no description) */\n.LogoSuite:not(:has(.LogoSuite__description)) .LogoSuite__heading {\n font-family: var(--brand-fontStack-monospace);\n font-weight: var(--brand-text-weight-100);\n font-size: var(--brand-text-size-100);\n line-height: var(--brand-text-lineHeight-100);\n letter-spacing: var(--brand-text-letterSpacing-100);\n text-transform: uppercase;\n color: var(--brand-color-text-muted);\n}\n\n.LogoSuite__heading + .LogoSuite__description {\n padding-block-start: var(--base-size-16);\n}\n\n.LogoSuite--start {\n text-align: left;\n}\n\n.LogoSuite--center,\n.LogoSuite--justify {\n text-align: center;\n}\n\n.LogoSuite--default:not(.LogoSuite + .LogoSuite) .LogoSuite__logobar {\n padding-block-start: var(--base-size-32);\n}\n\n.LogoSuite__logobar {\n display: flex;\n flex-wrap: wrap;\n row-gap: var(--brand-LogoSuite-logobar-rowGap);\n justify-content: center;\n}\n\n.LogoSuite__logobar--gap-default {\n --marquee-gap: var(--brand-LogoSuite-logobar-marquee-gap-default);\n column-gap: var(--brand-LogoSuite-logobar-columnGap-default);\n}\n\n.LogoSuite__logobar--gap-condensed {\n --marquee-gap: var(--brand-LogoSuite-logobar-marquee-gap-condensed);\n column-gap: var(--brand-LogoSuite-logobar-columnGap-condensed);\n}\n\n.LogoSuite:not(.LogoSuite + .LogoSuite)\n .LogoSuite__heading:not(.LogoSuite__heading--visually-hidden)\n + .LogoSuite__logobar,\n.LogoSuite:not(.LogoSuite + .LogoSuite) .LogoSuite__description + .LogoSuite__logobar {\n padding-block-start: 0;\n margin-block-start: var(--base-size-44);\n}\n\n.LogoSuite__logobar--variant-muted svg,\n.LogoSuite__logobar--variant-muted img,\n.LogoSuite__logobar--variant-muted a,\n.LogoSuite__logobar--variant-emphasis svg,\n.LogoSuite__logobar--variant-emphasis img,\n.LogoSuite__logobar--variant-emphasis a {\n width: auto;\n height: var(--base-size-28);\n}\n\n@media screen and (min-width: 48rem) {\n .LogoSuite__logobar--variant-muted svg,\n .LogoSuite__logobar--variant-muted img,\n .LogoSuite__logobar--variant-muted a,\n .LogoSuite__logobar--variant-emphasis svg,\n .LogoSuite__logobar--variant-emphasis img,\n .LogoSuite__logobar--variant-emphasis a {\n height: var(--base-size-32);\n }\n}\n\n.LogoSuite__logobar--variant-muted svg,\n.LogoSuite__logobar--variant-muted path {\n fill: var(--brand-LogoSuite-color-logo-muted);\n}\n\n.LogoSuite__logobar--variant-muted img {\n filter: var(--brand-LogoSuite-color-logo-filter-muted);\n}\n\n.LogoSuite__logobar--variant-emphasis svg,\n.LogoSuite__logobar--variant-emphasis path {\n fill: var(--brand-LogoSuite-color-logo-emphasis);\n}\n\n.LogoSuite__logobar--variant-emphasis img {\n filter: var(--brand-LogoSuite-color-logo-filter-emphasis);\n}\n\n.LogoSuite--start .LogoSuite__logobar {\n justify-content: center;\n}\n\n@media screen and (min-width: 48rem) {\n .LogoSuite--justify .LogoSuite__logobar {\n justify-content: space-between;\n }\n}\n\n.LogoSuite__logobar a:focus-visible {\n outline: var(--brand-borderWidth-thick) solid var(--brand-color-focus);\n outline-offset: var(--base-size-2);\n border-radius: var(--base-size-4);\n}\n\n.LogoSuite--hasDivider {\n border-bottom: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n}\n\n.LogoSuite__logobar--has-marquee {\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--base-size-24);\n margin: auto;\n max-width: 100vw;\n}\n\n.LogoSuite__logobar-marqueeGroup {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: space-around;\n gap: var(--marquee-gap);\n min-width: 100%;\n animation-name: LogobarScrollX;\n animation-duration: var(--brand-LogoSuite-logobar-marquee-default);\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n animation-direction: normal;\n animation-fill-mode: none;\n animation-play-state: running;\n}\n\n.LogoSuite__logobar-marqueeGroup--speed-default {\n animation-duration: var(--brand-LogoSuite-logobar-marquee-default);\n}\n\n.LogoSuite__logobar-marqueeGroup--speed-slow {\n animation-duration: var(--brand-LogoSuite-logobar-marquee-slow);\n}\n\n@keyframes LogobarScrollX {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(calc(-100% - var(--marquee-gap)));\n }\n}\n\n.LogoSuite__logobar-marquee:hover .LogoSuite__logobar-marqueeGroup,\n.LogoSuite__logobar-marquee:focus-within .LogoSuite__logobar-marqueeGroup {\n animation-play-state: paused;\n}\n\n.LogoSuite__logobar-marquee {\n display: flex;\n overflow-x: hidden;\n overflow-y: visible;\n padding-block: var(--base-size-4);\n user-select: none;\n gap: var(--marquee-gap);\n flex: 1;\n min-width: 0;\n -webkit-mask-image: linear-gradient(\n to right,\n hsl(0 0% 0% / 0),\n hsl(0 0% 0% / 1) 20%,\n hsl(0 0% 0% / 1) 80%,\n hsl(0 0% 0% / 0)\n );\n mask-image: linear-gradient(to right, hsl(0 0% 0% / 0), hsl(0 0% 0% / 1) 20%, hsl(0 0% 0% / 1) 80%, hsl(0 0% 0% / 0));\n}\n\n.LogoSuite__logobar--paused * {\n animation-play-state: paused !important;\n}\n\n.LogoSuite__logobar-marquee--focused .LogoSuite__logobar-marqueeGroup {\n animation-name: none;\n}\n\n.LogoSuite__logobar-playPauseButton {\n cursor: pointer;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--base-size-32);\n height: var(--base-size-32);\n margin: 0;\n padding: 0;\n border: none;\n border-radius: var(--base-size-48);\n border: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n background-color: var(--brand-LogoSuite-color-control-rest);\n transition: background-color var(--brand-animation-duration-faster);\n}\n\n.LogoSuite__logobar-playPauseButton:hover {\n background-color: var(--brand-LogoSuite-color-control-hover);\n}\n\n.LogoSuite__logobar-playPauseButton:focus-visible {\n outline: var(--base-size-4) solid var(--brand-color-focus);\n outline-offset: var(--base-size-2);\n}\n\n.LogoSuite__logobar-playPauseButton svg {\n width: var(--base-size-16);\n height: var(--base-size-16);\n fill: var(--brand-color-text-muted);\n}\n\n.LogoSuite__logobar-playPauseButton path {\n fill: var(--brand-color-text-muted);\n}\n\n/* Gridline expressive variant styles */\n.LogoSuite--gridline-expressive {\n padding: 0;\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__content {\n padding-inline: 0;\n gap: 0;\n max-width: 618px; /* From the Figma design */\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__textContainer {\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: var(--base-size-20);\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__logobar {\n margin-block-start: auto;\n}\n.LogoSuite--gridline-expressive .LogoSuite__logobarContainer {\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: var(--base-size-32) var(--base-size-20) var(--base-size-32);\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__logobar,\n.LogoSuite--gridline-expressive .LogoSuite__logobar--has-marquee {\n max-width: none;\n width: 100%;\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__heading + .LogoSuite__description {\n padding-block-start: var(--base-size-8);\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__logobar {\n padding-block-start: 0;\n}\n\n@media screen and (min-width: 48rem) {\n .LogoSuite--gridline-expressive .LogoSuite__logobarContainer {\n padding: var(--base-size-36);\n }\n .LogoSuite--gridline-expressive .LogoSuite__content {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n .LogoSuite--gridline-expressive .LogoSuite__textContainer {\n border-inline-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n@media screen and (min-width: 64rem) {\n .LogoSuite--gridline-expressive .LogoSuite__content {\n max-width: 1280px;\n }\n\n .LogoSuite--gridline-expressive .LogoSuite__textContainer {\n text-align: left;\n padding: var(--base-size-64);\n }\n\n .LogoSuite--gridline-expressive .LogoSuite__logobarContainer {\n padding: var(--base-size-64);\n }\n}\n\n@media screen and (min-width: 1281px) {\n .LogoSuite--gridline-expressive .LogoSuite__content {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n\n /* When the logobar is the only column visible (no adjacent text), this removes start border */\n .LogoSuite--gridline-expressive .LogoSuite__logobarContainer:first-child {\n border-inline-start: none;\n }\n}\n\n.LogoSuite__logobar--has-takeover {\n position: relative;\n overflow: visible;\n}\n\n/* Glass blur overlay effect */\n.LogoSuite__logobar--has-takeover::before {\n content: '';\n position: absolute;\n inset: calc(-1 * var(--base-size-16)) 0;\n z-index: 1;\n pointer-events: none;\n opacity: 0;\n backdrop-filter: blur(var(--base-size-6));\n -webkit-backdrop-filter: blur(var(--base-size-6));\n transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);\n}\n\n.LogoSuite__logobar--has-takeover:hover::before,\n.LogoSuite__logobar--has-takeover:focus-within::before {\n opacity: 1;\n}\n\n.LogoSuite__logobar--has-takeover:hover svg,\n.LogoSuite__logobar--has-takeover:focus-within svg,\n.LogoSuite__logobar--has-takeover:hover img,\n.LogoSuite__logobar--has-takeover:focus-within img {\n opacity: 0.7;\n transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);\n}\n\n.LogoSuite__logobar-takeoverButtonContainer {\n opacity: 0;\n visibility: hidden;\n z-index: 2;\n transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.LogoSuite__logobar--has-takeover:hover .LogoSuite__logobar-takeoverButtonContainer,\n.LogoSuite__logobar--has-takeover:focus-within .LogoSuite__logobar-takeoverButtonContainer {\n opacity: 1;\n visibility: visible;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"LogoSuite.module.js","names":[],"sources":["../../src/LogoSuite/LogoSuite.module.css"],"sourcesContent":[".LogoSuite {\n padding-block-end: var(--brand-LogoSuite-logobar-rowGap);\n}\n\n.LogoSuite--default + .LogoSuite--default {\n padding-block-start: var(--brand-LogoSuite-logobar-rowGap);\n}\n\n/* Small monospace heading when standalone (no description) */\n.LogoSuite:not(:has(.LogoSuite__description)) .LogoSuite__heading {\n font-family: var(--brand-fontStack-monospace);\n font-weight: var(--brand-text-weight-100);\n font-size: var(--brand-text-size-100);\n line-height: var(--brand-text-lineHeight-100);\n letter-spacing: var(--brand-text-letterSpacing-100);\n text-transform: uppercase;\n color: var(--brand-color-text-muted);\n}\n\n.LogoSuite__heading + .LogoSuite__description {\n padding-block-start: var(--base-size-16);\n}\n\n.LogoSuite--start {\n text-align: left;\n}\n\n.LogoSuite--center,\n.LogoSuite--justify {\n text-align: center;\n}\n\n.LogoSuite--default:not(.LogoSuite + .LogoSuite) .LogoSuite__logobar {\n padding-block-start: var(--base-size-32);\n}\n\n.LogoSuite__logobar {\n display: flex;\n flex-wrap: wrap;\n row-gap: var(--brand-LogoSuite-logobar-rowGap);\n justify-content: center;\n}\n\n.LogoSuite__logobar--gap-default {\n --marquee-gap: var(--brand-LogoSuite-logobar-marquee-gap-default);\n column-gap: var(--brand-LogoSuite-logobar-columnGap-default);\n}\n\n.LogoSuite__logobar--gap-condensed {\n --marquee-gap: var(--brand-LogoSuite-logobar-marquee-gap-condensed);\n column-gap: var(--brand-LogoSuite-logobar-columnGap-condensed);\n}\n\n.LogoSuite:not(.LogoSuite + .LogoSuite)\n .LogoSuite__heading:not(.LogoSuite__heading--visually-hidden)\n + .LogoSuite__logobar,\n.LogoSuite:not(.LogoSuite + .LogoSuite) .LogoSuite__description + .LogoSuite__logobar {\n padding-block-start: 0;\n margin-block-start: var(--base-size-44);\n}\n\n.LogoSuite__logobar--variant-muted svg,\n.LogoSuite__logobar--variant-muted img,\n.LogoSuite__logobar--variant-muted a,\n.LogoSuite__logobar--variant-emphasis svg,\n.LogoSuite__logobar--variant-emphasis img,\n.LogoSuite__logobar--variant-emphasis a {\n width: auto;\n height: var(--base-size-32);\n}\n\n.LogoSuite__logobar--variant-muted svg,\n.LogoSuite__logobar--variant-muted path {\n fill: var(--brand-LogoSuite-color-logo-muted);\n}\n\n.LogoSuite__logobar--variant-muted img {\n filter: var(--brand-LogoSuite-color-logo-filter-muted);\n}\n\n.LogoSuite__logobar--variant-emphasis svg,\n.LogoSuite__logobar--variant-emphasis path {\n fill: var(--brand-LogoSuite-color-logo-emphasis);\n}\n\n.LogoSuite__logobar--variant-emphasis img {\n filter: var(--brand-LogoSuite-color-logo-filter-emphasis);\n}\n\n.LogoSuite--start .LogoSuite__logobar {\n justify-content: center;\n}\n\n@media screen and (min-width: 48rem) {\n .LogoSuite--justify .LogoSuite__logobar {\n justify-content: space-between;\n }\n}\n\n.LogoSuite__logobar a:focus-visible {\n outline: var(--brand-borderWidth-thick) solid var(--brand-color-focus);\n outline-offset: var(--base-size-2);\n border-radius: var(--base-size-4);\n}\n\n.LogoSuite--hasDivider {\n border-bottom: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n}\n\n.LogoSuite__logobar--has-marquee {\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--base-size-24);\n margin: auto;\n max-width: 100vw;\n}\n\n.LogoSuite__logobar-marqueeGroup {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: space-around;\n gap: var(--marquee-gap);\n min-width: 100%;\n animation-name: LogobarScrollX;\n animation-duration: var(--brand-LogoSuite-logobar-marquee-default);\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n animation-direction: normal;\n animation-fill-mode: none;\n animation-play-state: running;\n}\n\n.LogoSuite__logobar-marqueeGroup--speed-default {\n animation-duration: var(--brand-LogoSuite-logobar-marquee-default);\n}\n\n.LogoSuite__logobar-marqueeGroup--speed-slow {\n animation-duration: var(--brand-LogoSuite-logobar-marquee-slow);\n}\n\n@keyframes LogobarScrollX {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(calc(-100% - var(--marquee-gap)));\n }\n}\n\n.LogoSuite__logobar-marquee:hover .LogoSuite__logobar-marqueeGroup,\n.LogoSuite__logobar-marquee:focus-within .LogoSuite__logobar-marqueeGroup {\n animation-play-state: paused;\n}\n\n.LogoSuite__logobar-marquee {\n display: flex;\n overflow-x: hidden;\n overflow-y: visible;\n padding-block: var(--base-size-4);\n user-select: none;\n gap: var(--marquee-gap);\n flex: 1;\n min-width: 0;\n -webkit-mask-image: linear-gradient(\n to right,\n hsl(0 0% 0% / 0),\n hsl(0 0% 0% / 1) 20%,\n hsl(0 0% 0% / 1) 80%,\n hsl(0 0% 0% / 0)\n );\n mask-image: linear-gradient(to right, hsl(0 0% 0% / 0), hsl(0 0% 0% / 1) 20%, hsl(0 0% 0% / 1) 80%, hsl(0 0% 0% / 0));\n}\n\n.LogoSuite__logobar--paused * {\n animation-play-state: paused !important;\n}\n\n.LogoSuite__logobar-marquee--focused .LogoSuite__logobar-marqueeGroup {\n animation-name: none;\n}\n\n.LogoSuite__logobar-playPauseButton {\n cursor: pointer;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--base-size-32);\n height: var(--base-size-32);\n margin: 0;\n padding: 0;\n border: none;\n border-radius: var(--base-size-48);\n border: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n background-color: var(--brand-LogoSuite-color-control-rest);\n transition: background-color var(--brand-animation-duration-faster);\n}\n\n.LogoSuite__logobar-playPauseButton:hover {\n background-color: var(--brand-LogoSuite-color-control-hover);\n}\n\n.LogoSuite__logobar-playPauseButton:focus-visible {\n outline: var(--base-size-4) solid var(--brand-color-focus);\n outline-offset: var(--base-size-2);\n}\n\n.LogoSuite__logobar-playPauseButton svg {\n width: var(--base-size-16);\n height: var(--base-size-16);\n fill: var(--brand-color-text-muted);\n}\n\n.LogoSuite__logobar-playPauseButton path {\n fill: var(--brand-color-text-muted);\n}\n\n/* Gridline expressive variant styles */\n.LogoSuite--gridline-expressive {\n padding: 0;\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__content {\n padding-inline: 0;\n gap: 0;\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__textContainer {\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: var(--base-size-20);\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__logobar {\n margin-block-start: auto;\n}\n.LogoSuite--gridline-expressive .LogoSuite__logobarContainer {\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: var(--base-size-32) var(--base-size-20) var(--base-size-32);\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__logobar,\n.LogoSuite--gridline-expressive .LogoSuite__logobar--has-marquee {\n max-width: none;\n width: 100%;\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__heading + .LogoSuite__description {\n padding-block-start: var(--base-size-8);\n}\n\n.LogoSuite--gridline-expressive .LogoSuite__logobar {\n padding-block-start: 0;\n}\n\n@media screen and (min-width: 48rem) {\n .LogoSuite--gridline-expressive {\n padding-inline: 91px;\n }\n\n .LogoSuite--gridline-expressive .LogoSuite__logobarContainer {\n padding: var(--base-size-40);\n }\n .LogoSuite--gridline-expressive .LogoSuite__content {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n .LogoSuite--gridline-expressive .LogoSuite__textContainer {\n border-inline-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n@media screen and (min-width: 64rem) {\n .LogoSuite--gridline-expressive {\n padding-inline: 0;\n }\n\n .LogoSuite--gridline-expressive .LogoSuite__content {\n max-width: 1280px;\n }\n\n .LogoSuite--gridline-expressive .LogoSuite__textContainer {\n text-align: left;\n padding: var(--base-size-64);\n }\n\n .LogoSuite--gridline-expressive .LogoSuite__logobarContainer {\n padding: var(--base-size-64);\n }\n}\n\n@media screen and (min-width: 1281px) {\n .LogoSuite--gridline-expressive .LogoSuite__content {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n\n /* When the logobar is the only column visible (no adjacent text), this removes start border */\n .LogoSuite--gridline-expressive .LogoSuite__logobarContainer:first-child {\n border-inline-start: none;\n }\n}\n\n.LogoSuite__logobar--has-takeover {\n position: relative;\n overflow: visible;\n}\n\n/* Glass blur overlay effect */\n.LogoSuite__logobar--has-takeover::before {\n content: '';\n position: absolute;\n inset: calc(-1 * var(--base-size-16)) 0;\n z-index: 1;\n pointer-events: none;\n opacity: 0;\n backdrop-filter: blur(var(--base-size-6));\n -webkit-backdrop-filter: blur(var(--base-size-6));\n transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);\n}\n\n.LogoSuite__logobar--has-takeover:hover::before,\n.LogoSuite__logobar--has-takeover:focus-within::before {\n opacity: 1;\n}\n\n.LogoSuite__logobar--has-takeover:hover svg,\n.LogoSuite__logobar--has-takeover:focus-within svg,\n.LogoSuite__logobar--has-takeover:hover img,\n.LogoSuite__logobar--has-takeover:focus-within img {\n opacity: 0.7;\n transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);\n}\n\n.LogoSuite__logobar-takeoverButtonContainer {\n opacity: 0;\n visibility: hidden;\n z-index: 2;\n transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.LogoSuite__logobar--has-takeover:hover .LogoSuite__logobar-takeoverButtonContainer,\n.LogoSuite__logobar--has-takeover:focus-within .LogoSuite__logobar-takeoverButtonContainer {\n opacity: 1;\n visibility: visible;\n}\n"],"mappings":""}
@@ -0,0 +1,77 @@
1
+ import React from 'react';
2
+ import { type HeadingProps, type TextProps } from '..';
3
+ import type { BaseProps } from '../component-helpers';
4
+ /**
5
+ * Design tokens
6
+ */
7
+ import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes.css';
8
+ export type MediaPlaylistProps = React.PropsWithChildren<{
9
+ /**
10
+ * The index of the item to be selected by default. This is ignored if `selectedIndex` is provided.
11
+ */
12
+ defaultSelectedIndex?: number;
13
+ /**
14
+ * The index of the currently selected item. This makes the component controlled.
15
+ */
16
+ selectedIndex?: number;
17
+ /**
18
+ * Callback fired when the selected index changes.
19
+ */
20
+ onChange?: (selectedIndex: number) => void;
21
+ 'data-testid'?: string;
22
+ }> & Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'>;
23
+ export type MediaPlaylistHeadingProps = React.PropsWithChildren<{
24
+ as?: Exclude<HeadingProps['as'], 'h1'>;
25
+ }> & BaseProps<HTMLDivElement>;
26
+ type MediaPlaylistHeadingInternalProps = {
27
+ activeIndex?: number | null;
28
+ itemCount?: number;
29
+ };
30
+ declare function MediaPlaylistHeading({ activeIndex, as, children, className, id, itemCount, ...props }: MediaPlaylistHeadingProps & MediaPlaylistHeadingInternalProps): import("react/jsx-runtime").JSX.Element;
31
+ export type MediaPlaylistItemProps = React.PropsWithChildren<{
32
+ /**
33
+ * An optional thumbnail to be shown in the playlist for this item.
34
+ */
35
+ thumbnail?: React.ReactNode;
36
+ } & BaseProps<HTMLDivElement>>;
37
+ declare function MediaPlaylistItem({ children }: MediaPlaylistItemProps): import("react/jsx-runtime").JSX.Element;
38
+ export type MediaPlaylistItemHeadingProps = Omit<TextProps, 'as' | 'children' | 'title'> & {
39
+ children?: React.ReactNode;
40
+ description?: React.ReactNode;
41
+ title?: React.ReactNode;
42
+ };
43
+ declare function MediaPlaylistItemHeading({ children, className, description, font, size, title, variant, weight, ...props }: MediaPlaylistItemHeadingProps): import("react/jsx-runtime").JSX.Element;
44
+ export type MediaPlaylistItemContentProps = React.HTMLAttributes<HTMLDivElement>;
45
+ declare function MediaPlaylistItemContent({ children, className, ...props }: MediaPlaylistItemContentProps): import("react/jsx-runtime").JSX.Element;
46
+ export type MediaPlaylistItemMediaProps = React.HTMLAttributes<HTMLDivElement>;
47
+ /**
48
+ * Use MediaPlaylist to pair media playback with an itemized, thumbnail-backed playlist.
49
+ */
50
+ export declare const MediaPlaylist: React.ForwardRefExoticComponent<{
51
+ /**
52
+ * The index of the item to be selected by default. This is ignored if `selectedIndex` is provided.
53
+ */
54
+ defaultSelectedIndex?: number;
55
+ /**
56
+ * The index of the currently selected item. This makes the component controlled.
57
+ */
58
+ selectedIndex?: number;
59
+ /**
60
+ * Callback fired when the selected index changes.
61
+ */
62
+ onChange?: (selectedIndex: number) => void;
63
+ 'data-testid'?: string;
64
+ } & {
65
+ children?: React.ReactNode | undefined;
66
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> & React.RefAttributes<HTMLDivElement>> & {
67
+ Heading: typeof MediaPlaylistHeading;
68
+ Item: typeof MediaPlaylistItem;
69
+ ItemHeading: typeof MediaPlaylistItemHeading;
70
+ ItemContent: typeof MediaPlaylistItemContent;
71
+ ItemMedia: React.ForwardRefExoticComponent<MediaPlaylistItemMediaProps & React.RefAttributes<HTMLDivElement>>;
72
+ testIds: {
73
+ root: string;
74
+ };
75
+ };
76
+ export {};
77
+ //# sourceMappingURL=MediaPlaylist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPlaylist.d.ts","sourceRoot":"","sources":["../../src/MediaPlaylist/MediaPlaylist.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAGrD,OAAO,EAAgB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAC,MAAM,IAAI,CAAA;AAKnE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AACnD;;GAEG;AACH,OAAO,kHAAkH,CAAA;AAOzH,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACvD;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAC,GACA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAA;AA6HxD,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC9D,EAAE,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;CACvC,CAAC,GACA,SAAS,CAAC,cAAc,CAAC,CAAA;AAE3B,KAAK,iCAAiC,GAAG;IACvC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,iBAAS,oBAAoB,CAAC,EAC5B,WAAkB,EAClB,EAAS,EACT,QAAQ,EACR,SAAS,EACT,EAAE,EACF,SAAa,EACb,GAAG,KAAK,EACT,EAAE,yBAAyB,GAAG,iCAAiC,2CAa/D;AAED,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,iBAAiB,CAC1D;IACE;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC5B,GAAG,SAAS,CAAC,cAAc,CAAC,CAC9B,CAAA;AAED,iBAAS,iBAAiB,CAAC,EAAC,QAAQ,EAAC,EAAE,sBAAsB,2CAE5D;AAED,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,UAAU,GAAG,OAAO,CAAC,GAAG;IACzF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACxB,CAAA;AAED,iBAAS,wBAAwB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,WAAW,EACX,IAAkB,EAClB,IAAY,EACZ,KAAK,EACL,OAAmB,EACnB,MAAiB,EACjB,GAAG,KAAK,EACT,EAAE,6BAA6B,2CA4B/B;AAED,MAAM,MAAM,6BAA6B,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;AAEhF,iBAAS,wBAAwB,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,6BAA6B,2CAM/F;AAED,MAAM,MAAM,2BAA2B,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;AAyB9E;;GAEG;AACH,eAAO,MAAM,aAAa;IA7QxB;;OAEG;2BACoB,MAAM;IAC7B;;OAEG;oBACa,MAAM;IACtB;;OAEG;eACQ,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI;oBAC1B,MAAM;;;;;;;;;;;;CAwQtB,CAAA"}
@@ -0,0 +1,172 @@
1
+ import e from "../node_modules/clsx/dist/clsx.js";
2
+ import { useId as t } from "../hooks/useId.js";
3
+ import { Text as n } from "../Text/Text.js";
4
+ import { Heading as r } from "../Heading/Heading.js";
5
+ import i from "../component-helpers/shared.module.js";
6
+ import { Pagination as a } from "../Pagination/Pagination.js";
7
+ import { useMediaPlaylist as o } from "./useMediaPlaylist.js";
8
+ import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes-YId8eSZQ.css';/* empty css */
9
+ import s from "./MediaPlaylist.module.js";
10
+ import { cloneElement as c, forwardRef as l } from "react";
11
+ import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
12
+ //#region src/MediaPlaylist/MediaPlaylist.tsx
13
+ var p = l(({ children: n, className: r, defaultSelectedIndex: l = 0, onChange: u, selectedIndex: p, "data-testid": m, ...h }, g) => {
14
+ let _ = t(), { activeIndex: v, currentItemPage: x, getPaginationAttributes: S, getTabListProps: C, getTabPanelProps: w, getTabProps: T, handlePageChange: E, hasOverflowItems: D, headingChild: O, isItemSelected: k, items: A, setItemRef: j, tabListRef: M } = o({
15
+ children: n,
16
+ components: y,
17
+ defaultSelectedIndex: l,
18
+ onChange: u,
19
+ selectedIndex: p
20
+ }), N = O?.props.id ?? `${_}-heading`;
21
+ !O && (process.env.NODE_ENV === "development" || process.env.NODE_ENV === "test") && console.warn("MediaPlaylist: Heading child is required. This element labels the playlist for assistive technologies.");
22
+ let P = C(O ? { labelledBy: N } : { label: "Media playlist" });
23
+ return /* @__PURE__ */ d("div", {
24
+ ref: g,
25
+ className: e(s.MediaPlaylist, i.gridline, D && s["MediaPlaylist--overflowItems"], r),
26
+ "data-testid": m || b.root,
27
+ ...h,
28
+ children: /* @__PURE__ */ f("div", {
29
+ className: s.MediaPlaylist__layout,
30
+ children: [/* @__PURE__ */ f("div", {
31
+ className: s.MediaPlaylist__playlist,
32
+ children: [
33
+ O && c(O, {
34
+ activeIndex: v,
35
+ id: N,
36
+ itemCount: A.length
37
+ }),
38
+ /* @__PURE__ */ d("div", {
39
+ ...P,
40
+ ref: M,
41
+ className: s.MediaPlaylist__tablist,
42
+ children: A.map((t, n) => {
43
+ let r = T(String(n));
44
+ return /* @__PURE__ */ d("div", {
45
+ ref: (e) => {
46
+ j(n, e);
47
+ },
48
+ className: e(s.MediaPlaylist__item, k(n) && s["MediaPlaylist__item--selected"], t.className),
49
+ children: /* @__PURE__ */ d("button", {
50
+ type: "button",
51
+ ...r,
52
+ className: s.MediaPlaylist__tab,
53
+ children: /* @__PURE__ */ f("span", {
54
+ className: s.MediaPlaylist__tabContent,
55
+ children: [t.thumbnail && /* @__PURE__ */ d("span", {
56
+ className: s.MediaPlaylist__thumbnail,
57
+ children: t.thumbnail
58
+ }), /* @__PURE__ */ d("span", {
59
+ className: s.MediaPlaylist__itemHeadingContent,
60
+ children: t.heading
61
+ })]
62
+ })
63
+ })
64
+ }, n);
65
+ })
66
+ }),
67
+ D && /* @__PURE__ */ d(a, {
68
+ className: s.MediaPlaylist__pagination,
69
+ pageCount: A.length,
70
+ currentPage: x,
71
+ onPageChange: E,
72
+ hrefBuilder: () => "#",
73
+ pageAttributesBuilder: S,
74
+ "aria-label": "Media playlist items",
75
+ showPages: !1
76
+ })
77
+ ]
78
+ }), /* @__PURE__ */ d("div", {
79
+ className: s.MediaPlaylist__mediaPanels,
80
+ children: A.map((t, n) => /* @__PURE__ */ f("div", {
81
+ ...w(String(n)),
82
+ tabIndex: -1,
83
+ className: e(s.MediaPlaylist__mediaPanel, s.MediaPlaylist__panel),
84
+ children: [t.media, /* @__PURE__ */ d("div", {
85
+ className: s.MediaPlaylist__panelContent,
86
+ children: t.content
87
+ })]
88
+ }, n))
89
+ })]
90
+ })
91
+ });
92
+ });
93
+ function m({ activeIndex: t = null, as: n = "h3", children: i, className: a, id: o, itemCount: c = 0, ...l }) {
94
+ return /* @__PURE__ */ f("div", {
95
+ className: e(s.MediaPlaylist__heading, a),
96
+ ...l,
97
+ children: [/* @__PURE__ */ d(r, {
98
+ as: n,
99
+ id: o,
100
+ className: s.MediaPlaylist__headingLabel,
101
+ children: i
102
+ }), c > 0 && t !== null && /* @__PURE__ */ f("span", {
103
+ className: s.MediaPlaylist__headingCounter,
104
+ "aria-live": "polite",
105
+ children: [
106
+ t + 1,
107
+ "/",
108
+ c
109
+ ]
110
+ })]
111
+ });
112
+ }
113
+ function h({ children: e }) {
114
+ return /* @__PURE__ */ d(u, { children: e });
115
+ }
116
+ function g({ children: t, className: r, description: i, font: a = "mona-sans", size: o = "200", title: c, variant: l = "default", weight: u = "medium", ...p }) {
117
+ let m = c !== void 0 || i !== void 0, h = c ?? t;
118
+ return /* @__PURE__ */ d(n, {
119
+ ...p,
120
+ as: "span",
121
+ className: e(s.MediaPlaylist__itemHeading, r),
122
+ font: a,
123
+ size: o,
124
+ variant: l,
125
+ weight: u,
126
+ children: m ? /* @__PURE__ */ f("span", {
127
+ className: s.MediaPlaylist__itemHeadingDetails,
128
+ children: [h && /* @__PURE__ */ d("span", {
129
+ className: s.MediaPlaylist__itemHeadingTitle,
130
+ children: h
131
+ }), i && /* @__PURE__ */ d(n, {
132
+ as: "span",
133
+ font: "monospace",
134
+ size: "100",
135
+ variant: "muted",
136
+ children: i
137
+ })]
138
+ }) : t
139
+ });
140
+ }
141
+ function _({ children: t, className: n, ...r }) {
142
+ return /* @__PURE__ */ d("div", {
143
+ className: e(s.MediaPlaylist__content, n),
144
+ ...r,
145
+ children: t
146
+ });
147
+ }
148
+ var v = l(function({ children: t, className: n, ...r }, i) {
149
+ return /* @__PURE__ */ d("div", {
150
+ ref: i,
151
+ className: e(s.MediaPlaylist__media, n),
152
+ ...r,
153
+ children: t
154
+ });
155
+ }), y = {
156
+ Heading: m,
157
+ Item: h,
158
+ ItemHeading: g,
159
+ ItemContent: _,
160
+ ItemMedia: v
161
+ }, b = { root: "MediaPlaylist" }, x = Object.assign(p, {
162
+ Heading: m,
163
+ Item: h,
164
+ ItemHeading: g,
165
+ ItemContent: _,
166
+ ItemMedia: v,
167
+ testIds: b
168
+ });
169
+ //#endregion
170
+ export { x as MediaPlaylist };
171
+
172
+ //# sourceMappingURL=MediaPlaylist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPlaylist.js","names":[],"sources":["../../src/MediaPlaylist/MediaPlaylist.tsx"],"sourcesContent":["import React, {cloneElement, forwardRef} from 'react'\nimport {clsx} from 'clsx'\n\nimport {Heading, Text, type HeadingProps, type TextProps} from '..'\nimport {Pagination} from '../Pagination'\nimport {useId} from '../hooks/useId'\n\nimport {type MediaPlaylistComponentTypes, useMediaPlaylist} from './useMediaPlaylist'\nimport type {BaseProps} from '../component-helpers'\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes.css'\n\n/** Main Stylesheet (as a CSS Module) */\n\nimport styles from './MediaPlaylist.module.css'\nimport gridlineStyles from '../component-helpers/shared.module.css'\n\nexport type MediaPlaylistProps = React.PropsWithChildren<{\n /**\n * The index of the item to be selected by default. This is ignored if `selectedIndex` is provided.\n */\n defaultSelectedIndex?: number\n /**\n * The index of the currently selected item. This makes the component controlled.\n */\n selectedIndex?: number\n /**\n * Callback fired when the selected index changes.\n */\n onChange?: (selectedIndex: number) => void\n 'data-testid'?: string\n}> &\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'>\n\nconst MediaPlaylistRoot = forwardRef<HTMLDivElement, MediaPlaylistProps>(\n ({children, className, defaultSelectedIndex = 0, onChange, selectedIndex, 'data-testid': testId, ...props}, ref) => {\n const uniqueId = useId()\n\n const {\n activeIndex,\n currentItemPage,\n getPaginationAttributes,\n getTabListProps,\n getTabPanelProps,\n getTabProps,\n handlePageChange,\n hasOverflowItems,\n headingChild,\n isItemSelected,\n items,\n setItemRef,\n tabListRef,\n } = useMediaPlaylist({\n children,\n components: mediaPlaylistComponents,\n defaultSelectedIndex,\n onChange,\n selectedIndex,\n })\n\n const headingId = headingChild?.props.id ?? `${uniqueId}-heading`\n\n if (!headingChild && (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test')) {\n // eslint-disable-next-line no-console\n console.warn(\n 'MediaPlaylist: Heading child is required. This element labels the playlist for assistive technologies.',\n )\n }\n\n const tabListProps = headingChild\n ? getTabListProps({labelledBy: headingId})\n : getTabListProps({label: 'Media playlist'})\n\n return (\n <div\n ref={ref}\n className={clsx(\n styles.MediaPlaylist,\n gridlineStyles.gridline,\n hasOverflowItems && styles['MediaPlaylist--overflowItems'],\n className,\n )}\n data-testid={testId || testIds.root}\n {...props}\n >\n <div className={styles.MediaPlaylist__layout}>\n <div className={styles.MediaPlaylist__playlist}>\n {headingChild &&\n cloneElement(headingChild, {\n activeIndex,\n id: headingId,\n itemCount: items.length,\n })}\n <div {...tabListProps} ref={tabListRef} className={styles.MediaPlaylist__tablist}>\n {items.map((item, index) => {\n const tabProps = getTabProps<HTMLButtonElement>(String(index))\n\n return (\n <div\n key={index}\n ref={element => {\n setItemRef(index, element)\n }}\n className={clsx(\n styles.MediaPlaylist__item,\n isItemSelected(index) && styles['MediaPlaylist__item--selected'],\n item.className,\n )}\n >\n <button type=\"button\" {...tabProps} className={styles.MediaPlaylist__tab}>\n <span className={styles.MediaPlaylist__tabContent}>\n {item.thumbnail && <span className={styles.MediaPlaylist__thumbnail}>{item.thumbnail}</span>}\n <span className={styles.MediaPlaylist__itemHeadingContent}>{item.heading}</span>\n </span>\n </button>\n </div>\n )\n })}\n </div>\n\n {hasOverflowItems && (\n <Pagination\n className={styles.MediaPlaylist__pagination}\n pageCount={items.length}\n currentPage={currentItemPage}\n onPageChange={handlePageChange}\n hrefBuilder={() => '#'}\n pageAttributesBuilder={getPaginationAttributes}\n aria-label=\"Media playlist items\"\n showPages={false}\n />\n )}\n </div>\n\n <div className={styles.MediaPlaylist__mediaPanels}>\n {items.map((item, index) => {\n const panelProps = getTabPanelProps(String(index))\n\n return (\n <div\n key={index}\n {...panelProps}\n tabIndex={-1}\n className={clsx(styles.MediaPlaylist__mediaPanel, styles.MediaPlaylist__panel)}\n >\n {item.media}\n <div className={styles.MediaPlaylist__panelContent}>{item.content}</div>\n </div>\n )\n })}\n </div>\n </div>\n </div>\n )\n },\n)\n\nexport type MediaPlaylistHeadingProps = React.PropsWithChildren<{\n as?: Exclude<HeadingProps['as'], 'h1'>\n}> &\n BaseProps<HTMLDivElement>\n\ntype MediaPlaylistHeadingInternalProps = {\n activeIndex?: number | null\n itemCount?: number\n}\n\nfunction MediaPlaylistHeading({\n activeIndex = null,\n as = 'h3',\n children,\n className,\n id,\n itemCount = 0,\n ...props\n}: MediaPlaylistHeadingProps & MediaPlaylistHeadingInternalProps) {\n return (\n <div className={clsx(styles.MediaPlaylist__heading, className)} {...props}>\n <Heading as={as} id={id} className={styles.MediaPlaylist__headingLabel}>\n {children}\n </Heading>\n {itemCount > 0 && activeIndex !== null && (\n <span className={styles.MediaPlaylist__headingCounter} aria-live=\"polite\">\n {activeIndex + 1}/{itemCount}\n </span>\n )}\n </div>\n )\n}\n\nexport type MediaPlaylistItemProps = React.PropsWithChildren<\n {\n /**\n * An optional thumbnail to be shown in the playlist for this item.\n */\n thumbnail?: React.ReactNode\n } & BaseProps<HTMLDivElement>\n>\n\nfunction MediaPlaylistItem({children}: MediaPlaylistItemProps) {\n return <>{children}</>\n}\n\nexport type MediaPlaylistItemHeadingProps = Omit<TextProps, 'as' | 'children' | 'title'> & {\n children?: React.ReactNode\n description?: React.ReactNode\n title?: React.ReactNode\n}\n\nfunction MediaPlaylistItemHeading({\n children,\n className,\n description,\n font = 'mona-sans',\n size = '200',\n title,\n variant = 'default',\n weight = 'medium',\n ...props\n}: MediaPlaylistItemHeadingProps) {\n const hasStructuredContent = title !== undefined || description !== undefined\n const headingTitle = title ?? children\n\n return (\n <Text\n {...props}\n as=\"span\"\n className={clsx(styles.MediaPlaylist__itemHeading, className)}\n font={font}\n size={size}\n variant={variant}\n weight={weight}\n >\n {hasStructuredContent ? (\n <span className={styles.MediaPlaylist__itemHeadingDetails}>\n {headingTitle && <span className={styles.MediaPlaylist__itemHeadingTitle}>{headingTitle}</span>}\n {description && (\n <Text as=\"span\" font=\"monospace\" size=\"100\" variant=\"muted\">\n {description}\n </Text>\n )}\n </span>\n ) : (\n children\n )}\n </Text>\n )\n}\n\nexport type MediaPlaylistItemContentProps = React.HTMLAttributes<HTMLDivElement>\n\nfunction MediaPlaylistItemContent({children, className, ...props}: MediaPlaylistItemContentProps) {\n return (\n <div className={clsx(styles.MediaPlaylist__content, className)} {...props}>\n {children}\n </div>\n )\n}\n\nexport type MediaPlaylistItemMediaProps = React.HTMLAttributes<HTMLDivElement>\n\nconst MediaPlaylistItemMedia = forwardRef<HTMLDivElement, MediaPlaylistItemMediaProps>(function MediaPlaylistItemMedia(\n {children, className, ...props},\n ref,\n) {\n return (\n <div ref={ref} className={clsx(styles.MediaPlaylist__media, className)} {...props}>\n {children}\n </div>\n )\n})\n\nconst mediaPlaylistComponents = {\n Heading: MediaPlaylistHeading,\n Item: MediaPlaylistItem,\n ItemHeading: MediaPlaylistItemHeading,\n ItemContent: MediaPlaylistItemContent,\n ItemMedia: MediaPlaylistItemMedia,\n} satisfies MediaPlaylistComponentTypes\n\nconst testIds = {\n root: 'MediaPlaylist',\n}\n\n/**\n * Use MediaPlaylist to pair media playback with an itemized, thumbnail-backed playlist.\n */\nexport const MediaPlaylist = Object.assign(MediaPlaylistRoot, {\n Heading: MediaPlaylistHeading,\n Item: MediaPlaylistItem,\n ItemHeading: MediaPlaylistItemHeading,\n ItemContent: MediaPlaylistItemContent,\n ItemMedia: MediaPlaylistItemMedia,\n testIds,\n})\n"],"mappings":";;;;;;;;;;;;AAoCA,IAAM,IAAoB,GACvB,EAAC,aAAU,cAAW,0BAAuB,GAAG,aAAU,kBAAe,eAAe,GAAQ,GAAG,KAAQ,MAAQ;CAClH,IAAM,IAAW,GAAO,EAElB,EACJ,gBACA,oBACA,4BACA,oBACA,qBACA,gBACA,qBACA,qBACA,iBACA,mBACA,UACA,eACA,kBACE,EAAiB;EACnB;EACA,YAAY;EACZ;EACA;EACA;EACD,CAAC,EAEI,IAAY,GAAc,MAAM,MAAM,GAAG,EAAS;AAExD,CAAI,CAAC,MAAA,QAAA,IAAA,aAA0C,iBAAA,QAAA,IAAA,aAA0C,WAEvF,QAAQ,KACN,yGACD;CAGH,IAAM,IACF,EADiB,IACD,EAAC,YAAY,GAAU,GACvB,EAAC,OAAO,kBAAiB,CAAC;AAE9C,QACE,kBAAC,OAAD;EACO;EACL,WAAW,EACT,EAAO,eACP,EAAe,UACf,KAAoB,EAAO,iCAC3B,EACD;EACD,eAAa,KAAU,EAAQ;EAC/B,GAAI;YAEJ,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB,CACE,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAvB;KACG,KACC,EAAa,GAAc;MACzB;MACA,IAAI;MACJ,WAAW,EAAM;MAClB,CAAC;KACJ,kBAAC,OAAD;MAAK,GAAI;MAAc,KAAK;MAAY,WAAW,EAAO;gBACvD,EAAM,KAAK,GAAM,MAAU;OAC1B,IAAM,IAAW,EAA+B,OAAO,EAAM,CAAC;AAE9D,cACE,kBAAC,OAAD;QAEE,MAAK,MAAW;AACd,WAAW,GAAO,EAAQ;;QAE5B,WAAW,EACT,EAAO,qBACP,EAAe,EAAM,IAAI,EAAO,kCAChC,EAAK,UACN;kBAED,kBAAC,UAAD;SAAQ,MAAK;SAAS,GAAI;SAAU,WAAW,EAAO;mBACpD,kBAAC,QAAD;UAAM,WAAW,EAAO;oBAAxB,CACG,EAAK,aAAa,kBAAC,QAAD;WAAM,WAAW,EAAO;qBAA2B,EAAK;WAAiB,CAAA,EAC5F,kBAAC,QAAD;WAAM,WAAW,EAAO;qBAAoC,EAAK;WAAe,CAAA,CAC3E;;SACA,CAAA;QACL,EAhBC,EAgBD;QAER;MACE,CAAA;KAEL,KACC,kBAAC,GAAD;MACE,WAAW,EAAO;MAClB,WAAW,EAAM;MACjB,aAAa;MACb,cAAc;MACd,mBAAmB;MACnB,uBAAuB;MACvB,cAAW;MACX,WAAW;MACX,CAAA;KAEA;OAEN,kBAAC,OAAD;IAAK,WAAW,EAAO;cACpB,EAAM,KAAK,GAAM,MAId,kBAAC,OAAD;KAEE,GALe,EAAiB,OAAO,EAAM,CAKzC;KACJ,UAAU;KACV,WAAW,EAAK,EAAO,2BAA2B,EAAO,qBAAqB;eAJhF,CAMG,EAAK,OACN,kBAAC,OAAD;MAAK,WAAW,EAAO;gBAA8B,EAAK;MAAc,CAAA,CACpE;OAPC,EAOD,CAER;IACE,CAAA,CACF;;EACF,CAAA;EAGX;AAYD,SAAS,EAAqB,EAC5B,iBAAc,MACd,QAAK,MACL,aACA,cACA,OACA,eAAY,GACZ,GAAG,KAC6D;AAChE,QACE,kBAAC,OAAD;EAAK,WAAW,EAAK,EAAO,wBAAwB,EAAU;EAAE,GAAI;YAApE,CACE,kBAAC,GAAD;GAAa;GAAQ;GAAI,WAAW,EAAO;GACxC;GACO,CAAA,EACT,IAAY,KAAK,MAAgB,QAChC,kBAAC,QAAD;GAAM,WAAW,EAAO;GAA+B,aAAU;aAAjE;IACG,IAAc;IAAE;IAAE;IACd;KAEL;;;AAaV,SAAS,EAAkB,EAAC,eAAmC;AAC7D,QAAO,kBAAA,GAAA,EAAG,aAAY,CAAA;;AASxB,SAAS,EAAyB,EAChC,aACA,cACA,gBACA,UAAO,aACP,UAAO,OACP,UACA,aAAU,WACV,YAAS,UACT,GAAG,KAC6B;CAChC,IAAM,IAAuB,MAAU,KAAA,KAAa,MAAgB,KAAA,GAC9D,IAAe,KAAS;AAE9B,QACE,kBAAC,GAAD;EACE,GAAI;EACJ,IAAG;EACH,WAAW,EAAK,EAAO,4BAA4B,EAAU;EACvD;EACA;EACG;EACD;YAEP,IACC,kBAAC,QAAD;GAAM,WAAW,EAAO;aAAxB,CACG,KAAgB,kBAAC,QAAD;IAAM,WAAW,EAAO;cAAkC;IAAoB,CAAA,EAC9F,KACC,kBAAC,GAAD;IAAM,IAAG;IAAO,MAAK;IAAY,MAAK;IAAM,SAAQ;cACjD;IACI,CAAA,CAEJ;OAEP;EAEG,CAAA;;AAMX,SAAS,EAAyB,EAAC,aAAU,cAAW,GAAG,KAAuC;AAChG,QACE,kBAAC,OAAD;EAAK,WAAW,EAAK,EAAO,wBAAwB,EAAU;EAAE,GAAI;EACjE;EACG,CAAA;;AAMV,IAAM,IAAyB,EAAwD,SACrF,EAAC,aAAU,cAAW,GAAG,KACzB,GACA;AACA,QACE,kBAAC,OAAD;EAAU;EAAK,WAAW,EAAK,EAAO,sBAAsB,EAAU;EAAE,GAAI;EACzE;EACG,CAAA;EAER,EAEI,IAA0B;CAC9B,SAAS;CACT,MAAM;CACN,aAAa;CACb,aAAa;CACb,WAAW;CACZ,EAEK,IAAU,EACd,MAAM,iBACP,EAKY,IAAgB,OAAO,OAAO,GAAmB;CAC5D,SAAS;CACT,MAAM;CACN,aAAa;CACb,aAAa;CACb,WAAW;CACX;CACD,CAAC"}
@@ -0,0 +1 @@
1
+ .Primer_Brand__MediaPlaylist-module__MediaPlaylist___mqadg{padding-block-start:var(--base-size-36);padding-inline:var(--base-size-20)}@media screen and (width<=63.24rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___mqadg{width:100%;max-width:38.625rem;margin-inline:auto;padding:0}}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__layout___Jxb17{background:var(--brand-MediaPlaylist-bgColor);flex-direction:column;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__playlist___r232y{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);order:2;min-width:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__heading___bvLnj{min-height:var(--base-size-48);align-items:center;gap:var(--base-size-8);padding:var(--base-size-12) var(--base-size-16);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);color:var(--brand-color-text-muted);font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);text-transform:uppercase;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__headingLabel___cOPfs{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;margin:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__headingCounter___xJSQs{align-items:center;gap:var(--base-size-8);color:var(--brand-color-text-default);display:inline-flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__headingCounter___xJSQs:before{content:"•";color:var(--brand-color-text-muted)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanels___bgH_2{width:100%;padding:var(--base-size-16);order:1}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanel___YI_I2{min-width:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanel___YI_I2[hidden]{display:none}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panel___iC9Tx{gap:var(--base-size-20);flex-direction:column;width:100%;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___nD2Xr{max-width:var(--brand-Prose-lineLength)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___HVCCb{background-color:var(--base-color-scale-black-0);overflow:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___HVCCb img,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___HVCCb picture,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___HVCCb video,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___HVCCb iframe{width:100%;max-width:100%;display:block}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tablist___EhGxB{flex-direction:column;order:2;display:flex;overflow-x:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist--overflowItems___QWHRc .Primer_Brand__MediaPlaylist-module__MediaPlaylist__tablist___EhGxB{max-block-size:calc((3 * var(--base-size-64)) + (6 * var(--base-size-12)));overscroll-behavior:contain;scroll-padding-block:var(--base-size-24);overflow-y:auto}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__pagination___mct_v{padding:var(--base-size-12) var(--base-size-16) var(--base-size-16);border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);order:3;justify-content:center;margin:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item___KJx6C{min-width:0;min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-12)));flex-direction:column;flex:none;align-items:flex-start;display:flex;position:relative;overflow-x:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item___KJx6C:before{content:"";height:var(--brand-borderWidth-thin);transform-origin:50% 100%;background-color:var(--brand-color-border-muted);transition:transform var(--brand-animation-duration-fast) ease, background-color var(--brand-animation-duration-fast) ease;position:absolute;inset-block-end:0;inset-inline:0;transform:scaleY(1)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item--selected___Ihn_G{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item--selected___Ihn_G:before{background-color:var(--brand-color-accent-primary);transform:scaleY(2)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeading___j5Q2s{color:var(--brand-color-text-muted);margin:0;display:block}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item--selected___Ihn_G .Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeading___j5Q2s{color:var(--brand-color-text-default)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingContent___pzVd0{flex:auto;min-width:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingDetails___wQCnu{gap:var(--base-size-4);flex-direction:column;min-width:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingTitle___F1sIm{color:inherit;word-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tab___LvxjX{box-sizing:border-box;width:100%;min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-12)));color:inherit;font:inherit;text-align:left;cursor:pointer;padding:var(--base-size-12) var(--base-size-16);background:0 0;border:0;outline:none;flex-direction:column;align-items:flex-start;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tabContent___9cPbZ{align-items:flex-start;gap:var(--base-size-12);width:100%;min-width:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__thumbnail___PENaA{width:var(--base-size-112);block-size:calc(var(--base-size-64) - var(--brand-borderWidth-thin));aspect-ratio:16/9;border-radius:var(--brand-borderRadius-small);background-color:var(--brand-color-canvas-subtle);flex-shrink:0;display:block;overflow:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__thumbnail___PENaA>*{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tab___LvxjX:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-4)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__content___m36IL{align-items:flex-start;gap:var(--base-size-12);flex-direction:column;display:flex}@media screen and (width>=38.625rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___mqadg{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=63.25rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___mqadg{box-sizing:border-box;width:100%;border-inline:none;max-inline-size:80rem;margin-inline:auto;padding:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__layout___Jxb17{--brand-MediaPlaylist-desktopGutter:3.75rem;--brand-MediaPlaylist-sidebarWidth:27rem;box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,27rem);grid-template-areas:"media tabs";grid-template-columns:minmax(0, 1fr) minmax(0, var(--brand-MediaPlaylist-sidebarWidth));grid-column-gap:3.75rem;grid-column-gap:var(--brand-MediaPlaylist-desktopGutter);-moz-column-gap:3.75rem;-moz-column-gap:var(--brand-MediaPlaylist-desktopGutter);column-gap:3.75rem;column-gap:var(--brand-MediaPlaylist-desktopGutter);width:100%;padding-inline-start:3.75rem;padding-inline-start:var(--brand-MediaPlaylist-desktopGutter);display:grid}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__playlist___r232y{border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);flex-direction:column;grid-area:tabs;align-self:stretch;padding-block-start:calc(var(--base-size-48) + var(--base-size-12));display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist--overflowItems___QWHRc .Primer_Brand__MediaPlaylist-module__MediaPlaylist__tablist___EhGxB{max-block-size:calc((3 * var(--base-size-64)) + (6 * var(--base-size-20)))}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanels___bgH_2{padding-block:var(--base-size-80);grid-area:media;justify-content:flex-start;align-items:flex-start;padding-inline:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanel___YI_I2{width:100%}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panel___iC9Tx{gap:var(--base-size-40)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___nD2Xr,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___HVCCb{width:100%}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___HVCCb iframe{aspect-ratio:16/9;border-radius:var(--base-size-6)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingDetails___wQCnu{font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___nD2Xr h1+p,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___nD2Xr h2+p,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___nD2Xr h3+p{margin-block-start:var(--base-size-12)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__heading___bvLnj{min-height:auto;padding-block-start:var(--base-size-24);padding-block-end:var(--base-size-12);padding-inline-start:var(--base-size-32);padding-inline-end:var(--brand-MediaPlaylist-desktopGutter)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item___KJx6C{min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-20)))}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tab___LvxjX{min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-20)));padding-block:var(--base-size-20);padding-inline-start:var(--base-size-32);padding-inline-end:var(--brand-MediaPlaylist-desktopGutter)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tabContent___9cPbZ{align-items:center}}@media screen and (width>=80rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___mqadg{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__playlist___r232y{border-inline-end:0}}
@@ -0,0 +1,30 @@
1
+ import './MediaPlaylist.module-BU39a4-W.css';var e = {
2
+ MediaPlaylist: "Primer_Brand__MediaPlaylist-module__MediaPlaylist___mqadg",
3
+ MediaPlaylist__layout: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__layout___Jxb17",
4
+ MediaPlaylist__playlist: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__playlist___r232y",
5
+ MediaPlaylist__heading: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__heading___bvLnj",
6
+ MediaPlaylist__headingLabel: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__headingLabel___cOPfs",
7
+ MediaPlaylist__headingCounter: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__headingCounter___xJSQs",
8
+ MediaPlaylist__mediaPanels: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanels___bgH_2",
9
+ MediaPlaylist__mediaPanel: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanel___YI_I2",
10
+ MediaPlaylist__panel: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__panel___iC9Tx",
11
+ MediaPlaylist__panelContent: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___nD2Xr",
12
+ MediaPlaylist__media: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___HVCCb",
13
+ MediaPlaylist__tablist: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__tablist___EhGxB",
14
+ "MediaPlaylist--overflowItems": "Primer_Brand__MediaPlaylist-module__MediaPlaylist--overflowItems___QWHRc",
15
+ MediaPlaylist__pagination: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__pagination___mct_v",
16
+ MediaPlaylist__item: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__item___KJx6C",
17
+ "MediaPlaylist__item--selected": "Primer_Brand__MediaPlaylist-module__MediaPlaylist__item--selected___Ihn_G",
18
+ MediaPlaylist__itemHeading: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeading___j5Q2s",
19
+ MediaPlaylist__itemHeadingContent: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingContent___pzVd0",
20
+ MediaPlaylist__itemHeadingDetails: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingDetails___wQCnu",
21
+ MediaPlaylist__itemHeadingTitle: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingTitle___F1sIm",
22
+ MediaPlaylist__tab: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__tab___LvxjX",
23
+ MediaPlaylist__tabContent: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__tabContent___9cPbZ",
24
+ MediaPlaylist__thumbnail: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__thumbnail___PENaA",
25
+ MediaPlaylist__content: "Primer_Brand__MediaPlaylist-module__MediaPlaylist__content___m36IL"
26
+ };
27
+ //#endregion
28
+ export { e as default };
29
+
30
+ //# sourceMappingURL=MediaPlaylist.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPlaylist.module.js","names":[],"sources":["../../src/MediaPlaylist/MediaPlaylist.module.css"],"sourcesContent":[".MediaPlaylist {\n padding-block-start: var(--base-size-36);\n padding-inline: var(--base-size-20);\n}\n\n@media screen and (max-width: 63.24rem) {\n .MediaPlaylist {\n width: 100%;\n max-width: 38.625rem;\n margin-inline: auto;\n padding: 0;\n }\n}\n\n.MediaPlaylist__layout {\n display: flex;\n flex-direction: column;\n background: var(--brand-MediaPlaylist-bgColor);\n}\n\n.MediaPlaylist__playlist {\n order: 2;\n min-width: 0;\n border-block-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n}\n\n.MediaPlaylist__heading {\n display: flex;\n min-height: var(--base-size-48);\n align-items: center;\n gap: var(--base-size-8);\n padding: var(--base-size-12) var(--base-size-16);\n border-block-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n color: var(--brand-color-text-muted);\n font-family: var(--brand-fontStack-monospace);\n font-size: var(--brand-text-size-100);\n line-height: var(--brand-text-lineHeight-100);\n text-transform: uppercase;\n}\n\n.MediaPlaylist__headingLabel {\n margin: 0;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n line-height: inherit;\n text-transform: inherit;\n}\n\n.MediaPlaylist__headingCounter {\n display: inline-flex;\n align-items: center;\n gap: var(--base-size-8);\n color: var(--brand-color-text-default);\n}\n\n.MediaPlaylist__headingCounter::before {\n content: '•';\n color: var(--brand-color-text-muted);\n}\n\n.MediaPlaylist__mediaPanels {\n order: 1;\n width: 100%;\n padding: var(--base-size-16);\n}\n\n.MediaPlaylist__mediaPanel {\n min-width: 0;\n}\n\n.MediaPlaylist__mediaPanel[hidden] {\n display: none;\n}\n\n.MediaPlaylist__panel {\n display: flex;\n flex-direction: column;\n gap: var(--base-size-20);\n width: 100%;\n}\n\n.MediaPlaylist__panelContent {\n max-width: var(--brand-Prose-lineLength);\n}\n\n.MediaPlaylist__media {\n overflow: hidden;\n background-color: var(--base-color-scale-black-0);\n}\n\n.MediaPlaylist__media :is(img, picture, video, iframe) {\n display: block;\n width: 100%;\n max-width: 100%;\n}\n\n.MediaPlaylist__tablist {\n order: 2;\n display: flex;\n flex-direction: column;\n overflow-x: hidden;\n}\n\n.MediaPlaylist--overflowItems .MediaPlaylist__tablist {\n max-block-size: calc((3 * var(--base-size-64)) + (6 * var(--base-size-12)));\n overflow-y: auto;\n overscroll-behavior: contain;\n scroll-padding-block: var(--base-size-24);\n}\n\n.MediaPlaylist__pagination {\n order: 3;\n display: flex;\n justify-content: center;\n margin: 0;\n padding: var(--base-size-12) var(--base-size-16) var(--base-size-16);\n border-block-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n}\n\n.MediaPlaylist__item {\n position: relative;\n min-width: 0;\n display: flex;\n flex: 0 0 auto;\n flex-direction: column;\n align-items: flex-start;\n min-block-size: calc(var(--base-size-64) + (2 * var(--base-size-12)));\n overflow-x: hidden;\n}\n\n.MediaPlaylist__item::before {\n content: '';\n position: absolute;\n inset-block-end: 0;\n inset-inline: 0;\n height: var(--brand-borderWidth-thin);\n transform: scaleY(1);\n transform-origin: 50% 100%;\n background-color: var(--brand-color-border-muted);\n transition: transform var(--brand-animation-duration-fast) ease,\n background-color var(--brand-animation-duration-fast) ease;\n}\n\n.MediaPlaylist__item--selected {\n background-color: var(--brand-color-canvas-subtle);\n}\n\n.MediaPlaylist__item--selected::before {\n transform: scaleY(2);\n background-color: var(--brand-color-accent-primary);\n}\n\n.MediaPlaylist__itemHeading {\n display: block;\n margin: 0;\n color: var(--brand-color-text-muted);\n}\n\n.MediaPlaylist__item--selected .MediaPlaylist__itemHeading {\n color: var(--brand-color-text-default);\n}\n\n.MediaPlaylist__itemHeadingContent {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.MediaPlaylist__itemHeadingDetails {\n display: flex;\n flex-direction: column;\n gap: var(--base-size-4);\n min-width: 0;\n}\n\n.MediaPlaylist__itemHeadingTitle {\n display: -webkit-box;\n color: inherit;\n overflow: hidden;\n overflow-wrap: anywhere;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n}\n\n.MediaPlaylist__tab {\n box-sizing: border-box;\n width: 100%;\n min-block-size: calc(var(--base-size-64) + (2 * var(--base-size-12)));\n border: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n text-align: left;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n cursor: pointer;\n outline: none;\n padding: var(--base-size-12) var(--base-size-16);\n}\n\n.MediaPlaylist__tabContent {\n display: flex;\n align-items: flex-start;\n min-width: 0;\n width: 100%;\n gap: var(--base-size-12);\n}\n\n.MediaPlaylist__thumbnail {\n display: block;\n flex-shrink: 0;\n width: var(--base-size-112);\n block-size: calc(var(--base-size-64) - var(--brand-borderWidth-thin));\n overflow: hidden;\n aspect-ratio: 16 / 9;\n border-radius: var(--brand-borderRadius-small);\n background-color: var(--brand-color-canvas-subtle);\n}\n\n.MediaPlaylist__thumbnail > * {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.MediaPlaylist__tab:focus-visible {\n outline: var(--brand-borderWidth-thick) solid var(--brand-color-focus);\n outline-offset: var(--base-size-4);\n}\n\n.MediaPlaylist__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--base-size-12);\n}\n\n@media screen and (min-width: 38.625rem) {\n .MediaPlaylist {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n@media screen and (min-width: 63.25rem) {\n .MediaPlaylist {\n box-sizing: border-box;\n width: 100%;\n max-inline-size: 80rem;\n margin-inline: auto;\n padding: 0;\n border-inline: none;\n }\n\n .MediaPlaylist__layout {\n --brand-MediaPlaylist-desktopGutter: 3.75rem;\n --brand-MediaPlaylist-sidebarWidth: 27rem;\n\n display: grid;\n box-sizing: border-box;\n width: 100%;\n grid-template-areas: 'media tabs';\n grid-template-columns: minmax(0, 1fr) minmax(0, var(--brand-MediaPlaylist-sidebarWidth));\n column-gap: var(--brand-MediaPlaylist-desktopGutter);\n padding-inline-start: var(--brand-MediaPlaylist-desktopGutter);\n }\n\n .MediaPlaylist__playlist {\n grid-area: tabs;\n display: flex;\n flex-direction: column;\n align-self: stretch;\n padding-block-start: calc(var(--base-size-48) + var(--base-size-12));\n border: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n\n .MediaPlaylist--overflowItems .MediaPlaylist__tablist {\n max-block-size: calc((3 * var(--base-size-64)) + (6 * var(--base-size-20)));\n }\n\n .MediaPlaylist__mediaPanels {\n grid-area: media;\n display: flex;\n align-items: flex-start;\n justify-content: flex-start;\n padding-block: var(--base-size-80);\n padding-inline: 0;\n }\n\n .MediaPlaylist__mediaPanel {\n width: 100%;\n }\n\n .MediaPlaylist__panel {\n gap: var(--base-size-40);\n }\n\n .MediaPlaylist__panelContent {\n width: 100%;\n }\n\n .MediaPlaylist__media {\n width: 100%;\n }\n\n .MediaPlaylist__media iframe {\n aspect-ratio: 16 / 9;\n border-radius: var(--base-size-6);\n }\n\n .MediaPlaylist__itemHeadingDetails {\n font-size: var(--brand-text-size-200);\n line-height: var(--brand-text-lineHeight-200);\n }\n\n .MediaPlaylist__panelContent :is(h1, h2, h3) + p {\n margin-block-start: var(--base-size-12);\n }\n\n .MediaPlaylist__heading {\n min-height: auto;\n padding-block-start: var(--base-size-24);\n padding-block-end: var(--base-size-12);\n padding-inline-start: var(--base-size-32);\n padding-inline-end: var(--brand-MediaPlaylist-desktopGutter);\n }\n\n .MediaPlaylist__item {\n min-block-size: calc(var(--base-size-64) + (2 * var(--base-size-20)));\n }\n\n .MediaPlaylist__tab {\n min-block-size: calc(var(--base-size-64) + (2 * var(--base-size-20)));\n padding-block: var(--base-size-20);\n padding-inline-start: var(--base-size-32);\n padding-inline-end: var(--brand-MediaPlaylist-desktopGutter);\n }\n\n .MediaPlaylist__tabContent {\n align-items: center;\n }\n}\n\n@media screen and (min-width: 80rem) {\n .MediaPlaylist {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n\n .MediaPlaylist__playlist {\n border-inline-end: 0;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './MediaPlaylist';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/MediaPlaylist/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1,84 @@
1
+ import React from 'react';
2
+ import type { PaginationPageType } from '../Pagination/model';
3
+ type UseMediaPlaylistProps = {
4
+ children: React.ReactNode;
5
+ components: MediaPlaylistComponentTypes;
6
+ defaultSelectedIndex: number;
7
+ onChange?: (selectedIndex: number) => void;
8
+ selectedIndex?: number;
9
+ };
10
+ /**
11
+ * Internal only hook used by MediaPlaylist to manage state and behavior.
12
+ * @private
13
+ * @internal
14
+ */
15
+ export type MediaPlaylistComponentTypes = {
16
+ Heading: React.ElementType;
17
+ Item: React.ElementType;
18
+ ItemHeading: React.ElementType;
19
+ ItemContent: React.ElementType;
20
+ ItemMedia: React.ElementType;
21
+ };
22
+ type MediaPlaylistHeadingChildProps = {
23
+ activeIndex?: number | null;
24
+ id?: string;
25
+ itemCount?: number;
26
+ };
27
+ type MediaPlaylistItemChildProps = React.PropsWithChildren<Record<string, unknown>>;
28
+ type MediaPlaylistItemChild = React.ReactElement<MediaPlaylistItemChildProps>;
29
+ type MediaPlaylistItemData = {
30
+ className?: string;
31
+ content: MediaPlaylistItemChild;
32
+ heading: MediaPlaylistItemChild;
33
+ media: MediaPlaylistItemChild;
34
+ thumbnail?: React.ReactNode;
35
+ };
36
+ /**
37
+ * Internal only hook used by MediaPlaylist to manage state and behavior.
38
+ * @private
39
+ * @internal
40
+ */
41
+ export declare function useMediaPlaylist({ children, components, defaultSelectedIndex, onChange, selectedIndex, }: UseMediaPlaylistProps): {
42
+ activeIndex: number | null;
43
+ currentItemPage: number;
44
+ getPaginationAttributes: (pageNumber: number, page: PaginationPageType) => {
45
+ [key: string]: string;
46
+ };
47
+ getTabListProps: (props: {
48
+ label: string;
49
+ labelledBy?: never;
50
+ } | {
51
+ labelledBy: string;
52
+ label?: never;
53
+ }) => {
54
+ role: "tablist";
55
+ 'aria-orientation': "horizontal" | "vertical";
56
+ };
57
+ getTabPanelProps: (id: string) => {
58
+ role: "tabpanel";
59
+ id: `tabs-${string}-panel-${string}`;
60
+ 'aria-labelledby': `tabs-${string}-tab-${string}`;
61
+ hidden: boolean;
62
+ tabIndex: 0;
63
+ };
64
+ getTabProps: <T extends HTMLElement = HTMLElement>(id: string, externalRef?: React.Ref<T>) => {
65
+ role: "tab";
66
+ id: `tabs-${string}-tab-${string}`;
67
+ 'aria-controls': `tabs-${string}-panel-${string}`;
68
+ 'aria-selected': boolean;
69
+ tabIndex: 0 | -1;
70
+ onClick: () => void;
71
+ onKeyDown: (event: React.KeyboardEvent) => void;
72
+ onFocus: () => void;
73
+ ref: (element: HTMLElement | null) => void;
74
+ };
75
+ handlePageChange: (event: React.MouseEvent, page: number) => void;
76
+ hasOverflowItems: boolean;
77
+ headingChild: React.ReactElement<MediaPlaylistHeadingChildProps, string | React.JSXElementConstructor<any>> | null;
78
+ isItemSelected: (index: number) => boolean;
79
+ items: MediaPlaylistItemData[];
80
+ setItemRef: (index: number, element: HTMLDivElement | null) => void;
81
+ tabListRef: React.RefObject<HTMLDivElement | null>;
82
+ };
83
+ export {};
84
+ //# sourceMappingURL=useMediaPlaylist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMediaPlaylist.d.ts","sourceRoot":"","sources":["../../src/MediaPlaylist/useMediaPlaylist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAG3D,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,EAAE,2BAA2B,CAAA;IACvC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAA;IAC1B,IAAI,EAAE,KAAK,CAAC,WAAW,CAAA;IACvB,WAAW,EAAE,KAAK,CAAC,WAAW,CAAA;IAC9B,WAAW,EAAE,KAAK,CAAC,WAAW,CAAA;IAC9B,SAAS,EAAE,KAAK,CAAC,WAAW,CAAA;CAC7B,CAAA;AAED,KAAK,8BAA8B,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAOD,KAAK,2BAA2B,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAEnF,KAAK,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAA;AAE7E,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,sBAAsB,CAAA;IAC/B,OAAO,EAAE,sBAAsB,CAAA;IAC/B,KAAK,EAAE,sBAAsB,CAAA;IAC7B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC5B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,QAAQ,EACR,aAAa,GACd,EAAE,qBAAqB;;;0CA8FmC,MAAM,QAAQ,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BArB/E,KAAK,CAAC,UAAU,QAAQ,MAAM;;;4BAeG,MAAM;;wBAEV,MAAM,WAAW,cAAc,GAAG,IAAI;;EAuC9E"}