@verdaccio/ui-components 5.0.0-next-9.24 → 5.0.0-next-9.26

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 (296) hide show
  1. package/README.md +20 -0
  2. package/build/api/use-data.d.ts +2 -2
  3. package/build/api/use-data.js +2 -2
  4. package/build/api/use-data.js.map +1 -1
  5. package/build/api/use-data.mjs +2 -2
  6. package/build/api/use-data.mjs.map +1 -1
  7. package/build/components/CopyClipboard/CopyToClipBoard.d.ts +1 -0
  8. package/build/components/CopyClipboard/CopyToClipBoard.js +36 -17
  9. package/build/components/CopyClipboard/CopyToClipBoard.js.map +1 -1
  10. package/build/components/CopyClipboard/CopyToClipBoard.mjs +36 -19
  11. package/build/components/CopyClipboard/CopyToClipBoard.mjs.map +1 -1
  12. package/build/components/CopyClipboard/utils.d.ts +2 -1
  13. package/build/components/CopyClipboard/utils.js +6 -4
  14. package/build/components/CopyClipboard/utils.js.map +1 -1
  15. package/build/components/CopyClipboard/utils.mjs +6 -4
  16. package/build/components/CopyClipboard/utils.mjs.map +1 -1
  17. package/build/components/DocsLink/DocsLink.d.ts +8 -0
  18. package/build/components/DocsLink/DocsLink.js +40 -0
  19. package/build/components/DocsLink/DocsLink.js.map +1 -0
  20. package/build/components/DocsLink/DocsLink.mjs +35 -0
  21. package/build/components/DocsLink/DocsLink.mjs.map +1 -0
  22. package/build/components/DocsLink/index.d.ts +1 -0
  23. package/build/components/DocsLink/index.js +3 -0
  24. package/build/components/DocsLink/index.mjs +1 -0
  25. package/build/components/Help/Help.d.ts +13 -0
  26. package/build/components/Help/Help.js +280 -36
  27. package/build/components/Help/Help.js.map +1 -1
  28. package/build/components/Help/Help.mjs +274 -39
  29. package/build/components/Help/Help.mjs.map +1 -1
  30. package/build/components/Help/styles.d.ts +29 -0
  31. package/build/components/Help/styles.js +86 -1
  32. package/build/components/Help/styles.js.map +1 -1
  33. package/build/components/Help/styles.mjs +82 -2
  34. package/build/components/Help/styles.mjs.map +1 -1
  35. package/build/components/Icons/Managers/Bun.d.ts +2 -0
  36. package/build/components/Icons/Managers/Bun2.js +18 -0
  37. package/build/components/Icons/Managers/Bun2.js.map +1 -0
  38. package/build/components/Icons/Managers/Bun2.mjs +16 -0
  39. package/build/components/Icons/Managers/Bun2.mjs.map +1 -0
  40. package/build/components/Icons/Managers/bun.js +6 -0
  41. package/build/components/Icons/Managers/bun.js.map +1 -0
  42. package/build/components/Icons/Managers/bun.mjs +6 -0
  43. package/build/components/Icons/Managers/bun.mjs.map +1 -0
  44. package/build/components/Icons/Managers/bun.svg +1 -0
  45. package/build/components/Icons/Managers/index.d.ts +1 -0
  46. package/build/components/Icons/Managers/index.js +2 -0
  47. package/build/components/Icons/Managers/index.mjs +2 -1
  48. package/build/components/Icons/index.js +3 -0
  49. package/build/components/Icons/index.mjs +3 -1
  50. package/build/components/Install/Install.d.ts +2 -0
  51. package/build/components/Install/Install.js +30 -2
  52. package/build/components/Install/Install.js.map +1 -1
  53. package/build/components/Install/Install.mjs +30 -3
  54. package/build/components/Install/Install.mjs.map +1 -1
  55. package/build/components/Install/InstallListItem.d.ts +2 -1
  56. package/build/components/Install/InstallListItem.js +17 -0
  57. package/build/components/Install/InstallListItem.js.map +1 -1
  58. package/build/components/Install/InstallListItem.mjs +17 -0
  59. package/build/components/Install/InstallListItem.mjs.map +1 -1
  60. package/build/components/Loading/PackageListSkeleton.d.ts +3 -0
  61. package/build/components/Loading/PackageListSkeleton.js +70 -0
  62. package/build/components/Loading/PackageListSkeleton.js.map +1 -0
  63. package/build/components/Loading/PackageListSkeleton.mjs +65 -0
  64. package/build/components/Loading/PackageListSkeleton.mjs.map +1 -0
  65. package/build/components/Loading/VersionSkeleton.d.ts +3 -0
  66. package/build/components/Loading/VersionSkeleton.js +119 -0
  67. package/build/components/Loading/VersionSkeleton.js.map +1 -0
  68. package/build/components/Loading/VersionSkeleton.mjs +111 -0
  69. package/build/components/Loading/VersionSkeleton.mjs.map +1 -0
  70. package/build/components/Loading/index.d.ts +2 -0
  71. package/build/components/Loading/index.js +4 -0
  72. package/build/components/Loading/index.mjs +4 -1
  73. package/build/components/Package/Package.js +5 -1
  74. package/build/components/Package/Package.js.map +1 -1
  75. package/build/components/Package/Package.mjs +6 -2
  76. package/build/components/Package/Package.mjs.map +1 -1
  77. package/build/components/Package/styles.d.ts +3 -0
  78. package/build/components/Package/styles.js +8 -0
  79. package/build/components/Package/styles.js.map +1 -1
  80. package/build/components/Package/styles.mjs +8 -1
  81. package/build/components/Package/styles.mjs.map +1 -1
  82. package/build/components/PackageList/PackageList.js +4 -4
  83. package/build/components/PackageList/PackageList.js.map +1 -1
  84. package/build/components/PackageList/PackageList.mjs +5 -5
  85. package/build/components/PackageList/PackageList.mjs.map +1 -1
  86. package/build/components/PackageList/PackageListToolbar.d.ts +15 -0
  87. package/build/components/PackageList/PackageListToolbar.js +127 -0
  88. package/build/components/PackageList/PackageListToolbar.js.map +1 -0
  89. package/build/components/PackageList/PackageListToolbar.mjs +119 -0
  90. package/build/components/PackageList/PackageListToolbar.mjs.map +1 -0
  91. package/build/components/PackageList/filterPackages.d.ts +16 -0
  92. package/build/components/PackageList/filterPackages.js +37 -0
  93. package/build/components/PackageList/filterPackages.js.map +1 -0
  94. package/build/components/PackageList/filterPackages.mjs +34 -0
  95. package/build/components/PackageList/filterPackages.mjs.map +1 -0
  96. package/build/components/RegistryInfoDialog/RegistryInfoDialog.js +18 -7
  97. package/build/components/RegistryInfoDialog/RegistryInfoDialog.js.map +1 -1
  98. package/build/components/RegistryInfoDialog/RegistryInfoDialog.mjs +18 -7
  99. package/build/components/RegistryInfoDialog/RegistryInfoDialog.mjs.map +1 -1
  100. package/build/components/RegistryInfoDialog/types.d.ts +1 -0
  101. package/build/components/Search/AutoComplete/AutoComplete.d.ts +3 -0
  102. package/build/components/Search/AutoComplete/AutoComplete.js +3 -1
  103. package/build/components/Search/AutoComplete/AutoComplete.js.map +1 -1
  104. package/build/components/Search/AutoComplete/AutoComplete.mjs +3 -1
  105. package/build/components/Search/AutoComplete/AutoComplete.mjs.map +1 -1
  106. package/build/components/Search/Search.js +28 -1
  107. package/build/components/Search/Search.js.map +1 -1
  108. package/build/components/Search/Search.mjs +31 -5
  109. package/build/components/Search/Search.mjs.map +1 -1
  110. package/build/components/Search/SearchItem.d.ts +12 -1
  111. package/build/components/Search/SearchItem.js +53 -70
  112. package/build/components/Search/SearchItem.js.map +1 -1
  113. package/build/components/Search/SearchItem.mjs +51 -67
  114. package/build/components/Search/SearchItem.mjs.map +1 -1
  115. package/build/components/Search/utils.d.ts +10 -0
  116. package/build/components/Search/utils.js +28 -1
  117. package/build/components/Search/utils.js.map +1 -1
  118. package/build/components/Search/utils.mjs +26 -2
  119. package/build/components/Search/utils.mjs.map +1 -1
  120. package/build/components/SettingsMenu/SettingsMenu.js +2 -2
  121. package/build/components/SettingsMenu/SettingsMenu.mjs +1 -1
  122. package/build/components/Versions/Versions.js +8 -2
  123. package/build/components/Versions/Versions.js.map +1 -1
  124. package/build/components/Versions/Versions.mjs +8 -2
  125. package/build/components/Versions/Versions.mjs.map +1 -1
  126. package/build/components/VisuallyHidden/index.d.ts +5 -0
  127. package/build/components/VisuallyHidden/index.js +17 -0
  128. package/build/components/VisuallyHidden/index.js.map +1 -0
  129. package/build/components/VisuallyHidden/index.mjs +15 -0
  130. package/build/components/VisuallyHidden/index.mjs.map +1 -0
  131. package/build/configuration.js +2 -1
  132. package/build/configuration.js.map +1 -1
  133. package/build/configuration.mjs +2 -1
  134. package/build/configuration.mjs.map +1 -1
  135. package/build/i18n/crowdin/ui.js +68 -11
  136. package/build/i18n/crowdin/ui.js.map +1 -1
  137. package/build/i18n/crowdin/ui.json +64 -11
  138. package/build/i18n/crowdin/ui.mjs +67 -12
  139. package/build/i18n/crowdin/ui.mjs.map +1 -1
  140. package/build/i18n/download_translations/cs-CZ/ui.js +68 -11
  141. package/build/i18n/download_translations/cs-CZ/ui.js.map +1 -1
  142. package/build/i18n/download_translations/cs-CZ/ui.json +64 -11
  143. package/build/i18n/download_translations/cs-CZ/ui.mjs +67 -12
  144. package/build/i18n/download_translations/cs-CZ/ui.mjs.map +1 -1
  145. package/build/i18n/download_translations/de-DE/ui.js +68 -11
  146. package/build/i18n/download_translations/de-DE/ui.js.map +1 -1
  147. package/build/i18n/download_translations/de-DE/ui.json +64 -11
  148. package/build/i18n/download_translations/de-DE/ui.mjs +67 -12
  149. package/build/i18n/download_translations/de-DE/ui.mjs.map +1 -1
  150. package/build/i18n/download_translations/es-ES/ui.js +68 -11
  151. package/build/i18n/download_translations/es-ES/ui.js.map +1 -1
  152. package/build/i18n/download_translations/es-ES/ui.json +64 -11
  153. package/build/i18n/download_translations/es-ES/ui.mjs +67 -12
  154. package/build/i18n/download_translations/es-ES/ui.mjs.map +1 -1
  155. package/build/i18n/download_translations/fr-FR/ui.js +68 -11
  156. package/build/i18n/download_translations/fr-FR/ui.js.map +1 -1
  157. package/build/i18n/download_translations/fr-FR/ui.json +64 -11
  158. package/build/i18n/download_translations/fr-FR/ui.mjs +67 -12
  159. package/build/i18n/download_translations/fr-FR/ui.mjs.map +1 -1
  160. package/build/i18n/download_translations/ga-IE/ui.js +68 -11
  161. package/build/i18n/download_translations/ga-IE/ui.js.map +1 -1
  162. package/build/i18n/download_translations/ga-IE/ui.json +64 -11
  163. package/build/i18n/download_translations/ga-IE/ui.mjs +67 -12
  164. package/build/i18n/download_translations/ga-IE/ui.mjs.map +1 -1
  165. package/build/i18n/download_translations/gl-ES/ui.js +68 -11
  166. package/build/i18n/download_translations/gl-ES/ui.js.map +1 -1
  167. package/build/i18n/download_translations/gl-ES/ui.json +64 -11
  168. package/build/i18n/download_translations/gl-ES/ui.mjs +67 -12
  169. package/build/i18n/download_translations/gl-ES/ui.mjs.map +1 -1
  170. package/build/i18n/download_translations/it-IT/ui.js +68 -11
  171. package/build/i18n/download_translations/it-IT/ui.js.map +1 -1
  172. package/build/i18n/download_translations/it-IT/ui.json +64 -11
  173. package/build/i18n/download_translations/it-IT/ui.mjs +67 -12
  174. package/build/i18n/download_translations/it-IT/ui.mjs.map +1 -1
  175. package/build/i18n/download_translations/ko-KR/ui.js +68 -11
  176. package/build/i18n/download_translations/ko-KR/ui.js.map +1 -1
  177. package/build/i18n/download_translations/ko-KR/ui.json +64 -11
  178. package/build/i18n/download_translations/ko-KR/ui.mjs +67 -12
  179. package/build/i18n/download_translations/ko-KR/ui.mjs.map +1 -1
  180. package/build/i18n/download_translations/pl-PL/ui.js +68 -11
  181. package/build/i18n/download_translations/pl-PL/ui.js.map +1 -1
  182. package/build/i18n/download_translations/pl-PL/ui.json +64 -11
  183. package/build/i18n/download_translations/pl-PL/ui.mjs +67 -12
  184. package/build/i18n/download_translations/pl-PL/ui.mjs.map +1 -1
  185. package/build/i18n/download_translations/pt-BR/ui.js +68 -11
  186. package/build/i18n/download_translations/pt-BR/ui.js.map +1 -1
  187. package/build/i18n/download_translations/pt-BR/ui.json +64 -11
  188. package/build/i18n/download_translations/pt-BR/ui.mjs +67 -12
  189. package/build/i18n/download_translations/pt-BR/ui.mjs.map +1 -1
  190. package/build/i18n/download_translations/ru-RU/ui.js +68 -11
  191. package/build/i18n/download_translations/ru-RU/ui.js.map +1 -1
  192. package/build/i18n/download_translations/ru-RU/ui.json +64 -11
  193. package/build/i18n/download_translations/ru-RU/ui.mjs +67 -12
  194. package/build/i18n/download_translations/ru-RU/ui.mjs.map +1 -1
  195. package/build/i18n/download_translations/sr-CS/ui.js +66 -12
  196. package/build/i18n/download_translations/sr-CS/ui.js.map +1 -1
  197. package/build/i18n/download_translations/sr-CS/ui.json +64 -11
  198. package/build/i18n/download_translations/sr-CS/ui.mjs +66 -13
  199. package/build/i18n/download_translations/sr-CS/ui.mjs.map +1 -1
  200. package/build/i18n/download_translations/tr-TR/ui.js +68 -11
  201. package/build/i18n/download_translations/tr-TR/ui.js.map +1 -1
  202. package/build/i18n/download_translations/tr-TR/ui.json +64 -11
  203. package/build/i18n/download_translations/tr-TR/ui.mjs +67 -12
  204. package/build/i18n/download_translations/tr-TR/ui.mjs.map +1 -1
  205. package/build/i18n/download_translations/vi-VN/ui.js +66 -12
  206. package/build/i18n/download_translations/vi-VN/ui.js.map +1 -1
  207. package/build/i18n/download_translations/vi-VN/ui.json +64 -11
  208. package/build/i18n/download_translations/vi-VN/ui.mjs +66 -13
  209. package/build/i18n/download_translations/vi-VN/ui.mjs.map +1 -1
  210. package/build/i18n/download_translations/yo-NG/ui.js +66 -12
  211. package/build/i18n/download_translations/yo-NG/ui.js.map +1 -1
  212. package/build/i18n/download_translations/yo-NG/ui.json +64 -11
  213. package/build/i18n/download_translations/yo-NG/ui.mjs +66 -13
  214. package/build/i18n/download_translations/yo-NG/ui.mjs.map +1 -1
  215. package/build/i18n/download_translations/zh-CN/ui.js +68 -11
  216. package/build/i18n/download_translations/zh-CN/ui.js.map +1 -1
  217. package/build/i18n/download_translations/zh-CN/ui.json +64 -11
  218. package/build/i18n/download_translations/zh-CN/ui.mjs +67 -12
  219. package/build/i18n/download_translations/zh-CN/ui.mjs.map +1 -1
  220. package/build/i18n/download_translations/zh-TW/ui.js +68 -11
  221. package/build/i18n/download_translations/zh-TW/ui.js.map +1 -1
  222. package/build/i18n/download_translations/zh-TW/ui.json +64 -11
  223. package/build/i18n/download_translations/zh-TW/ui.mjs +67 -12
  224. package/build/i18n/download_translations/zh-TW/ui.mjs.map +1 -1
  225. package/build/i18n/loadTranslationFile.d.ts +2 -2
  226. package/build/i18n/loadTranslationFile.js +2 -2
  227. package/build/i18n/loadTranslationFile.js.map +1 -1
  228. package/build/i18n/loadTranslationFile.mjs +2 -2
  229. package/build/i18n/loadTranslationFile.mjs.map +1 -1
  230. package/build/index.d.ts +1 -0
  231. package/build/index.js +8 -0
  232. package/build/index.mjs +4 -2
  233. package/build/mockServiceWorker.js +1 -0
  234. package/build/pages/Version/Version.js +2 -2
  235. package/build/pages/Version/Version.js.map +1 -1
  236. package/build/pages/Version/Version.mjs +2 -2
  237. package/build/pages/Version/Version.mjs.map +1 -1
  238. package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js +3 -1
  239. package/build/providers/AppConfigurationProvider/AppConfigurationProvider.js.map +1 -1
  240. package/build/providers/AppConfigurationProvider/AppConfigurationProvider.mjs +3 -1
  241. package/build/providers/AppConfigurationProvider/AppConfigurationProvider.mjs.map +1 -1
  242. package/build/providers/ManifestsProvider/ManifestsProvider.d.ts +3 -0
  243. package/build/providers/ManifestsProvider/ManifestsProvider.js +9 -2
  244. package/build/providers/ManifestsProvider/ManifestsProvider.js.map +1 -1
  245. package/build/providers/ManifestsProvider/ManifestsProvider.mjs +10 -4
  246. package/build/providers/ManifestsProvider/ManifestsProvider.mjs.map +1 -1
  247. package/build/sections/Detail/ContainerContent.js +8 -0
  248. package/build/sections/Detail/ContainerContent.js.map +1 -1
  249. package/build/sections/Detail/ContainerContent.mjs +8 -1
  250. package/build/sections/Detail/ContainerContent.mjs.map +1 -1
  251. package/build/sections/Detail/Detail.d.ts +3 -6
  252. package/build/sections/Detail/Detail.js +13 -14
  253. package/build/sections/Detail/Detail.js.map +1 -1
  254. package/build/sections/Detail/Detail.mjs +14 -15
  255. package/build/sections/Detail/Detail.mjs.map +1 -1
  256. package/build/sections/Detail/Tabs.d.ts +3 -2
  257. package/build/sections/Detail/Tabs.js +9 -4
  258. package/build/sections/Detail/Tabs.js.map +1 -1
  259. package/build/sections/Detail/Tabs.mjs +9 -4
  260. package/build/sections/Detail/Tabs.mjs.map +1 -1
  261. package/build/sections/Footer/Footer.js +24 -3
  262. package/build/sections/Footer/Footer.js.map +1 -1
  263. package/build/sections/Footer/Footer.mjs +24 -4
  264. package/build/sections/Footer/Footer.mjs.map +1 -1
  265. package/build/sections/Footer/styles.d.ts +6 -0
  266. package/build/sections/Footer/styles.js +21 -2
  267. package/build/sections/Footer/styles.js.map +1 -1
  268. package/build/sections/Footer/styles.mjs +21 -3
  269. package/build/sections/Footer/styles.mjs.map +1 -1
  270. package/build/sections/Header/HeaderSettingsDialog.js +39 -10
  271. package/build/sections/Header/HeaderSettingsDialog.js.map +1 -1
  272. package/build/sections/Header/HeaderSettingsDialog.mjs +39 -10
  273. package/build/sections/Header/HeaderSettingsDialog.mjs.map +1 -1
  274. package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.d.ts +1 -4
  275. package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js +98 -15
  276. package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.js.map +1 -1
  277. package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.mjs +100 -15
  278. package/build/sections/Header/RegistryInfoContent/RegistryInfoContent.mjs.map +1 -1
  279. package/build/sections/Home/Home.js +58 -2
  280. package/build/sections/Home/Home.js.map +1 -1
  281. package/build/sections/Home/Home.mjs +60 -4
  282. package/build/sections/Home/Home.mjs.map +1 -1
  283. package/build/utils/cli-utils.d.ts +10 -0
  284. package/build/utils/cli-utils.js +26 -0
  285. package/build/utils/cli-utils.js.map +1 -1
  286. package/build/utils/cli-utils.mjs +23 -1
  287. package/build/utils/cli-utils.mjs.map +1 -1
  288. package/build/utils/index.d.ts +1 -1
  289. package/build/utils/index.js +4 -0
  290. package/build/utils/index.mjs +2 -2
  291. package/build/utils/markdown.d.ts +6 -0
  292. package/build/utils/markdown.js +16 -0
  293. package/build/utils/markdown.js.map +1 -0
  294. package/build/utils/markdown.mjs +13 -0
  295. package/build/utils/markdown.mjs.map +1 -0
  296. package/package.json +8 -8
@@ -0,0 +1,65 @@
1
+ import "react";
2
+ import { useTranslation } from "react-i18next";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import Box from "@mui/material/Box";
5
+ import Divider from "@mui/material/Divider";
6
+ import Skeleton from "@mui/material/Skeleton";
7
+ //#region src/components/Loading/PackageListSkeleton.tsx
8
+ var ROWS = 5;
9
+ var PackageListSkeleton = () => {
10
+ const { t } = useTranslation();
11
+ return /* @__PURE__ */ jsx(Box, {
12
+ "aria-busy": true,
13
+ "aria-label": t("loading"),
14
+ "data-testid": "package-list-skeleton",
15
+ role: "status",
16
+ children: Array.from({ length: ROWS }, (_, index) => /* @__PURE__ */ jsxs(Box, { children: [index !== 0 && /* @__PURE__ */ jsx(Divider, {}), /* @__PURE__ */ jsxs(Box, {
17
+ sx: {
18
+ px: 2,
19
+ py: 1.5
20
+ },
21
+ children: [
22
+ /* @__PURE__ */ jsx(Skeleton, {
23
+ height: 32,
24
+ variant: "text",
25
+ width: "35%"
26
+ }),
27
+ /* @__PURE__ */ jsx(Skeleton, {
28
+ variant: "text",
29
+ width: "80%"
30
+ }),
31
+ /* @__PURE__ */ jsxs(Box, {
32
+ sx: {
33
+ display: "flex",
34
+ alignItems: "center",
35
+ gap: 2,
36
+ mt: 1
37
+ },
38
+ children: [
39
+ /* @__PURE__ */ jsx(Skeleton, {
40
+ height: 20,
41
+ variant: "circular",
42
+ width: 20
43
+ }),
44
+ /* @__PURE__ */ jsx(Skeleton, {
45
+ variant: "text",
46
+ width: 80
47
+ }),
48
+ /* @__PURE__ */ jsx(Skeleton, {
49
+ variant: "text",
50
+ width: 60
51
+ }),
52
+ /* @__PURE__ */ jsx(Skeleton, {
53
+ variant: "text",
54
+ width: 110
55
+ })
56
+ ]
57
+ })
58
+ ]
59
+ })] }, index))
60
+ });
61
+ };
62
+ //#endregion
63
+ export { PackageListSkeleton as default };
64
+
65
+ //# sourceMappingURL=PackageListSkeleton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageListSkeleton.mjs","names":[],"sources":["../../../src/components/Loading/PackageListSkeleton.tsx"],"sourcesContent":["import Box from '@mui/material/Box';\nimport Divider from '@mui/material/Divider';\nimport Skeleton from '@mui/material/Skeleton';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nconst ROWS = 5;\n\nconst PackageListSkeleton: React.FC = () => {\n const { t } = useTranslation();\n return (\n <Box\n aria-busy={true}\n aria-label={t('loading')}\n data-testid=\"package-list-skeleton\"\n role=\"status\"\n >\n {Array.from({ length: ROWS }, (_, index) => (\n <Box key={index}>\n {index !== 0 && <Divider />}\n <Box sx={{ px: 2, py: 1.5 }}>\n <Skeleton height={32} variant=\"text\" width=\"35%\" />\n <Skeleton variant=\"text\" width=\"80%\" />\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 2, mt: 1 }}>\n <Skeleton height={20} variant=\"circular\" width={20} />\n <Skeleton variant=\"text\" width={80} />\n <Skeleton variant=\"text\" width={60} />\n <Skeleton variant=\"text\" width={110} />\n </Box>\n </Box>\n </Box>\n ))}\n </Box>\n );\n};\n\nexport default PackageListSkeleton;\n"],"mappings":";;;;;;;AAMA,IAAM,OAAO;AAEb,IAAM,4BAAsC;CAC1C,MAAM,EAAE,MAAM,eAAe;CAC7B,OACE,oBAAC,KAAD;EACE,aAAW;EACX,cAAY,EAAE,SAAS;EACvB,eAAY;EACZ,MAAK;EAEJ,UAAA,MAAM,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,UAChC,qBAAC,KAAD,EAAA,UAAA,CACG,UAAU,KAAK,oBAAC,SAAD,CAAU,CAAA,GAC1B,qBAAC,KAAD;GAAK,IAAI;IAAE,IAAI;IAAG,IAAI;GAAI;GAA1B,UAAA;IACE,oBAAC,UAAD;KAAU,QAAQ;KAAI,SAAQ;KAAO,OAAM;IAAO,CAAA;IAClD,oBAAC,UAAD;KAAU,SAAQ;KAAO,OAAM;IAAO,CAAA;IACtC,qBAAC,KAAD;KAAK,IAAI;MAAE,SAAS;MAAQ,YAAY;MAAU,KAAK;MAAG,IAAI;KAAE;KAAhE,UAAA;MACE,oBAAC,UAAD;OAAU,QAAQ;OAAI,SAAQ;OAAW,OAAO;MAAK,CAAA;MACrD,oBAAC,UAAD;OAAU,SAAQ;OAAO,OAAO;MAAK,CAAA;MACrC,oBAAC,UAAD;OAAU,SAAQ;OAAO,OAAO;MAAK,CAAA;MACrC,oBAAC,UAAD;OAAU,SAAQ;OAAO,OAAO;MAAM,CAAA;KACnC;;GACF;EACF,CAAA,CAAA,EAAA,GAZK,KAYL,CACN;CACE,CAAA;AAET"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const VersionSkeleton: React.FC;
3
+ export default VersionSkeleton;
@@ -0,0 +1,119 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
2
+ let react = require("react");
3
+ react = require_runtime.__toESM(react);
4
+ let react_i18next = require("react-i18next");
5
+ let react_jsx_runtime = require("react/jsx-runtime");
6
+ let _mui_material_Box = require("@mui/material/Box");
7
+ _mui_material_Box = require_runtime.__toESM(_mui_material_Box);
8
+ let _mui_material_Card = require("@mui/material/Card");
9
+ _mui_material_Card = require_runtime.__toESM(_mui_material_Card);
10
+ let _mui_material_CardContent = require("@mui/material/CardContent");
11
+ _mui_material_CardContent = require_runtime.__toESM(_mui_material_CardContent);
12
+ let _mui_material_Grid = require("@mui/material/Grid");
13
+ _mui_material_Grid = require_runtime.__toESM(_mui_material_Grid);
14
+ let _mui_material_Skeleton = require("@mui/material/Skeleton");
15
+ _mui_material_Skeleton = require_runtime.__toESM(_mui_material_Skeleton);
16
+ let _mui_material_Paper = require("@mui/material/Paper");
17
+ _mui_material_Paper = require_runtime.__toESM(_mui_material_Paper);
18
+ //#region src/components/Loading/VersionSkeleton.tsx
19
+ var VersionSkeleton = () => {
20
+ const { t } = (0, react_i18next.useTranslation)();
21
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_Grid.default, {
22
+ "aria-busy": true,
23
+ "aria-label": t("loading"),
24
+ className: "container content",
25
+ container: true,
26
+ "data-testid": "version-skeleton",
27
+ role: "status",
28
+ spacing: 0,
29
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_Grid.default, {
30
+ size: {
31
+ md: 8,
32
+ xs: 12
33
+ },
34
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Box.default, {
35
+ sx: {
36
+ display: "flex",
37
+ gap: 2,
38
+ mb: 2
39
+ },
40
+ children: [
41
+ 0,
42
+ 1,
43
+ 2
44
+ ].map((tab) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Skeleton.default, {
45
+ height: 48,
46
+ sx: { flex: 1 },
47
+ variant: "text"
48
+ }, tab))
49
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Card.default, {
50
+ sx: { mb: 2 },
51
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_CardContent.default, { children: [
52
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Skeleton.default, {
53
+ height: 40,
54
+ variant: "text",
55
+ width: "50%"
56
+ }),
57
+ [
58
+ 95,
59
+ 88,
60
+ 92,
61
+ 70,
62
+ 85,
63
+ 60
64
+ ].map((width, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Skeleton.default, {
65
+ variant: "text",
66
+ width: `${width}%`
67
+ }, index)),
68
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Skeleton.default, {
69
+ height: 140,
70
+ sx: { mt: 2 },
71
+ variant: "rounded"
72
+ })
73
+ ] })
74
+ })]
75
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Grid.default, {
76
+ size: {
77
+ md: 4,
78
+ xs: 12
79
+ },
80
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_Paper.default, {
81
+ sx: {
82
+ p: 2,
83
+ ml: {
84
+ xs: 0,
85
+ md: 2
86
+ }
87
+ },
88
+ children: [
89
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Skeleton.default, {
90
+ height: 28,
91
+ variant: "text",
92
+ width: "60%"
93
+ }),
94
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Skeleton.default, {
95
+ variant: "text",
96
+ width: "40%"
97
+ }),
98
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Skeleton.default, {
99
+ height: 36,
100
+ sx: { my: 2 },
101
+ variant: "rounded"
102
+ }),
103
+ [
104
+ 0,
105
+ 1,
106
+ 2
107
+ ].map((row) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Skeleton.default, {
108
+ height: 28,
109
+ variant: "text"
110
+ }, row))
111
+ ]
112
+ })
113
+ })]
114
+ });
115
+ };
116
+ //#endregion
117
+ exports.default = VersionSkeleton;
118
+
119
+ //# sourceMappingURL=VersionSkeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionSkeleton.js","names":["useTranslation","Grid","Box","Skeleton","Card","CardContent","Paper"],"sources":["../../../src/components/Loading/VersionSkeleton.tsx"],"sourcesContent":["import Box from '@mui/material/Box';\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Grid from '@mui/material/Grid';\nimport Paper from '@mui/material/Paper';\nimport Skeleton from '@mui/material/Skeleton';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nconst VersionSkeleton: React.FC = () => {\n const { t } = useTranslation();\n return (\n <Grid\n aria-busy={true}\n aria-label={t('loading')}\n className={'container content'}\n container={true}\n data-testid=\"version-skeleton\"\n role=\"status\"\n spacing={0}\n >\n <Grid size={{ md: 8, xs: 12 }}>\n <Box sx={{ display: 'flex', gap: 2, mb: 2 }}>\n {[0, 1, 2].map((tab) => (\n <Skeleton height={48} key={tab} sx={{ flex: 1 }} variant=\"text\" />\n ))}\n </Box>\n <Card sx={{ mb: 2 }}>\n <CardContent>\n <Skeleton height={40} variant=\"text\" width=\"50%\" />\n {[95, 88, 92, 70, 85, 60].map((width, index) => (\n <Skeleton key={index} variant=\"text\" width={`${width}%`} />\n ))}\n <Skeleton height={140} sx={{ mt: 2 }} variant=\"rounded\" />\n </CardContent>\n </Card>\n </Grid>\n <Grid size={{ md: 4, xs: 12 }}>\n <Paper sx={{ p: 2, ml: { xs: 0, md: 2 } }}>\n <Skeleton height={28} variant=\"text\" width=\"60%\" />\n <Skeleton variant=\"text\" width=\"40%\" />\n <Skeleton height={36} sx={{ my: 2 }} variant=\"rounded\" />\n {[0, 1, 2].map((row) => (\n <Skeleton height={28} key={row} variant=\"text\" />\n ))}\n </Paper>\n </Grid>\n </Grid>\n );\n};\n\nexport default VersionSkeleton;\n"],"mappings":";;;;;;;;;;;;;;;;;;AASA,IAAM,wBAAkC;CACtC,MAAM,EAAE,OAAA,GAAMA,cAAAA,eAAAA,CAAe;CAC7B,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,mBAAAA,SAAD;EACE,aAAW;EACX,cAAY,EAAE,SAAS;EACvB,WAAW;EACX,WAAW;EACX,eAAY;EACZ,MAAK;EACL,SAAS;EAPX,UAAA,CASE,iBAAA,GAAA,kBAAA,KAAA,CAACA,mBAAAA,SAAD;GAAM,MAAM;IAAE,IAAI;IAAG,IAAI;GAAG;GAA5B,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,SAAD;IAAK,IAAI;KAAE,SAAS;KAAQ,KAAK;KAAG,IAAI;IAAE;IACvC,UAAA;KAAC;KAAG;KAAG;IAAC,CAAC,CAAC,KAAK,QACd,iBAAA,GAAA,kBAAA,IAAA,CAACC,uBAAAA,SAAD;KAAU,QAAQ;KAAc,IAAI,EAAE,MAAM,EAAE;KAAG,SAAQ;IAAQ,GAAtC,GAAsC,CAClE;GACE,CAAA,GACL,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,SAAD;IAAM,IAAI,EAAE,IAAI,EAAE;IAChB,UAAA,iBAAA,GAAA,kBAAA,KAAA,CAACC,0BAAAA,SAAD,EAAA,UAAA;KACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,uBAAAA,SAAD;MAAU,QAAQ;MAAI,SAAQ;MAAO,OAAM;KAAO,CAAA;KACjD;MAAC;MAAI;MAAI;MAAI;MAAI;MAAI;KAAE,CAAC,CAAC,KAAK,OAAO,UACpC,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,SAAD;MAAsB,SAAQ;MAAO,OAAO,GAAG,MAAM;KAAK,GAA3C,KAA2C,CAC3D;KACD,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,SAAD;MAAU,QAAQ;MAAK,IAAI,EAAE,IAAI,EAAE;MAAG,SAAQ;KAAW,CAAA;IAC9C,EAAA,CAAA;GACT,CAAA,CACF;EACN,CAAA,GAAA,iBAAA,GAAA,kBAAA,IAAA,CAACF,mBAAAA,SAAD;GAAM,MAAM;IAAE,IAAI;IAAG,IAAI;GAAG;GAC1B,UAAA,iBAAA,GAAA,kBAAA,KAAA,CAACK,oBAAAA,SAAD;IAAO,IAAI;KAAE,GAAG;KAAG,IAAI;MAAE,IAAI;MAAG,IAAI;KAAE;IAAE;IAAxC,UAAA;KACE,iBAAA,GAAA,kBAAA,IAAA,CAACH,uBAAAA,SAAD;MAAU,QAAQ;MAAI,SAAQ;MAAO,OAAM;KAAO,CAAA;KAClD,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,SAAD;MAAU,SAAQ;MAAO,OAAM;KAAO,CAAA;KACtC,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,SAAD;MAAU,QAAQ;MAAI,IAAI,EAAE,IAAI,EAAE;MAAG,SAAQ;KAAW,CAAA;KACvD;MAAC;MAAG;MAAG;KAAC,CAAC,CAAC,KAAK,QACd,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,SAAD;MAAU,QAAQ;MAAc,SAAQ;KAAQ,GAArB,GAAqB,CACjD;IACI;;EACH,CAAA,CACF;;AAEV"}
@@ -0,0 +1,111 @@
1
+ import "react";
2
+ import { useTranslation } from "react-i18next";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import Box from "@mui/material/Box";
5
+ import Card from "@mui/material/Card";
6
+ import CardContent from "@mui/material/CardContent";
7
+ import Grid from "@mui/material/Grid";
8
+ import Skeleton from "@mui/material/Skeleton";
9
+ import Paper from "@mui/material/Paper";
10
+ //#region src/components/Loading/VersionSkeleton.tsx
11
+ var VersionSkeleton = () => {
12
+ const { t } = useTranslation();
13
+ return /* @__PURE__ */ jsxs(Grid, {
14
+ "aria-busy": true,
15
+ "aria-label": t("loading"),
16
+ className: "container content",
17
+ container: true,
18
+ "data-testid": "version-skeleton",
19
+ role: "status",
20
+ spacing: 0,
21
+ children: [/* @__PURE__ */ jsxs(Grid, {
22
+ size: {
23
+ md: 8,
24
+ xs: 12
25
+ },
26
+ children: [/* @__PURE__ */ jsx(Box, {
27
+ sx: {
28
+ display: "flex",
29
+ gap: 2,
30
+ mb: 2
31
+ },
32
+ children: [
33
+ 0,
34
+ 1,
35
+ 2
36
+ ].map((tab) => /* @__PURE__ */ jsx(Skeleton, {
37
+ height: 48,
38
+ sx: { flex: 1 },
39
+ variant: "text"
40
+ }, tab))
41
+ }), /* @__PURE__ */ jsx(Card, {
42
+ sx: { mb: 2 },
43
+ children: /* @__PURE__ */ jsxs(CardContent, { children: [
44
+ /* @__PURE__ */ jsx(Skeleton, {
45
+ height: 40,
46
+ variant: "text",
47
+ width: "50%"
48
+ }),
49
+ [
50
+ 95,
51
+ 88,
52
+ 92,
53
+ 70,
54
+ 85,
55
+ 60
56
+ ].map((width, index) => /* @__PURE__ */ jsx(Skeleton, {
57
+ variant: "text",
58
+ width: `${width}%`
59
+ }, index)),
60
+ /* @__PURE__ */ jsx(Skeleton, {
61
+ height: 140,
62
+ sx: { mt: 2 },
63
+ variant: "rounded"
64
+ })
65
+ ] })
66
+ })]
67
+ }), /* @__PURE__ */ jsx(Grid, {
68
+ size: {
69
+ md: 4,
70
+ xs: 12
71
+ },
72
+ children: /* @__PURE__ */ jsxs(Paper, {
73
+ sx: {
74
+ p: 2,
75
+ ml: {
76
+ xs: 0,
77
+ md: 2
78
+ }
79
+ },
80
+ children: [
81
+ /* @__PURE__ */ jsx(Skeleton, {
82
+ height: 28,
83
+ variant: "text",
84
+ width: "60%"
85
+ }),
86
+ /* @__PURE__ */ jsx(Skeleton, {
87
+ variant: "text",
88
+ width: "40%"
89
+ }),
90
+ /* @__PURE__ */ jsx(Skeleton, {
91
+ height: 36,
92
+ sx: { my: 2 },
93
+ variant: "rounded"
94
+ }),
95
+ [
96
+ 0,
97
+ 1,
98
+ 2
99
+ ].map((row) => /* @__PURE__ */ jsx(Skeleton, {
100
+ height: 28,
101
+ variant: "text"
102
+ }, row))
103
+ ]
104
+ })
105
+ })]
106
+ });
107
+ };
108
+ //#endregion
109
+ export { VersionSkeleton as default };
110
+
111
+ //# sourceMappingURL=VersionSkeleton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionSkeleton.mjs","names":[],"sources":["../../../src/components/Loading/VersionSkeleton.tsx"],"sourcesContent":["import Box from '@mui/material/Box';\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Grid from '@mui/material/Grid';\nimport Paper from '@mui/material/Paper';\nimport Skeleton from '@mui/material/Skeleton';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nconst VersionSkeleton: React.FC = () => {\n const { t } = useTranslation();\n return (\n <Grid\n aria-busy={true}\n aria-label={t('loading')}\n className={'container content'}\n container={true}\n data-testid=\"version-skeleton\"\n role=\"status\"\n spacing={0}\n >\n <Grid size={{ md: 8, xs: 12 }}>\n <Box sx={{ display: 'flex', gap: 2, mb: 2 }}>\n {[0, 1, 2].map((tab) => (\n <Skeleton height={48} key={tab} sx={{ flex: 1 }} variant=\"text\" />\n ))}\n </Box>\n <Card sx={{ mb: 2 }}>\n <CardContent>\n <Skeleton height={40} variant=\"text\" width=\"50%\" />\n {[95, 88, 92, 70, 85, 60].map((width, index) => (\n <Skeleton key={index} variant=\"text\" width={`${width}%`} />\n ))}\n <Skeleton height={140} sx={{ mt: 2 }} variant=\"rounded\" />\n </CardContent>\n </Card>\n </Grid>\n <Grid size={{ md: 4, xs: 12 }}>\n <Paper sx={{ p: 2, ml: { xs: 0, md: 2 } }}>\n <Skeleton height={28} variant=\"text\" width=\"60%\" />\n <Skeleton variant=\"text\" width=\"40%\" />\n <Skeleton height={36} sx={{ my: 2 }} variant=\"rounded\" />\n {[0, 1, 2].map((row) => (\n <Skeleton height={28} key={row} variant=\"text\" />\n ))}\n </Paper>\n </Grid>\n </Grid>\n );\n};\n\nexport default VersionSkeleton;\n"],"mappings":";;;;;;;;;;AASA,IAAM,wBAAkC;CACtC,MAAM,EAAE,MAAM,eAAe;CAC7B,OACE,qBAAC,MAAD;EACE,aAAW;EACX,cAAY,EAAE,SAAS;EACvB,WAAW;EACX,WAAW;EACX,eAAY;EACZ,MAAK;EACL,SAAS;EAPX,UAAA,CASE,qBAAC,MAAD;GAAM,MAAM;IAAE,IAAI;IAAG,IAAI;GAAG;GAA5B,UAAA,CACE,oBAAC,KAAD;IAAK,IAAI;KAAE,SAAS;KAAQ,KAAK;KAAG,IAAI;IAAE;IACvC,UAAA;KAAC;KAAG;KAAG;IAAC,CAAC,CAAC,KAAK,QACd,oBAAC,UAAD;KAAU,QAAQ;KAAc,IAAI,EAAE,MAAM,EAAE;KAAG,SAAQ;IAAQ,GAAtC,GAAsC,CAClE;GACE,CAAA,GACL,oBAAC,MAAD;IAAM,IAAI,EAAE,IAAI,EAAE;IAChB,UAAA,qBAAC,aAAD,EAAA,UAAA;KACE,oBAAC,UAAD;MAAU,QAAQ;MAAI,SAAQ;MAAO,OAAM;KAAO,CAAA;KACjD;MAAC;MAAI;MAAI;MAAI;MAAI;MAAI;KAAE,CAAC,CAAC,KAAK,OAAO,UACpC,oBAAC,UAAD;MAAsB,SAAQ;MAAO,OAAO,GAAG,MAAM;KAAK,GAA3C,KAA2C,CAC3D;KACD,oBAAC,UAAD;MAAU,QAAQ;MAAK,IAAI,EAAE,IAAI,EAAE;MAAG,SAAQ;KAAW,CAAA;IAC9C,EAAA,CAAA;GACT,CAAA,CACF;EACN,CAAA,GAAA,oBAAC,MAAD;GAAM,MAAM;IAAE,IAAI;IAAG,IAAI;GAAG;GAC1B,UAAA,qBAAC,OAAD;IAAO,IAAI;KAAE,GAAG;KAAG,IAAI;MAAE,IAAI;MAAG,IAAI;KAAE;IAAE;IAAxC,UAAA;KACE,oBAAC,UAAD;MAAU,QAAQ;MAAI,SAAQ;MAAO,OAAM;KAAO,CAAA;KAClD,oBAAC,UAAD;MAAU,SAAQ;MAAO,OAAM;KAAO,CAAA;KACtC,oBAAC,UAAD;MAAU,QAAQ;MAAI,IAAI,EAAE,IAAI,EAAE;MAAG,SAAQ;KAAW,CAAA;KACvD;MAAC;MAAG;MAAG;KAAC,CAAC,CAAC,KAAK,QACd,oBAAC,UAAD;MAAU,QAAQ;MAAc,SAAQ;KAAQ,GAArB,GAAqB,CACjD;IACI;;EACH,CAAA,CACF;;AAEV"}
@@ -1 +1,3 @@
1
1
  export { default } from './Loading';
2
+ export { default as PackageListSkeleton } from './PackageListSkeleton';
3
+ export { default as VersionSkeleton } from './VersionSkeleton';
@@ -1,2 +1,6 @@
1
1
  const require_Loading = require("./Loading.js");
2
+ const require_PackageListSkeleton = require("./PackageListSkeleton.js");
3
+ const require_VersionSkeleton = require("./VersionSkeleton.js");
4
+ exports.PackageListSkeleton = require_PackageListSkeleton.default;
5
+ exports.VersionSkeleton = require_VersionSkeleton.default;
2
6
  exports.default = require_Loading.default;
@@ -1 +1,4 @@
1
- export { default } from "./Loading.mjs";
1
+ import Loading from "./Loading.mjs";
2
+ import PackageListSkeleton from "./PackageListSkeleton.mjs";
3
+ import VersionSkeleton from "./VersionSkeleton.mjs";
4
+ export { PackageListSkeleton, VersionSkeleton, Loading as default };
@@ -49,7 +49,11 @@ var Package = ({ author: { name: authorName, avatar: authorAvatar }, bugs, descr
49
49
  const link = tarballDist.replace(`https://registry.npmjs.org/`, config.base);
50
50
  downloadTarball?.({ link });
51
51
  }, [config, downloadTarball]);
52
- const renderVersionInfo = () => version && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_styles.OverviewItem, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledVersion, {}), t("package.version", { version })] });
52
+ const renderVersionInfo = () => version && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.OverviewItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_styles.VersionLink, {
53
+ "data-testid": "package-version-link",
54
+ to: `${require_routes.Route.DETAIL}${packageName}/v/${version}`,
55
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyledVersion, {}), t("package.version", { version })]
56
+ }) });
53
57
  const renderAuthorInfo = () => {
54
58
  const name = require_utils.getAuthorName(authorName);
55
59
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.OverviewItem, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_styles.Author, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_styles.Avatar, {
@@ -1 +1 @@
1
- {"version":3,"file":"Package.js","names":["getConfiguration","useTranslation","useManifests","useDownload","useCallback","OverviewItem","Author","Avatar","Details","Published","LinkExternal","Tooltip","IconButton","HomeIcon","BugReport","CircularProgress","DownloadIcon","Grid","WrapperLink","Route","PackageTitle","GridRightAligned","Description","PackageListItemText","ListItem","List","KeywordListItems","Wrapper","grey","common","Version","FileBinary","Law","Time"],"sources":["../../../src/components/Package/Package.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport BugReport from '@mui/icons-material/BugReport';\nimport DownloadIcon from '@mui/icons-material/CloudDownload';\nimport HomeIcon from '@mui/icons-material/Home';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Grid from '@mui/material/Grid';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport Tooltip from '@mui/material/Tooltip';\nimport { common, grey } from '@mui/material/colors';\nimport React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport { LinkExternal, useDownload, useManifests } from '../../';\nimport { FileBinary, Law, Time, Version } from '../../components/Icons';\nimport { getConfiguration } from '../../configuration';\nimport type { Author as PackageAuthor } from '../../providers/ManifestsProvider/ManifestsProvider';\nimport type { PackageMetaInterface } from '../../types/packageMeta';\nimport { Route, url, utils } from '../../utils';\nimport KeywordListItems from '../Keywords/KeywordListItems';\nimport {\n Author,\n Avatar,\n Description,\n Details,\n GridRightAligned,\n IconButton,\n OverviewItem,\n PackageListItemText,\n PackageTitle,\n Published,\n Wrapper,\n WrapperLink,\n} from './styles';\n\ninterface Bugs {\n url: string;\n}\n\ninterface Dist {\n unpackedSize: number;\n tarball: string;\n}\n\nexport interface PackageInterface {\n name: string;\n version: string;\n time?: number | string;\n author: PackageAuthor;\n description?: string;\n keywords?: PackageMetaInterface['latest']['keywords'];\n license?: PackageMetaInterface['latest']['license'];\n homepage?: string;\n bugs?: Bugs | string;\n dist?: Dist;\n showDownload?: boolean;\n}\n\nconst Package: React.FC<PackageInterface> = ({\n author: { name: authorName, avatar: authorAvatar },\n bugs,\n description,\n dist,\n homepage,\n keywords,\n license,\n name: packageName,\n time,\n showDownload = true,\n version,\n}) => {\n const config = getConfiguration();\n const { t } = useTranslation();\n const { isLoading } = useManifests();\n const { downloadTarball } = useDownload();\n\n const handleDownload = useCallback(\n async (tarballDist: string) => {\n // FIXME: check, the dist might be different thant npmjs\n const link = tarballDist.replace(`https://registry.npmjs.org/`, config.base);\n downloadTarball?.({ link });\n },\n [config, downloadTarball]\n );\n\n const renderVersionInfo = (): React.ReactNode =>\n version && (\n <OverviewItem>\n <StyledVersion />\n {t('package.version', { version })}\n </OverviewItem>\n );\n\n const renderAuthorInfo = (): React.ReactNode => {\n const name = utils.getAuthorName(authorName);\n return (\n <OverviewItem>\n <Author>\n <Avatar alt={name} src={authorAvatar} />\n <Details>{name}</Details>\n </Author>\n </OverviewItem>\n );\n };\n\n const renderFileSize = (): React.ReactNode =>\n dist?.unpackedSize ? (\n <OverviewItem>\n <StyledFileBinary />\n {utils.fileSizeSI(dist.unpackedSize)}\n </OverviewItem>\n ) : null;\n\n const renderLicenseInfo = (): React.ReactNode =>\n license && (\n <OverviewItem>\n <StyledLaw />\n {license as string}\n </OverviewItem>\n );\n\n const renderPublishedInfo = (): React.ReactNode =>\n time && (\n <OverviewItem>\n <StyledTime />\n <Published title={utils.formatDate(time)}>\n {t('package.published-on', { time: utils.formatDateDistance(time) })}\n </Published>\n </OverviewItem>\n );\n\n const renderHomePageLink = (): React.ReactNode =>\n homepage &&\n url.isURL(homepage) && (\n <LinkExternal to={homepage}>\n <Tooltip aria-label={t('package.homepage')} title={t('package.visit-home-page')}>\n <IconButton aria-label={t('package.homepage')} color=\"primary\" size=\"large\">\n <HomeIcon />\n </IconButton>\n </Tooltip>\n </LinkExternal>\n );\n\n const renderBugsLink = (): React.ReactNode => {\n // bugs can be the object form or a plain url string, both valid in npm\n const bugsUrl = utils.getBugsUrl(bugs);\n return (\n bugsUrl &&\n url.isURL(bugsUrl) && (\n <LinkExternal to={bugsUrl}>\n <Tooltip aria-label={t('package.bugs')} title={t('package.open-an-issue')}>\n <IconButton aria-label={t('package.bugs')} color=\"primary\" size=\"large\">\n <BugReport />\n </IconButton>\n </Tooltip>\n </LinkExternal>\n )\n );\n };\n\n const renderDownloadLink = (): React.ReactNode =>\n dist?.tarball &&\n url.isURL(dist.tarball) && (\n // a plain button: wrapping it in <Link to=\"#\"> pushed a stray `#` entry\n // into the browser history on every download\n <Tooltip\n aria-label={t('package.download', { what: t('package.the-tar-file') })}\n title={t('package.tarball')}\n >\n <IconButton\n aria-label={t('package.download')}\n color=\"primary\"\n data-testid=\"download-tarball\"\n onClick={() => {\n handleDownload(dist.tarball);\n }}\n size=\"large\"\n >\n {isLoading ? <CircularProgress size={13} /> : <DownloadIcon />}\n </IconButton>\n </Tooltip>\n );\n\n const renderPrimaryComponent = (): React.ReactNode => {\n return (\n <Grid alignItems=\"center\" container={true} size={{ xs: 12 }} wrap=\"wrap\">\n <Grid size=\"grow\">\n <WrapperLink to={`${Route.DETAIL}${packageName}`}>\n <PackageTitle className=\"package-title\" data-testid=\"package-title\">\n {packageName}\n </PackageTitle>\n </WrapperLink>\n </Grid>\n <GridRightAligned size=\"auto\">\n {renderHomePageLink()}\n {renderBugsLink()}\n {showDownload && renderDownloadLink()}\n </GridRightAligned>\n </Grid>\n );\n };\n\n const renderSecondaryComponent = (): React.ReactNode => <Description>{description}</Description>;\n\n const renderPackageListItemText = (): React.ReactNode => (\n <PackageListItemText\n primary={renderPrimaryComponent()}\n secondary={renderSecondaryComponent()}\n />\n );\n\n const renderKeywords = (): React.ReactNode => (\n <ListItem alignItems={'flex-start'} sx={{ py: 0, my: 0 }}>\n <List sx={{ p: 0, my: 0 }}>\n <KeywordListItems keywords={keywords} />\n </List>\n </ListItem>\n );\n\n return (\n <Wrapper className={'package'} data-testid=\"package-item-list\">\n <ListItem alignItems={'flex-start'} sx={{ mb: 0 }}>\n {renderPackageListItemText()}\n </ListItem>\n {keywords && keywords?.length > 0 ? renderKeywords() : null}\n <ListItem alignItems={'flex-start'} sx={{ mt: 0 }}>\n {renderAuthorInfo()}\n {renderVersionInfo()}\n {renderPublishedInfo()}\n {renderFileSize()}\n {renderLicenseInfo()}\n </ListItem>\n </Wrapper>\n );\n};\n\nexport default Package;\n\nconst iconStyle = ({ theme }: { theme: Theme }) => css`\n margin: 0 10px 0 0;\n fill: ${theme.palette.mode === 'light' ? grey[900] : common.white};\n`;\n\nconst StyledVersion = styled(Version)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledFileBinary = styled(FileBinary)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledLaw = styled(Law)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledTime = styled(Time)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,IAAM,WAAuC,EAC3C,QAAQ,EAAE,MAAM,YAAY,QAAQ,gBACpC,MACA,aACA,MACA,UACA,UACA,SACA,MAAM,aACN,MACA,eAAe,MACf,cACI;CACJ,MAAM,SAASA,sBAAAA,iBAAiB;CAChC,MAAM,EAAE,OAAA,GAAMC,cAAAA,eAAAA,CAAe;CAC7B,MAAM,EAAE,cAAcC,0BAAAA,aAAa;CACnC,MAAM,EAAE,oBAAoBC,yBAAAA,YAAY;CAExC,MAAM,kBAAA,GAAiBC,MAAAA,YAAAA,CACrB,OAAO,gBAAwB;EAE7B,MAAM,OAAO,YAAY,QAAQ,+BAA+B,OAAO,IAAI;EAC3E,kBAAkB,EAAE,KAAK,CAAC;CAC5B,GACA,CAAC,QAAQ,eAAe,CAC1B;CAEA,MAAM,0BACJ,WACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,eAAAA,cAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD,CAAgB,CAAA,GACf,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CACrB,EAAA,CAAA;CAGlB,MAAM,yBAA0C;EAC9C,MAAM,OAAA,cAAA,cAA2B,UAAU;EAC3C,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,eAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,eAAAA,QAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;GAAQ,KAAK;GAAM,KAAK;EAAe,CAAA,GACvC,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,SAAD,EAAA,UAAU,KAAc,CAAA,CAClB,EAAA,CAAA,EACI,CAAA;CAElB;CAEA,MAAM,uBACJ,MAAM,eACJ,iBAAA,GAAA,kBAAA,KAAA,CAACH,eAAAA,cAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD,CAAmB,CAAA,GAAA,cAAA,WACD,KAAK,YAAY,CACvB,EAAA,CAAA,IACZ;CAEN,MAAM,0BACJ,WACE,iBAAA,GAAA,kBAAA,KAAA,CAACA,eAAAA,cAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD,CAAY,CAAA,GACX,OACW,EAAA,CAAA;CAGlB,MAAM,4BACJ,QACE,iBAAA,GAAA,kBAAA,KAAA,CAACA,eAAAA,cAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD,CAAa,CAAA,GACb,iBAAA,GAAA,kBAAA,IAAA,CAACI,eAAAA,WAAD;EAAW,OAAA,cAAA,WAAwB,IAAI;EACpC,UAAA,EAAE,wBAAwB,EAAE,MAAA,cAAA,mBAA+B,IAAI,EAAE,CAAC;CAC1D,CAAA,CACC,EAAA,CAAA;CAGlB,MAAM,2BACJ,YAAA,YAAA,MACU,QAAQ,KAChB,iBAAA,GAAA,kBAAA,IAAA,CAACC,qBAAAA,SAAD;EAAc,IAAI;EAChB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,SAAD;GAAS,cAAY,EAAE,kBAAkB;GAAG,OAAO,EAAE,yBAAyB;GAC5E,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,YAAD;IAAY,cAAY,EAAE,kBAAkB;IAAG,OAAM;IAAU,MAAK;IAClE,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,SAAD,CAAW,CAAA;GACD,CAAA;EACL,CAAA;CACG,CAAA;CAGlB,MAAM,uBAAwC;EAE5C,MAAM,UAAA,cAAA,WAA2B,IAAI;EACrC,OACE,WAAA,YAAA,MACU,OAAO,KACf,iBAAA,GAAA,kBAAA,IAAA,CAACH,qBAAAA,SAAD;GAAc,IAAI;GAChB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,SAAD;IAAS,cAAY,EAAE,cAAc;IAAG,OAAO,EAAE,uBAAuB;IACtE,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,YAAD;KAAY,cAAY,EAAE,cAAc;KAAG,OAAM;KAAU,MAAK;KAC9D,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACE,8BAAAA,SAAD,CAAY,CAAA;IACF,CAAA;GACL,CAAA;EACG,CAAA;CAGpB;CAEA,MAAM,2BACJ,MAAM,WAAA,YAAA,MACI,KAAK,OAAO,KAGpB,iBAAA,GAAA,kBAAA,IAAA,CAACH,sBAAAA,SAAD;EACE,cAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;EACrE,OAAO,EAAE,iBAAiB;EAE1B,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,YAAD;GACE,cAAY,EAAE,kBAAkB;GAChC,OAAM;GACN,eAAY;GACZ,eAAe;IACb,eAAe,KAAK,OAAO;GAC7B;GACA,MAAK;GAEJ,UAAA,YAAY,iBAAA,GAAA,kBAAA,IAAA,CAACG,+BAAAA,SAAD,EAAkB,MAAM,GAAK,CAAA,IAAI,iBAAA,GAAA,kBAAA,IAAA,CAACC,kCAAAA,SAAD,CAAe,CAAA;EACnD,CAAA;CACL,CAAA;CAGb,MAAM,+BAAgD;EACpD,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,mBAAAA,SAAD;GAAM,YAAW;GAAS,WAAW;GAAM,MAAM,EAAE,IAAI,GAAG;GAAG,MAAK;GAAlE,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,mBAAAA,SAAD;IAAM,MAAK;IACT,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,aAAD;KAAa,IAAI,GAAGC,eAAAA,MAAM,SAAS;KACjC,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,cAAD;MAAc,WAAU;MAAgB,eAAY;MACjD,UAAA;KACW,CAAA;IACH,CAAA;GACT,CAAA,GACN,iBAAA,GAAA,kBAAA,KAAA,CAACC,eAAAA,kBAAD;IAAkB,MAAK;IAAvB,UAAA;KACG,mBAAmB;KACnB,eAAe;KACf,gBAAgB,mBAAmB;IACpB;GACd,CAAA,CAAA;;CAEV;CAEA,MAAM,iCAAkD,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,aAAD,EAAA,UAAc,YAAyB,CAAA;CAE/F,MAAM,kCACJ,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,qBAAD;EACE,SAAS,uBAAuB;EAChC,WAAW,yBAAyB;CACrC,CAAA;CAGH,MAAM,uBACJ,iBAAA,GAAA,kBAAA,IAAA,CAACC,uBAAAA,SAAD;EAAU,YAAY;EAAc,IAAI;GAAE,IAAI;GAAG,IAAI;EAAE;EACrD,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,SAAD;GAAM,IAAI;IAAE,GAAG;IAAG,IAAI;GAAE;GACtB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,SAAD,EAA4B,SAAW,CAAA;EACnC,CAAA;CACE,CAAA;CAGZ,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,eAAAA,SAAD;EAAS,WAAW;EAAW,eAAY;EAA3C,UAAA;GACE,iBAAA,GAAA,kBAAA,IAAA,CAACH,uBAAAA,SAAD;IAAU,YAAY;IAAc,IAAI,EAAE,IAAI,EAAE;IAC7C,UAAA,0BAA0B;GACnB,CAAA;GACT,YAAY,UAAU,SAAS,IAAI,eAAe,IAAI;GACvD,iBAAA,GAAA,kBAAA,KAAA,CAACA,uBAAAA,SAAD;IAAU,YAAY;IAAc,IAAI,EAAE,IAAI,EAAE;IAAhD,UAAA;KACG,iBAAiB;KACjB,kBAAkB;KAClB,oBAAoB;KACpB,eAAe;KACf,kBAAkB;IACX;;EACH;;AAEb;AAIA,IAAM,aAAa,EAAE,YAA8B,eAAA,GAAG;;UAE5C,MAAM,QAAQ,SAAS,UAAUI,qBAAAA,KAAK,OAAOC,qBAAAA,OAAO,MAAM;;AAGpE,IAAM,gBAAgB,CAAA,GAAA,gBAAA,QAAA,CAAOC,gBAAAA,OAAO,CAAC;IACjC,UAAU;;AAGd,IAAM,mBAAmB,CAAA,GAAA,gBAAA,QAAA,CAAOC,mBAAAA,UAAU,CAAC;IACvC,UAAU;;AAGd,IAAM,YAAY,CAAA,GAAA,gBAAA,QAAA,CAAOC,YAAAA,GAAG,CAAC;IACzB,UAAU;;AAGd,IAAM,aAAa,CAAA,GAAA,gBAAA,QAAA,CAAOC,aAAAA,IAAI,CAAC;IAC3B,UAAU"}
1
+ {"version":3,"file":"Package.js","names":["getConfiguration","useTranslation","useManifests","useDownload","useCallback","OverviewItem","VersionLink","Route","Author","Avatar","Details","Published","LinkExternal","Tooltip","IconButton","HomeIcon","BugReport","CircularProgress","DownloadIcon","Grid","WrapperLink","PackageTitle","GridRightAligned","Description","PackageListItemText","ListItem","List","KeywordListItems","Wrapper","grey","common","Version","FileBinary","Law","Time"],"sources":["../../../src/components/Package/Package.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport BugReport from '@mui/icons-material/BugReport';\nimport DownloadIcon from '@mui/icons-material/CloudDownload';\nimport HomeIcon from '@mui/icons-material/Home';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Grid from '@mui/material/Grid';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport Tooltip from '@mui/material/Tooltip';\nimport { common, grey } from '@mui/material/colors';\nimport React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport { LinkExternal, useDownload, useManifests } from '../../';\nimport { FileBinary, Law, Time, Version } from '../../components/Icons';\nimport { getConfiguration } from '../../configuration';\nimport type { Author as PackageAuthor } from '../../providers/ManifestsProvider/ManifestsProvider';\nimport type { PackageMetaInterface } from '../../types/packageMeta';\nimport { Route, url, utils } from '../../utils';\nimport KeywordListItems from '../Keywords/KeywordListItems';\nimport {\n Author,\n Avatar,\n Description,\n Details,\n GridRightAligned,\n IconButton,\n OverviewItem,\n PackageListItemText,\n PackageTitle,\n Published,\n Wrapper,\n VersionLink,\n WrapperLink,\n} from './styles';\n\ninterface Bugs {\n url: string;\n}\n\ninterface Dist {\n unpackedSize: number;\n tarball: string;\n}\n\nexport interface PackageInterface {\n name: string;\n version: string;\n time?: number | string;\n author: PackageAuthor;\n description?: string;\n keywords?: PackageMetaInterface['latest']['keywords'];\n license?: PackageMetaInterface['latest']['license'];\n homepage?: string;\n bugs?: Bugs | string;\n dist?: Dist;\n showDownload?: boolean;\n}\n\nconst Package: React.FC<PackageInterface> = ({\n author: { name: authorName, avatar: authorAvatar },\n bugs,\n description,\n dist,\n homepage,\n keywords,\n license,\n name: packageName,\n time,\n showDownload = true,\n version,\n}) => {\n const config = getConfiguration();\n const { t } = useTranslation();\n const { isLoading } = useManifests();\n const { downloadTarball } = useDownload();\n\n const handleDownload = useCallback(\n async (tarballDist: string) => {\n // FIXME: check, the dist might be different thant npmjs\n const link = tarballDist.replace(`https://registry.npmjs.org/`, config.base);\n downloadTarball?.({ link });\n },\n [config, downloadTarball]\n );\n\n const renderVersionInfo = (): React.ReactNode =>\n version && (\n <OverviewItem>\n <VersionLink\n data-testid=\"package-version-link\"\n to={`${Route.DETAIL}${packageName}/v/${version}`}\n >\n <StyledVersion />\n {t('package.version', { version })}\n </VersionLink>\n </OverviewItem>\n );\n\n const renderAuthorInfo = (): React.ReactNode => {\n const name = utils.getAuthorName(authorName);\n return (\n <OverviewItem>\n <Author>\n <Avatar alt={name} src={authorAvatar} />\n <Details>{name}</Details>\n </Author>\n </OverviewItem>\n );\n };\n\n const renderFileSize = (): React.ReactNode =>\n dist?.unpackedSize ? (\n <OverviewItem>\n <StyledFileBinary />\n {utils.fileSizeSI(dist.unpackedSize)}\n </OverviewItem>\n ) : null;\n\n const renderLicenseInfo = (): React.ReactNode =>\n license && (\n <OverviewItem>\n <StyledLaw />\n {license as string}\n </OverviewItem>\n );\n\n const renderPublishedInfo = (): React.ReactNode =>\n time && (\n <OverviewItem>\n <StyledTime />\n <Published title={utils.formatDate(time)}>\n {t('package.published-on', { time: utils.formatDateDistance(time) })}\n </Published>\n </OverviewItem>\n );\n\n const renderHomePageLink = (): React.ReactNode =>\n homepage &&\n url.isURL(homepage) && (\n <LinkExternal to={homepage}>\n <Tooltip aria-label={t('package.homepage')} title={t('package.visit-home-page')}>\n <IconButton aria-label={t('package.homepage')} color=\"primary\" size=\"large\">\n <HomeIcon />\n </IconButton>\n </Tooltip>\n </LinkExternal>\n );\n\n const renderBugsLink = (): React.ReactNode => {\n // bugs can be the object form or a plain url string, both valid in npm\n const bugsUrl = utils.getBugsUrl(bugs);\n return (\n bugsUrl &&\n url.isURL(bugsUrl) && (\n <LinkExternal to={bugsUrl}>\n <Tooltip aria-label={t('package.bugs')} title={t('package.open-an-issue')}>\n <IconButton aria-label={t('package.bugs')} color=\"primary\" size=\"large\">\n <BugReport />\n </IconButton>\n </Tooltip>\n </LinkExternal>\n )\n );\n };\n\n const renderDownloadLink = (): React.ReactNode =>\n dist?.tarball &&\n url.isURL(dist.tarball) && (\n // a plain button: wrapping it in <Link to=\"#\"> pushed a stray `#` entry\n // into the browser history on every download\n <Tooltip\n aria-label={t('package.download', { what: t('package.the-tar-file') })}\n title={t('package.tarball')}\n >\n <IconButton\n aria-label={t('package.download')}\n color=\"primary\"\n data-testid=\"download-tarball\"\n onClick={() => {\n handleDownload(dist.tarball);\n }}\n size=\"large\"\n >\n {isLoading ? <CircularProgress size={13} /> : <DownloadIcon />}\n </IconButton>\n </Tooltip>\n );\n\n const renderPrimaryComponent = (): React.ReactNode => {\n return (\n <Grid alignItems=\"center\" container={true} size={{ xs: 12 }} wrap=\"wrap\">\n <Grid size=\"grow\">\n <WrapperLink to={`${Route.DETAIL}${packageName}`}>\n <PackageTitle className=\"package-title\" data-testid=\"package-title\">\n {packageName}\n </PackageTitle>\n </WrapperLink>\n </Grid>\n <GridRightAligned size=\"auto\">\n {renderHomePageLink()}\n {renderBugsLink()}\n {showDownload && renderDownloadLink()}\n </GridRightAligned>\n </Grid>\n );\n };\n\n const renderSecondaryComponent = (): React.ReactNode => <Description>{description}</Description>;\n\n const renderPackageListItemText = (): React.ReactNode => (\n <PackageListItemText\n primary={renderPrimaryComponent()}\n secondary={renderSecondaryComponent()}\n />\n );\n\n const renderKeywords = (): React.ReactNode => (\n <ListItem alignItems={'flex-start'} sx={{ py: 0, my: 0 }}>\n <List sx={{ p: 0, my: 0 }}>\n <KeywordListItems keywords={keywords} />\n </List>\n </ListItem>\n );\n\n return (\n <Wrapper className={'package'} data-testid=\"package-item-list\">\n <ListItem alignItems={'flex-start'} sx={{ mb: 0 }}>\n {renderPackageListItemText()}\n </ListItem>\n {keywords && keywords?.length > 0 ? renderKeywords() : null}\n <ListItem alignItems={'flex-start'} sx={{ mt: 0 }}>\n {renderAuthorInfo()}\n {renderVersionInfo()}\n {renderPublishedInfo()}\n {renderFileSize()}\n {renderLicenseInfo()}\n </ListItem>\n </Wrapper>\n );\n};\n\nexport default Package;\n\nconst iconStyle = ({ theme }: { theme: Theme }) => css`\n margin: 0 10px 0 0;\n fill: ${theme.palette.mode === 'light' ? grey[900] : common.white};\n`;\n\nconst StyledVersion = styled(Version)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledFileBinary = styled(FileBinary)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledLaw = styled(Law)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledTime = styled(Time)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n"],"mappings":"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"}
@@ -12,7 +12,7 @@ import { FileBinary } from "../Icons/FileBinary.mjs";
12
12
  import { Law } from "../Icons/Law.mjs";
13
13
  import "../Icons/index.mjs";
14
14
  import KeywordListItems from "../Keywords/KeywordListItems.mjs";
15
- import { Author, Avatar, Description, Details, GridRightAligned, IconButton, OverviewItem, PackageListItemText, PackageTitle, Published, Wrapper, WrapperLink } from "./styles.mjs";
15
+ import { Author, Avatar, Description, Details, GridRightAligned, IconButton, OverviewItem, PackageListItemText, PackageTitle, Published, VersionLink, Wrapper, WrapperLink } from "./styles.mjs";
16
16
  import "../../index.mjs";
17
17
  import styled from "@emotion/styled";
18
18
  import Tooltip from "@mui/material/Tooltip";
@@ -38,7 +38,11 @@ var Package = ({ author: { name: authorName, avatar: authorAvatar }, bugs, descr
38
38
  const link = tarballDist.replace(`https://registry.npmjs.org/`, config.base);
39
39
  downloadTarball?.({ link });
40
40
  }, [config, downloadTarball]);
41
- const renderVersionInfo = () => version && /* @__PURE__ */ jsxs(OverviewItem, { children: [/* @__PURE__ */ jsx(StyledVersion, {}), t("package.version", { version })] });
41
+ const renderVersionInfo = () => version && /* @__PURE__ */ jsx(OverviewItem, { children: /* @__PURE__ */ jsxs(VersionLink, {
42
+ "data-testid": "package-version-link",
43
+ to: `${Route.DETAIL}${packageName}/v/${version}`,
44
+ children: [/* @__PURE__ */ jsx(StyledVersion, {}), t("package.version", { version })]
45
+ }) });
42
46
  const renderAuthorInfo = () => {
43
47
  const name = getAuthorName(authorName);
44
48
  return /* @__PURE__ */ jsx(OverviewItem, { children: /* @__PURE__ */ jsxs(Author, { children: [/* @__PURE__ */ jsx(Avatar, {
@@ -1 +1 @@
1
- {"version":3,"file":"Package.mjs","names":["utils.getAuthorName","utils.fileSizeSI","utils.formatDate","utils.formatDateDistance","url.isURL","utils.getBugsUrl","BugReport"],"sources":["../../../src/components/Package/Package.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport BugReport from '@mui/icons-material/BugReport';\nimport DownloadIcon from '@mui/icons-material/CloudDownload';\nimport HomeIcon from '@mui/icons-material/Home';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Grid from '@mui/material/Grid';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport Tooltip from '@mui/material/Tooltip';\nimport { common, grey } from '@mui/material/colors';\nimport React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport { LinkExternal, useDownload, useManifests } from '../../';\nimport { FileBinary, Law, Time, Version } from '../../components/Icons';\nimport { getConfiguration } from '../../configuration';\nimport type { Author as PackageAuthor } from '../../providers/ManifestsProvider/ManifestsProvider';\nimport type { PackageMetaInterface } from '../../types/packageMeta';\nimport { Route, url, utils } from '../../utils';\nimport KeywordListItems from '../Keywords/KeywordListItems';\nimport {\n Author,\n Avatar,\n Description,\n Details,\n GridRightAligned,\n IconButton,\n OverviewItem,\n PackageListItemText,\n PackageTitle,\n Published,\n Wrapper,\n WrapperLink,\n} from './styles';\n\ninterface Bugs {\n url: string;\n}\n\ninterface Dist {\n unpackedSize: number;\n tarball: string;\n}\n\nexport interface PackageInterface {\n name: string;\n version: string;\n time?: number | string;\n author: PackageAuthor;\n description?: string;\n keywords?: PackageMetaInterface['latest']['keywords'];\n license?: PackageMetaInterface['latest']['license'];\n homepage?: string;\n bugs?: Bugs | string;\n dist?: Dist;\n showDownload?: boolean;\n}\n\nconst Package: React.FC<PackageInterface> = ({\n author: { name: authorName, avatar: authorAvatar },\n bugs,\n description,\n dist,\n homepage,\n keywords,\n license,\n name: packageName,\n time,\n showDownload = true,\n version,\n}) => {\n const config = getConfiguration();\n const { t } = useTranslation();\n const { isLoading } = useManifests();\n const { downloadTarball } = useDownload();\n\n const handleDownload = useCallback(\n async (tarballDist: string) => {\n // FIXME: check, the dist might be different thant npmjs\n const link = tarballDist.replace(`https://registry.npmjs.org/`, config.base);\n downloadTarball?.({ link });\n },\n [config, downloadTarball]\n );\n\n const renderVersionInfo = (): React.ReactNode =>\n version && (\n <OverviewItem>\n <StyledVersion />\n {t('package.version', { version })}\n </OverviewItem>\n );\n\n const renderAuthorInfo = (): React.ReactNode => {\n const name = utils.getAuthorName(authorName);\n return (\n <OverviewItem>\n <Author>\n <Avatar alt={name} src={authorAvatar} />\n <Details>{name}</Details>\n </Author>\n </OverviewItem>\n );\n };\n\n const renderFileSize = (): React.ReactNode =>\n dist?.unpackedSize ? (\n <OverviewItem>\n <StyledFileBinary />\n {utils.fileSizeSI(dist.unpackedSize)}\n </OverviewItem>\n ) : null;\n\n const renderLicenseInfo = (): React.ReactNode =>\n license && (\n <OverviewItem>\n <StyledLaw />\n {license as string}\n </OverviewItem>\n );\n\n const renderPublishedInfo = (): React.ReactNode =>\n time && (\n <OverviewItem>\n <StyledTime />\n <Published title={utils.formatDate(time)}>\n {t('package.published-on', { time: utils.formatDateDistance(time) })}\n </Published>\n </OverviewItem>\n );\n\n const renderHomePageLink = (): React.ReactNode =>\n homepage &&\n url.isURL(homepage) && (\n <LinkExternal to={homepage}>\n <Tooltip aria-label={t('package.homepage')} title={t('package.visit-home-page')}>\n <IconButton aria-label={t('package.homepage')} color=\"primary\" size=\"large\">\n <HomeIcon />\n </IconButton>\n </Tooltip>\n </LinkExternal>\n );\n\n const renderBugsLink = (): React.ReactNode => {\n // bugs can be the object form or a plain url string, both valid in npm\n const bugsUrl = utils.getBugsUrl(bugs);\n return (\n bugsUrl &&\n url.isURL(bugsUrl) && (\n <LinkExternal to={bugsUrl}>\n <Tooltip aria-label={t('package.bugs')} title={t('package.open-an-issue')}>\n <IconButton aria-label={t('package.bugs')} color=\"primary\" size=\"large\">\n <BugReport />\n </IconButton>\n </Tooltip>\n </LinkExternal>\n )\n );\n };\n\n const renderDownloadLink = (): React.ReactNode =>\n dist?.tarball &&\n url.isURL(dist.tarball) && (\n // a plain button: wrapping it in <Link to=\"#\"> pushed a stray `#` entry\n // into the browser history on every download\n <Tooltip\n aria-label={t('package.download', { what: t('package.the-tar-file') })}\n title={t('package.tarball')}\n >\n <IconButton\n aria-label={t('package.download')}\n color=\"primary\"\n data-testid=\"download-tarball\"\n onClick={() => {\n handleDownload(dist.tarball);\n }}\n size=\"large\"\n >\n {isLoading ? <CircularProgress size={13} /> : <DownloadIcon />}\n </IconButton>\n </Tooltip>\n );\n\n const renderPrimaryComponent = (): React.ReactNode => {\n return (\n <Grid alignItems=\"center\" container={true} size={{ xs: 12 }} wrap=\"wrap\">\n <Grid size=\"grow\">\n <WrapperLink to={`${Route.DETAIL}${packageName}`}>\n <PackageTitle className=\"package-title\" data-testid=\"package-title\">\n {packageName}\n </PackageTitle>\n </WrapperLink>\n </Grid>\n <GridRightAligned size=\"auto\">\n {renderHomePageLink()}\n {renderBugsLink()}\n {showDownload && renderDownloadLink()}\n </GridRightAligned>\n </Grid>\n );\n };\n\n const renderSecondaryComponent = (): React.ReactNode => <Description>{description}</Description>;\n\n const renderPackageListItemText = (): React.ReactNode => (\n <PackageListItemText\n primary={renderPrimaryComponent()}\n secondary={renderSecondaryComponent()}\n />\n );\n\n const renderKeywords = (): React.ReactNode => (\n <ListItem alignItems={'flex-start'} sx={{ py: 0, my: 0 }}>\n <List sx={{ p: 0, my: 0 }}>\n <KeywordListItems keywords={keywords} />\n </List>\n </ListItem>\n );\n\n return (\n <Wrapper className={'package'} data-testid=\"package-item-list\">\n <ListItem alignItems={'flex-start'} sx={{ mb: 0 }}>\n {renderPackageListItemText()}\n </ListItem>\n {keywords && keywords?.length > 0 ? renderKeywords() : null}\n <ListItem alignItems={'flex-start'} sx={{ mt: 0 }}>\n {renderAuthorInfo()}\n {renderVersionInfo()}\n {renderPublishedInfo()}\n {renderFileSize()}\n {renderLicenseInfo()}\n </ListItem>\n </Wrapper>\n );\n};\n\nexport default Package;\n\nconst iconStyle = ({ theme }: { theme: Theme }) => css`\n margin: 0 10px 0 0;\n fill: ${theme.palette.mode === 'light' ? grey[900] : common.white};\n`;\n\nconst StyledVersion = styled(Version)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledFileBinary = styled(FileBinary)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledLaw = styled(Law)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledTime = styled(Time)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Package.mjs","names":["utils.getAuthorName","utils.fileSizeSI","utils.formatDate","utils.formatDateDistance","url.isURL","utils.getBugsUrl","BugReport"],"sources":["../../../src/components/Package/Package.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport BugReport from '@mui/icons-material/BugReport';\nimport DownloadIcon from '@mui/icons-material/CloudDownload';\nimport HomeIcon from '@mui/icons-material/Home';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Grid from '@mui/material/Grid';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport Tooltip from '@mui/material/Tooltip';\nimport { common, grey } from '@mui/material/colors';\nimport React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport type { Theme } from '../../';\nimport { LinkExternal, useDownload, useManifests } from '../../';\nimport { FileBinary, Law, Time, Version } from '../../components/Icons';\nimport { getConfiguration } from '../../configuration';\nimport type { Author as PackageAuthor } from '../../providers/ManifestsProvider/ManifestsProvider';\nimport type { PackageMetaInterface } from '../../types/packageMeta';\nimport { Route, url, utils } from '../../utils';\nimport KeywordListItems from '../Keywords/KeywordListItems';\nimport {\n Author,\n Avatar,\n Description,\n Details,\n GridRightAligned,\n IconButton,\n OverviewItem,\n PackageListItemText,\n PackageTitle,\n Published,\n Wrapper,\n VersionLink,\n WrapperLink,\n} from './styles';\n\ninterface Bugs {\n url: string;\n}\n\ninterface Dist {\n unpackedSize: number;\n tarball: string;\n}\n\nexport interface PackageInterface {\n name: string;\n version: string;\n time?: number | string;\n author: PackageAuthor;\n description?: string;\n keywords?: PackageMetaInterface['latest']['keywords'];\n license?: PackageMetaInterface['latest']['license'];\n homepage?: string;\n bugs?: Bugs | string;\n dist?: Dist;\n showDownload?: boolean;\n}\n\nconst Package: React.FC<PackageInterface> = ({\n author: { name: authorName, avatar: authorAvatar },\n bugs,\n description,\n dist,\n homepage,\n keywords,\n license,\n name: packageName,\n time,\n showDownload = true,\n version,\n}) => {\n const config = getConfiguration();\n const { t } = useTranslation();\n const { isLoading } = useManifests();\n const { downloadTarball } = useDownload();\n\n const handleDownload = useCallback(\n async (tarballDist: string) => {\n // FIXME: check, the dist might be different thant npmjs\n const link = tarballDist.replace(`https://registry.npmjs.org/`, config.base);\n downloadTarball?.({ link });\n },\n [config, downloadTarball]\n );\n\n const renderVersionInfo = (): React.ReactNode =>\n version && (\n <OverviewItem>\n <VersionLink\n data-testid=\"package-version-link\"\n to={`${Route.DETAIL}${packageName}/v/${version}`}\n >\n <StyledVersion />\n {t('package.version', { version })}\n </VersionLink>\n </OverviewItem>\n );\n\n const renderAuthorInfo = (): React.ReactNode => {\n const name = utils.getAuthorName(authorName);\n return (\n <OverviewItem>\n <Author>\n <Avatar alt={name} src={authorAvatar} />\n <Details>{name}</Details>\n </Author>\n </OverviewItem>\n );\n };\n\n const renderFileSize = (): React.ReactNode =>\n dist?.unpackedSize ? (\n <OverviewItem>\n <StyledFileBinary />\n {utils.fileSizeSI(dist.unpackedSize)}\n </OverviewItem>\n ) : null;\n\n const renderLicenseInfo = (): React.ReactNode =>\n license && (\n <OverviewItem>\n <StyledLaw />\n {license as string}\n </OverviewItem>\n );\n\n const renderPublishedInfo = (): React.ReactNode =>\n time && (\n <OverviewItem>\n <StyledTime />\n <Published title={utils.formatDate(time)}>\n {t('package.published-on', { time: utils.formatDateDistance(time) })}\n </Published>\n </OverviewItem>\n );\n\n const renderHomePageLink = (): React.ReactNode =>\n homepage &&\n url.isURL(homepage) && (\n <LinkExternal to={homepage}>\n <Tooltip aria-label={t('package.homepage')} title={t('package.visit-home-page')}>\n <IconButton aria-label={t('package.homepage')} color=\"primary\" size=\"large\">\n <HomeIcon />\n </IconButton>\n </Tooltip>\n </LinkExternal>\n );\n\n const renderBugsLink = (): React.ReactNode => {\n // bugs can be the object form or a plain url string, both valid in npm\n const bugsUrl = utils.getBugsUrl(bugs);\n return (\n bugsUrl &&\n url.isURL(bugsUrl) && (\n <LinkExternal to={bugsUrl}>\n <Tooltip aria-label={t('package.bugs')} title={t('package.open-an-issue')}>\n <IconButton aria-label={t('package.bugs')} color=\"primary\" size=\"large\">\n <BugReport />\n </IconButton>\n </Tooltip>\n </LinkExternal>\n )\n );\n };\n\n const renderDownloadLink = (): React.ReactNode =>\n dist?.tarball &&\n url.isURL(dist.tarball) && (\n // a plain button: wrapping it in <Link to=\"#\"> pushed a stray `#` entry\n // into the browser history on every download\n <Tooltip\n aria-label={t('package.download', { what: t('package.the-tar-file') })}\n title={t('package.tarball')}\n >\n <IconButton\n aria-label={t('package.download')}\n color=\"primary\"\n data-testid=\"download-tarball\"\n onClick={() => {\n handleDownload(dist.tarball);\n }}\n size=\"large\"\n >\n {isLoading ? <CircularProgress size={13} /> : <DownloadIcon />}\n </IconButton>\n </Tooltip>\n );\n\n const renderPrimaryComponent = (): React.ReactNode => {\n return (\n <Grid alignItems=\"center\" container={true} size={{ xs: 12 }} wrap=\"wrap\">\n <Grid size=\"grow\">\n <WrapperLink to={`${Route.DETAIL}${packageName}`}>\n <PackageTitle className=\"package-title\" data-testid=\"package-title\">\n {packageName}\n </PackageTitle>\n </WrapperLink>\n </Grid>\n <GridRightAligned size=\"auto\">\n {renderHomePageLink()}\n {renderBugsLink()}\n {showDownload && renderDownloadLink()}\n </GridRightAligned>\n </Grid>\n );\n };\n\n const renderSecondaryComponent = (): React.ReactNode => <Description>{description}</Description>;\n\n const renderPackageListItemText = (): React.ReactNode => (\n <PackageListItemText\n primary={renderPrimaryComponent()}\n secondary={renderSecondaryComponent()}\n />\n );\n\n const renderKeywords = (): React.ReactNode => (\n <ListItem alignItems={'flex-start'} sx={{ py: 0, my: 0 }}>\n <List sx={{ p: 0, my: 0 }}>\n <KeywordListItems keywords={keywords} />\n </List>\n </ListItem>\n );\n\n return (\n <Wrapper className={'package'} data-testid=\"package-item-list\">\n <ListItem alignItems={'flex-start'} sx={{ mb: 0 }}>\n {renderPackageListItemText()}\n </ListItem>\n {keywords && keywords?.length > 0 ? renderKeywords() : null}\n <ListItem alignItems={'flex-start'} sx={{ mt: 0 }}>\n {renderAuthorInfo()}\n {renderVersionInfo()}\n {renderPublishedInfo()}\n {renderFileSize()}\n {renderLicenseInfo()}\n </ListItem>\n </Wrapper>\n );\n};\n\nexport default Package;\n\nconst iconStyle = ({ theme }: { theme: Theme }) => css`\n margin: 0 10px 0 0;\n fill: ${theme.palette.mode === 'light' ? grey[900] : common.white};\n`;\n\nconst StyledVersion = styled(Version)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledFileBinary = styled(FileBinary)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledLaw = styled(Law)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n\nconst StyledTime = styled(Time)<{ theme?: Theme }>`\n ${iconStyle};\n`;\n"],"mappings":"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"}
@@ -21,6 +21,9 @@ export declare const Avatar: import("@emotion/styled").StyledComponent<any, {},
21
21
  export declare const WrapperLink: import("@emotion/styled").StyledComponent<import("react-router").LinkProps & import("react").RefAttributes<HTMLAnchorElement> & {
22
22
  theme?: import("@emotion/react").Theme;
23
23
  }, {}, {}>;
24
+ export declare const VersionLink: import("@emotion/styled").StyledComponent<import("react-router").LinkProps & import("react").RefAttributes<HTMLAnchorElement> & {
25
+ theme?: import("@emotion/react").Theme;
26
+ }, {}, {}>;
24
27
  export declare const PackageTitle: import("@emotion/styled").StyledComponent<{
25
28
  theme?: import("@emotion/react").Theme;
26
29
  as?: React.ElementType;
@@ -40,6 +40,13 @@ var Avatar = (0, _emotion_styled.default)(_mui_material_Avatar.default)({
40
40
  height: "20px"
41
41
  });
42
42
  var WrapperLink = (0, _emotion_styled.default)(react_router.Link)({ textDecoration: "none" });
43
+ var VersionLink = (0, _emotion_styled.default)(react_router.Link)({
44
+ display: "flex",
45
+ alignItems: "center",
46
+ color: "inherit",
47
+ textDecoration: "none",
48
+ ":hover, :focus-visible": { textDecoration: "underline" }
49
+ });
43
50
  var PackageTitle = (0, _emotion_styled.default)("span")(({ theme }) => ({
44
51
  fontWeight: theme.fontWeight.bold,
45
52
  fontSize: 20,
@@ -77,6 +84,7 @@ exports.OverviewItem = OverviewItem;
77
84
  exports.PackageListItemText = PackageListItemText;
78
85
  exports.PackageTitle = PackageTitle;
79
86
  exports.Published = Published;
87
+ exports.VersionLink = VersionLink;
80
88
  exports.Wrapper = Wrapper;
81
89
  exports.WrapperLink = WrapperLink;
82
90
 
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styled","common","Photo","Link","Grid","List","MuiIconButton","ListItemText","greyDark"],"sources":["../../../src/components/Package/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as Photo } from '@mui/material/Avatar';\nimport Grid from '@mui/material/Grid';\nimport { default as MuiIconButton } from '@mui/material/IconButton';\nimport List from '@mui/material/List';\nimport ListItemText from '@mui/material/ListItemText';\nimport { common } from '@mui/material/colors';\nimport { Link } from 'react-router';\n\nimport type { Theme } from '../../';\nimport { greyDark } from '../../Theme/colors';\n\nexport const OverviewItem = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n margin: '0 20px 0 0',\n color: theme.palette.mode === 'light' ? theme.palette.greyDark2 : common.white,\n fontSize: 12,\n [`@media (max-width: ${theme.breakPoints.medium}px)`]: {\n ':nth-of-type(3)': {\n display: 'none',\n },\n },\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n ':nth-of-type(4)': {\n display: 'none',\n },\n },\n}));\n\nexport const Published = styled('span')({\n margin: '0 5px 0 0',\n});\n\nexport const Details = styled('span')({\n marginLeft: '5px',\n lineHeight: 1.5,\n display: 'flex',\n flexDirection: 'column',\n});\n\nexport const Author = styled('div')({\n display: 'flex',\n alignItems: 'center',\n});\n\nexport const Avatar = styled(Photo)({\n width: '20px',\n height: '20px',\n});\n\nexport const WrapperLink = styled(Link)({\n textDecoration: 'none',\n});\n\nexport const PackageTitle = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n fontWeight: theme.fontWeight.bold,\n fontSize: 20,\n display: 'block',\n color: theme.palette.primary.main,\n cursor: 'pointer',\n textDecoration: 'none',\n wordBreak: 'break-word',\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n fontSize: 16,\n },\n}));\n\nexport const GridRightAligned = styled(Grid)({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n});\n\nexport const Wrapper = styled(List)<{ theme?: Theme }>(({ theme }) => ({\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n}));\n\nexport const IconButton = styled(MuiIconButton)({\n padding: 6,\n svg: {\n fontSize: 16,\n },\n});\n\nexport const PackageListItemText = styled(ListItemText)({\n paddingRight: 0,\n});\n\nexport const Description = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n color: theme.palette.mode === 'light' ? greyDark : common.white,\n fontSize: '14px',\n paddingRight: 0,\n}));\n"],"mappings":";;;;;;;;;;;;;;;;;AAYA,IAAa,gBAAA,GAAeA,gBAAAA,QAAAA,CAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC5E,SAAS;CACT,YAAY;CACZ,QAAQ;CACR,OAAO,MAAM,QAAQ,SAAS,UAAU,MAAM,QAAQ,YAAYC,qBAAAA,OAAO;CACzE,UAAU;EACT,sBAAsB,MAAM,YAAY,OAAO,OAAO,EACrD,mBAAmB,EACjB,SAAS,OACX,EACF;EACC,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,mBAAmB,EACjB,SAAS,OACX,EACF;AACF,EAAE;AAEF,IAAa,aAAA,GAAYD,gBAAAA,QAAAA,CAAO,MAAM,CAAC,CAAC,EACtC,QAAQ,YACV,CAAC;AAED,IAAa,WAAA,GAAUA,gBAAAA,QAAAA,CAAO,MAAM,CAAC,CAAC;CACpC,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,eAAe;AACjB,CAAC;AAED,IAAa,UAAA,GAASA,gBAAAA,QAAAA,CAAO,KAAK,CAAC,CAAC;CAClC,SAAS;CACT,YAAY;AACd,CAAC;AAED,IAAa,UAAA,GAASA,gBAAAA,QAAAA,CAAOE,qBAAAA,OAAK,CAAC,CAAC;CAClC,OAAO;CACP,QAAQ;AACV,CAAC;AAED,IAAa,eAAA,GAAcF,gBAAAA,QAAAA,CAAOG,aAAAA,IAAI,CAAC,CAAC,EACtC,gBAAgB,OAClB,CAAC;AAED,IAAa,gBAAA,GAAeH,gBAAAA,QAAAA,CAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC5E,YAAY,MAAM,WAAW;CAC7B,UAAU;CACV,SAAS;CACT,OAAO,MAAM,QAAQ,QAAQ;CAC7B,QAAQ;CACR,gBAAgB;CAChB,WAAW;EACV,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,UAAU,GACZ;AACF,EAAE;AAEF,IAAa,oBAAA,GAAmBA,gBAAAA,QAAAA,CAAOI,mBAAAA,OAAI,CAAC,CAAC;CAC3C,SAAS;CACT,YAAY;CACZ,gBAAgB;AAClB,CAAC;AAED,IAAa,WAAA,GAAUJ,gBAAAA,QAAAA,CAAOK,mBAAAA,OAAI,CAAC,EAAqB,EAAE,aAAa,EACrE,WAAW,EACT,iBAAiB,MAAM,QAAQ,OAAO,MACxC,EACF,EAAE;AAEF,IAAa,cAAA,GAAaL,gBAAAA,QAAAA,CAAOM,yBAAAA,OAAa,CAAC,CAAC;CAC9C,SAAS;CACT,KAAK,EACH,UAAU,GACZ;AACF,CAAC;AAED,IAAa,uBAAA,GAAsBN,gBAAAA,QAAAA,CAAOO,2BAAAA,OAAY,CAAC,CAAC,EACtD,cAAc,EAChB,CAAC;AAED,IAAa,eAAA,GAAcP,gBAAAA,QAAAA,CAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC3E,OAAO,MAAM,QAAQ,SAAS,UAAUQ,eAAAA,WAAWP,qBAAAA,OAAO;CAC1D,UAAU;CACV,cAAc;AAChB,EAAE"}
1
+ {"version":3,"file":"styles.js","names":["styled","common","Photo","Link","Grid","List","MuiIconButton","ListItemText","greyDark"],"sources":["../../../src/components/Package/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as Photo } from '@mui/material/Avatar';\nimport Grid from '@mui/material/Grid';\nimport { default as MuiIconButton } from '@mui/material/IconButton';\nimport List from '@mui/material/List';\nimport ListItemText from '@mui/material/ListItemText';\nimport { common } from '@mui/material/colors';\nimport { Link } from 'react-router';\n\nimport type { Theme } from '../../';\nimport { greyDark } from '../../Theme/colors';\n\nexport const OverviewItem = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n margin: '0 20px 0 0',\n color: theme.palette.mode === 'light' ? theme.palette.greyDark2 : common.white,\n fontSize: 12,\n [`@media (max-width: ${theme.breakPoints.medium}px)`]: {\n ':nth-of-type(3)': {\n display: 'none',\n },\n },\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n ':nth-of-type(4)': {\n display: 'none',\n },\n },\n}));\n\nexport const Published = styled('span')({\n margin: '0 5px 0 0',\n});\n\nexport const Details = styled('span')({\n marginLeft: '5px',\n lineHeight: 1.5,\n display: 'flex',\n flexDirection: 'column',\n});\n\nexport const Author = styled('div')({\n display: 'flex',\n alignItems: 'center',\n});\n\nexport const Avatar = styled(Photo)({\n width: '20px',\n height: '20px',\n});\n\nexport const WrapperLink = styled(Link)({\n textDecoration: 'none',\n});\n\nexport const VersionLink = styled(Link)({\n display: 'flex',\n alignItems: 'center',\n color: 'inherit',\n textDecoration: 'none',\n ':hover, :focus-visible': {\n textDecoration: 'underline',\n },\n});\n\nexport const PackageTitle = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n fontWeight: theme.fontWeight.bold,\n fontSize: 20,\n display: 'block',\n color: theme.palette.primary.main,\n cursor: 'pointer',\n textDecoration: 'none',\n wordBreak: 'break-word',\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n fontSize: 16,\n },\n}));\n\nexport const GridRightAligned = styled(Grid)({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n});\n\nexport const Wrapper = styled(List)<{ theme?: Theme }>(({ theme }) => ({\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n}));\n\nexport const IconButton = styled(MuiIconButton)({\n padding: 6,\n svg: {\n fontSize: 16,\n },\n});\n\nexport const PackageListItemText = styled(ListItemText)({\n paddingRight: 0,\n});\n\nexport const Description = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n color: theme.palette.mode === 'light' ? greyDark : common.white,\n fontSize: '14px',\n paddingRight: 0,\n}));\n"],"mappings":";;;;;;;;;;;;;;;;;AAYA,IAAa,gBAAA,GAAeA,gBAAAA,QAAAA,CAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC5E,SAAS;CACT,YAAY;CACZ,QAAQ;CACR,OAAO,MAAM,QAAQ,SAAS,UAAU,MAAM,QAAQ,YAAYC,qBAAAA,OAAO;CACzE,UAAU;EACT,sBAAsB,MAAM,YAAY,OAAO,OAAO,EACrD,mBAAmB,EACjB,SAAS,OACX,EACF;EACC,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,mBAAmB,EACjB,SAAS,OACX,EACF;AACF,EAAE;AAEF,IAAa,aAAA,GAAYD,gBAAAA,QAAAA,CAAO,MAAM,CAAC,CAAC,EACtC,QAAQ,YACV,CAAC;AAED,IAAa,WAAA,GAAUA,gBAAAA,QAAAA,CAAO,MAAM,CAAC,CAAC;CACpC,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,eAAe;AACjB,CAAC;AAED,IAAa,UAAA,GAASA,gBAAAA,QAAAA,CAAO,KAAK,CAAC,CAAC;CAClC,SAAS;CACT,YAAY;AACd,CAAC;AAED,IAAa,UAAA,GAASA,gBAAAA,QAAAA,CAAOE,qBAAAA,OAAK,CAAC,CAAC;CAClC,OAAO;CACP,QAAQ;AACV,CAAC;AAED,IAAa,eAAA,GAAcF,gBAAAA,QAAAA,CAAOG,aAAAA,IAAI,CAAC,CAAC,EACtC,gBAAgB,OAClB,CAAC;AAED,IAAa,eAAA,GAAcH,gBAAAA,QAAAA,CAAOG,aAAAA,IAAI,CAAC,CAAC;CACtC,SAAS;CACT,YAAY;CACZ,OAAO;CACP,gBAAgB;CAChB,0BAA0B,EACxB,gBAAgB,YAClB;AACF,CAAC;AAED,IAAa,gBAAA,GAAeH,gBAAAA,QAAAA,CAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC5E,YAAY,MAAM,WAAW;CAC7B,UAAU;CACV,SAAS;CACT,OAAO,MAAM,QAAQ,QAAQ;CAC7B,QAAQ;CACR,gBAAgB;CAChB,WAAW;EACV,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,UAAU,GACZ;AACF,EAAE;AAEF,IAAa,oBAAA,GAAmBA,gBAAAA,QAAAA,CAAOI,mBAAAA,OAAI,CAAC,CAAC;CAC3C,SAAS;CACT,YAAY;CACZ,gBAAgB;AAClB,CAAC;AAED,IAAa,WAAA,GAAUJ,gBAAAA,QAAAA,CAAOK,mBAAAA,OAAI,CAAC,EAAqB,EAAE,aAAa,EACrE,WAAW,EACT,iBAAiB,MAAM,QAAQ,OAAO,MACxC,EACF,EAAE;AAEF,IAAa,cAAA,GAAaL,gBAAAA,QAAAA,CAAOM,yBAAAA,OAAa,CAAC,CAAC;CAC9C,SAAS;CACT,KAAK,EACH,UAAU,GACZ;AACF,CAAC;AAED,IAAa,uBAAA,GAAsBN,gBAAAA,QAAAA,CAAOO,2BAAAA,OAAY,CAAC,CAAC,EACtD,cAAc,EAChB,CAAC;AAED,IAAa,eAAA,GAAcP,gBAAAA,QAAAA,CAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC3E,OAAO,MAAM,QAAQ,SAAS,UAAUQ,eAAAA,WAAWP,qBAAAA,OAAO;CAC1D,UAAU;CACV,cAAc;AAChB,EAAE"}
@@ -33,6 +33,13 @@ var Avatar$1 = styled(Avatar)({
33
33
  height: "20px"
34
34
  });
35
35
  var WrapperLink = styled(Link)({ textDecoration: "none" });
36
+ var VersionLink = styled(Link)({
37
+ display: "flex",
38
+ alignItems: "center",
39
+ color: "inherit",
40
+ textDecoration: "none",
41
+ ":hover, :focus-visible": { textDecoration: "underline" }
42
+ });
36
43
  var PackageTitle = styled("span")(({ theme }) => ({
37
44
  fontWeight: theme.fontWeight.bold,
38
45
  fontSize: 20,
@@ -60,6 +67,6 @@ var Description = styled("span")(({ theme }) => ({
60
67
  paddingRight: 0
61
68
  }));
62
69
  //#endregion
63
- export { Author, Avatar$1 as Avatar, Description, Details, GridRightAligned, IconButton$1 as IconButton, OverviewItem, PackageListItemText, PackageTitle, Published, Wrapper, WrapperLink };
70
+ export { Author, Avatar$1 as Avatar, Description, Details, GridRightAligned, IconButton$1 as IconButton, OverviewItem, PackageListItemText, PackageTitle, Published, VersionLink, Wrapper, WrapperLink };
64
71
 
65
72
  //# sourceMappingURL=styles.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.mjs","names":["Avatar","Photo","IconButton","MuiIconButton"],"sources":["../../../src/components/Package/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as Photo } from '@mui/material/Avatar';\nimport Grid from '@mui/material/Grid';\nimport { default as MuiIconButton } from '@mui/material/IconButton';\nimport List from '@mui/material/List';\nimport ListItemText from '@mui/material/ListItemText';\nimport { common } from '@mui/material/colors';\nimport { Link } from 'react-router';\n\nimport type { Theme } from '../../';\nimport { greyDark } from '../../Theme/colors';\n\nexport const OverviewItem = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n margin: '0 20px 0 0',\n color: theme.palette.mode === 'light' ? theme.palette.greyDark2 : common.white,\n fontSize: 12,\n [`@media (max-width: ${theme.breakPoints.medium}px)`]: {\n ':nth-of-type(3)': {\n display: 'none',\n },\n },\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n ':nth-of-type(4)': {\n display: 'none',\n },\n },\n}));\n\nexport const Published = styled('span')({\n margin: '0 5px 0 0',\n});\n\nexport const Details = styled('span')({\n marginLeft: '5px',\n lineHeight: 1.5,\n display: 'flex',\n flexDirection: 'column',\n});\n\nexport const Author = styled('div')({\n display: 'flex',\n alignItems: 'center',\n});\n\nexport const Avatar = styled(Photo)({\n width: '20px',\n height: '20px',\n});\n\nexport const WrapperLink = styled(Link)({\n textDecoration: 'none',\n});\n\nexport const PackageTitle = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n fontWeight: theme.fontWeight.bold,\n fontSize: 20,\n display: 'block',\n color: theme.palette.primary.main,\n cursor: 'pointer',\n textDecoration: 'none',\n wordBreak: 'break-word',\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n fontSize: 16,\n },\n}));\n\nexport const GridRightAligned = styled(Grid)({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n});\n\nexport const Wrapper = styled(List)<{ theme?: Theme }>(({ theme }) => ({\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n}));\n\nexport const IconButton = styled(MuiIconButton)({\n padding: 6,\n svg: {\n fontSize: 16,\n },\n});\n\nexport const PackageListItemText = styled(ListItemText)({\n paddingRight: 0,\n});\n\nexport const Description = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n color: theme.palette.mode === 'light' ? greyDark : common.white,\n fontSize: '14px',\n paddingRight: 0,\n}));\n"],"mappings":";;;;;;;;;;AAYA,IAAa,eAAe,OAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC5E,SAAS;CACT,YAAY;CACZ,QAAQ;CACR,OAAO,MAAM,QAAQ,SAAS,UAAU,MAAM,QAAQ,YAAY,OAAO;CACzE,UAAU;EACT,sBAAsB,MAAM,YAAY,OAAO,OAAO,EACrD,mBAAmB,EACjB,SAAS,OACX,EACF;EACC,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,mBAAmB,EACjB,SAAS,OACX,EACF;AACF,EAAE;AAEF,IAAa,YAAY,OAAO,MAAM,CAAC,CAAC,EACtC,QAAQ,YACV,CAAC;AAED,IAAa,UAAU,OAAO,MAAM,CAAC,CAAC;CACpC,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,eAAe;AACjB,CAAC;AAED,IAAa,SAAS,OAAO,KAAK,CAAC,CAAC;CAClC,SAAS;CACT,YAAY;AACd,CAAC;AAED,IAAaA,WAAS,OAAOC,MAAK,CAAC,CAAC;CAClC,OAAO;CACP,QAAQ;AACV,CAAC;AAED,IAAa,cAAc,OAAO,IAAI,CAAC,CAAC,EACtC,gBAAgB,OAClB,CAAC;AAED,IAAa,eAAe,OAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC5E,YAAY,MAAM,WAAW;CAC7B,UAAU;CACV,SAAS;CACT,OAAO,MAAM,QAAQ,QAAQ;CAC7B,QAAQ;CACR,gBAAgB;CAChB,WAAW;EACV,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,UAAU,GACZ;AACF,EAAE;AAEF,IAAa,mBAAmB,OAAO,IAAI,CAAC,CAAC;CAC3C,SAAS;CACT,YAAY;CACZ,gBAAgB;AAClB,CAAC;AAED,IAAa,UAAU,OAAO,IAAI,CAAC,EAAqB,EAAE,aAAa,EACrE,WAAW,EACT,iBAAiB,MAAM,QAAQ,OAAO,MACxC,EACF,EAAE;AAEF,IAAaC,eAAa,OAAOC,UAAa,CAAC,CAAC;CAC9C,SAAS;CACT,KAAK,EACH,UAAU,GACZ;AACF,CAAC;AAED,IAAa,sBAAsB,OAAO,YAAY,CAAC,CAAC,EACtD,cAAc,EAChB,CAAC;AAED,IAAa,cAAc,OAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC3E,OAAO,MAAM,QAAQ,SAAS,UAAU,WAAW,OAAO;CAC1D,UAAU;CACV,cAAc;AAChB,EAAE"}
1
+ {"version":3,"file":"styles.mjs","names":["Avatar","Photo","IconButton","MuiIconButton"],"sources":["../../../src/components/Package/styles.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as Photo } from '@mui/material/Avatar';\nimport Grid from '@mui/material/Grid';\nimport { default as MuiIconButton } from '@mui/material/IconButton';\nimport List from '@mui/material/List';\nimport ListItemText from '@mui/material/ListItemText';\nimport { common } from '@mui/material/colors';\nimport { Link } from 'react-router';\n\nimport type { Theme } from '../../';\nimport { greyDark } from '../../Theme/colors';\n\nexport const OverviewItem = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n margin: '0 20px 0 0',\n color: theme.palette.mode === 'light' ? theme.palette.greyDark2 : common.white,\n fontSize: 12,\n [`@media (max-width: ${theme.breakPoints.medium}px)`]: {\n ':nth-of-type(3)': {\n display: 'none',\n },\n },\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n ':nth-of-type(4)': {\n display: 'none',\n },\n },\n}));\n\nexport const Published = styled('span')({\n margin: '0 5px 0 0',\n});\n\nexport const Details = styled('span')({\n marginLeft: '5px',\n lineHeight: 1.5,\n display: 'flex',\n flexDirection: 'column',\n});\n\nexport const Author = styled('div')({\n display: 'flex',\n alignItems: 'center',\n});\n\nexport const Avatar = styled(Photo)({\n width: '20px',\n height: '20px',\n});\n\nexport const WrapperLink = styled(Link)({\n textDecoration: 'none',\n});\n\nexport const VersionLink = styled(Link)({\n display: 'flex',\n alignItems: 'center',\n color: 'inherit',\n textDecoration: 'none',\n ':hover, :focus-visible': {\n textDecoration: 'underline',\n },\n});\n\nexport const PackageTitle = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n fontWeight: theme.fontWeight.bold,\n fontSize: 20,\n display: 'block',\n color: theme.palette.primary.main,\n cursor: 'pointer',\n textDecoration: 'none',\n wordBreak: 'break-word',\n [`@media (max-width: ${theme.breakPoints.small}px)`]: {\n fontSize: 16,\n },\n}));\n\nexport const GridRightAligned = styled(Grid)({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n});\n\nexport const Wrapper = styled(List)<{ theme?: Theme }>(({ theme }) => ({\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n}));\n\nexport const IconButton = styled(MuiIconButton)({\n padding: 6,\n svg: {\n fontSize: 16,\n },\n});\n\nexport const PackageListItemText = styled(ListItemText)({\n paddingRight: 0,\n});\n\nexport const Description = styled('span')<{ theme?: Theme }>(({ theme }) => ({\n color: theme.palette.mode === 'light' ? greyDark : common.white,\n fontSize: '14px',\n paddingRight: 0,\n}));\n"],"mappings":";;;;;;;;;;AAYA,IAAa,eAAe,OAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC5E,SAAS;CACT,YAAY;CACZ,QAAQ;CACR,OAAO,MAAM,QAAQ,SAAS,UAAU,MAAM,QAAQ,YAAY,OAAO;CACzE,UAAU;EACT,sBAAsB,MAAM,YAAY,OAAO,OAAO,EACrD,mBAAmB,EACjB,SAAS,OACX,EACF;EACC,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,mBAAmB,EACjB,SAAS,OACX,EACF;AACF,EAAE;AAEF,IAAa,YAAY,OAAO,MAAM,CAAC,CAAC,EACtC,QAAQ,YACV,CAAC;AAED,IAAa,UAAU,OAAO,MAAM,CAAC,CAAC;CACpC,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,eAAe;AACjB,CAAC;AAED,IAAa,SAAS,OAAO,KAAK,CAAC,CAAC;CAClC,SAAS;CACT,YAAY;AACd,CAAC;AAED,IAAaA,WAAS,OAAOC,MAAK,CAAC,CAAC;CAClC,OAAO;CACP,QAAQ;AACV,CAAC;AAED,IAAa,cAAc,OAAO,IAAI,CAAC,CAAC,EACtC,gBAAgB,OAClB,CAAC;AAED,IAAa,cAAc,OAAO,IAAI,CAAC,CAAC;CACtC,SAAS;CACT,YAAY;CACZ,OAAO;CACP,gBAAgB;CAChB,0BAA0B,EACxB,gBAAgB,YAClB;AACF,CAAC;AAED,IAAa,eAAe,OAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC5E,YAAY,MAAM,WAAW;CAC7B,UAAU;CACV,SAAS;CACT,OAAO,MAAM,QAAQ,QAAQ;CAC7B,QAAQ;CACR,gBAAgB;CAChB,WAAW;EACV,sBAAsB,MAAM,YAAY,MAAM,OAAO,EACpD,UAAU,GACZ;AACF,EAAE;AAEF,IAAa,mBAAmB,OAAO,IAAI,CAAC,CAAC;CAC3C,SAAS;CACT,YAAY;CACZ,gBAAgB;AAClB,CAAC;AAED,IAAa,UAAU,OAAO,IAAI,CAAC,EAAqB,EAAE,aAAa,EACrE,WAAW,EACT,iBAAiB,MAAM,QAAQ,OAAO,MACxC,EACF,EAAE;AAEF,IAAaC,eAAa,OAAOC,UAAa,CAAC,CAAC;CAC9C,SAAS;CACT,KAAK,EACH,UAAU,GACZ;AACF,CAAC;AAED,IAAa,sBAAsB,OAAO,YAAY,CAAC,CAAC,EACtD,cAAc,EAChB,CAAC;AAED,IAAa,cAAc,OAAO,MAAM,CAAC,EAAqB,EAAE,aAAa;CAC3E,OAAO,MAAM,QAAQ,SAAS,UAAU,WAAW,OAAO;CAC1D,UAAU;CACV,cAAc;AAChB,EAAE"}