@node-core/ui-components 1.0.1-a459447336d99556960d6f9e1c997327b29e4974 → 1.0.1-ab0ba1dcb1d91392c44e91b1e74e9f565e460543

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 (327) hide show
  1. package/.lintstagedrc.json +5 -0
  2. package/.postcssrc.json +6 -0
  3. package/.storybook/constants.ts +28 -0
  4. package/.storybook/main.ts +38 -0
  5. package/.storybook/preview-head.html +20 -0
  6. package/.storybook/preview.tsx +32 -0
  7. package/.stylelintignore +1 -0
  8. package/.stylelintrc.mjs +56 -0
  9. package/__design__/colors.stories.tsx +82 -0
  10. package/__design__/effects.stories.tsx +7 -0
  11. package/__design__/font-family.stories.tsx +76 -0
  12. package/__design__/list.stories.tsx +27 -0
  13. package/__design__/node-logos.stories.tsx +61 -0
  14. package/__design__/platform-logos.stories.tsx +31 -0
  15. package/__design__/social-logos.stories.tsx +33 -0
  16. package/__design__/table.stories.tsx +56 -0
  17. package/__design__/text.stories.tsx +100 -0
  18. package/eslint.config.js +61 -0
  19. package/package.json +45 -6
  20. package/src/Common/AlertBox/index.module.css +83 -0
  21. package/src/Common/AlertBox/index.stories.tsx +96 -0
  22. package/src/Common/AlertBox/index.tsx +24 -0
  23. package/src/Common/AvatarGroup/Avatar/index.module.css +40 -0
  24. package/src/Common/AvatarGroup/Avatar/index.stories.tsx +22 -0
  25. package/src/Common/AvatarGroup/Avatar/index.tsx +67 -0
  26. package/src/Common/AvatarGroup/Overlay/index.module.css +31 -0
  27. package/src/Common/AvatarGroup/Overlay/index.stories.tsx +33 -0
  28. package/src/Common/AvatarGroup/Overlay/index.tsx +37 -0
  29. package/src/Common/AvatarGroup/__tests__/index.test.jsx +55 -0
  30. package/src/Common/AvatarGroup/index.module.css +21 -0
  31. package/src/Common/AvatarGroup/index.stories.tsx +56 -0
  32. package/src/Common/AvatarGroup/index.tsx +83 -0
  33. package/src/Common/Badge/index.module.css +38 -0
  34. package/src/Common/Badge/index.stories.tsx +38 -0
  35. package/src/Common/Badge/index.tsx +35 -0
  36. package/src/Common/BadgeGroup/index.module.css +77 -0
  37. package/src/Common/BadgeGroup/index.stories.tsx +35 -0
  38. package/src/Common/BadgeGroup/index.tsx +35 -0
  39. package/src/Common/Banner/index.module.css +42 -0
  40. package/src/Common/Banner/index.stories.tsx +29 -0
  41. package/src/Common/Banner/index.tsx +18 -0
  42. package/src/Common/BaseActiveLink/__tests__/index.test.jsx +52 -0
  43. package/src/Common/BaseActiveLink/index.tsx +34 -0
  44. package/src/Common/BaseButton/index.module.css +145 -0
  45. package/src/Common/BaseButton/index.stories.tsx +67 -0
  46. package/src/Common/BaseButton/index.tsx +59 -0
  47. package/src/Common/BaseCodeBox/index.module.css +78 -0
  48. package/src/Common/BaseCodeBox/index.stories.tsx +39 -0
  49. package/src/Common/BaseCodeBox/index.tsx +122 -0
  50. package/src/Common/BaseCrossLink/index.module.css +51 -0
  51. package/src/Common/BaseCrossLink/index.stories.tsx +38 -0
  52. package/src/Common/BaseCrossLink/index.tsx +46 -0
  53. package/src/Common/BaseLinkTabs/index.module.css +43 -0
  54. package/src/Common/BaseLinkTabs/index.stories.tsx +34 -0
  55. package/src/Common/BaseLinkTabs/index.tsx +53 -0
  56. package/src/Common/BasePagination/Ellipsis/index.module.css +10 -0
  57. package/src/Common/BasePagination/Ellipsis/index.stories.tsx +10 -0
  58. package/src/Common/BasePagination/Ellipsis/index.tsx +11 -0
  59. package/src/Common/BasePagination/PaginationListItem/__tests__/index.test.jsx +58 -0
  60. package/src/Common/BasePagination/PaginationListItem/index.module.css +27 -0
  61. package/src/Common/BasePagination/PaginationListItem/index.stories.tsx +40 -0
  62. package/src/Common/BasePagination/PaginationListItem/index.tsx +39 -0
  63. package/src/Common/BasePagination/PrevNextArrow.tsx +15 -0
  64. package/src/Common/BasePagination/__tests__/index.test.jsx +180 -0
  65. package/src/Common/BasePagination/index.module.css +39 -0
  66. package/src/Common/BasePagination/index.stories.tsx +67 -0
  67. package/src/Common/BasePagination/index.tsx +77 -0
  68. package/src/Common/BasePagination/useGetPageElements.tsx +132 -0
  69. package/src/Common/Blockquote/index.module.css +29 -0
  70. package/src/Common/Blockquote/index.stories.tsx +45 -0
  71. package/src/Common/Blockquote/index.tsx +11 -0
  72. package/src/Common/Breadcrumbs/BreadcrumbHomeLink/index.module.css +5 -0
  73. package/src/Common/Breadcrumbs/BreadcrumbHomeLink/index.tsx +30 -0
  74. package/src/Common/Breadcrumbs/BreadcrumbItem/index.module.css +41 -0
  75. package/src/Common/Breadcrumbs/BreadcrumbItem/index.tsx +42 -0
  76. package/src/Common/Breadcrumbs/BreadcrumbLink/index.module.css +22 -0
  77. package/src/Common/Breadcrumbs/BreadcrumbLink/index.tsx +37 -0
  78. package/src/Common/Breadcrumbs/BreadcrumbRoot/index.module.css +9 -0
  79. package/src/Common/Breadcrumbs/BreadcrumbRoot/index.tsx +20 -0
  80. package/src/Common/Breadcrumbs/BreadcrumbTruncatedItem/index.tsx +9 -0
  81. package/src/Common/Breadcrumbs/index.stories.tsx +94 -0
  82. package/src/Common/Breadcrumbs/index.tsx +81 -0
  83. package/src/Common/ChangeHistory/index.module.css +83 -0
  84. package/src/Common/ChangeHistory/index.stories.tsx +130 -0
  85. package/src/Common/ChangeHistory/index.tsx +67 -0
  86. package/src/Common/CodeTabs/index.module.css +56 -0
  87. package/src/Common/CodeTabs/index.stories.tsx +73 -0
  88. package/src/Common/CodeTabs/index.tsx +16 -0
  89. package/src/Common/DataTag/index.module.css +56 -0
  90. package/src/Common/DataTag/index.stories.tsx +40 -0
  91. package/src/Common/DataTag/index.tsx +39 -0
  92. package/src/Common/GlowingBackdrop/index.module.css +32 -0
  93. package/src/Common/GlowingBackdrop/index.stories.tsx +10 -0
  94. package/src/Common/GlowingBackdrop/index.tsx +13 -0
  95. package/src/Common/LanguageDropDown/index.module.css +53 -0
  96. package/src/Common/LanguageDropDown/index.stories.tsx +19 -0
  97. package/src/Common/LanguageDropDown/index.tsx +56 -0
  98. package/src/Common/Modal/index.module.css +79 -0
  99. package/src/Common/Modal/index.stories.tsx +34 -0
  100. package/src/Common/Modal/index.tsx +50 -0
  101. package/src/Common/NodejsLogo/index.module.css +6 -0
  102. package/src/Common/NodejsLogo/index.stories.tsx +14 -0
  103. package/src/Common/NodejsLogo/index.tsx +26 -0
  104. package/src/Common/Notification/index.module.css +20 -0
  105. package/src/Common/Notification/index.stories.tsx +36 -0
  106. package/src/Common/Notification/index.tsx +34 -0
  107. package/src/Common/Preview/index.module.css +79 -0
  108. package/src/Common/Preview/index.stories.tsx +44 -0
  109. package/src/Common/Preview/index.tsx +25 -0
  110. package/src/Common/Select/__tests__/index.test.jsx +67 -0
  111. package/src/Common/Select/index.module.css +161 -0
  112. package/src/Common/Select/index.stories.tsx +111 -0
  113. package/src/Common/Select/index.tsx +187 -0
  114. package/src/Common/Separator/index.module.css +16 -0
  115. package/src/Common/Separator/index.stories.tsx +32 -0
  116. package/src/Common/Separator/index.tsx +27 -0
  117. package/src/Common/Skeleton/index.module.css +30 -0
  118. package/src/Common/Skeleton/index.tsx +39 -0
  119. package/src/Common/Tabs/__tests__/index.test.jsx +52 -0
  120. package/src/Common/Tabs/index.module.css +54 -0
  121. package/src/Common/Tabs/index.stories.tsx +50 -0
  122. package/src/Common/Tabs/index.tsx +54 -0
  123. package/src/Common/ThemeToggle/__tests__/index.test.jsx +35 -0
  124. package/src/Common/ThemeToggle/index.module.css +15 -0
  125. package/src/Common/ThemeToggle/index.stories.tsx +10 -0
  126. package/src/Common/ThemeToggle/index.tsx +15 -0
  127. package/src/Common/Tooltip/index.module.css +43 -0
  128. package/src/Common/Tooltip/index.stories.tsx +73 -0
  129. package/src/Common/Tooltip/index.tsx +48 -0
  130. package/src/Containers/Article/index.module.css +70 -0
  131. package/src/Containers/Article/index.stories.tsx +39 -0
  132. package/src/Containers/Article/index.tsx +9 -0
  133. package/src/Containers/DocSideBar/index.tsx +0 -0
  134. package/src/Containers/Footer/index.module.css +46 -0
  135. package/src/Containers/Footer/index.stories.tsx +27 -0
  136. package/src/Containers/Footer/index.tsx +95 -0
  137. package/src/Containers/MetaBar/__tests__/index.test.jsx +63 -0
  138. package/src/Containers/MetaBar/index.module.css +91 -0
  139. package/src/Containers/MetaBar/index.stories.tsx +80 -0
  140. package/src/Containers/MetaBar/index.tsx +72 -0
  141. package/src/Containers/NavBar/NavItem/index.module.css +60 -0
  142. package/src/Containers/NavBar/NavItem/index.stories.tsx +38 -0
  143. package/src/Containers/NavBar/NavItem/index.tsx +44 -0
  144. package/src/Containers/NavBar/index.module.css +125 -0
  145. package/src/Containers/NavBar/index.stories.tsx +45 -0
  146. package/src/Containers/NavBar/index.tsx +94 -0
  147. package/src/Containers/Sidebar/ProgressionIcon/index.tsx +16 -0
  148. package/src/Containers/Sidebar/SidebarGroup/index.module.css +64 -0
  149. package/src/Containers/Sidebar/SidebarGroup/index.stories.tsx +36 -0
  150. package/src/Containers/Sidebar/SidebarGroup/index.tsx +49 -0
  151. package/src/Containers/Sidebar/SidebarItem/index.module.css +56 -0
  152. package/src/Containers/Sidebar/SidebarItem/index.stories.tsx +15 -0
  153. package/src/Containers/Sidebar/SidebarItem/index.tsx +43 -0
  154. package/src/Containers/Sidebar/index.module.css +30 -0
  155. package/src/Containers/Sidebar/index.stories.tsx +88 -0
  156. package/src/Containers/Sidebar/index.tsx +70 -0
  157. package/src/Icons/HexagonGrid.stories.tsx +10 -0
  158. package/src/Icons/HexagonGrid.tsx +1434 -0
  159. package/src/Icons/InstallationMethod/Choco.tsx +78 -0
  160. package/src/Icons/InstallationMethod/Devbox.tsx +21 -0
  161. package/src/Icons/InstallationMethod/Docker.tsx +20 -0
  162. package/src/Icons/InstallationMethod/FNM.tsx +132 -0
  163. package/src/Icons/InstallationMethod/Homebrew.tsx +69 -0
  164. package/src/Icons/InstallationMethod/N.tsx +32 -0
  165. package/src/Icons/InstallationMethod/NVM.tsx +63 -0
  166. package/src/Icons/InstallationMethod/Volta.tsx +34 -0
  167. package/{Icons/InstallationMethod/index.js → src/Icons/InstallationMethod/index.ts} +1 -0
  168. package/src/Icons/Logos/JsGreen.tsx +24 -0
  169. package/src/Icons/Logos/JsWhite.tsx +37 -0
  170. package/src/Icons/Logos/Nodejs.tsx +372 -0
  171. package/src/Icons/Logos/NodejsStackedBlack.tsx +98 -0
  172. package/src/Icons/Logos/NodejsStackedDark.tsx +124 -0
  173. package/src/Icons/Logos/NodejsStackedLight.tsx +123 -0
  174. package/src/Icons/Logos/NodejsStackedWhite.tsx +98 -0
  175. package/src/Icons/Logos/index.ts +17 -0
  176. package/src/Icons/OperatingSystem/AIX.tsx +46 -0
  177. package/src/Icons/OperatingSystem/Apple.tsx +23 -0
  178. package/src/Icons/OperatingSystem/Linux.tsx +969 -0
  179. package/src/Icons/OperatingSystem/Microsoft.tsx +19 -0
  180. package/{Icons/OperatingSystem/index.js → src/Icons/OperatingSystem/index.ts} +1 -0
  181. package/src/Icons/PackageManager/Npm.tsx +21 -0
  182. package/src/Icons/PackageManager/Pnpm.tsx +22 -0
  183. package/src/Icons/PackageManager/Yarn.tsx +22 -0
  184. package/{Icons/PackageManager/index.js → src/Icons/PackageManager/index.ts} +1 -0
  185. package/src/Icons/Social/Bluesky.tsx +19 -0
  186. package/src/Icons/Social/Discord.tsx +20 -0
  187. package/src/Icons/Social/GitHub.tsx +16 -0
  188. package/src/Icons/Social/LinkedIn.tsx +16 -0
  189. package/src/Icons/Social/Mastodon.tsx +36 -0
  190. package/src/Icons/Social/Slack.tsx +31 -0
  191. package/src/Icons/Social/X.tsx +16 -0
  192. package/{Icons/Social/index.js → src/Icons/Social/index.ts} +1 -0
  193. package/src/MDX/CodeTabs.tsx +47 -0
  194. package/src/global.d.ts +4 -0
  195. package/src/stylelint/__tests__/index.test.mjs +80 -0
  196. package/src/stylelint/one-utility-class-per-line.mjs +64 -0
  197. package/{stylelint → src/stylelint}/utils.mjs +25 -19
  198. package/src/styles/animations.css +47 -0
  199. package/src/styles/base.css +17 -0
  200. package/src/styles/effects.css +12 -0
  201. package/src/styles/index.css +38 -0
  202. package/src/styles/markdown.css +173 -0
  203. package/src/styles/theme.css +175 -0
  204. package/src/types.ts +25 -0
  205. package/tsconfig.json +20 -0
  206. package/turbo.json +31 -0
  207. package/Common/AlertBox/index.js +0 -5
  208. package/Common/AlertBox/index.module.css +0 -77
  209. package/Common/AvatarGroup/Avatar/index.js +0 -11
  210. package/Common/AvatarGroup/Avatar/index.module.css +0 -60
  211. package/Common/AvatarGroup/Overlay/index.js +0 -6
  212. package/Common/AvatarGroup/Overlay/index.module.css +0 -38
  213. package/Common/AvatarGroup/index.js +0 -21
  214. package/Common/AvatarGroup/index.module.css +0 -22
  215. package/Common/Badge/index.js +0 -7
  216. package/Common/Badge/index.module.css +0 -46
  217. package/Common/BadgeGroup/index.js +0 -6
  218. package/Common/BadgeGroup/index.module.css +0 -101
  219. package/Common/Banner/index.js +0 -4
  220. package/Common/Banner/index.module.css +0 -45
  221. package/Common/BaseActiveLink/index.js +0 -14
  222. package/Common/BaseButton/index.js +0 -10
  223. package/Common/BaseButton/index.module.css +0 -372
  224. package/Common/BaseCodeBox/index.js +0 -50
  225. package/Common/BaseCodeBox/index.module.css +0 -96
  226. package/Common/BaseCrossLink/index.js +0 -12
  227. package/Common/BaseCrossLink/index.module.css +0 -69
  228. package/Common/BaseLinkTabs/index.js +0 -5
  229. package/Common/BaseLinkTabs/index.module.css +0 -77
  230. package/Common/BasePagination/Ellipsis/index.js +0 -4
  231. package/Common/BasePagination/Ellipsis/index.module.css +0 -16
  232. package/Common/BasePagination/PaginationListItem/index.js +0 -6
  233. package/Common/BasePagination/PaginationListItem/index.module.css +0 -42
  234. package/Common/BasePagination/PrevNextArrow.js +0 -7
  235. package/Common/BasePagination/index.js +0 -10
  236. package/Common/BasePagination/index.module.css +0 -40
  237. package/Common/BasePagination/useGetPageElements.js +0 -77
  238. package/Common/Blockquote/index.js +0 -4
  239. package/Common/Blockquote/index.module.css +0 -50
  240. package/Common/Breadcrumbs/BreadcrumbHomeLink/index.js +0 -9
  241. package/Common/Breadcrumbs/BreadcrumbHomeLink/index.module.css +0 -5
  242. package/Common/Breadcrumbs/BreadcrumbItem/index.js +0 -6
  243. package/Common/Breadcrumbs/BreadcrumbItem/index.module.css +0 -52
  244. package/Common/Breadcrumbs/BreadcrumbLink/index.js +0 -5
  245. package/Common/Breadcrumbs/BreadcrumbLink/index.module.css +0 -32
  246. package/Common/Breadcrumbs/BreadcrumbRoot/index.js +0 -4
  247. package/Common/Breadcrumbs/BreadcrumbRoot/index.module.css +0 -10
  248. package/Common/Breadcrumbs/BreadcrumbTruncatedItem/index.js +0 -4
  249. package/Common/Breadcrumbs/index.js +0 -22
  250. package/Common/ChangeHistory/index.js +0 -9
  251. package/Common/ChangeHistory/index.module.css +0 -198
  252. package/Common/CodeTabs/index.js +0 -5
  253. package/Common/CodeTabs/index.module.css +0 -67
  254. package/Common/DataTag/index.js +0 -18
  255. package/Common/DataTag/index.module.css +0 -54
  256. package/Common/GlowingBackdrop/index.js +0 -5
  257. package/Common/GlowingBackdrop/index.module.css +0 -130
  258. package/Common/LanguageDropDown/index.js +0 -11
  259. package/Common/LanguageDropDown/index.module.css +0 -151
  260. package/Common/Modal/index.js +0 -10
  261. package/Common/Modal/index.module.css +0 -234
  262. package/Common/NodejsLogo/index.js +0 -7
  263. package/Common/NodejsLogo/index.module.css +0 -5
  264. package/Common/Notification/index.js +0 -6
  265. package/Common/Notification/index.module.css +0 -104
  266. package/Common/Preview/index.js +0 -7
  267. package/Common/Preview/index.module.css +0 -283
  268. package/Common/Select/index.js +0 -49
  269. package/Common/Select/index.module.css +0 -328
  270. package/Common/Separator/index.js +0 -7
  271. package/Common/Separator/index.module.css +0 -13
  272. package/Common/Skeleton/index.js +0 -18
  273. package/Common/Skeleton/index.module.css +0 -127
  274. package/Common/Tabs/index.js +0 -6
  275. package/Common/Tabs/index.module.css +0 -72
  276. package/Common/ThemeToggle/index.js +0 -7
  277. package/Common/ThemeToggle/index.module.css +0 -22
  278. package/Common/Tooltip/index.js +0 -8
  279. package/Common/Tooltip/index.module.css +0 -133
  280. package/Containers/Article/index.js +0 -4
  281. package/Containers/Article/index.module.css +0 -139
  282. package/Containers/DocSideBar/index.js +0 -1
  283. package/Containers/Footer/index.js +0 -22
  284. package/Containers/Footer/index.module.css +0 -61
  285. package/Containers/MetaBar/index.js +0 -12
  286. package/Containers/MetaBar/index.module.css +0 -123
  287. package/Containers/NavBar/NavItem/index.js +0 -7
  288. package/Containers/NavBar/NavItem/index.module.css +0 -74
  289. package/Containers/NavBar/index.js +0 -18
  290. package/Containers/NavBar/index.module.css +0 -205
  291. package/Containers/Sidebar/ProgressionIcon/index.js +0 -3
  292. package/Containers/Sidebar/SidebarGroup/index.js +0 -9
  293. package/Containers/Sidebar/SidebarGroup/index.module.css +0 -192
  294. package/Containers/Sidebar/SidebarItem/index.js +0 -11
  295. package/Containers/Sidebar/SidebarItem/index.module.css +0 -67
  296. package/Containers/Sidebar/index.js +0 -15
  297. package/Containers/Sidebar/index.module.css +0 -48
  298. package/Icons/HexagonGrid.js +0 -3
  299. package/Icons/InstallationMethod/Choco.js +0 -3
  300. package/Icons/InstallationMethod/Devbox.js +0 -3
  301. package/Icons/InstallationMethod/Docker.js +0 -3
  302. package/Icons/InstallationMethod/FNM.js +0 -3
  303. package/Icons/InstallationMethod/Homebrew.js +0 -3
  304. package/Icons/InstallationMethod/N.js +0 -5
  305. package/Icons/InstallationMethod/NVM.js +0 -3
  306. package/Icons/InstallationMethod/Volta.js +0 -3
  307. package/Icons/Logos/JsWhite.js +0 -3
  308. package/Icons/Logos/Nodejs.js +0 -12
  309. package/Icons/Logos/index.js +0 -3
  310. package/Icons/OperatingSystem/AIX.js +0 -3
  311. package/Icons/OperatingSystem/Apple.js +0 -3
  312. package/Icons/OperatingSystem/Linux.js +0 -3
  313. package/Icons/OperatingSystem/Microsoft.js +0 -3
  314. package/Icons/PackageManager/Npm.js +0 -3
  315. package/Icons/PackageManager/Pnpm.js +0 -3
  316. package/Icons/PackageManager/Yarn.js +0 -3
  317. package/Icons/Social/Bluesky.js +0 -3
  318. package/Icons/Social/Discord.js +0 -3
  319. package/Icons/Social/GitHub.js +0 -3
  320. package/Icons/Social/LinkedIn.js +0 -3
  321. package/Icons/Social/Mastodon.js +0 -3
  322. package/Icons/Social/Slack.js +0 -3
  323. package/Icons/Social/X.js +0 -3
  324. package/MDX/CodeTabs.js +0 -16
  325. package/stylelint/one-utility-class-per-line.mjs +0 -48
  326. package/styles/index.css +0 -1136
  327. package/types.js +0 -1
@@ -1,46 +0,0 @@
1
- /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
- .badge {
3
- border-radius: calc(infinity*1px);
4
- border-style: var(--tw-border-style);
5
- border-width: 1px;
6
- text-align: center;
7
- color: var(--color-white, #fff);
8
- &.small {
9
- padding-inline: calc(var(--spacing, 0.25rem)*1.5);
10
- padding-block: calc(var(--spacing, 0.25rem)*0.5);
11
- font-size: var(--text-xs, 0.75rem);
12
- line-height: var(--tw-leading, var(--text-xs--line-height, 1.33333));
13
- }
14
- &.medium {
15
- padding-inline: calc(var(--spacing, 0.25rem)*2.5);
16
- padding-block: calc(var(--spacing, 0.25rem)*0.5);
17
- font-size: var(--text-base, 1rem);
18
- line-height: var(--tw-leading, var(--text-base--line-height, 1.5));
19
- }
20
- &.default {
21
- border-color: var(--color-green-200, #c5e5b4);
22
- background-color: var(--color-green-600, #417e38);
23
- &:where([data-theme=dark], [data-theme=dark] *) {
24
- border-color: var(--color-green-800, #2c682c);
25
- }
26
- }
27
- &.error {
28
- border-color: var(--color-danger-200, #fad3d4);
29
- background-color: var(--color-danger-600, #de1a1b);
30
- &:where([data-theme=dark], [data-theme=dark] *) {
31
- border-color: var(--color-danger-800, #900e0e);
32
- }
33
- }
34
- &.warning {
35
- border-color: var(--color-warning-200, #fad9b0);
36
- background-color: var(--color-warning-600, #ae5f00);
37
- &:where([data-theme=dark], [data-theme=dark] *) {
38
- border-color: var(--color-warning-600, #ae5f00);
39
- }
40
- }
41
- }
42
- @property --tw-border-style {
43
- syntax: "*";
44
- inherits: false;
45
- initial-value: solid;
46
- }
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import ArrowRightIcon from '@heroicons/react/24/solid/ArrowRightIcon';
3
- import Badge from '#ui/Common/Badge';
4
- import styles from './index.module.css';
5
- const BadgeGroup = ({ kind = 'default', badgeText, children, as: Component = 'a', ...args }) => (_jsxs(Component, { className: `${styles.wrapper} ${styles[kind]}`, ...args, children: [badgeText && (_jsx(Badge, { kind: kind, className: styles.badge, children: badgeText })), _jsx("span", { className: styles.message, children: children }), args.href && _jsx(ArrowRightIcon, { className: styles.icon })] }));
6
- export default BadgeGroup;
@@ -1,101 +0,0 @@
1
- /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
- .wrapper {
3
- display: flex;
4
- width: fit-content;
5
- align-items: center;
6
- border-radius: calc(infinity*1px);
7
- border-style: var(--tw-border-style);
8
- border-width: 1px;
9
- padding-block: calc(var(--spacing, 0.25rem)*1);
10
- padding-right: calc(var(--spacing, 0.25rem)*2.5);
11
- padding-left: calc(var(--spacing, 0.25rem)*1);
12
- font-size: var(--text-sm, 0.875rem);
13
- line-height: var(--tw-leading, var(--text-sm--line-height, 1.42857));
14
- --tw-font-weight: var(--font-weight-medium, 500);
15
- font-weight: var(--font-weight-medium, 500);
16
- .icon {
17
- width: calc(var(--spacing, 0.25rem)*4);
18
- height: calc(var(--spacing, 0.25rem)*4);
19
- }
20
- .badge {
21
- margin-right: calc(var(--spacing, 0.25rem)*2);
22
- }
23
- .message {
24
- margin-right: calc(var(--spacing, 0.25rem)*1);
25
- }
26
- &.default {
27
- border-color: var(--color-green-200, #c5e5b4);
28
- background-color: var(--color-green-100, #edf2eb);
29
- &:where([data-theme=dark], [data-theme=dark] *) {
30
- border-color: var(--color-green-700, #2c682c);
31
- }
32
- &:where([data-theme=dark], [data-theme=dark] *) {
33
- background-color: var(--color-neutral-900, #2c3437);
34
- }
35
- .icon {
36
- color: var(--color-green-500, #5fa04e);
37
- &:where([data-theme=dark], [data-theme=dark] *) {
38
- color: var(--color-green-300, #99cc7d);
39
- }
40
- }
41
- .message {
42
- color: var(--color-green-700, #2c682c);
43
- &:where([data-theme=dark], [data-theme=dark] *) {
44
- color: var(--color-green-300, #99cc7d);
45
- }
46
- }
47
- }
48
- &.error {
49
- border-color: var(--color-danger-200, #fad3d4);
50
- background-color: var(--color-danger-100, #fbf1f0);
51
- &:where([data-theme=dark], [data-theme=dark] *) {
52
- border-color: var(--color-danger-700, #b80c0c);
53
- }
54
- &:where([data-theme=dark], [data-theme=dark] *) {
55
- background-color: var(--color-neutral-900, #2c3437);
56
- }
57
- .icon {
58
- color: var(--color-danger-500, #f65354);
59
- &:where([data-theme=dark], [data-theme=dark] *) {
60
- color: var(--color-danger-300, #fab6b7);
61
- }
62
- }
63
- .message {
64
- color: var(--color-danger-700, #b80c0c);
65
- &:where([data-theme=dark], [data-theme=dark] *) {
66
- color: var(--color-danger-300, #fab6b7);
67
- }
68
- }
69
- }
70
- &.warning {
71
- border-color: var(--color-warning-200, #fad9b0);
72
- background-color: var(--color-warning-100, #fdf3e7);
73
- &:where([data-theme=dark], [data-theme=dark] *) {
74
- border-color: var(--color-warning-700, #8b4d04);
75
- }
76
- &:where([data-theme=dark], [data-theme=dark] *) {
77
- background-color: var(--color-neutral-900, #2c3437);
78
- }
79
- .icon {
80
- color: var(--color-warning-500, #d07912);
81
- &:where([data-theme=dark], [data-theme=dark] *) {
82
- color: var(--color-warning-300, #f5bc75);
83
- }
84
- }
85
- .message {
86
- color: var(--color-warning-700, #8b4d04);
87
- &:where([data-theme=dark], [data-theme=dark] *) {
88
- color: var(--color-warning-300, #f5bc75);
89
- }
90
- }
91
- }
92
- }
93
- @property --tw-border-style {
94
- syntax: "*";
95
- inherits: false;
96
- initial-value: solid;
97
- }
98
- @property --tw-font-weight {
99
- syntax: "*";
100
- inherits: false;
101
- }
@@ -1,4 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import styles from './index.module.css';
3
- const Banner = ({ type = 'default', children, }) => (_jsx("div", { className: `${styles.banner} ${styles[type] || styles.default}`, children: children }));
4
- export default Banner;
@@ -1,45 +0,0 @@
1
- /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
- .banner {
3
- display: flex;
4
- width: 100%;
5
- flex-direction: row;
6
- align-items: center;
7
- justify-content: center;
8
- gap: calc(var(--spacing, 0.25rem)*2);
9
- padding-inline: calc(var(--spacing, 0.25rem)*8);
10
- padding-block: calc(var(--spacing, 0.25rem)*3);
11
- font-size: var(--text-sm, 0.875rem);
12
- line-height: var(--tw-leading, var(--text-sm--line-height, 1.42857));
13
- &,
14
- a {
15
- color: var(--color-white, #fff);
16
- &:where([data-theme=dark], [data-theme=dark] *) {
17
- color: var(--color-white, #fff);
18
- }
19
- }
20
- a {
21
- width: fit-content;
22
- text-decoration-line: underline;
23
- text-decoration-color: color-mix(in srgb, #fff 50%, transparent);
24
- @supports (color: color-mix(in lab, red, red)) {
25
- text-decoration-color: color-mix(in oklab, var(--color-white, #fff) 50%, transparent);
26
- }
27
- }
28
- svg {
29
- width: calc(var(--spacing, 0.25rem)*4);
30
- height: calc(var(--spacing, 0.25rem)*4);
31
- color: color-mix(in srgb, #fff 50%, transparent);
32
- @supports (color: color-mix(in lab, red, red)) {
33
- color: color-mix(in oklab, var(--color-white, #fff) 50%, transparent);
34
- }
35
- }
36
- }
37
- .default {
38
- background-color: var(--color-green-600, #417e38);
39
- }
40
- .error {
41
- background-color: var(--color-danger-600, #de1a1b);
42
- }
43
- .warning {
44
- background-color: var(--color-warning-600, #ae5f00);
45
- }
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import classNames from 'classnames';
3
- const BaseActiveLink = ({ activeClassName = 'active', allowSubPath = false, className, href = '', pathname = '/', as: Component = 'a', ...props }) => {
4
- const finalClassName = classNames(className, {
5
- [activeClassName]: allowSubPath
6
- ? // When using allowSubPath we want only to check if
7
- // the current pathname starts with the utmost upper level
8
- // of an href (e.g. /docs/...)
9
- pathname.startsWith(`/${href.toString().split('/')[1]}`)
10
- : href.toString() === pathname,
11
- });
12
- return _jsx(Component, { className: finalClassName, href: href, ...props });
13
- };
14
- export default BaseActiveLink;
@@ -1,10 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import classNames from 'classnames';
3
- import styles from './index.module.css';
4
- const BaseButton = ({ kind = 'primary', size = 'default', disabled = false, className, as: Component = 'a', ...props }) => {
5
- if ('href' in props && Component) {
6
- return (_jsx(Component, { role: "button", href: disabled ? undefined : props.href, "aria-disabled": disabled, className: classNames(styles.button, styles[kind], styles[size], className), tabIndex: disabled ? -1 : 0, ...props }));
7
- }
8
- return (_jsx("button", { disabled: disabled, className: classNames(styles.button, styles[kind], styles[size], className), type: "button", ...props }));
9
- };
10
- export default BaseButton;
@@ -1,372 +0,0 @@
1
- /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
- .button {
3
- position: relative;
4
- display: inline-flex;
5
- align-items: center;
6
- justify-content: center;
7
- gap: calc(var(--spacing, 0.25rem)*2);
8
- padding-inline: calc(var(--spacing, 0.25rem)*4.5);
9
- padding-block: calc(var(--spacing, 0.25rem)*2.5);
10
- text-align: center;
11
- --tw-font-weight: var(--font-weight-semibold, 600);
12
- font-weight: var(--font-weight-semibold, 600);
13
- @media (prefers-reduced-motion: no-preference) {
14
- transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
15
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));
16
- transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));
17
- }
18
- svg {
19
- width: calc(var(--spacing, 0.25rem)*5);
20
- height: calc(var(--spacing, 0.25rem)*5);
21
- }
22
- &[aria-disabled='true'] {
23
- cursor: not-allowed;
24
- }
25
- &.small {
26
- padding-inline: calc(var(--spacing, 0.25rem)*3);
27
- padding-block: calc(var(--spacing, 0.25rem)*2);
28
- font-size: var(--text-sm, 0.875rem);
29
- line-height: var(--tw-leading, var(--text-sm--line-height, 1.42857));
30
- }
31
- &.neutral {
32
- border-radius: var(--radius-sm, 0.25rem);
33
- background-color: var(--color-neutral-900, #2c3437);
34
- color: var(--color-white, #fff);
35
- &:where([data-theme=dark], [data-theme=dark] *) {
36
- color: var(--color-neutral-200, #e9edf0);
37
- }
38
- &:hover:not([aria-disabled='true']) {
39
- background-color: var(--color-neutral-800, #556066);
40
- }
41
- &[aria-disabled='true'] {
42
- background-color: var(--color-neutral-900, #2c3437);
43
- opacity: 50%;
44
- }
45
- &:focus {
46
- background-color: var(--color-neutral-800, #556066);
47
- }
48
- }
49
- &.primary {
50
- border-radius: var(--radius-sm, 0.25rem);
51
- border-style: var(--tw-border-style);
52
- border-width: 1px;
53
- border-color: var(--color-green-600, #417e38);
54
- background-color: var(--color-green-600, #417e38);
55
- color: var(--color-white, #fff);
56
- --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, color-mix(in srgb, #101828 5%, transparent));
57
- @supports (color: color-mix(in lab, red, red)) {
58
- --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, color-mix(in oklab, var(--color-shadow, #101828) 5%, transparent));
59
- }
60
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
61
- &:hover:not([aria-disabled='true']) {
62
- border-color: var(--color-green-700, #2c682c);
63
- background-color: var(--color-green-700, #2c682c);
64
- color: var(--color-white, #fff);
65
- }
66
- &:focus {
67
- border-color: var(--color-green-700, #2c682c);
68
- background-color: var(--color-green-700, #2c682c);
69
- }
70
- &[aria-disabled='true'] {
71
- background-color: var(--color-green-600, #417e38);
72
- opacity: 50%;
73
- }
74
- }
75
- &.secondary {
76
- border-radius: var(--radius-lg, 0.5rem);
77
- border-style: var(--tw-border-style);
78
- border-width: 1px;
79
- border-color: var(--color-neutral-200, #e9edf0);
80
- color: var(--color-neutral-800, #556066);
81
- &:where([data-theme=dark], [data-theme=dark] *) {
82
- border-color: var(--color-neutral-900, #2c3437);
83
- }
84
- &:where([data-theme=dark], [data-theme=dark] *) {
85
- color: var(--color-neutral-200, #e9edf0);
86
- }
87
- &:hover:not([aria-disabled='true']) {
88
- background-color: var(--color-neutral-200, #e9edf0);
89
- color: var(--color-neutral-800, #556066);
90
- &:where([data-theme=dark], [data-theme=dark] *) {
91
- background-color: var(--color-neutral-900, #2c3437);
92
- }
93
- &:where([data-theme=dark], [data-theme=dark] *) {
94
- color: var(--color-neutral-200, #e9edf0);
95
- }
96
- }
97
- &[aria-disabled='true'] {
98
- background-color: transparent;
99
- opacity: 50%;
100
- }
101
- &:focus {
102
- background-color: var(--color-neutral-100, #f6f7f9);
103
- color: var(--color-neutral-800, #556066);
104
- &:where([data-theme=dark], [data-theme=dark] *) {
105
- background-color: var(--color-neutral-900, #2c3437);
106
- }
107
- &:where([data-theme=dark], [data-theme=dark] *) {
108
- color: var(--color-neutral-200, #e9edf0);
109
- }
110
- }
111
- }
112
- &.special {
113
- border-radius: var(--radius-lg, 0.5rem);
114
- border-style: var(--tw-border-style);
115
- border-width: 1px;
116
- border-color: color-mix(in srgb, #417e38 30%, transparent);
117
- @supports (color: color-mix(in lab, red, red)) {
118
- border-color: color-mix(in oklab, var(--color-green-600, #417e38) 30%, transparent);
119
- }
120
- background-color: color-mix(in srgb, #417e38 10%, transparent);
121
- @supports (color: color-mix(in lab, red, red)) {
122
- background-color: color-mix(in oklab, var(--color-green-600, #417e38) 10%, transparent);
123
- }
124
- color: var(--color-white, #fff);
125
- --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, color-mix(in srgb, #101828 5%, transparent));
126
- @supports (color: color-mix(in lab, red, red)) {
127
- --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, color-mix(in oklab, var(--color-shadow, #101828) 5%, transparent));
128
- }
129
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
130
- &::before {
131
- content: var(--tw-content);
132
- position: absolute;
133
- }
134
- &::before {
135
- content: var(--tw-content);
136
- top: calc(var(--spacing, 0.25rem)*0);
137
- }
138
- &::before {
139
- content: var(--tw-content);
140
- right: calc(var(--spacing, 0.25rem)*0);
141
- }
142
- &::before {
143
- content: var(--tw-content);
144
- left: calc(var(--spacing, 0.25rem)*0);
145
- }
146
- &::before {
147
- content: var(--tw-content);
148
- z-index: -10;
149
- }
150
- &::before {
151
- content: var(--tw-content);
152
- margin-inline: auto;
153
- }
154
- &::before {
155
- content: var(--tw-content);
156
- height: 100%;
157
- }
158
- &::before {
159
- content: var(--tw-content);
160
- width: 100%;
161
- }
162
- &::before {
163
- content: var(--tw-content);
164
- background-image: radial-gradient( 8em circle at 50% 10px, var(--color-green-400), transparent 30% );
165
- }
166
- &::before {
167
- content: var(--tw-content);
168
- opacity: 30%;
169
- }
170
- &::before {
171
- content: var(--tw-content);
172
- --tw-content: '';
173
- content: var(--tw-content);
174
- }
175
- &::after {
176
- content: var(--tw-content);
177
- position: absolute;
178
- }
179
- &::after {
180
- content: var(--tw-content);
181
- top: -1px;
182
- }
183
- &::after {
184
- content: var(--tw-content);
185
- right: calc(var(--spacing, 0.25rem)*0);
186
- }
187
- &::after {
188
- content: var(--tw-content);
189
- left: calc(var(--spacing, 0.25rem)*0);
190
- }
191
- &::after {
192
- content: var(--tw-content);
193
- margin-inline: auto;
194
- }
195
- &::after {
196
- content: var(--tw-content);
197
- height: 1px;
198
- }
199
- &::after {
200
- content: var(--tw-content);
201
- width: 40%;
202
- }
203
- &::after {
204
- content: var(--tw-content);
205
- --tw-gradient-position: to right in oklab;
206
- background-image: linear-gradient(var(--tw-gradient-stops));
207
- }
208
- &::after {
209
- content: var(--tw-content);
210
- --tw-gradient-from: color-mix(in srgb, #417e38 0%, transparent);
211
- @supports (color: color-mix(in lab, red, red)) {
212
- --tw-gradient-from: color-mix(in oklab, var(--color-green-600, #417e38) 0%, transparent);
213
- }
214
- --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
215
- }
216
- &::after {
217
- content: var(--tw-content);
218
- --tw-gradient-via: var(--color-green-600, #417e38);
219
- --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
220
- --tw-gradient-stops: var(--tw-gradient-via-stops);
221
- }
222
- &::after {
223
- content: var(--tw-content);
224
- --tw-gradient-to: color-mix(in srgb, #417e38 0%, transparent);
225
- @supports (color: color-mix(in lab, red, red)) {
226
- --tw-gradient-to: color-mix(in oklab, var(--color-green-600, #417e38) 0%, transparent);
227
- }
228
- --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
229
- }
230
- &::after {
231
- content: var(--tw-content);
232
- --tw-content: '';
233
- content: var(--tw-content);
234
- }
235
- &[aria-disabled='true'] {
236
- opacity: 50%;
237
- }
238
- &:hover:not([aria-disabled='true']) {
239
- background-color: color-mix(in srgb, #417e38 20%, transparent);
240
- @supports (color: color-mix(in lab, red, red)) {
241
- background-color: color-mix(in oklab, var(--color-green-600, #417e38) 20%, transparent);
242
- }
243
- }
244
- &:focus {
245
- background-color: color-mix(in srgb, #417e38 20%, transparent);
246
- @supports (color: color-mix(in lab, red, red)) {
247
- background-color: color-mix(in oklab, var(--color-green-600, #417e38) 20%, transparent);
248
- }
249
- }
250
- }
251
- }
252
- @property --tw-font-weight {
253
- syntax: "*";
254
- inherits: false;
255
- }
256
- @property --tw-border-style {
257
- syntax: "*";
258
- inherits: false;
259
- initial-value: solid;
260
- }
261
- @property --tw-shadow {
262
- syntax: "*";
263
- inherits: false;
264
- initial-value: 0 0 #0000;
265
- }
266
- @property --tw-shadow-color {
267
- syntax: "*";
268
- inherits: false;
269
- }
270
- @property --tw-shadow-alpha {
271
- syntax: "<percentage>";
272
- inherits: false;
273
- initial-value: 100%;
274
- }
275
- @property --tw-inset-shadow {
276
- syntax: "*";
277
- inherits: false;
278
- initial-value: 0 0 #0000;
279
- }
280
- @property --tw-inset-shadow-color {
281
- syntax: "*";
282
- inherits: false;
283
- }
284
- @property --tw-inset-shadow-alpha {
285
- syntax: "<percentage>";
286
- inherits: false;
287
- initial-value: 100%;
288
- }
289
- @property --tw-ring-color {
290
- syntax: "*";
291
- inherits: false;
292
- }
293
- @property --tw-ring-shadow {
294
- syntax: "*";
295
- inherits: false;
296
- initial-value: 0 0 #0000;
297
- }
298
- @property --tw-inset-ring-color {
299
- syntax: "*";
300
- inherits: false;
301
- }
302
- @property --tw-inset-ring-shadow {
303
- syntax: "*";
304
- inherits: false;
305
- initial-value: 0 0 #0000;
306
- }
307
- @property --tw-ring-inset {
308
- syntax: "*";
309
- inherits: false;
310
- }
311
- @property --tw-ring-offset-width {
312
- syntax: "<length>";
313
- inherits: false;
314
- initial-value: 0px;
315
- }
316
- @property --tw-ring-offset-color {
317
- syntax: "*";
318
- inherits: false;
319
- initial-value: #fff;
320
- }
321
- @property --tw-ring-offset-shadow {
322
- syntax: "*";
323
- inherits: false;
324
- initial-value: 0 0 #0000;
325
- }
326
- @property --tw-content {
327
- syntax: "*";
328
- initial-value: "";
329
- inherits: false;
330
- }
331
- @property --tw-gradient-position {
332
- syntax: "*";
333
- inherits: false;
334
- }
335
- @property --tw-gradient-from {
336
- syntax: "<color>";
337
- inherits: false;
338
- initial-value: #0000;
339
- }
340
- @property --tw-gradient-via {
341
- syntax: "<color>";
342
- inherits: false;
343
- initial-value: #0000;
344
- }
345
- @property --tw-gradient-to {
346
- syntax: "<color>";
347
- inherits: false;
348
- initial-value: #0000;
349
- }
350
- @property --tw-gradient-stops {
351
- syntax: "*";
352
- inherits: false;
353
- }
354
- @property --tw-gradient-via-stops {
355
- syntax: "*";
356
- inherits: false;
357
- }
358
- @property --tw-gradient-from-position {
359
- syntax: "<length-percentage>";
360
- inherits: false;
361
- initial-value: 0%;
362
- }
363
- @property --tw-gradient-via-position {
364
- syntax: "<length-percentage>";
365
- inherits: false;
366
- initial-value: 50%;
367
- }
368
- @property --tw-gradient-to-position {
369
- syntax: "<length-percentage>";
370
- inherits: false;
371
- initial-value: 100%;
372
- }
@@ -1,50 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { DocumentDuplicateIcon } from '@heroicons/react/24/outline';
4
- import classNames from 'classnames';
5
- import { Fragment, isValidElement, useRef } from 'react';
6
- import BaseButton from '#ui/Common/BaseButton';
7
- import styles from './index.module.css';
8
- // Transforms a code element with plain text content into a more structured
9
- // format for rendering with line numbers
10
- const transformCode = (code, language) => {
11
- if (!isValidElement(code)) {
12
- // Early return when the `CodeBox` child is not a valid element since the
13
- // type is a ReactNode, and can assume any value
14
- return code;
15
- }
16
- const content = code.props?.children;
17
- if (code.type !== 'code' || typeof content !== 'string') {
18
- // There is no need to transform an element that is not a code element or
19
- // a content that is not a string
20
- return code;
21
- }
22
- // Note that since we use `.split` we will have an extra entry
23
- // being an empty string, so we need to remove it
24
- const lines = content.split('\n');
25
- const extraStyle = language.length === 0 ? { fontFamily: 'monospace' } : {};
26
- return (_jsx("code", { style: extraStyle, children: lines
27
- .flatMap((line, lineIndex) => {
28
- const columns = line.split(' ');
29
- return [
30
- _jsx("span", { className: "line", children: columns.map((column, columnIndex) => (_jsxs(Fragment, { children: [_jsx("span", { children: column }), columnIndex < columns.length - 1 && _jsx("span", { children: " " })] }, columnIndex))) }, lineIndex),
31
- // Add a break line so the text content is formatted correctly
32
- // when copying to clipboard
33
- '\n',
34
- ];
35
- })
36
- // Here we remove that empty line from before and
37
- // the last flatMap entry which is an `\n`
38
- .slice(0, -2) }));
39
- };
40
- const BaseCodeBox = ({ children, language, className, onCopy, buttonText, as = 'a', showCopyButton = true, }) => {
41
- const containerRef = useRef(null);
42
- const handleCopy = () => {
43
- const text = containerRef.current?.textContent;
44
- if (text) {
45
- onCopy(text);
46
- }
47
- };
48
- return (_jsxs("div", { className: styles.root, children: [_jsx("pre", { ref: containerRef, className: classNames(styles.content, className), tabIndex: 0, children: transformCode(children, language) }), language && (_jsxs("div", { className: styles.footer, children: [_jsx("span", { className: styles.language, children: language }), showCopyButton && (_jsxs(BaseButton, { as: as, className: styles.action, kind: "neutral", onClick: handleCopy, children: [_jsx(DocumentDuplicateIcon, { className: styles.icon }), buttonText] }))] }))] }));
49
- };
50
- export default BaseCodeBox;