@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,114 @@
1
+ import { useTabs as e } from "../hooks/useTabs.js";
2
+ import t, { useCallback as n, useEffect as r, useMemo as i, useRef as a } from "react";
3
+ //#region src/MediaPlaylist/useMediaPlaylist.ts
4
+ function o({ children: t, components: o, defaultSelectedIndex: s, onChange: u, selectedIndex: d }) {
5
+ let { headingChild: f, items: p } = i(() => c(t, o), [t, o]), m = p.length, h = l(s, m), g = typeof d == "number" && Number.isFinite(d) ? l(d, m) : null, _ = g ?? h, v = _ === null ? void 0 : String(_), y = m > 3, b = a(null), x = a([]), S = a(!1), C = n((e) => {
6
+ let t = b.current, n = x.current[e];
7
+ !t || !n || typeof t.scrollTo != "function" || t.scrollTo({
8
+ top: Math.max(0, n.offsetTop - t.offsetTop),
9
+ behavior: "smooth"
10
+ });
11
+ }, []), { activeTab: w, activateTab: T, getTabListProps: E, getTabPanelProps: D, getTabProps: O } = e({
12
+ defaultTab: v,
13
+ onTabActivate: n((e) => {
14
+ let t = Number(e);
15
+ if (!Number.isNaN(t)) {
16
+ if (y && C(t), S.current) {
17
+ S.current = !1;
18
+ return;
19
+ }
20
+ u?.(t);
21
+ }
22
+ }, [
23
+ y,
24
+ u,
25
+ C
26
+ ]),
27
+ orientation: "vertical"
28
+ }), k = w === null ? _ : l(Number(w), m), A = k === null ? 1 : k + 1;
29
+ r(() => {
30
+ if (g === null) return;
31
+ let e = String(g);
32
+ w !== e && (S.current = !0, T(e));
33
+ }, [
34
+ T,
35
+ w,
36
+ g
37
+ ]), r(() => {
38
+ k === null || w === String(k) || (S.current = !0, T(String(k)));
39
+ }, [
40
+ T,
41
+ k,
42
+ w
43
+ ]);
44
+ let j = n((e, t) => {
45
+ e.preventDefault();
46
+ let n = l(t - 1, m);
47
+ n !== null && (C(n), w !== String(n) && T(String(n)));
48
+ }, [
49
+ T,
50
+ w,
51
+ m,
52
+ C
53
+ ]), M = n((e) => w === String(e), [w]), N = n((e, t) => {
54
+ x.current[e] = t;
55
+ }, []);
56
+ return {
57
+ activeIndex: k,
58
+ currentItemPage: A,
59
+ getPaginationAttributes: n((e, t) => {
60
+ switch (t.type) {
61
+ case "PREV": return { "aria-label": "Previous video" };
62
+ case "NEXT": return { "aria-label": "Next video" };
63
+ case "NUM": {
64
+ let n = { "aria-label": `Video ${e}` };
65
+ return t.selected && (n["aria-current"] = "step"), n;
66
+ }
67
+ case "BREAK": return {};
68
+ }
69
+ }, []),
70
+ getTabListProps: E,
71
+ getTabPanelProps: D,
72
+ getTabProps: O,
73
+ handlePageChange: j,
74
+ hasOverflowItems: y,
75
+ headingChild: f,
76
+ isItemSelected: M,
77
+ items: p,
78
+ setItemRef: N,
79
+ tabListRef: b
80
+ };
81
+ }
82
+ var s = (e) => (n) => t.isValidElement(n) && n.type === e;
83
+ function c(e, n) {
84
+ let r = s(n.Heading), i = s(n.Item), a = s(n.ItemHeading), o = s(n.ItemContent), c = s(n.ItemMedia), l = {
85
+ headingChild: null,
86
+ items: []
87
+ };
88
+ for (let n of t.Children.toArray(e)) {
89
+ if (r(n)) {
90
+ l.headingChild = n;
91
+ continue;
92
+ }
93
+ if (!i(n)) continue;
94
+ let e = t.Children.toArray(n.props.children), s = {
95
+ heading: null,
96
+ content: null,
97
+ media: null
98
+ };
99
+ for (let t of e) a(t) && (s.heading = t), o(t) && (s.content = t), c(t) && (s.media = t);
100
+ !s.heading || !s.content || !s.media || l.items.push({
101
+ className: n.props.className,
102
+ content: s.content,
103
+ heading: s.heading,
104
+ media: s.media,
105
+ thumbnail: n.props.thumbnail
106
+ });
107
+ }
108
+ return l;
109
+ }
110
+ var l = (e, t) => t < 1 ? null : Math.min(Math.max(Number.isFinite(e) ? Math.trunc(e) : 0, 0), t - 1);
111
+ //#endregion
112
+ export { o as useMediaPlaylist };
113
+
114
+ //# sourceMappingURL=useMediaPlaylist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMediaPlaylist.js","names":[],"sources":["../../src/MediaPlaylist/useMediaPlaylist.ts"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useRef} from 'react'\n\nimport type {PaginationPageType} from '../Pagination/model'\nimport {useTabs} from '../hooks/useTabs'\n\ntype UseMediaPlaylistProps = {\n children: React.ReactNode\n components: MediaPlaylistComponentTypes\n defaultSelectedIndex: number\n onChange?: (selectedIndex: number) => void\n selectedIndex?: number\n}\n\n/**\n * Internal only hook used by MediaPlaylist to manage state and behavior.\n * @private\n * @internal\n */\nexport type MediaPlaylistComponentTypes = {\n Heading: React.ElementType\n Item: React.ElementType\n ItemHeading: React.ElementType\n ItemContent: React.ElementType\n ItemMedia: React.ElementType\n}\n\ntype MediaPlaylistHeadingChildProps = {\n activeIndex?: number | null\n id?: string\n itemCount?: number\n}\n\ntype MediaPlaylistItemProps = React.PropsWithChildren<{\n className?: string\n thumbnail?: React.ReactNode\n}>\n\ntype MediaPlaylistItemChildProps = React.PropsWithChildren<Record<string, unknown>>\n\ntype MediaPlaylistItemChild = React.ReactElement<MediaPlaylistItemChildProps>\n\ntype MediaPlaylistItemData = {\n className?: string\n content: MediaPlaylistItemChild\n heading: MediaPlaylistItemChild\n media: MediaPlaylistItemChild\n thumbnail?: React.ReactNode\n}\n\n/**\n * Internal only hook used by MediaPlaylist to manage state and behavior.\n * @private\n * @internal\n */\nexport function useMediaPlaylist({\n children,\n components,\n defaultSelectedIndex,\n onChange,\n selectedIndex,\n}: UseMediaPlaylistProps) {\n const {headingChild, items} = useMemo(() => getMediaPlaylistChildren(children, components), [children, components])\n const itemCount = items.length\n const defaultActiveIndex = getValidIndex(defaultSelectedIndex, itemCount)\n\n const controlledActiveIndex =\n typeof selectedIndex === 'number' && Number.isFinite(selectedIndex) ? getValidIndex(selectedIndex, itemCount) : null\n\n const initialActiveIndex = controlledActiveIndex ?? defaultActiveIndex\n const initialActiveTab = initialActiveIndex === null ? undefined : String(initialActiveIndex)\n const hasOverflowItems = itemCount > 3\n const tabListRef = useRef<HTMLDivElement>(null)\n const itemRefs = useRef<Array<HTMLDivElement | null>>([])\n const suppressOnTabActivateRef = useRef(false)\n\n const scrollListToIndex = useCallback((index: number) => {\n const tabList = tabListRef.current\n const item = itemRefs.current[index]\n\n if (!tabList || !item || typeof tabList.scrollTo !== 'function') return\n\n tabList.scrollTo({\n top: Math.max(0, item.offsetTop - tabList.offsetTop),\n behavior: 'smooth',\n })\n }, [])\n\n const handleTabActivate = useCallback(\n (id: string) => {\n const nextIndex = Number(id)\n if (Number.isNaN(nextIndex)) return\n\n if (hasOverflowItems) {\n scrollListToIndex(nextIndex)\n }\n\n if (suppressOnTabActivateRef.current) {\n suppressOnTabActivateRef.current = false\n return\n }\n\n onChange?.(nextIndex)\n },\n [hasOverflowItems, onChange, scrollListToIndex],\n )\n\n const {activeTab, activateTab, getTabListProps, getTabPanelProps, getTabProps} = useTabs({\n defaultTab: initialActiveTab,\n onTabActivate: handleTabActivate,\n orientation: 'vertical',\n })\n\n const activeIndex = activeTab === null ? initialActiveIndex : getValidIndex(Number(activeTab), itemCount)\n const currentItemPage = activeIndex === null ? 1 : activeIndex + 1\n\n useEffect(() => {\n if (controlledActiveIndex === null) return\n\n const controlledTab = String(controlledActiveIndex)\n if (activeTab !== controlledTab) {\n suppressOnTabActivateRef.current = true\n activateTab(controlledTab)\n }\n }, [activateTab, activeTab, controlledActiveIndex])\n\n useEffect(() => {\n if (activeIndex === null || activeTab === String(activeIndex)) return\n\n suppressOnTabActivateRef.current = true\n activateTab(String(activeIndex))\n }, [activateTab, activeIndex, activeTab])\n\n const handlePageChange = useCallback(\n (event: React.MouseEvent, page: number) => {\n event.preventDefault()\n\n const nextIndex = getValidIndex(page - 1, itemCount)\n if (nextIndex === null) return\n\n scrollListToIndex(nextIndex)\n\n if (activeTab !== String(nextIndex)) {\n activateTab(String(nextIndex))\n }\n },\n [activateTab, activeTab, itemCount, scrollListToIndex],\n )\n\n const isItemSelected = useCallback((index: number) => activeTab === String(index), [activeTab])\n\n const setItemRef = useCallback((index: number, element: HTMLDivElement | null) => {\n itemRefs.current[index] = element\n }, [])\n\n const getPaginationAttributes = useCallback((pageNumber: number, page: PaginationPageType) => {\n switch (page.type) {\n case 'PREV':\n return {'aria-label': 'Previous video'}\n case 'NEXT':\n return {'aria-label': 'Next video'}\n case 'NUM': {\n const attributes: {[key: string]: string} = {'aria-label': `Video ${pageNumber}`}\n\n if (page.selected) {\n attributes['aria-current'] = 'step'\n }\n\n return attributes\n }\n case 'BREAK':\n return {}\n }\n }, [])\n\n return {\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 }\n}\n\nconst createComponentTypeGuard =\n <T>(componentType: React.ElementType) =>\n (element: unknown): element is React.ReactElement<T> =>\n React.isValidElement<T>(element) && element.type === componentType\n\nfunction getMediaPlaylistChildren(children: React.ReactNode, components: MediaPlaylistComponentTypes) {\n const isHeading = createComponentTypeGuard<MediaPlaylistHeadingChildProps>(components.Heading)\n const isItem = createComponentTypeGuard<MediaPlaylistItemProps>(components.Item)\n const isItemHeading = createComponentTypeGuard<MediaPlaylistItemChildProps>(components.ItemHeading)\n const isItemContent = createComponentTypeGuard<MediaPlaylistItemChildProps>(components.ItemContent)\n const isItemMedia = createComponentTypeGuard<MediaPlaylistItemChildProps>(components.ItemMedia)\n\n const playlistChildren = {\n headingChild: null as React.ReactElement<MediaPlaylistHeadingChildProps> | null,\n items: [] as MediaPlaylistItemData[],\n }\n\n for (const child of React.Children.toArray(children)) {\n if (isHeading(child)) {\n playlistChildren.headingChild = child\n continue\n }\n\n if (!isItem(child)) {\n continue\n }\n\n const itemChildren = React.Children.toArray(child.props.children)\n\n const itemParts = {\n heading: null as MediaPlaylistItemChild | null,\n content: null as MediaPlaylistItemChild | null,\n media: null as MediaPlaylistItemChild | null,\n }\n\n for (const itemChild of itemChildren) {\n if (isItemHeading(itemChild)) {\n itemParts.heading = itemChild\n }\n\n if (isItemContent(itemChild)) {\n itemParts.content = itemChild\n }\n\n if (isItemMedia(itemChild)) {\n itemParts.media = itemChild\n }\n }\n\n if (!itemParts.heading || !itemParts.content || !itemParts.media) {\n continue\n }\n\n playlistChildren.items.push({\n className: child.props.className,\n content: itemParts.content,\n heading: itemParts.heading,\n media: itemParts.media,\n thumbnail: child.props.thumbnail,\n })\n }\n\n return playlistChildren\n}\n\nconst getValidIndex = (index: number, length: number) => {\n if (length < 1) return null\n\n const normalizedIndex = Number.isFinite(index) ? Math.trunc(index) : 0\n return Math.min(Math.max(normalizedIndex, 0), length - 1)\n}\n"],"mappings":"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"}
@@ -1,14 +1,11 @@
1
1
  import React from 'react';
2
- /**
3
- * Design tokens
4
- */
5
- import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/pagination/colors-with-modes.css';
2
+ import { PaginationPageType } from './model';
6
3
  export type PaginationProps = {
7
4
  pageCount: number;
8
5
  currentPage: number;
9
6
  onPageChange?: (e: React.MouseEvent, n: number) => void;
10
7
  hrefBuilder?: (n: number) => string;
11
- pageAttributesBuilder?: (n: number) => {
8
+ pageAttributesBuilder?: (n: number, page: PaginationPageType) => {
12
9
  [attributeName: string]: string;
13
10
  };
14
11
  marginPageCount?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAA;AAO9C;;GAEG;AACH,OAAO,8GAA8G,CAAA;AAKrH,MAAM,MAAM,eAAe,GAAG;IAE5B,SAAS,EAAE,MAAM,CAAA;IAEjB,WAAW,EAAE,MAAM,CAAA;IAEnB,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAEvD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAEnC,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK;QAAC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAA;IAExE,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,UAAU,qOAelB,eAAe,6CAyDnB,CAAA"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAA;AAM9C,OAAO,EAAuB,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAKhE,MAAM,MAAM,eAAe,GAAG;IAE5B,SAAS,EAAE,MAAM,CAAA;IAEjB,WAAW,EAAE,MAAM,CAAA;IAEnB,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAEvD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAEnC,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK;QAAC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAA;IAElG,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,UAAU,qOAelB,eAAe,6CAyDnB,CAAA"}
@@ -1,25 +1,25 @@
1
1
  import e from "../node_modules/clsx/dist/clsx.js";
2
- import { Link as t } from "../Link/Link.js";
3
- import { useWindowSize as n } from "../hooks/useWindowSize.js";
4
- import { buildPaginationModel as r } from "./model.js";
5
- import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/pagination/colors-with-modes-C2GLM06X.css';/* empty css */
6
- import i from "./Pagination.module.js";
7
- import a, { memo as o, useCallback as s } from "react";
8
- import { jsx as c } from "react/jsx-runtime";
2
+ import { ExpandableArrow as t } from "../ExpandableArrow/ExpandableArrow.js";
3
+ import { Button as n } from "../Button/Button.js";
4
+ import { useWindowSize as r } from "../hooks/useWindowSize.js";
5
+ import { buildPaginationModel as i } from "./model.js";
6
+ import a from "./Pagination.module.js";
7
+ import o, { memo as s, useCallback as c } from "react";
8
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
9
9
  //#region src/Pagination/Pagination.tsx
10
- var l = o(({ id: t, className: o, pageCount: l, currentPage: f, onPageChange: p, hrefBuilder: m = d, pageAttributesBuilder: h, marginPageCount: g = 1, showPages: _ = !0, surroundingPageCount: v = 2, "aria-label": y, "data-testid": b, ...x }) => {
11
- let { width: S } = n();
10
+ var d = s(({ id: t, className: n, pageCount: s, currentPage: u, onPageChange: d, hrefBuilder: m = p, pageAttributesBuilder: h, marginPageCount: g = 1, showPages: _ = !0, surroundingPageCount: v = 2, "aria-label": y, "data-testid": b, ...x }) => {
11
+ let { width: S } = r();
12
12
  S && S < 768 && (g = 1, v = 0);
13
- let C = a.useRef(null), w = s((e) => (t) => {
14
- p && p(t, e);
15
- }, [p]), T = a.useMemo(() => r(l, f, _, g, v).map((e) => /* @__PURE__ */ c(u, {
13
+ let C = o.useRef(null), w = c((e) => (t) => {
14
+ d && d(t, e);
15
+ }, [d]), T = o.useMemo(() => i(s, u, _, g, v).map((e) => /* @__PURE__ */ l(f, {
16
16
  page: e,
17
17
  hrefBuilder: m,
18
18
  pageAttributesBuilder: h,
19
19
  onClick: w(e.num)
20
20
  }, `${e.type}-${e.num}`)), [
21
- l,
22
- f,
21
+ s,
22
+ u,
23
23
  _,
24
24
  g,
25
25
  v,
@@ -27,69 +27,111 @@ var l = o(({ id: t, className: o, pageCount: l, currentPage: f, onPageChange: p,
27
27
  h,
28
28
  w
29
29
  ]);
30
- return /* @__PURE__ */ c("nav", {
30
+ return /* @__PURE__ */ l("nav", {
31
31
  ref: C,
32
32
  id: t,
33
- className: e(i.Pagination, _ && i.Pagination__showPages, o),
33
+ className: e(a.Pagination, n),
34
34
  "data-testid": b,
35
35
  "aria-label": y || "Pagination",
36
36
  ...x,
37
- children: /* @__PURE__ */ c("div", {
38
- className: e(i.Pagination__inner),
37
+ children: /* @__PURE__ */ l("div", {
38
+ className: e(a.Pagination__inner),
39
39
  children: T
40
40
  })
41
41
  });
42
- }), u = ({ page: n, hrefBuilder: r, pageAttributesBuilder: a, onClick: o }) => {
43
- let s = {
42
+ }), f = ({ page: r, hrefBuilder: i, pageAttributesBuilder: s, onClick: c }) => {
43
+ let [d, f] = o.useState(!1), p = {
44
44
  role: "button",
45
- arrowDirection: "none",
46
- className: e(i.Pagination__item),
47
- size: "medium",
48
- onClick: o
49
- }, l = a?.(n.num);
50
- switch (n.type) {
51
- case "PREV": return /* @__PURE__ */ c(t, {
52
- ...s,
45
+ size: "small",
46
+ variant: "subtle",
47
+ onClick: r.disabled ? void 0 : c
48
+ }, { className: m, ...h } = s?.(r.num, r) ?? {};
49
+ switch (r.type) {
50
+ case "PREV": return /* @__PURE__ */ l(n, {
51
+ ...p,
52
+ as: "a",
53
53
  rel: "prev",
54
- arrowDirection: "start",
55
- href: n.disabled ? void 0 : r(n.num),
56
- "aria-disabled": n.disabled || void 0,
54
+ href: r.disabled ? void 0 : i(r.num),
55
+ "aria-disabled": r.disabled || void 0,
57
56
  "aria-label": "Previous Page",
58
- ...l,
59
- children: "Previous"
57
+ ...h,
58
+ className: e(a.Pagination__controlItem, m),
59
+ onMouseEnter: () => f(!0),
60
+ onMouseLeave: () => f(!1),
61
+ onFocus: () => f(!0),
62
+ onBlur: () => f(!1),
63
+ children: /* @__PURE__ */ u("span", {
64
+ className: a.Pagination__controlContent,
65
+ children: [/* @__PURE__ */ l("span", {
66
+ className: e(a.Pagination__controlArrowWrapper, a["Pagination__controlArrowWrapper--previous"]),
67
+ children: /* @__PURE__ */ l(t, {
68
+ hidden: !0,
69
+ reverse: !0,
70
+ expanded: !r.disabled && d,
71
+ className: a.Pagination__controlArrow
72
+ })
73
+ }), /* @__PURE__ */ l("span", {
74
+ className: a.Pagination__controlText,
75
+ children: "Previous"
76
+ })]
77
+ })
60
78
  });
61
- case "NEXT": return /* @__PURE__ */ c(t, {
62
- ...s,
79
+ case "NEXT": return /* @__PURE__ */ l(n, {
80
+ ...p,
81
+ as: "a",
63
82
  rel: "next",
64
- arrowDirection: "end",
65
- href: n.disabled ? void 0 : r(n.num),
66
- "aria-disabled": n.disabled || void 0,
83
+ href: r.disabled ? void 0 : i(r.num),
84
+ "aria-disabled": r.disabled || void 0,
67
85
  "aria-label": "Next Page",
68
- ...l,
69
- children: "Next"
86
+ ...h,
87
+ className: e(a.Pagination__controlItem, m),
88
+ onMouseEnter: () => f(!0),
89
+ onMouseLeave: () => f(!1),
90
+ onFocus: () => f(!0),
91
+ onBlur: () => f(!1),
92
+ children: /* @__PURE__ */ u("span", {
93
+ className: a.Pagination__controlContent,
94
+ children: [/* @__PURE__ */ l("span", {
95
+ className: a.Pagination__controlText,
96
+ children: "Next"
97
+ }), /* @__PURE__ */ l("span", {
98
+ className: e(a.Pagination__controlArrowWrapper, a["Pagination__controlArrowWrapper--next"]),
99
+ children: /* @__PURE__ */ l(t, {
100
+ hidden: !0,
101
+ expanded: !r.disabled && d,
102
+ className: a.Pagination__controlArrow
103
+ })
104
+ })]
105
+ })
70
106
  });
71
- case "NUM": return /* @__PURE__ */ c(t, {
72
- ...s,
73
- href: r(n.num),
74
- "aria-label": `Page ${n.num}${n.precedesBreak ? "..." : ""}`,
75
- "aria-current": n.selected ? "page" : void 0,
76
- ...l,
77
- children: n.num
107
+ case "NUM": return /* @__PURE__ */ l(n, {
108
+ ...p,
109
+ as: "a",
110
+ variant: r.selected ? "primary" : "subtle",
111
+ className: e(a.Pagination__pageItem, m),
112
+ href: i(r.num),
113
+ "aria-label": `Page ${r.num}${r.precedesBreak ? "..." : ""}`,
114
+ "aria-current": r.selected ? "page" : void 0,
115
+ ...h,
116
+ children: r.num
78
117
  });
79
- case "BREAK": return /* @__PURE__ */ c(t, {
80
- ...s,
118
+ case "BREAK": return /* @__PURE__ */ l(n, {
119
+ ...p,
120
+ as: "a",
121
+ className: e(a.Pagination__pageItem, m),
122
+ variant: "subtle",
81
123
  role: "presentation",
82
124
  href: void 0,
83
125
  onClick: void 0,
84
- ...l,
126
+ ...h,
85
127
  children: "…"
86
128
  });
87
129
  }
88
130
  };
89
- function d(e) {
131
+ function p(e) {
90
132
  return `#${e}`;
91
133
  }
92
134
  //#endregion
93
- export { l as Pagination };
135
+ export { d as Pagination };
94
136
 
95
137
  //# sourceMappingURL=Pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","names":[],"sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["import React, {memo, useCallback} from 'react'\nimport {Link, LinkProps, useWindowSize} from '..'\n\nimport {clsx} from 'clsx'\n\nimport {buildPaginationModel, PageType} from './model'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/pagination/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './Pagination.module.css'\n\nexport type PaginationProps = {\n /* The total number of pages */\n pageCount: number\n /* The current page number */\n currentPage: number\n /* Callback function for when the page changes */\n onPageChange?: (e: React.MouseEvent, n: number) => void\n /* Function to build the href for each page */\n hrefBuilder?: (n: number) => string\n /* Function to forward custom attributes for each pagination item */\n pageAttributesBuilder?: (n: number) => {[attributeName: string]: string}\n /* Defines how many pages are to to be displayed on the left and right of the component */\n marginPageCount?: number\n /* Whether to show the page numbers */\n showPages?: boolean\n /* The number of pages to show on each side of the current page */\n surroundingPageCount?: number\n 'data-testid'?: string\n} & Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>\n\n/**\n * Use Pagination to display a sequence of links that allow navigation to discrete, related pages.\n * @see https://primer.style/brand/components/Pagination\n */\nexport const Pagination = memo(\n ({\n id,\n className,\n pageCount,\n currentPage,\n onPageChange,\n hrefBuilder = defaultHrefBuilder,\n pageAttributesBuilder,\n marginPageCount = 1,\n showPages = true,\n surroundingPageCount = 2,\n 'aria-label': ariaLabel,\n 'data-testid': testId,\n ...rest\n }: PaginationProps) => {\n // On mobile, limit the number of visible numbers\n const {width} = useWindowSize()\n if (width && width < 768) {\n marginPageCount = 1\n surroundingPageCount = 0\n }\n\n const navRef = React.useRef<HTMLElement>(null)\n\n const pageChange = useCallback(\n (n: number) => (e: React.MouseEvent) => {\n if (onPageChange) {\n onPageChange(e, n)\n }\n },\n [onPageChange],\n )\n\n const paginationItems = React.useMemo(() => {\n const model = buildPaginationModel(pageCount, currentPage, showPages, marginPageCount, surroundingPageCount)\n\n return model.map(page => {\n return (\n <PaginationItem\n key={`${page.type}-${page.num}`}\n page={page}\n hrefBuilder={hrefBuilder}\n pageAttributesBuilder={pageAttributesBuilder}\n onClick={pageChange(page.num)}\n />\n )\n })\n }, [\n pageCount,\n currentPage,\n showPages,\n marginPageCount,\n surroundingPageCount,\n hrefBuilder,\n pageAttributesBuilder,\n pageChange,\n ])\n\n return (\n <nav\n ref={navRef}\n id={id}\n className={clsx(styles.Pagination, showPages && styles['Pagination__showPages'], className)}\n data-testid={testId}\n aria-label={ariaLabel || 'Pagination'}\n {...rest}\n >\n <div className={clsx(styles.Pagination__inner)}>{paginationItems}</div>\n </nav>\n )\n },\n)\n\ntype PaginationItemProps = {\n page: PageType\n hrefBuilder: (n: number) => string\n pageAttributesBuilder?: (n: number) => {[key: string]: string}\n onClick?: LinkProps['onClick']\n}\n\nconst PaginationItem = ({page, hrefBuilder, pageAttributesBuilder, onClick}: PaginationItemProps) => {\n const baseProps: LinkProps = {\n role: 'button',\n arrowDirection: 'none',\n className: clsx(styles.Pagination__item),\n size: 'medium',\n onClick,\n }\n\n const customProps = pageAttributesBuilder?.(page.num)\n\n switch (page.type) {\n case 'PREV': {\n return (\n <Link\n {...baseProps}\n rel=\"prev\"\n arrowDirection=\"start\"\n href={page.disabled ? undefined : hrefBuilder(page.num)}\n aria-disabled={page.disabled || undefined}\n aria-label=\"Previous Page\"\n {...customProps}\n >\n Previous\n </Link>\n )\n }\n case 'NEXT': {\n return (\n <Link\n {...baseProps}\n rel=\"next\"\n arrowDirection=\"end\"\n href={page.disabled ? undefined : hrefBuilder(page.num)}\n aria-disabled={page.disabled || undefined}\n aria-label=\"Next Page\"\n {...customProps}\n >\n Next\n </Link>\n )\n }\n case 'NUM': {\n return (\n /**\n * Append \"...\" to the aria-label for pages that preceed a break because screen readers will change the\n * tone the text is read in. This is a slightly nicer experience than skipping a bunch of numbers unexpectedly.\n */\n <Link\n {...baseProps}\n href={hrefBuilder(page.num)}\n aria-label={`Page ${page.num}${page.precedesBreak ? '...' : ''}`}\n aria-current={page.selected ? 'page' : undefined}\n {...customProps}\n >\n {page.num}\n </Link>\n )\n }\n case 'BREAK': {\n return (\n <Link {...baseProps} role=\"presentation\" href={undefined} onClick={undefined} {...customProps}>\n …\n </Link>\n )\n }\n }\n}\n\nfunction defaultHrefBuilder(pageNum: number) {\n return `#${pageNum}`\n}\n"],"mappings":";;;;;;;;;AAuCA,IAAa,IAAa,GACvB,EACC,OACA,cACA,cACA,gBACA,iBACA,iBAAc,GACd,0BACA,qBAAkB,GAClB,eAAY,IACZ,0BAAuB,GACvB,cAAc,GACd,eAAe,GACf,GAAG,QACkB;CAErB,IAAM,EAAC,aAAS,GAAe;AAC/B,CAAI,KAAS,IAAQ,QACnB,IAAkB,GAClB,IAAuB;CAGzB,IAAM,IAAS,EAAM,OAAoB,KAAK,EAExC,IAAa,GAChB,OAAe,MAAwB;AACtC,EAAI,KACF,EAAa,GAAG,EAAE;IAGtB,CAAC,EAAa,CACf,EAEK,IAAkB,EAAM,cACd,EAAqB,GAAW,GAAa,GAAW,GAAiB,EAEhF,CAAM,KAAI,MAEb,kBAAC,GAAD;EAEQ;EACO;EACU;EACvB,SAAS,EAAW,EAAK,IAAI;EAC7B,EALK,GAAG,EAAK,KAAK,GAAG,EAAK,MAK1B,CAEJ,EACD;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QACE,kBAAC,OAAD;EACE,KAAK;EACD;EACJ,WAAW,EAAK,EAAO,YAAY,KAAa,EAAO,uBAA0B,EAAU;EAC3F,eAAa;EACb,cAAY,KAAa;EACzB,GAAI;YAEJ,kBAAC,OAAD;GAAK,WAAW,EAAK,EAAO,kBAAkB;aAAG;GAAsB,CAAA;EACnE,CAAA;EAGX,EASK,KAAkB,EAAC,SAAM,gBAAa,0BAAuB,iBAAkC;CACnG,IAAM,IAAuB;EAC3B,MAAM;EACN,gBAAgB;EAChB,WAAW,EAAK,EAAO,iBAAiB;EACxC,MAAM;EACN;EACD,EAEK,IAAc,IAAwB,EAAK,IAAI;AAErD,SAAQ,EAAK,MAAb;EACE,KAAK,OACH,QACE,kBAAC,GAAD;GACE,GAAI;GACJ,KAAI;GACJ,gBAAe;GACf,MAAM,EAAK,WAAW,KAAA,IAAY,EAAY,EAAK,IAAI;GACvD,iBAAe,EAAK,YAAY,KAAA;GAChC,cAAW;GACX,GAAI;aACL;GAEM,CAAA;EAGX,KAAK,OACH,QACE,kBAAC,GAAD;GACE,GAAI;GACJ,KAAI;GACJ,gBAAe;GACf,MAAM,EAAK,WAAW,KAAA,IAAY,EAAY,EAAK,IAAI;GACvD,iBAAe,EAAK,YAAY,KAAA;GAChC,cAAW;GACX,GAAI;aACL;GAEM,CAAA;EAGX,KAAK,MACH,QAKE,kBAAC,GAAD;GACE,GAAI;GACJ,MAAM,EAAY,EAAK,IAAI;GAC3B,cAAY,QAAQ,EAAK,MAAM,EAAK,gBAAgB,QAAQ;GAC5D,gBAAc,EAAK,WAAW,SAAS,KAAA;GACvC,GAAI;aAEH,EAAK;GACD,CAAA;EAGX,KAAK,QACH,QACE,kBAAC,GAAD;GAAM,GAAI;GAAW,MAAK;GAAe,MAAM,KAAA;GAAW,SAAS,KAAA;GAAW,GAAI;aAAa;GAExF,CAAA;;;AAMf,SAAS,EAAmB,GAAiB;AAC3C,QAAO,IAAI"}
1
+ {"version":3,"file":"Pagination.js","names":[],"sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["import React, {memo, useCallback} from 'react'\nimport {Button, useWindowSize} from '..'\n\nimport {clsx} from 'clsx'\n\nimport {ExpandableArrow} from '../ExpandableArrow'\nimport {buildPaginationModel, PaginationPageType} from './model'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './Pagination.module.css'\n\nexport type PaginationProps = {\n /* The total number of pages */\n pageCount: number\n /* The current page number */\n currentPage: number\n /* Callback function for when the page changes */\n onPageChange?: (e: React.MouseEvent, n: number) => void\n /* Function to build the href for each page */\n hrefBuilder?: (n: number) => string\n /* Function to forward custom attributes for each pagination item */\n pageAttributesBuilder?: (n: number, page: PaginationPageType) => {[attributeName: string]: string}\n /* Defines how many pages are to be displayed on the left and right of the component */\n marginPageCount?: number\n /* Whether to show the page numbers */\n showPages?: boolean\n /* The number of pages to show on each side of the current page */\n surroundingPageCount?: number\n 'data-testid'?: string\n} & Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>\n\n/**\n * Use Pagination to display a sequence of links that allow navigation to discrete, related pages.\n * @see https://primer.style/brand/components/Pagination\n */\nexport const Pagination = memo(\n ({\n id,\n className,\n pageCount,\n currentPage,\n onPageChange,\n hrefBuilder = defaultHrefBuilder,\n pageAttributesBuilder,\n marginPageCount = 1,\n showPages = true,\n surroundingPageCount = 2,\n 'aria-label': ariaLabel,\n 'data-testid': testId,\n ...rest\n }: PaginationProps) => {\n // On mobile, limit the number of visible numbers\n const {width} = useWindowSize()\n if (width && width < 768) {\n marginPageCount = 1\n surroundingPageCount = 0\n }\n\n const navRef = React.useRef<HTMLElement>(null)\n\n const pageChange = useCallback(\n (n: number) => (e: React.MouseEvent) => {\n if (onPageChange) {\n onPageChange(e, n)\n }\n },\n [onPageChange],\n )\n\n const paginationItems = React.useMemo(() => {\n const model = buildPaginationModel(pageCount, currentPage, showPages, marginPageCount, surroundingPageCount)\n\n return model.map(page => {\n return (\n <PaginationItem\n key={`${page.type}-${page.num}`}\n page={page}\n hrefBuilder={hrefBuilder}\n pageAttributesBuilder={pageAttributesBuilder}\n onClick={pageChange(page.num)}\n />\n )\n })\n }, [\n pageCount,\n currentPage,\n showPages,\n marginPageCount,\n surroundingPageCount,\n hrefBuilder,\n pageAttributesBuilder,\n pageChange,\n ])\n\n return (\n <nav\n ref={navRef}\n id={id}\n className={clsx(styles.Pagination, className)}\n data-testid={testId}\n aria-label={ariaLabel || 'Pagination'}\n {...rest}\n >\n <div className={clsx(styles.Pagination__inner)}>{paginationItems}</div>\n </nav>\n )\n },\n)\n\ntype PaginationItemProps = {\n page: PaginationPageType\n hrefBuilder: (n: number) => string\n pageAttributesBuilder?: (n: number, page: PaginationPageType) => {[key: string]: string}\n onClick?: React.MouseEventHandler<HTMLAnchorElement>\n}\n\nconst PaginationItem = ({page, hrefBuilder, pageAttributesBuilder, onClick}: PaginationItemProps) => {\n const [isArrowExpanded, setIsArrowExpanded] = React.useState(false)\n\n const baseProps = {\n role: 'button',\n size: 'small' as const,\n variant: 'subtle' as const,\n onClick: page.disabled ? undefined : onClick,\n }\n\n const customProps = pageAttributesBuilder?.(page.num, page)\n const {className: customClassName, ...customAttributes} = customProps ?? {}\n\n switch (page.type) {\n case 'PREV': {\n return (\n <Button\n {...baseProps}\n as=\"a\"\n rel=\"prev\"\n href={page.disabled ? undefined : hrefBuilder(page.num)}\n aria-disabled={page.disabled || undefined}\n aria-label=\"Previous Page\"\n {...customAttributes}\n className={clsx(styles.Pagination__controlItem, customClassName)}\n onMouseEnter={() => setIsArrowExpanded(true)}\n onMouseLeave={() => setIsArrowExpanded(false)}\n onFocus={() => setIsArrowExpanded(true)}\n onBlur={() => setIsArrowExpanded(false)}\n >\n <span className={styles.Pagination__controlContent}>\n <span\n className={clsx(\n styles.Pagination__controlArrowWrapper,\n styles['Pagination__controlArrowWrapper--previous'],\n )}\n >\n <ExpandableArrow\n hidden\n reverse\n expanded={!page.disabled && isArrowExpanded}\n className={styles.Pagination__controlArrow}\n />\n </span>\n <span className={styles.Pagination__controlText}>Previous</span>\n </span>\n </Button>\n )\n }\n case 'NEXT': {\n return (\n <Button\n {...baseProps}\n as=\"a\"\n rel=\"next\"\n href={page.disabled ? undefined : hrefBuilder(page.num)}\n aria-disabled={page.disabled || undefined}\n aria-label=\"Next Page\"\n {...customAttributes}\n className={clsx(styles.Pagination__controlItem, customClassName)}\n onMouseEnter={() => setIsArrowExpanded(true)}\n onMouseLeave={() => setIsArrowExpanded(false)}\n onFocus={() => setIsArrowExpanded(true)}\n onBlur={() => setIsArrowExpanded(false)}\n >\n <span className={styles.Pagination__controlContent}>\n <span className={styles.Pagination__controlText}>Next</span>\n <span\n className={clsx(styles.Pagination__controlArrowWrapper, styles['Pagination__controlArrowWrapper--next'])}\n >\n <ExpandableArrow\n hidden\n expanded={!page.disabled && isArrowExpanded}\n className={styles.Pagination__controlArrow}\n />\n </span>\n </span>\n </Button>\n )\n }\n case 'NUM': {\n return (\n /**\n * Append \"...\" to the aria-label for pages that precede a break because screen readers will change the\n * tone the text is read in. This is a slightly nicer experience than skipping a bunch of numbers unexpectedly.\n */\n <Button\n {...baseProps}\n as=\"a\"\n variant={page.selected ? 'primary' : 'subtle'}\n className={clsx(styles.Pagination__pageItem, customClassName)}\n href={hrefBuilder(page.num)}\n aria-label={`Page ${page.num}${page.precedesBreak ? '...' : ''}`}\n aria-current={page.selected ? 'page' : undefined}\n {...customAttributes}\n >\n {page.num}\n </Button>\n )\n }\n case 'BREAK': {\n return (\n <Button\n {...baseProps}\n as=\"a\"\n className={clsx(styles.Pagination__pageItem, customClassName)}\n variant=\"subtle\"\n role=\"presentation\"\n href={undefined}\n onClick={undefined}\n {...customAttributes}\n >\n …\n </Button>\n )\n }\n }\n}\n\nfunction defaultHrefBuilder(pageNum: number) {\n return `#${pageNum}`\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .Primer_Brand__Pagination-module__Pagination___kfPR3{margin-top:var(--base-size-20);margin-bottom:var(--base-size-16);text-align:center}.Primer_Brand__Pagination-module__Pagination__inner___uSIJu{justify-content:center;align-items:center;gap:var(--base-size-8);flex-wrap:wrap;display:inline-flex}.Primer_Brand__Pagination-module__Pagination__pageItem___4j6vp{--brand-button-subtle-borderColor-rest:transparent;--brand-button-subtle-borderColor-hover:transparent;--brand-button-subtle-borderColor-active:transparent;transition:none}.Primer_Brand__Pagination-module__Pagination__controlContent___VU4Qm{gap:var(--base-size-4);align-items:center;display:inline-flex;position:relative}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper___0Q_Ku{flex-shrink:0;display:none}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper--previous____zTeS{transform:translateX(var(--base-size-2))}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper--next___KhVzs{transform:translateX(calc(var(--base-size-2) * -1))}.Primer_Brand__Pagination-module__Pagination__controlArrow___RwrzD{width:var(--base-size-16);height:var(--base-size-16)}@media screen and (width<=47.99rem){.Primer_Brand__Pagination-module__Pagination__controlItem___zNWUt{padding-inline:var(--base-size-8);--brand-button-subtle-borderColor-rest:transparent;--brand-button-subtle-borderColor-hover:transparent;--brand-button-subtle-borderColor-active:transparent}.Primer_Brand__Pagination-module__Pagination__controlText___S6XdE{width:var(--base-size-2);height:var(--base-size-2);clip:rect(0, 0, 0, 0);word-wrap:normal;border:0;padding:0;position:absolute;overflow:hidden}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper___0Q_Ku{display:flex}.Primer_Brand__Pagination-module__Pagination__controlItem___zNWUt>span{align-items:center;display:flex}.Primer_Brand__Pagination-module__Pagination__controlItem___zNWUt>span>span{align-items:center;line-height:0;display:flex}}
@@ -1,8 +1,14 @@
1
- import './Pagination.module-C7Z_pTFq.css';var e = {
1
+ import './Pagination.module-DmKBSq7s.css';var e = {
2
2
  Pagination: "Primer_Brand__Pagination-module__Pagination___kfPR3",
3
3
  Pagination__inner: "Primer_Brand__Pagination-module__Pagination__inner___uSIJu",
4
- Pagination__item: "Primer_Brand__Pagination-module__Pagination__item___O5m_Y",
5
- Pagination__showPages: "Primer_Brand__Pagination-module__Pagination__showPages___YVeH_"
4
+ Pagination__pageItem: "Primer_Brand__Pagination-module__Pagination__pageItem___4j6vp",
5
+ Pagination__controlContent: "Primer_Brand__Pagination-module__Pagination__controlContent___VU4Qm",
6
+ Pagination__controlArrowWrapper: "Primer_Brand__Pagination-module__Pagination__controlArrowWrapper___0Q_Ku",
7
+ "Pagination__controlArrowWrapper--previous": "Primer_Brand__Pagination-module__Pagination__controlArrowWrapper--previous____zTeS",
8
+ "Pagination__controlArrowWrapper--next": "Primer_Brand__Pagination-module__Pagination__controlArrowWrapper--next___KhVzs",
9
+ Pagination__controlArrow: "Primer_Brand__Pagination-module__Pagination__controlArrow___RwrzD",
10
+ Pagination__controlItem: "Primer_Brand__Pagination-module__Pagination__controlItem___zNWUt",
11
+ Pagination__controlText: "Primer_Brand__Pagination-module__Pagination__controlText___S6XdE"
6
12
  };
7
13
  //#endregion
8
14
  export { e as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.module.js","names":[],"sources":["../../src/Pagination/Pagination.module.css"],"sourcesContent":[".Pagination {\n margin-top: var(--base-size-20);\n margin-bottom: var(--base-size-16);\n text-align: center;\n}\n\n.Pagination__inner {\n display: inline-flex;\n align-items: center;\n gap: var(--base-size-8);\n}\n\n.Pagination__item {\n min-width: var(--base-size-32);\n height: var(--base-size-32);\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n text-decoration: none;\n padding: var(--base-size-4) var(--base-size-8);\n border: var(--brand-borderWidth-thick) solid transparent;\n border-radius: var(--brand-borderRadius-medium);\n transition: border-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default);\n}\n\n.Pagination__item span {\n font-size: var(--brand-text-size-100);\n line-height: var(--base-size-20);\n}\n\n.Pagination__item:hover,\n.Pagination__item:focus {\n text-decoration: none;\n outline: 0;\n transition-duration: 0.1s;\n border-color: var(--brand-pagination-borderColor-hover);\n}\n\n.Pagination__item::after {\n display: none;\n}\n\n.Pagination__item:active {\n border-color: var(--brand-pagination-link-bgColor-active);\n}\n\n.Pagination__item[aria-current],\n.Pagination__item[aria-current]:hover {\n background-color: var(--brand-pagination-link-bgColor-active);\n border-color: transparent;\n}\n\n.Pagination__item[aria-current] * {\n color: var(--brand-color-text-onEmphasis);\n}\n\n.Pagination__item[aria-disabled],\n.Pagination__item[aria-disabled]:hover,\n.Pagination__item[role='presentation'],\n.Pagination__item[role='presentation']:hover {\n color: var(--brand-color-text-muted);\n cursor: default;\n background-color: transparent;\n border-color: transparent;\n font-size: inherit;\n font-family: inherit;\n padding-top: inherit;\n padding-bottom: inherit;\n}\n\n.Pagination__item[aria-disabled] *,\n.Pagination__item[aria-disabled]:hover *,\n.Pagination__item[role='presentation'] *,\n.Pagination__item[role='presentation']:hover * {\n color: inherit;\n}\n\n.Pagination__showPages .Pagination__item[rel='prev'] span,\n.Pagination__showPages .Pagination__item[rel='next'] span {\n display: none;\n}\n\n.Pagination__item[rel='prev'] svg,\n.Pagination__item[rel='next'] svg {\n margin-inline: 0;\n position: relative;\n}\n\n.Pagination__item[rel='prev'] svg {\n left: var(--base-size-2);\n}\n\n.Pagination__item[rel='next'] svg {\n right: var(--base-size-2);\n}\n\n@media screen and (min-width: 48rem) {\n .Pagination__item[rel='prev'] span,\n .Pagination__item[rel='next'] span {\n display: block !important;\n }\n\n .Pagination__item[rel='prev'] svg,\n .Pagination__item[rel='next'] svg {\n margin-inline: unset;\n left: 0;\n right: 0;\n }\n\n .Pagination__item[rel='prev'][aria-disabled] svg,\n .Pagination__item[rel='next'][aria-disabled] svg {\n display: none;\n }\n}\n\n@media (forced-colors: active) {\n .Pagination__item[aria-current],\n .Pagination__item[aria-current]:hover {\n border-color: Highlight;\n border-width: var(--brand-borderWidth-thicker);\n }\n}\n\n/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */\n@media (prefers-reduced-motion: reduce) {\n .Pagination,\n .Pagination::before,\n .Pagination::after,\n .Pagination * {\n animation: none !important;\n transition: none !important;\n scroll-behavior: auto !important;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Pagination.module.js","names":[],"sources":["../../src/Pagination/Pagination.module.css"],"sourcesContent":[".Pagination {\n margin-top: var(--base-size-20);\n margin-bottom: var(--base-size-16);\n text-align: center;\n}\n\n.Pagination__inner {\n display: inline-flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n gap: var(--base-size-8);\n}\n\n.Pagination__pageItem {\n transition: none; /* Prevents flash of background color when changing pages */\n --brand-button-subtle-borderColor-rest: transparent;\n --brand-button-subtle-borderColor-hover: transparent;\n --brand-button-subtle-borderColor-active: transparent;\n}\n\n.Pagination__controlContent {\n position: relative;\n display: inline-flex;\n gap: var(--base-size-4);\n align-items: center;\n}\n\n.Pagination__controlArrowWrapper {\n display: none;\n flex-shrink: 0;\n}\n\n.Pagination__controlArrowWrapper--previous {\n transform: translateX(var(--base-size-2));\n}\n\n.Pagination__controlArrowWrapper--next {\n transform: translateX(calc(var(--base-size-2) * -1));\n}\n\n.Pagination__controlArrow {\n width: var(--base-size-16);\n height: var(--base-size-16);\n}\n\n@media screen and (max-width: 47.99rem) {\n .Pagination__controlItem {\n padding-inline: var(--base-size-8);\n --brand-button-subtle-borderColor-rest: transparent;\n --brand-button-subtle-borderColor-hover: transparent;\n --brand-button-subtle-borderColor-active: transparent;\n }\n\n .Pagination__controlText {\n position: absolute;\n width: var(--base-size-2);\n height: var(--base-size-2);\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n word-wrap: normal;\n border: 0;\n }\n\n .Pagination__controlArrowWrapper {\n display: flex;\n }\n\n .Pagination__controlItem > span {\n display: flex;\n align-items: center;\n }\n\n .Pagination__controlItem > span > span {\n display: flex;\n align-items: center;\n line-height: 0;\n }\n}\n"],"mappings":""}
@@ -1,9 +1,9 @@
1
- export type PageType = {
1
+ export type PaginationPageType = {
2
2
  type: 'PREV' | 'NEXT' | 'NUM' | 'BREAK';
3
3
  num: number;
4
4
  disabled?: boolean;
5
5
  selected?: boolean;
6
6
  precedesBreak?: boolean;
7
7
  };
8
- export declare function buildPaginationModel(pageCount: number, currentPage: number, showPages: boolean, marginPageCount: number, surroundingPageCount: number): PageType[];
8
+ export declare function buildPaginationModel(pageCount: number, currentPage: number, showPages: boolean, marginPageCount: number, surroundingPageCount: number): PaginationPageType[];
9
9
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/Pagination/model.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,OAAO,EAClB,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,GAC3B,QAAQ,EAAE,CAwHZ"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/Pagination/model.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,OAAO,EAClB,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,GAC3B,kBAAkB,EAAE,CAwHtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","names":[],"sources":["../../src/Pagination/model.ts"],"sourcesContent":["export type PageType = {\n type: 'PREV' | 'NEXT' | 'NUM' | 'BREAK'\n num: number\n disabled?: boolean\n selected?: boolean\n precedesBreak?: boolean\n}\n\nexport function buildPaginationModel(\n pageCount: number,\n currentPage: number,\n showPages: boolean,\n marginPageCount: number,\n surroundingPageCount: number,\n): PageType[] {\n const pages: PageType[] = []\n\n if (showPages) {\n const pageNums: Array<number> = []\n const addPage = (n: number) => {\n if (n >= 1 && n <= pageCount) {\n pageNums.push(n)\n }\n }\n\n // Start by defining the window of pages to show around the current page.\n // If the window goes off either edge, shift it until it fits.\n let extentLeft = currentPage - surroundingPageCount\n let extentRight = currentPage + surroundingPageCount\n if (extentLeft < 1 && extentRight > pageCount) {\n // Our window is larger than the entire range,\n // so simply display every page.\n extentLeft = 1\n extentRight = pageCount\n } else if (extentLeft < 1) {\n while (extentLeft < 1) {\n extentLeft++\n extentRight++\n }\n } else if (extentRight > pageCount) {\n while (extentRight > pageCount) {\n extentLeft--\n extentRight--\n }\n }\n\n // Next, include the pages in the margins.\n // If a margin page is already covered in the window,\n // extend the window to the other direction.\n for (let i = 1; i <= marginPageCount; i++) {\n const leftPage = i\n const rightPage = pageCount - (i - 1)\n if (leftPage >= extentLeft) {\n extentRight++\n } else {\n addPage(leftPage)\n }\n if (rightPage <= extentRight) {\n extentLeft--\n } else {\n addPage(rightPage)\n }\n }\n\n for (let i = extentLeft; i <= extentRight; i++) {\n addPage(i)\n }\n\n const sorted = pageNums\n .slice()\n .sort((a, b) => a - b)\n .filter((item, idx, ary) => !idx || item !== ary[idx - 1])\n for (let idx = 0; idx < sorted.length; idx++) {\n const num = sorted[idx]\n const selected = num === currentPage\n const last = sorted[idx - 1]\n const next = sorted[idx + 1]\n const lastDelta = num - last\n const nextDelta = num - next\n const precedesBreak = nextDelta !== -1\n\n if (idx === 0) {\n if (num !== 1) {\n // If the first page isn't page one,\n // we need to add a break\n pages.push({\n type: 'BREAK',\n num: 1,\n })\n }\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak,\n })\n } else {\n if (lastDelta === 1) {\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak,\n })\n } else {\n // We skipped some, so add a break\n pages.push({\n type: 'BREAK',\n num: num - 1,\n })\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak: false,\n })\n }\n }\n }\n\n const lastPage = pages[pages.length - 1]\n if (lastPage.type === 'NUM' && lastPage.num !== pageCount) {\n // The last page we rendered wasn't the actual last page,\n // so we need an additional break\n pages.push({\n type: 'BREAK',\n num: pageCount,\n })\n }\n }\n\n const prev: PageType = {type: 'PREV', num: currentPage - 1, disabled: currentPage === 1}\n const next: PageType = {type: 'NEXT', num: currentPage + 1, disabled: currentPage === pageCount}\n return [prev, ...pages, next]\n}\n"],"mappings":";AAQA,SAAgB,EACd,GACA,GACA,GACA,GACA,GACY;CACZ,IAAM,IAAoB,EAAE;AAE5B,KAAI,GAAW;EACb,IAAM,IAA0B,EAAE,EAC5B,KAAW,MAAc;AAC7B,GAAI,KAAK,KAAK,KAAK,KACjB,EAAS,KAAK,EAAE;KAMhB,IAAa,IAAc,GAC3B,IAAc,IAAc;AAChC,MAAI,IAAa,KAAK,IAAc,EAIlC,CADA,IAAa,GACb,IAAc;WACL,IAAa,EACtB,QAAO,IAAa,GAElB,CADA,KACA;WAEO,IAAc,EACvB,QAAO,IAAc,GAEnB,CADA,KACA;AAOJ,OAAK,IAAI,IAAI,GAAG,KAAK,GAAiB,KAAK;GACzC,IAAM,IAAW,GACX,IAAY,KAAa,IAAI;AAMnC,GALI,KAAY,IACd,MAEA,EAAQ,EAAS,EAEf,KAAa,IACf,MAEA,EAAQ,EAAU;;AAItB,OAAK,IAAI,IAAI,GAAY,KAAK,GAAa,IACzC,GAAQ,EAAE;EAGZ,IAAM,IAAS,EACZ,OAAO,CACP,MAAM,GAAG,MAAM,IAAI,EAAE,CACrB,QAAQ,GAAM,GAAK,MAAQ,CAAC,KAAO,MAAS,EAAI,IAAM,GAAG;AAC5D,OAAK,IAAI,IAAM,GAAG,IAAM,EAAO,QAAQ,KAAO;GAC5C,IAAM,IAAM,EAAO,IACb,IAAW,MAAQ,GACnB,IAAO,EAAO,IAAM,IACpB,IAAO,EAAO,IAAM,IACpB,IAAY,IAAM,GAElB,IADY,IAAM,MACY;AAEpC,GAAI,MAAQ,KACN,MAAQ,KAGV,EAAM,KAAK;IACT,MAAM;IACN,KAAK;IACN,CAAC,EAEJ,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA;IACD,CAAC,IAEE,MAAc,IAChB,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA;IACD,CAAC,IAGF,EAAM,KAAK;IACT,MAAM;IACN,KAAK,IAAM;IACZ,CAAC,EACF,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA,eAAe;IAChB,CAAC;;EAKR,IAAM,IAAW,EAAM,EAAM,SAAS;AACtC,EAAI,EAAS,SAAS,SAAS,EAAS,QAAQ,KAG9C,EAAM,KAAK;GACT,MAAM;GACN,KAAK;GACN,CAAC;;CAIN,IAAM,IAAiB;EAAC,MAAM;EAAQ,KAAK,IAAc;EAAG,UAAU,MAAgB;EAAE,EAClF,IAAiB;EAAC,MAAM;EAAQ,KAAK,IAAc;EAAG,UAAU,MAAgB;EAAU;AAChG,QAAO;EAAC;EAAM,GAAG;EAAO;EAAK"}
1
+ {"version":3,"file":"model.js","names":[],"sources":["../../src/Pagination/model.ts"],"sourcesContent":["export type PaginationPageType = {\n type: 'PREV' | 'NEXT' | 'NUM' | 'BREAK'\n num: number\n disabled?: boolean\n selected?: boolean\n precedesBreak?: boolean\n}\n\nexport function buildPaginationModel(\n pageCount: number,\n currentPage: number,\n showPages: boolean,\n marginPageCount: number,\n surroundingPageCount: number,\n): PaginationPageType[] {\n const pages: PaginationPageType[] = []\n\n if (showPages) {\n const pageNums: Array<number> = []\n const addPage = (n: number) => {\n if (n >= 1 && n <= pageCount) {\n pageNums.push(n)\n }\n }\n\n // Start by defining the window of pages to show around the current page.\n // If the window goes off either edge, shift it until it fits.\n let extentLeft = currentPage - surroundingPageCount\n let extentRight = currentPage + surroundingPageCount\n if (extentLeft < 1 && extentRight > pageCount) {\n // Our window is larger than the entire range,\n // so simply display every page.\n extentLeft = 1\n extentRight = pageCount\n } else if (extentLeft < 1) {\n while (extentLeft < 1) {\n extentLeft++\n extentRight++\n }\n } else if (extentRight > pageCount) {\n while (extentRight > pageCount) {\n extentLeft--\n extentRight--\n }\n }\n\n // Next, include the pages in the margins.\n // If a margin page is already covered in the window,\n // extend the window to the other direction.\n for (let i = 1; i <= marginPageCount; i++) {\n const leftPage = i\n const rightPage = pageCount - (i - 1)\n if (leftPage >= extentLeft) {\n extentRight++\n } else {\n addPage(leftPage)\n }\n if (rightPage <= extentRight) {\n extentLeft--\n } else {\n addPage(rightPage)\n }\n }\n\n for (let i = extentLeft; i <= extentRight; i++) {\n addPage(i)\n }\n\n const sorted = pageNums\n .slice()\n .sort((a, b) => a - b)\n .filter((item, idx, ary) => !idx || item !== ary[idx - 1])\n for (let idx = 0; idx < sorted.length; idx++) {\n const num = sorted[idx]\n const selected = num === currentPage\n const last = sorted[idx - 1]\n const next = sorted[idx + 1]\n const lastDelta = num - last\n const nextDelta = num - next\n const precedesBreak = nextDelta !== -1\n\n if (idx === 0) {\n if (num !== 1) {\n // If the first page isn't page one,\n // we need to add a break\n pages.push({\n type: 'BREAK',\n num: 1,\n })\n }\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak,\n })\n } else {\n if (lastDelta === 1) {\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak,\n })\n } else {\n // We skipped some, so add a break\n pages.push({\n type: 'BREAK',\n num: num - 1,\n })\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak: false,\n })\n }\n }\n }\n\n const lastPage = pages[pages.length - 1]\n if (lastPage.type === 'NUM' && lastPage.num !== pageCount) {\n // The last page we rendered wasn't the actual last page,\n // so we need an additional break\n pages.push({\n type: 'BREAK',\n num: pageCount,\n })\n }\n }\n\n const prev: PaginationPageType = {type: 'PREV', num: currentPage - 1, disabled: currentPage === 1}\n const next: PaginationPageType = {type: 'NEXT', num: currentPage + 1, disabled: currentPage === pageCount}\n return [prev, ...pages, next]\n}\n"],"mappings":";AAQA,SAAgB,EACd,GACA,GACA,GACA,GACA,GACsB;CACtB,IAAM,IAA8B,EAAE;AAEtC,KAAI,GAAW;EACb,IAAM,IAA0B,EAAE,EAC5B,KAAW,MAAc;AAC7B,GAAI,KAAK,KAAK,KAAK,KACjB,EAAS,KAAK,EAAE;KAMhB,IAAa,IAAc,GAC3B,IAAc,IAAc;AAChC,MAAI,IAAa,KAAK,IAAc,EAIlC,CADA,IAAa,GACb,IAAc;WACL,IAAa,EACtB,QAAO,IAAa,GAElB,CADA,KACA;WAEO,IAAc,EACvB,QAAO,IAAc,GAEnB,CADA,KACA;AAOJ,OAAK,IAAI,IAAI,GAAG,KAAK,GAAiB,KAAK;GACzC,IAAM,IAAW,GACX,IAAY,KAAa,IAAI;AAMnC,GALI,KAAY,IACd,MAEA,EAAQ,EAAS,EAEf,KAAa,IACf,MAEA,EAAQ,EAAU;;AAItB,OAAK,IAAI,IAAI,GAAY,KAAK,GAAa,IACzC,GAAQ,EAAE;EAGZ,IAAM,IAAS,EACZ,OAAO,CACP,MAAM,GAAG,MAAM,IAAI,EAAE,CACrB,QAAQ,GAAM,GAAK,MAAQ,CAAC,KAAO,MAAS,EAAI,IAAM,GAAG;AAC5D,OAAK,IAAI,IAAM,GAAG,IAAM,EAAO,QAAQ,KAAO;GAC5C,IAAM,IAAM,EAAO,IACb,IAAW,MAAQ,GACnB,IAAO,EAAO,IAAM,IACpB,IAAO,EAAO,IAAM,IACpB,IAAY,IAAM,GAElB,IADY,IAAM,MACY;AAEpC,GAAI,MAAQ,KACN,MAAQ,KAGV,EAAM,KAAK;IACT,MAAM;IACN,KAAK;IACN,CAAC,EAEJ,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA;IACD,CAAC,IAEE,MAAc,IAChB,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA;IACD,CAAC,IAGF,EAAM,KAAK;IACT,MAAM;IACN,KAAK,IAAM;IACZ,CAAC,EACF,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA,eAAe;IAChB,CAAC;;EAKR,IAAM,IAAW,EAAM,EAAM,SAAS;AACtC,EAAI,EAAS,SAAS,SAAS,EAAS,QAAQ,KAG9C,EAAM,KAAK;GACT,MAAM;GACN,KAAK;GACN,CAAC;;CAIN,IAAM,IAA2B;EAAC,MAAM;EAAQ,KAAK,IAAc;EAAG,UAAU,MAAgB;EAAE,EAC5F,IAA2B;EAAC,MAAM;EAAQ,KAAK,IAAc;EAAG,UAAU,MAAgB;EAAU;AAC1G,QAAO;EAAC;EAAM,GAAG;EAAO;EAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubNav.d.ts","sourceRoot":"","sources":["../../src/SubNav/SubNav.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAYZ,KAAK,iBAAiB,EAEtB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AACd,OAAO,EAAS,WAAW,EAAE,cAAc,EAAQ,SAAS,EAA+B,MAAM,IAAI,CAAA;AAWrG,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAEnD;;GAEG;AACH,OAAO,8FAA8F,CAAA;AACrG,OAAO,2GAA2G,CAAA;AA4BlH,eAAO,MAAM,qBAAqB,iCAAkC,CAAA;AACpE,KAAK,eAAe,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7D,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;CAC5C,CAAA;AAID,eAAO,MAAM,gBAAgB,yBAM5B,CAAA;AA6CD,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;AA8PhD,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,GACvD,SAAS,CAAC,iBAAiB,CAAC,CAAA;AAe9B,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,GACvD,SAAS,CAAC,iBAAiB,CAAC,CAAA;AAe9B,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,GACvD,SAAS,CAAC,iBAAiB,CAAC,CAAA;AA6J9B,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,eAAe,CAAA;CAC1B,GAAG,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,GACxC,SAAS,CAAC,gBAAgB,CAAC,CAAA;AAE7B,iBAAS,WAAW,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAoB,EAAE,GAAG,KAAK,EAAC,EAAE,YAAY,2CAgEvF;AAED,KAAK,iBAAiB,GAAG;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;CAC1C,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAA;AAE/D,iBAAS,UAAU,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAmB,EAAE,IAAc,EAAE,GAAG,IAAI,EAAC,EAAE,iBAAiB,2CAcpG;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM;8EA7SgE,gBAAgB;iFAmBb,mBAAmB;;;;;;;;;;;;;CAiSvG,CAAA"}
1
+ {"version":3,"file":"SubNav.d.ts","sourceRoot":"","sources":["../../src/SubNav/SubNav.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAYZ,KAAK,iBAAiB,EAEtB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AACd,OAAO,EAAS,WAAW,EAAE,cAAc,EAAQ,SAAS,EAA+B,MAAM,IAAI,CAAA;AAWrG,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAEnD;;GAEG;AACH,OAAO,8FAA8F,CAAA;AACrG,OAAO,2GAA2G,CAAA;AA4BlH,eAAO,MAAM,qBAAqB,iCAAkC,CAAA;AACpE,KAAK,eAAe,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7D,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;CAC5C,CAAA;AAID,eAAO,MAAM,gBAAgB,yBAM5B,CAAA;AA6CD,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;AA+PhD,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,GACvD,SAAS,CAAC,iBAAiB,CAAC,CAAA;AAe9B,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,GACvD,SAAS,CAAC,iBAAiB,CAAC,CAAA;AAe9B,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,GACvD,SAAS,CAAC,iBAAiB,CAAC,CAAA;AA6J9B,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,eAAe,CAAA;CAC1B,GAAG,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,GACxC,SAAS,CAAC,gBAAgB,CAAC,CAAA;AAE7B,iBAAS,WAAW,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAoB,EAAE,GAAG,KAAK,EAAC,EAAE,YAAY,2CAgEvF;AAED,KAAK,iBAAiB,GAAG;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;CAC1C,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAA;AAE/D,iBAAS,UAAU,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAmB,EAAE,IAAc,EAAE,GAAG,IAAI,EAAC,EAAE,iBAAiB,2CAcpG;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM;8EA7SgE,gBAAgB;iFAmBb,mBAAmB;;;;;;;;;;;;;CAiSvG,CAAA"}
@@ -95,7 +95,7 @@ var P = y(_(({ id: o, children: s, className: f, "data-testid": g, fullWidth: _,
95
95
  return !1;
96
96
  }));
97
97
  }, [W]);
98
- let { heading: J, subheading: Y, links: X, action: ne } = W.reduce((e, t) => {
98
+ let { heading: J, subheading: Y, links: ne, action: re } = W.reduce((e, t) => {
99
99
  if (v(t)) if (t.type === F) e.heading = t;
100
100
  else if (t.type === I) e.subheading = t;
101
101
  else if (t.type === R) {
@@ -111,10 +111,10 @@ var P = y(_(({ id: o, children: s, className: f, "data-testid": g, fullWidth: _,
111
111
  subheading: void 0,
112
112
  links: [],
113
113
  action: void 0
114
- }), re = q ? h.toArray(q.props.children) : [], Z = re[0], Q = re[1], ie = v(Q) && Q.type === z && Q.props.variant === "anchor" ? Q : null, $ = v(Y) && Y.type === I && !!Y.props["aria-current"], ae = C(() => /* @__PURE__ */ E("div", {
114
+ }), ie = q ? h.toArray(q.props.children) : [], X = ie[0], Z = ie[1], ae = v(Z) && Z.type === z && Z.props.variant === "anchor" ? Z : null, Q = v(Y) && Y.type === I && !!Y.props["aria-current"], $ = Y ? X : null, oe = C(() => /* @__PURE__ */ E("div", {
115
115
  className: e(p["SubNav__overlay-toggle"], L && p["SubNav__overlay-toggle--open"]),
116
116
  children: /* @__PURE__ */ E("span", {
117
- className: e(p["SubNav__overlay-toggle-content"], !Z && p["SubNav__overlay-toggle-content--end"]),
117
+ className: e(p["SubNav__overlay-toggle-content"], !$ && p["SubNav__overlay-toggle-content--end"]),
118
118
  children: /* @__PURE__ */ D("button", {
119
119
  ref: P,
120
120
  className: p["SubNav__overlay-toggle-label"],
@@ -122,11 +122,11 @@ var P = y(_(({ id: o, children: s, className: f, "data-testid": g, fullWidth: _,
122
122
  onClick: L ? G : K,
123
123
  "aria-expanded": L ? "true" : "false",
124
124
  "aria-controls": H,
125
- "aria-label": Z ? `Navigation menu. Current page: ${Z}` : "Navigation menu",
126
- children: [Z && /* @__PURE__ */ E(r, {
125
+ "aria-label": X ? `Navigation menu. Current page: ${X}` : "Navigation menu",
126
+ children: [$ && /* @__PURE__ */ E(r, {
127
127
  as: "span",
128
128
  size: "100",
129
- children: Z
129
+ children: $
130
130
  }), E(L ? a : i, {
131
131
  className: p["SubNav__overlay-toggle-icon"],
132
132
  size: 13
@@ -134,15 +134,16 @@ var P = y(_(({ id: o, children: s, className: f, "data-testid": g, fullWidth: _,
134
134
  })
135
135
  })
136
136
  }), [
137
- Z,
137
+ X,
138
138
  G,
139
139
  K,
140
140
  H,
141
- L
141
+ L,
142
+ $
142
143
  ]);
143
144
  return /* @__PURE__ */ E("div", {
144
145
  ref: O,
145
- className: e(p.SubNav__container, Y && p["SubNav--has-sub-heading"], Y && $ && p["SubNav--subHeadingActive"], ee && p["SubNav__container--with-anchor-nav"]),
146
+ className: e(p.SubNav__container, Y && p["SubNav--has-sub-heading"], Y && Q && p["SubNav--subHeadingActive"], ee && p["SubNav__container--with-anchor-nav"]),
146
147
  children: /* @__PURE__ */ E(N, { children: /* @__PURE__ */ E("nav", {
147
148
  ref: j,
148
149
  id: o,
@@ -160,22 +161,22 @@ var P = y(_(({ id: o, children: s, className: f, "data-testid": g, fullWidth: _,
160
161
  children: J
161
162
  }),
162
163
  Y && /* @__PURE__ */ E("div", {
163
- className: e(p["SubNav__heading-container"], p["SubNav__subheading-container"], $ && p["SubNav__subheading-container-active"]),
164
+ className: e(p["SubNav__heading-container"], p["SubNav__subheading-container"], Q && p["SubNav__subheading-container-active"]),
164
165
  children: Y
165
166
  }),
166
- !U && (!Y || $) && ae,
167
- ie && ie
167
+ !U && (!Y || Q) && oe,
168
+ ae && ae
168
169
  ]
169
170
  }),
170
- !U && Y && !$ && ae,
171
- X.length > 0 && /* @__PURE__ */ D("ul", {
171
+ !U && Y && !Q && oe,
172
+ ne.length > 0 && /* @__PURE__ */ D("ul", {
172
173
  ref: M,
173
174
  id: H,
174
175
  className: e(p["SubNav__links-overlay"], L && p["SubNav__links-overlay--open"]),
175
176
  "data-testid": k.overlay,
176
- children: [X, ne && /* @__PURE__ */ E("li", {
177
+ children: [ne, re && /* @__PURE__ */ E("li", {
177
178
  className: p["SubNav__action-container"],
178
- children: ne
179
+ children: re
179
180
  })]
180
181
  })
181
182
  ]