@node-core/ui-components 1.0.1-c0bc4dd7eb49f97f35ce0983849d17702404c76a → 1.0.1-da75492230302b0f459aab323d2f6fdac6269a06

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 (263) hide show
  1. package/Common/AlertBox/index.js +5 -0
  2. package/Common/AlertBox/index.module.css +2 -76
  3. package/Common/AvatarGroup/Avatar/index.js +11 -0
  4. package/Common/AvatarGroup/Avatar/index.module.css +2 -40
  5. package/Common/AvatarGroup/Overlay/index.js +6 -0
  6. package/Common/AvatarGroup/Overlay/index.module.css +2 -31
  7. package/Common/AvatarGroup/index.js +21 -0
  8. package/Common/AvatarGroup/index.module.css +2 -21
  9. package/Common/Badge/index.js +5 -0
  10. package/Common/Badge/index.module.css +2 -38
  11. package/Common/BadgeGroup/index.js +6 -0
  12. package/Common/BadgeGroup/index.module.css +2 -77
  13. package/Common/Banner/index.js +4 -0
  14. package/Common/Banner/index.module.css +2 -42
  15. package/Common/BaseActiveLink/index.js +14 -0
  16. package/Common/BaseButton/index.js +10 -0
  17. package/Common/BaseButton/index.module.css +2 -142
  18. package/Common/BaseCodeBox/index.js +50 -0
  19. package/Common/BaseCodeBox/index.module.css +2 -78
  20. package/Common/BaseCrossLink/index.js +12 -0
  21. package/Common/BaseCrossLink/index.module.css +2 -51
  22. package/Common/BaseLinkTabs/index.js +5 -0
  23. package/Common/BaseLinkTabs/index.module.css +2 -43
  24. package/Common/BasePagination/Ellipsis/index.js +4 -0
  25. package/Common/BasePagination/Ellipsis/index.module.css +2 -10
  26. package/Common/BasePagination/PaginationListItem/index.js +6 -0
  27. package/Common/BasePagination/PaginationListItem/index.module.css +2 -27
  28. package/Common/BasePagination/PrevNextArrow.js +7 -0
  29. package/Common/BasePagination/index.js +10 -0
  30. package/Common/BasePagination/index.module.css +2 -39
  31. package/Common/BasePagination/useGetPageElements.js +77 -0
  32. package/Common/Blockquote/index.js +4 -0
  33. package/Common/Blockquote/index.module.css +2 -29
  34. package/Common/Breadcrumbs/BreadcrumbHomeLink/index.js +9 -0
  35. package/Common/Breadcrumbs/BreadcrumbHomeLink/index.module.css +2 -5
  36. package/Common/Breadcrumbs/BreadcrumbItem/index.js +6 -0
  37. package/Common/Breadcrumbs/BreadcrumbItem/index.module.css +2 -41
  38. package/Common/Breadcrumbs/BreadcrumbLink/index.js +5 -0
  39. package/Common/Breadcrumbs/BreadcrumbLink/index.module.css +2 -22
  40. package/Common/Breadcrumbs/BreadcrumbRoot/index.js +4 -0
  41. package/Common/Breadcrumbs/BreadcrumbRoot/index.module.css +2 -9
  42. package/Common/Breadcrumbs/BreadcrumbTruncatedItem/index.js +4 -0
  43. package/Common/Breadcrumbs/index.js +22 -0
  44. package/Common/ChangeHistory/index.js +9 -0
  45. package/Common/ChangeHistory/index.module.css +2 -83
  46. package/Common/CodeTabs/index.js +5 -0
  47. package/Common/CodeTabs/index.module.css +2 -56
  48. package/Common/DataTag/index.js +18 -0
  49. package/Common/DataTag/index.module.css +2 -56
  50. package/Common/GlowingBackdrop/index.js +5 -0
  51. package/Common/GlowingBackdrop/index.module.css +2 -32
  52. package/Common/LanguageDropDown/index.js +11 -0
  53. package/Common/LanguageDropDown/index.module.css +2 -53
  54. package/Common/Modal/index.js +10 -0
  55. package/Common/Modal/index.module.css +2 -79
  56. package/Common/NodejsLogo/index.js +7 -0
  57. package/Common/NodejsLogo/index.module.css +2 -6
  58. package/Common/Notification/index.js +6 -0
  59. package/Common/Notification/index.module.css +2 -20
  60. package/Common/Preview/index.js +7 -0
  61. package/Common/Preview/index.module.css +2 -79
  62. package/Common/Select/index.js +47 -0
  63. package/Common/Select/index.module.css +2 -161
  64. package/Common/Separator/index.js +7 -0
  65. package/Common/Separator/index.module.css +2 -16
  66. package/Common/Skeleton/index.js +18 -0
  67. package/Common/Skeleton/index.module.css +2 -30
  68. package/Common/Tabs/index.js +6 -0
  69. package/Common/Tabs/index.module.css +2 -54
  70. package/Common/ThemeToggle/index.js +7 -0
  71. package/Common/ThemeToggle/index.module.css +2 -15
  72. package/Common/Tooltip/index.js +8 -0
  73. package/Common/Tooltip/index.module.css +2 -43
  74. package/Containers/Article/index.js +4 -0
  75. package/Containers/Article/index.module.css +2 -70
  76. package/Containers/Footer/index.js +21 -0
  77. package/Containers/Footer/index.module.css +2 -46
  78. package/Containers/MetaBar/index.js +12 -0
  79. package/Containers/MetaBar/index.module.css +2 -91
  80. package/Containers/NavBar/NavItem/index.js +7 -0
  81. package/Containers/NavBar/NavItem/index.module.css +2 -60
  82. package/Containers/NavBar/index.js +18 -0
  83. package/Containers/NavBar/index.module.css +2 -125
  84. package/Containers/Sidebar/ProgressionIcon/index.js +3 -0
  85. package/Containers/Sidebar/SidebarGroup/index.js +9 -0
  86. package/Containers/Sidebar/SidebarGroup/index.module.css +2 -64
  87. package/Containers/Sidebar/SidebarItem/index.js +11 -0
  88. package/Containers/Sidebar/SidebarItem/index.module.css +2 -56
  89. package/Containers/Sidebar/index.js +15 -0
  90. package/Containers/Sidebar/index.module.css +2 -30
  91. package/Icons/HexagonGrid.js +3 -0
  92. package/Icons/InstallationMethod/Choco.js +3 -0
  93. package/Icons/InstallationMethod/Devbox.js +3 -0
  94. package/Icons/InstallationMethod/Docker.js +3 -0
  95. package/Icons/InstallationMethod/FNM.js +3 -0
  96. package/Icons/InstallationMethod/Homebrew.js +3 -0
  97. package/Icons/InstallationMethod/N.js +5 -0
  98. package/Icons/InstallationMethod/NVM.js +3 -0
  99. package/Icons/InstallationMethod/Volta.js +3 -0
  100. package/Icons/InstallationMethod/{index.ts → index.js} +0 -1
  101. package/Icons/Logos/JsWhite.js +3 -0
  102. package/Icons/Logos/Nodejs.js +12 -0
  103. package/Icons/Logos/index.js +3 -0
  104. package/Icons/OperatingSystem/AIX.js +3 -0
  105. package/Icons/OperatingSystem/Apple.js +3 -0
  106. package/Icons/OperatingSystem/Linux.js +3 -0
  107. package/Icons/OperatingSystem/Microsoft.js +3 -0
  108. package/Icons/OperatingSystem/{index.ts → index.js} +0 -1
  109. package/Icons/PackageManager/Npm.js +3 -0
  110. package/Icons/PackageManager/Pnpm.js +3 -0
  111. package/Icons/PackageManager/Yarn.js +3 -0
  112. package/Icons/PackageManager/{index.ts → index.js} +0 -1
  113. package/Icons/Social/Bluesky.js +3 -0
  114. package/Icons/Social/Discord.js +3 -0
  115. package/Icons/Social/GitHub.js +3 -0
  116. package/Icons/Social/LinkedIn.js +3 -0
  117. package/Icons/Social/Mastodon.js +3 -0
  118. package/Icons/Social/Slack.js +3 -0
  119. package/Icons/Social/X.js +3 -0
  120. package/Icons/Social/{index.ts → index.js} +0 -1
  121. package/MDX/CodeTabs.js +25 -0
  122. package/Providers/NotificationProvider/index.js +16 -0
  123. package/Providers/NotificationProvider/index.module.css +2 -0
  124. package/package.json +6 -51
  125. package/stylelint/one-utility-class-per-line.mjs +34 -50
  126. package/stylelint/utils.mjs +19 -25
  127. package/styles/index.css +2 -38
  128. package/types.js +1 -0
  129. package/Common/AlertBox/index.stories.tsx +0 -73
  130. package/Common/AlertBox/index.tsx +0 -24
  131. package/Common/AvatarGroup/Avatar/index.stories.tsx +0 -22
  132. package/Common/AvatarGroup/Avatar/index.tsx +0 -67
  133. package/Common/AvatarGroup/Overlay/index.stories.tsx +0 -33
  134. package/Common/AvatarGroup/Overlay/index.tsx +0 -37
  135. package/Common/AvatarGroup/__tests__/index.test.jsx +0 -55
  136. package/Common/AvatarGroup/index.stories.tsx +0 -56
  137. package/Common/AvatarGroup/index.tsx +0 -83
  138. package/Common/Badge/index.stories.tsx +0 -38
  139. package/Common/Badge/index.tsx +0 -35
  140. package/Common/BadgeGroup/index.stories.tsx +0 -35
  141. package/Common/BadgeGroup/index.tsx +0 -35
  142. package/Common/Banner/index.stories.tsx +0 -29
  143. package/Common/Banner/index.tsx +0 -18
  144. package/Common/BaseActiveLink/__tests__/index.test.jsx +0 -52
  145. package/Common/BaseActiveLink/index.tsx +0 -34
  146. package/Common/BaseButton/index.stories.tsx +0 -67
  147. package/Common/BaseButton/index.tsx +0 -59
  148. package/Common/BaseCodeBox/index.stories.tsx +0 -39
  149. package/Common/BaseCodeBox/index.tsx +0 -122
  150. package/Common/BaseCrossLink/index.stories.tsx +0 -38
  151. package/Common/BaseCrossLink/index.tsx +0 -46
  152. package/Common/BaseLinkTabs/index.stories.tsx +0 -34
  153. package/Common/BaseLinkTabs/index.tsx +0 -53
  154. package/Common/BasePagination/Ellipsis/index.stories.tsx +0 -10
  155. package/Common/BasePagination/Ellipsis/index.tsx +0 -11
  156. package/Common/BasePagination/PaginationListItem/__tests__/index.test.jsx +0 -58
  157. package/Common/BasePagination/PaginationListItem/index.stories.tsx +0 -40
  158. package/Common/BasePagination/PaginationListItem/index.tsx +0 -39
  159. package/Common/BasePagination/PrevNextArrow.tsx +0 -15
  160. package/Common/BasePagination/__tests__/index.test.jsx +0 -180
  161. package/Common/BasePagination/index.stories.tsx +0 -67
  162. package/Common/BasePagination/index.tsx +0 -77
  163. package/Common/BasePagination/useGetPageElements.tsx +0 -132
  164. package/Common/Blockquote/index.stories.tsx +0 -45
  165. package/Common/Blockquote/index.tsx +0 -11
  166. package/Common/Breadcrumbs/BreadcrumbHomeLink/index.tsx +0 -30
  167. package/Common/Breadcrumbs/BreadcrumbItem/index.tsx +0 -42
  168. package/Common/Breadcrumbs/BreadcrumbLink/index.tsx +0 -37
  169. package/Common/Breadcrumbs/BreadcrumbRoot/index.tsx +0 -20
  170. package/Common/Breadcrumbs/BreadcrumbTruncatedItem/index.tsx +0 -9
  171. package/Common/Breadcrumbs/index.stories.tsx +0 -94
  172. package/Common/Breadcrumbs/index.tsx +0 -81
  173. package/Common/ChangeHistory/index.stories.tsx +0 -130
  174. package/Common/ChangeHistory/index.tsx +0 -67
  175. package/Common/CodeTabs/index.stories.tsx +0 -73
  176. package/Common/CodeTabs/index.tsx +0 -16
  177. package/Common/DataTag/index.stories.tsx +0 -40
  178. package/Common/DataTag/index.tsx +0 -39
  179. package/Common/GlowingBackdrop/index.stories.tsx +0 -10
  180. package/Common/GlowingBackdrop/index.tsx +0 -13
  181. package/Common/LanguageDropDown/index.stories.tsx +0 -19
  182. package/Common/LanguageDropDown/index.tsx +0 -56
  183. package/Common/Modal/index.stories.tsx +0 -32
  184. package/Common/Modal/index.tsx +0 -48
  185. package/Common/NodejsLogo/index.stories.tsx +0 -14
  186. package/Common/NodejsLogo/index.tsx +0 -26
  187. package/Common/Notification/index.stories.tsx +0 -36
  188. package/Common/Notification/index.tsx +0 -34
  189. package/Common/Preview/index.stories.tsx +0 -44
  190. package/Common/Preview/index.tsx +0 -25
  191. package/Common/Select/__tests__/index.test.jsx +0 -67
  192. package/Common/Select/index.stories.tsx +0 -111
  193. package/Common/Select/index.tsx +0 -187
  194. package/Common/Separator/index.stories.tsx +0 -32
  195. package/Common/Separator/index.tsx +0 -27
  196. package/Common/Skeleton/index.tsx +0 -39
  197. package/Common/Tabs/__tests__/index.test.jsx +0 -52
  198. package/Common/Tabs/index.stories.tsx +0 -50
  199. package/Common/Tabs/index.tsx +0 -54
  200. package/Common/ThemeToggle/__tests__/index.test.jsx +0 -35
  201. package/Common/ThemeToggle/index.stories.tsx +0 -10
  202. package/Common/ThemeToggle/index.tsx +0 -15
  203. package/Common/Tooltip/index.stories.tsx +0 -73
  204. package/Common/Tooltip/index.tsx +0 -48
  205. package/Containers/Article/index.stories.tsx +0 -39
  206. package/Containers/Article/index.tsx +0 -9
  207. package/Containers/DocSideBar/index.tsx +0 -0
  208. package/Containers/Footer/index.stories.tsx +0 -27
  209. package/Containers/Footer/index.tsx +0 -95
  210. package/Containers/MetaBar/__tests__/index.test.jsx +0 -63
  211. package/Containers/MetaBar/index.stories.tsx +0 -80
  212. package/Containers/MetaBar/index.tsx +0 -72
  213. package/Containers/NavBar/NavItem/index.stories.tsx +0 -38
  214. package/Containers/NavBar/NavItem/index.tsx +0 -44
  215. package/Containers/NavBar/index.stories.tsx +0 -45
  216. package/Containers/NavBar/index.tsx +0 -94
  217. package/Containers/Sidebar/ProgressionIcon/index.tsx +0 -16
  218. package/Containers/Sidebar/SidebarGroup/index.stories.tsx +0 -36
  219. package/Containers/Sidebar/SidebarGroup/index.tsx +0 -49
  220. package/Containers/Sidebar/SidebarItem/index.stories.tsx +0 -15
  221. package/Containers/Sidebar/SidebarItem/index.tsx +0 -43
  222. package/Containers/Sidebar/index.stories.tsx +0 -88
  223. package/Containers/Sidebar/index.tsx +0 -70
  224. package/Icons/HexagonGrid.stories.tsx +0 -10
  225. package/Icons/HexagonGrid.tsx +0 -1434
  226. package/Icons/InstallationMethod/Choco.tsx +0 -78
  227. package/Icons/InstallationMethod/Devbox.tsx +0 -21
  228. package/Icons/InstallationMethod/Docker.tsx +0 -20
  229. package/Icons/InstallationMethod/FNM.tsx +0 -132
  230. package/Icons/InstallationMethod/Homebrew.tsx +0 -69
  231. package/Icons/InstallationMethod/N.tsx +0 -32
  232. package/Icons/InstallationMethod/NVM.tsx +0 -63
  233. package/Icons/InstallationMethod/Volta.tsx +0 -34
  234. package/Icons/Logos/JsGreen.tsx +0 -24
  235. package/Icons/Logos/JsWhite.tsx +0 -37
  236. package/Icons/Logos/Nodejs.tsx +0 -372
  237. package/Icons/Logos/NodejsStackedBlack.tsx +0 -98
  238. package/Icons/Logos/NodejsStackedDark.tsx +0 -124
  239. package/Icons/Logos/NodejsStackedLight.tsx +0 -123
  240. package/Icons/Logos/NodejsStackedWhite.tsx +0 -98
  241. package/Icons/Logos/index.ts +0 -17
  242. package/Icons/OperatingSystem/AIX.tsx +0 -46
  243. package/Icons/OperatingSystem/Apple.tsx +0 -23
  244. package/Icons/OperatingSystem/Linux.tsx +0 -969
  245. package/Icons/OperatingSystem/Microsoft.tsx +0 -19
  246. package/Icons/PackageManager/Npm.tsx +0 -21
  247. package/Icons/PackageManager/Pnpm.tsx +0 -22
  248. package/Icons/PackageManager/Yarn.tsx +0 -22
  249. package/Icons/Social/Bluesky.tsx +0 -19
  250. package/Icons/Social/Discord.tsx +0 -20
  251. package/Icons/Social/GitHub.tsx +0 -16
  252. package/Icons/Social/LinkedIn.tsx +0 -16
  253. package/Icons/Social/Mastodon.tsx +0 -36
  254. package/Icons/Social/Slack.tsx +0 -31
  255. package/Icons/Social/X.tsx +0 -16
  256. package/MDX/CodeTabs.tsx +0 -47
  257. package/stylelint/__tests__/index.test.mjs +0 -80
  258. package/styles/animations.css +0 -47
  259. package/styles/base.css +0 -17
  260. package/styles/effects.css +0 -12
  261. package/styles/markdown.css +0 -173
  262. package/styles/theme.css +0 -175
  263. package/types.ts +0 -25
@@ -1,91 +1,2 @@
1
- @reference "../../styles/index.css";
2
-
3
- .wrapper {
4
- @apply flex
5
- w-full
6
- flex-col
7
- items-start
8
- gap-8
9
- border-neutral-200
10
- px-4
11
- py-6
12
- [overflow-wrap:anywhere]
13
- lg:sticky
14
- lg:top-0
15
- lg:max-h-screen
16
- lg:px-6
17
- dark:border-neutral-900;
18
-
19
- dl {
20
- @apply flex
21
- w-full
22
- flex-col
23
- gap-1.5
24
- pb-12
25
- [scrollbar-width:none]
26
- lg:max-h-[calc(100vh-var(--header-height))]
27
- lg:overflow-y-auto
28
- [&::-webkit-scrollbar]:hidden;
29
- }
30
-
31
- dt {
32
- @apply mb-2
33
- text-sm
34
- font-medium
35
- text-neutral-800
36
- dark:text-neutral-200;
37
- }
38
-
39
- dd {
40
- @apply mb-8
41
- flex
42
- items-center
43
- gap-2
44
- text-sm
45
- text-neutral-900
46
- dark:text-white;
47
-
48
- a {
49
- @apply max-xs:inline-block
50
- max-xs:py-1
51
- font-semibold
52
- text-neutral-900
53
- underline
54
- dark:text-white;
55
-
56
- &:hover {
57
- @apply text-neutral-800
58
- dark:text-neutral-200;
59
- }
60
- }
61
-
62
- ol {
63
- @apply flex
64
- w-full
65
- list-none
66
- flex-col
67
- gap-1.5
68
- p-0;
69
- }
70
-
71
- svg {
72
- @apply size-4
73
- text-neutral-600
74
- dark:text-neutral-400;
75
- }
76
-
77
- &:last-child {
78
- @apply mb-0;
79
- }
80
- }
81
-
82
- [data-on-dark] {
83
- @apply hidden
84
- dark:block;
85
- }
86
-
87
- [data-on-light] {
88
- @apply block
89
- dark:hidden;
90
- }
91
- }
1
+ /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
+ .wrapper{align-items:flex-start;gap:calc(var(--spacing,.25rem)*8);border-color:var(--color-neutral-200,#e9edf0);width:100%;padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*6);overflow-wrap:anywhere;flex-direction:column;display:flex}@media (min-width:64rem){.wrapper{top:calc(var(--spacing,.25rem)*0);max-height:100vh;padding-inline:calc(var(--spacing,.25rem)*6);position:sticky}}.wrapper:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-neutral-900,#2c3437)}.wrapper dl{gap:calc(var(--spacing,.25rem)*1.5);width:100%;padding-bottom:calc(var(--spacing,.25rem)*12);scrollbar-width:none;flex-direction:column;display:flex}@media (min-width:64rem){.wrapper dl{max-height:calc(100vh - var(--header-height));overflow-y:auto}}.wrapper dl::-webkit-scrollbar{display:none}.wrapper dt{margin-bottom:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.42857));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-neutral-800,#556066)}.wrapper dt:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-200,#e9edf0)}.wrapper dd{margin-bottom:calc(var(--spacing,.25rem)*8);align-items:center;gap:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.42857));color:var(--color-neutral-900,#2c3437);display:flex}.wrapper dd:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white,#fff)}.wrapper dd a{--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-neutral-900,#2c3437);text-decoration-line:underline}@media not all and (min-width:670px){.wrapper dd a{padding-block:calc(var(--spacing,.25rem)*1);display:inline-block}}.wrapper dd a:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white,#fff)}.wrapper dd a:hover{color:var(--color-neutral-700,#6e7b83)}.wrapper dd a:hover:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-500,#b1bcc2)}.wrapper dd ol{gap:calc(var(--spacing,.25rem)*1.5);width:100%;padding:calc(var(--spacing,.25rem)*0);flex-direction:column;list-style-type:none;display:flex}.wrapper dd svg{width:calc(var(--spacing,.25rem)*4);height:calc(var(--spacing,.25rem)*4);color:var(--color-neutral-600,#929fa5)}.wrapper dd svg:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-400,#cbd4d9)}.wrapper dd:last-child{margin-bottom:calc(var(--spacing,.25rem)*0)}.wrapper [data-on-dark]{display:none}.wrapper [data-on-dark]:where([data-theme=dark],[data-theme=dark] *),.wrapper [data-on-light]{display:block}.wrapper [data-on-light]:where([data-theme=dark],[data-theme=dark] *){display:none}@property --tw-font-weight{syntax:"*";inherits:false}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ArrowUpRightIcon } from '@heroicons/react/24/solid';
3
+ import classNames from 'classnames';
4
+ import BaseActiveLink from '#ui/Common/BaseActiveLink';
5
+ import styles from './index.module.css';
6
+ const NavItem = ({ href = '', type = 'nav', children, className, target, ...props }) => (_jsxs(BaseActiveLink, { target: target, href: href, className: classNames(styles.navItem, styles[type], className), activeClassName: styles.active, allowSubPath: href.startsWith('/'), ...props, children: [_jsx("span", { className: styles.label, children: children }), target === '_blank' && _jsx(ArrowUpRightIcon, { className: styles.icon })] }));
7
+ export default NavItem;
@@ -1,60 +1,2 @@
1
- @reference "../../../styles/index.css";
2
-
3
- .navItem {
4
- @apply inline-flex
5
- items-center
6
- gap-2
7
- rounded-sm
8
- px-3
9
- py-2
10
- motion-safe:transition-colors;
11
-
12
- .label {
13
- @apply text-base
14
- font-medium
15
- lg:text-sm;
16
- }
17
-
18
- .icon {
19
- @apply size-3
20
- text-neutral-500
21
- dark:text-neutral-200;
22
- }
23
-
24
- &:hover {
25
- @apply bg-neutral-100
26
- dark:bg-neutral-900;
27
- }
28
-
29
- &.nav {
30
- .label {
31
- @apply text-neutral-900
32
- dark:text-white;
33
- }
34
-
35
- &.active {
36
- @apply bg-green-600;
37
-
38
- .label {
39
- @apply text-white;
40
- }
41
-
42
- .icon {
43
- @apply text-white
44
- opacity-50;
45
- }
46
- }
47
- }
48
-
49
- &.footer {
50
- .label {
51
- @apply text-neutral-800
52
- dark:text-white;
53
- }
54
-
55
- &:hover {
56
- @apply bg-neutral-100
57
- dark:bg-neutral-900;
58
- }
59
- }
60
- }
1
+ /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
+ .navItem{align-items:center;gap:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-sm,.25rem);padding-inline:calc(var(--spacing,.25rem)*3);padding-block:calc(var(--spacing,.25rem)*2);display:inline-flex}@media (prefers-reduced-motion:no-preference){.navItem{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}}.navItem .label{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height,1.5));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}@media (min-width:64rem){.navItem .label{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.42857))}}.navItem .icon{width:calc(var(--spacing,.25rem)*3);height:calc(var(--spacing,.25rem)*3);color:var(--color-neutral-500,#b1bcc2)}.navItem .icon:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-200,#e9edf0)}.navItem:hover{background-color:var(--color-neutral-100,#f6f7f9)}.navItem:hover:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-900,#2c3437)}.navItem.nav .label{color:var(--color-neutral-900,#2c3437)}.navItem.nav .label:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white,#fff)}.navItem.nav.active{background-color:var(--color-green-600,#417e38)}.navItem.nav.active .label{color:var(--color-white,#fff)}.navItem.nav.active .icon{color:var(--color-white,#fff);opacity:.5}.navItem.footer .label{color:var(--color-neutral-800,#556066)}.navItem.footer .label:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white,#fff)}.navItem.footer:hover{background-color:var(--color-neutral-100,#f6f7f9)}.navItem.footer:hover:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-900,#2c3437)}@property --tw-font-weight{syntax:"*";inherits:false}
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import Hamburger from '@heroicons/react/24/solid/Bars3Icon';
4
+ import XMark from '@heroicons/react/24/solid/XMarkIcon';
5
+ import * as Label from '@radix-ui/react-label';
6
+ import classNames from 'classnames';
7
+ import { useState } from 'react';
8
+ import NavItem from '#ui/Containers/NavBar/NavItem';
9
+ import style from './index.module.css';
10
+ const navInteractionIcons = {
11
+ show: _jsx(Hamburger, { className: style.navInteractionIcon }),
12
+ close: _jsx(XMark, { className: style.navInteractionIcon }),
13
+ };
14
+ const NavBar = ({ children, Logo, as: Component = 'a', navItems, pathname, sidebarItemTogglerAriaLabel, }) => {
15
+ const [isMenuOpen, setIsMenuOpen] = useState(false);
16
+ return (_jsxs("nav", { className: style.container, children: [_jsxs("div", { className: style.nodeIconAndMobileItemsToggler, children: [_jsx(Component, { className: style.nodeIconWrapper, href: "/", "aria-label": "Home", children: _jsx(Logo, {}) }), _jsx(Label.Root, { className: style.sidebarItemTogglerLabel, htmlFor: "sidebarItemToggler", role: "button", "aria-label": sidebarItemTogglerAriaLabel, children: navInteractionIcons[isMenuOpen ? 'close' : 'show'] })] }), _jsx("input", { className: classNames(['peer', style.sidebarItemToggler]), id: "sidebarItemToggler", type: "checkbox", onChange: e => setIsMenuOpen(() => e.target.checked), "aria-label": sidebarItemTogglerAriaLabel, tabIndex: -1 }), _jsxs("div", { className: `${style.main} hidden peer-checked:flex`, children: [_jsx("div", { className: style.navItems, children: navItems.map(({ text, link, target }) => (_jsx(NavItem, { pathname: pathname, as: Component, href: link, target: target, children: text }, link))) }), _jsx("div", { className: style.actionsWrapper, children: children })] })] }));
17
+ };
18
+ export default NavBar;
@@ -1,125 +1,2 @@
1
- @reference "../../styles/index.css";
2
-
3
- .container {
4
- @apply border-neutral-200
5
- bg-white
6
- lg:flex
7
- lg:h-16
8
- lg:flex-row
9
- lg:items-center
10
- lg:gap-8
11
- lg:border-b
12
- lg:px-8
13
- dark:border-neutral-900
14
- dark:bg-neutral-950;
15
- }
16
-
17
- .nodeIconAndMobileItemsToggler {
18
- @apply flex
19
- h-16
20
- shrink-0
21
- items-center
22
- border-b
23
- border-neutral-200
24
- px-4
25
- lg:flex
26
- lg:h-full
27
- lg:items-center
28
- lg:border-0
29
- lg:px-0
30
- dark:border-neutral-900;
31
- }
32
-
33
- .sidebarItemToggler {
34
- @apply absolute
35
- right-4
36
- -z-10
37
- -translate-y-[200%]
38
- appearance-none
39
- opacity-0;
40
- }
41
-
42
- .nodeIconWrapper {
43
- @apply h-[30px]
44
- flex-1;
45
- }
46
-
47
- .navInteractionIcon,
48
- .sidebarItemToggler {
49
- @apply size-6;
50
- }
51
-
52
- .sidebarItemTogglerLabel {
53
- @apply block
54
- cursor-pointer
55
- lg:hidden;
56
- }
57
-
58
- .main {
59
- @apply flex-1
60
- flex-col
61
- justify-between
62
- gap-4
63
- lg:flex
64
- lg:flex-row
65
- lg:items-center;
66
- }
67
-
68
- .navItems {
69
- @apply flex
70
- flex-col
71
- gap-0
72
- border-b
73
- border-neutral-200
74
- p-4
75
- lg:flex-1
76
- lg:flex-row
77
- lg:gap-1
78
- lg:border-0
79
- lg:p-0
80
- dark:border-neutral-900;
81
- }
82
-
83
- .actionsWrapper {
84
- @apply flex
85
- flex-row
86
- flex-wrap
87
- items-center
88
- justify-between
89
- gap-2
90
- border-b
91
- border-neutral-200
92
- p-4
93
- sm:flex-nowrap
94
- lg:basis-96
95
- lg:border-0
96
- lg:p-0
97
- dark:border-neutral-900;
98
- }
99
-
100
- span.searchButtonSkeleton {
101
- @apply my-px
102
- mr-2
103
- flex-grow
104
- rounded-xl;
105
-
106
- &:empty {
107
- @apply h-10;
108
- }
109
- }
110
-
111
- .ghIconWrapper {
112
- @apply size-9
113
- rounded-md
114
- p-2;
115
-
116
- svg {
117
- @apply fill-neutral-700
118
- dark:fill-neutral-300;
119
- }
120
-
121
- &:hover {
122
- @apply bg-neutral-100
123
- dark:bg-neutral-900;
124
- }
125
- }
1
+ /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
+ .container{border-color:var(--color-neutral-200,#e9edf0);background-color:var(--color-white,#fff)}@media (min-width:64rem){.container{height:calc(var(--spacing,.25rem)*16);align-items:center;gap:calc(var(--spacing,.25rem)*8);border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem)*8);border-bottom-width:1px;flex-direction:row;display:flex}}.container:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-neutral-900,#2c3437);background-color:var(--color-neutral-950,#0d121c)}.nodeIconAndMobileItemsToggler{height:calc(var(--spacing,.25rem)*16);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-neutral-200,#e9edf0);padding-inline:calc(var(--spacing,.25rem)*4);flex-shrink:0;align-items:center;display:flex}@media (min-width:64rem){.nodeIconAndMobileItemsToggler{border-style:var(--tw-border-style);height:100%;padding-inline:calc(var(--spacing,.25rem)*0);border-width:0;align-items:center;display:flex}}.nodeIconAndMobileItemsToggler:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-neutral-900,#2c3437)}.sidebarItemToggler{right:calc(var(--spacing,.25rem)*4);z-index:-10;--tw-translate-y:-200%;translate:var(--tw-translate-x)var(--tw-translate-y);appearance:none;opacity:0;position:absolute}.nodeIconWrapper{flex:1;height:30px}.navInteractionIcon,.sidebarItemToggler{width:calc(var(--spacing,.25rem)*6);height:calc(var(--spacing,.25rem)*6)}.sidebarItemTogglerLabel{cursor:pointer;display:block}@media (min-width:64rem){.sidebarItemTogglerLabel{display:none}}.main{justify-content:space-between;gap:calc(var(--spacing,.25rem)*4);flex-direction:column;flex:1}@media (min-width:64rem){.main{flex-direction:row;align-items:center;display:flex}}.navItems{gap:calc(var(--spacing,.25rem)*0);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-neutral-200,#e9edf0);padding:calc(var(--spacing,.25rem)*4);flex-direction:column;display:flex}@media (min-width:64rem){.navItems{gap:calc(var(--spacing,.25rem)*1);border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem)*0);border-width:0;flex-direction:row;flex:1}}.navItems:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-neutral-900,#2c3437)}.actionsWrapper{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem)*2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-neutral-200,#e9edf0);padding:calc(var(--spacing,.25rem)*4);flex-flow:wrap;display:flex}@media (min-width:40rem){.actionsWrapper{flex-wrap:nowrap}}@media (min-width:64rem){.actionsWrapper{flex-basis:calc(var(--spacing,.25rem)*96);border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem)*0);border-width:0}}.actionsWrapper:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-neutral-900,#2c3437)}span.searchButtonSkeleton{margin-block:1px;margin-right:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-xl,.75rem);flex-grow:1}span.searchButtonSkeleton:empty{height:calc(var(--spacing,.25rem)*10)}.ghIconWrapper{width:calc(var(--spacing,.25rem)*9);height:calc(var(--spacing,.25rem)*9);border-radius:var(--radius-md,.375rem);padding:calc(var(--spacing,.25rem)*2)}.ghIconWrapper svg{fill:var(--color-neutral-700,#6e7b83)}.ghIconWrapper svg:where([data-theme=dark],[data-theme=dark] *){fill:var(--color-neutral-300,#d9e1e4)}.ghIconWrapper:hover{background-color:var(--color-neutral-100,#f6f7f9)}.ghIconWrapper:hover:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-900,#2c3437)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
@@ -0,0 +1,3 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ const ProgressionIcon = props => (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "18", viewBox: "0 0 16 18", fill: "none", ...props, children: _jsx("path", { d: "M9 3.26795L8 2.6906L7 3.26795L3.5359 5.26795L2.5359 5.8453V7V11V12.1547L3.5359 12.7321L7 14.7321L8 15.3094L9 14.7321L12.4641 12.7321L13.4641 12.1547V11V7V5.8453L12.4641 5.26795L9 3.26795Z" }) }));
3
+ export default ProgressionIcon;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import SidebarItem from '#ui/Containers/Sidebar/SidebarItem';
4
+ import styles from './index.module.css';
5
+ const SidebarGroup = ({ groupName, items, showProgressionIcons, className, ...props }) => (_jsxs("section", { className: classNames({
6
+ [styles.group]: true,
7
+ [styles.progression]: showProgressionIcons,
8
+ }, className), children: [_jsx("label", { className: styles.groupName, children: groupName }), _jsx("ul", { className: styles.itemList, children: items.map(({ label, link }) => (_jsx(SidebarItem, { label: label, link: link, showProgressionIcons: showProgressionIcons, ...props }, link))) })] }));
9
+ export default SidebarGroup;
@@ -1,64 +1,2 @@
1
- @reference "../../../styles/index.css";
2
-
3
- .group {
4
- @apply flex
5
- w-full
6
- flex-col
7
- gap-2;
8
-
9
- &:not(.progression) {
10
- .groupName {
11
- @apply px-2
12
- py-1
13
- text-xs
14
- font-semibold
15
- text-neutral-800
16
- dark:text-neutral-600;
17
- }
18
- }
19
-
20
- &.progression {
21
- @apply flex
22
- flex-col
23
- gap-4
24
- text-sm
25
- font-medium
26
- text-neutral-800
27
- dark:text-neutral-200;
28
-
29
- .itemList {
30
- @apply relative
31
- -left-1
32
- flex
33
- flex-col
34
- after:absolute
35
- after:left-[0.45rem]
36
- after:top-0
37
- after:z-10
38
- after:h-full
39
- after:w-px
40
- after:bg-neutral-200
41
- after:content-['']
42
- dark:after:bg-neutral-800;
43
-
44
- a {
45
- @apply first:before:absolute
46
- first:before:bottom-[calc(50%+0.25rem)]
47
- first:before:left-0
48
- first:before:h-20
49
- first:before:w-4
50
- first:before:bg-white
51
- first:before:content-['']
52
- last:after:absolute
53
- last:after:left-0
54
- last:after:top-[calc(50%+0.25rem)]
55
- last:after:h-20
56
- last:after:w-4
57
- last:after:bg-white
58
- last:after:content-['']
59
- first:dark:before:bg-neutral-950
60
- last:dark:after:bg-neutral-950;
61
- }
62
- }
63
- }
64
- }
1
+ /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
+ .group{gap:calc(var(--spacing,.25rem)*2);flex-direction:column;width:100%;display:flex}.group:not(.progression) .groupName{padding-inline:calc(var(--spacing,.25rem)*2);padding-block:calc(var(--spacing,.25rem)*1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,1.33333));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-neutral-800,#556066)}.group:not(.progression) .groupName:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-600,#929fa5)}.group.progression{gap:calc(var(--spacing,.25rem)*4);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.42857));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-neutral-800,#556066);flex-direction:column;display:flex}.group.progression:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-200,#e9edf0)}.group.progression .itemList{left:calc(var(--spacing,.25rem)*-1);flex-direction:column;display:flex;position:relative}.group.progression .itemList:after{content:var(--tw-content);content:var(--tw-content);top:calc(var(--spacing,.25rem)*0);content:var(--tw-content);content:var(--tw-content);z-index:10;content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);background-color:var(--color-neutral-200,#e9edf0);content:var(--tw-content);--tw-content:"";content:var(--tw-content);width:1px;height:100%;position:absolute;left:.45rem}.group.progression .itemList:where([data-theme=dark],[data-theme=dark] *):after{content:var(--tw-content);background-color:var(--color-neutral-800,#556066)}.group.progression .itemList a:first-child:before{content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);bottom:calc(50% + 0.25rem);left:calc(var(--spacing,.25rem)*0);content:var(--tw-content);height:calc(var(--spacing,.25rem)*20);content:var(--tw-content);width:calc(var(--spacing,.25rem)*4);content:var(--tw-content);background-color:var(--color-white,#fff);content:var(--tw-content);--tw-content:"";content:var(--tw-content);position:absolute}.group.progression .itemList a:last-child:after{content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);top:calc(50% + 0.25rem);left:calc(var(--spacing,.25rem)*0);content:var(--tw-content);height:calc(var(--spacing,.25rem)*20);content:var(--tw-content);width:calc(var(--spacing,.25rem)*4);content:var(--tw-content);background-color:var(--color-white,#fff);content:var(--tw-content);--tw-content:"";content:var(--tw-content);position:absolute}.group.progression .itemList a:first-child:where([data-theme=dark],[data-theme=dark] *):before,.group.progression .itemList a:last-child:where([data-theme=dark],[data-theme=dark] *):after{content:var(--tw-content);background-color:var(--color-neutral-950,#0d121c)}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ArrowUpRightIcon } from '@heroicons/react/24/solid';
3
+ import classNames from 'classnames';
4
+ import BaseActiveLink from '#ui/Common/BaseActiveLink';
5
+ import styles from './index.module.css';
6
+ import ProgressionIcon from '../ProgressionIcon';
7
+ const SidebarItem = ({ label, link, showProgressionIcons = false, ...props }) => (_jsxs(BaseActiveLink, { className: classNames({
8
+ [styles.item]: true,
9
+ [styles.progression]: showProgressionIcons,
10
+ }), href: link, activeClassName: styles.active, ...props, children: [showProgressionIcons && (_jsx(ProgressionIcon, { className: styles.progressionIcon })), _jsxs("div", { className: styles.label, children: [_jsx("span", { children: label }), /^https?:/.test(link) && _jsx(ArrowUpRightIcon, { className: styles.icon })] })] }));
11
+ export default SidebarItem;
@@ -1,56 +1,2 @@
1
- @reference '../../../styles/index.css';
2
-
3
- .item {
4
- @apply font-regular
5
- relative
6
- z-20
7
- flex
8
- w-full
9
- items-center
10
- overflow-hidden
11
- text-sm
12
- text-neutral-800
13
- dark:text-neutral-200;
14
-
15
- .label {
16
- @apply font-regular
17
- p-2
18
- text-sm;
19
- }
20
-
21
- .progressionIcon {
22
- @apply shrink-0
23
- fill-neutral-200
24
- stroke-white
25
- stroke-[4]
26
- dark:fill-neutral-800
27
- dark:stroke-neutral-950;
28
- }
29
-
30
- .icon {
31
- @apply size-3
32
- text-neutral-500
33
- dark:text-neutral-200;
34
- }
35
-
36
- &.progression {
37
- .label {
38
- @apply p-1;
39
- }
40
- }
41
-
42
- &.active {
43
- @apply text-neutral-900
44
- dark:text-white;
45
-
46
- .progressionIcon {
47
- @apply fill-green-500;
48
- }
49
-
50
- &:not(.progression) .label {
51
- @apply rounded-sm
52
- bg-green-600
53
- text-white;
54
- }
55
- }
56
- }
1
+ /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
+ .item{z-index:20;border-radius:var(--radius-md,.375rem);width:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.42857));--tw-font-weight:var(--font-weight-regular,400);font-weight:var(--font-weight-regular,400);color:var(--color-neutral-800,#556066);align-items:center;margin-bottom:1px;display:flex;position:relative;overflow:hidden}.item:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-200,#e9edf0)}.item:hover:not(.progression) .label{border-radius:var(--radius-sm,.25rem);background-color:var(--color-neutral-100,#f6f7f9);color:var(--color-neutral-900,#2c3437)}.item:hover:not(.progression) .label:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-800,#556066);color:var(--color-neutral-100,#f6f7f9)}.item:hover .icon{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y);color:var(--color-green-600,#417e38)}.item:hover .icon:where([data-theme=dark],[data-theme=dark] *){color:var(--color-green-400,#84ba64)}.item:hover .progressionIcon{fill:var(--color-green-200,#c5e5b4)}.item:hover .progressionIcon:where([data-theme=dark],[data-theme=dark] *){fill:var(--color-green-300,#99cc7d)}.item .label{align-items:center;gap:calc(var(--spacing,.25rem)*1.5);padding:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.42857));--tw-font-weight:var(--font-weight-regular,400);font-weight:var(--font-weight-regular,400);display:flex}.item .progressionIcon{fill:var(--color-neutral-200,#e9edf0);stroke:var(--color-white,#fff);stroke-width:4px;flex-shrink:0}.item .progressionIcon:where([data-theme=dark],[data-theme=dark] *){fill:var(--color-neutral-800,#556066);stroke:var(--color-neutral-950,#0d121c)}.item .icon{width:calc(var(--spacing,.25rem)*3);height:calc(var(--spacing,.25rem)*3);color:var(--color-neutral-500,#b1bcc2)}.item .icon:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-200,#e9edf0)}.item.progression .label{padding:calc(var(--spacing,.25rem)*1)}.item.progression:not(.active):hover .label{border-radius:var(--radius-sm,.25rem);background-color:var(--color-neutral-100,#f6f7f9)}.item.progression:not(.active):hover .label:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-900,#2c3437)}.item.active{color:var(--color-neutral-900,#2c3437)}.item.active:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white,#fff)}.item.active .progressionIcon{fill:var(--color-green-500,#5fa04e)}.item.active:not(.progression) .label{border-radius:var(--radius-sm,.25rem);background-color:var(--color-green-600,#417e38);color:var(--color-white,#fff)}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import Select from '#ui/Common/Select';
3
+ import SidebarGroup from '#ui/Containers/Sidebar/SidebarGroup';
4
+ import styles from './index.module.css';
5
+ const SideBar = ({ groups, pathname, title, onSelect, as, showProgressionIcons = false, children, placeholder, }) => {
6
+ const selectItems = groups.map(({ items, groupName }) => ({
7
+ label: groupName,
8
+ items: items.map(({ label, link }) => ({ value: link, label: label })),
9
+ }));
10
+ const currentItem = selectItems
11
+ .flatMap(item => item.items)
12
+ .find(item => pathname === item.value);
13
+ return (_jsxs("aside", { className: styles.wrapper, children: [children, selectItems.length > 0 && (_jsx(Select, { label: title, values: selectItems, defaultValue: currentItem?.value, placeholder: placeholder, onChange: onSelect, className: styles.mobileSelect })), groups.map(({ groupName, items }) => (_jsx(SidebarGroup, { groupName: groupName, items: items, pathname: pathname, as: as, showProgressionIcons: showProgressionIcons, className: styles.navigation }, groupName.toString())))] }));
14
+ };
15
+ export default SideBar;
@@ -1,30 +1,2 @@
1
- @reference "../../styles/index.css";
2
-
3
- .wrapper {
4
- @apply flex
5
- w-full
6
- flex-col
7
- gap-8
8
- overflow-auto
9
- border-r-0
10
- border-neutral-200
11
- bg-white
12
- px-4
13
- py-6
14
- sm:border-r
15
- md:max-w-xs
16
- lg:px-6
17
- dark:border-neutral-900
18
- dark:bg-neutral-950;
19
-
20
- .navigation {
21
- @apply hidden
22
- sm:flex;
23
- }
24
-
25
- .mobileSelect {
26
- @apply flex
27
- w-full
28
- sm:hidden;
29
- }
30
- }
1
+ /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
+ .wrapper{gap:calc(var(--spacing,.25rem)*8);border-right-style:var(--tw-border-style);border-right-width:0;border-color:var(--color-neutral-200,#e9edf0);background-color:var(--color-white,#fff);width:100%;padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*6);flex-direction:column;display:flex;overflow:auto}@media (min-width:40rem){.wrapper{border-right-style:var(--tw-border-style);border-right-width:1px}}@media (min-width:48rem){.wrapper{max-width:var(--container-xs,20rem)}}@media (min-width:64rem){.wrapper{padding-inline:calc(var(--spacing,.25rem)*6)}}.wrapper:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-neutral-900,#2c3437);background-color:var(--color-neutral-950,#0d121c)}.wrapper .navigation{display:none}@media (min-width:40rem){.wrapper .navigation{display:flex}}.wrapper .mobileSelect{width:100%;display:flex}@media (min-width:40rem){.wrapper .mobileSelect{display:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}