@verdaccio/ui-theme 6.0.0-6-next.9 → 6.0.0-6-next.13

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 (323) hide show
  1. package/.babelrc +1 -1
  2. package/.eslintrc +0 -15
  3. package/CHANGELOG.md +61 -0
  4. package/jest/api/packages.json +42 -0
  5. package/jest/jest.config.js +2 -2
  6. package/jest/server-handlers.ts +9 -0
  7. package/jest/server.ts +6 -0
  8. package/jest/setup-env.ts +18 -0
  9. package/jest/setup.ts +2 -7
  10. package/jest/unit/components/__mocks__/token.ts +0 -1
  11. package/jest/unit/components/store/login.ts +1 -0
  12. package/package.json +43 -33
  13. package/src/App/App.test.tsx +75 -51
  14. package/src/App/App.tsx +7 -42
  15. package/src/App/AppRoute.tsx +3 -16
  16. package/src/App/Footer/Footer.test.tsx +0 -1
  17. package/src/App/Footer/Footer.tsx +35 -22
  18. package/src/App/Footer/__snapshots__/Footer.test.tsx.snap +208 -302
  19. package/src/App/Footer/styles.ts +2 -3
  20. package/src/App/Header/Header.test.tsx +53 -61
  21. package/src/App/Header/Header.tsx +13 -24
  22. package/src/App/Header/HeaderGreetings.tsx +0 -1
  23. package/src/App/Header/HeaderLeft.tsx +0 -1
  24. package/src/App/Header/HeaderMenu.tsx +6 -6
  25. package/src/App/Header/HeaderRight.tsx +1 -2
  26. package/src/App/Header/HeaderToolTip.tsx +0 -1
  27. package/src/App/Header/HeaderToolTipIcon.tsx +10 -10
  28. package/src/App/Header/LanguageSwitch.tsx +17 -79
  29. package/src/App/Header/LoginDialog/LoginDialog.test.tsx +25 -35
  30. package/src/App/Header/LoginDialog/LoginDialog.tsx +28 -46
  31. package/src/App/Header/LoginDialog/LoginDialogCloseButton.tsx +1 -2
  32. package/src/App/Header/LoginDialog/LoginDialogForm.tsx +0 -1
  33. package/src/App/Header/LoginDialog/LoginDialogFormError.tsx +1 -2
  34. package/src/App/Header/LoginDialog/LoginDialogHeader.tsx +4 -4
  35. package/src/App/Header/RegistryInfoContent/RegistryInfoContent.test.tsx +1 -3
  36. package/src/App/Header/RegistryInfoContent/RegistryInfoContent.tsx +9 -10
  37. package/src/App/Header/RegistryInfoDialog/RegistryInfoDialog.tsx +1 -2
  38. package/src/App/Header/RegistryInfoDialog/styles.ts +0 -1
  39. package/src/App/Header/Search/Search.test.tsx +48 -43
  40. package/src/App/Header/Search/Search.tsx +23 -108
  41. package/src/App/Header/Search/__snapshots__/Search.test.tsx.snap +392 -28
  42. package/src/App/Header/styles.ts +2 -3
  43. package/src/App/index.ts +0 -1
  44. package/src/App/utils/loadable.tsx +3 -1
  45. package/src/components/ActionBar/ActionBar.test.tsx +13 -14
  46. package/src/components/ActionBar/ActionBar.tsx +0 -2
  47. package/src/components/ActionBar/ActionBarAction.tsx +11 -14
  48. package/src/components/ActionBar/__snapshots__/ActionBar.test.tsx.snap +198 -53
  49. package/src/components/AppBar.tsx +1 -1
  50. package/src/components/Author/Author.test.tsx +1 -4
  51. package/src/components/Author/Author.tsx +2 -4
  52. package/src/components/Author/__snapshots__/Author.test.tsx.snap +804 -48
  53. package/src/components/Author/styles.ts +0 -1
  54. package/src/components/AutoComplete/AutoComplete.tsx +85 -163
  55. package/src/components/AutoComplete/AutoCompleteV2.tsx +8 -10
  56. package/src/components/AutoComplete/styles.tsx +0 -15
  57. package/src/components/Avatar.tsx +1 -1
  58. package/src/components/Box.tsx +1 -1
  59. package/src/components/Button.tsx +1 -1
  60. package/src/components/Card.tsx +1 -1
  61. package/src/components/CardActions.tsx +1 -1
  62. package/src/components/CardContent.tsx +1 -1
  63. package/src/components/Chip.tsx +1 -1
  64. package/src/components/CircularProgress.tsx +2 -2
  65. package/src/components/CopyToClipBoard.tsx +2 -3
  66. package/src/components/Dialog.tsx +1 -1
  67. package/src/components/DialogActions.tsx +2 -2
  68. package/src/components/DialogContent.tsx +2 -2
  69. package/src/components/DialogTitle.tsx +1 -1
  70. package/src/components/Divider.tsx +1 -1
  71. package/src/components/FloatingActionButton.tsx +1 -1
  72. package/src/components/FormControl.tsx +1 -1
  73. package/src/components/FormHelperText.tsx +2 -2
  74. package/src/components/Grid.tsx +1 -1
  75. package/src/components/Heading.tsx +1 -1
  76. package/src/components/IconButton.tsx +1 -1
  77. package/src/components/Icons/index.ts +1 -17
  78. package/src/components/Input.tsx +1 -1
  79. package/src/components/InputAdornment/InputAdornment.tsx +2 -2
  80. package/src/components/InputLabel.tsx +1 -1
  81. package/src/components/Label/Label.test.tsx +0 -1
  82. package/src/components/Label/Label.tsx +2 -3
  83. package/src/components/List.tsx +1 -1
  84. package/src/components/ListItem.tsx +1 -1
  85. package/src/components/ListItemText.tsx +1 -4
  86. package/src/components/Loading/Loading.test.tsx +0 -1
  87. package/src/components/Loading/Loading.tsx +1 -2
  88. package/src/components/Loading/Spinner/Spinner.test.tsx +1 -2
  89. package/src/components/Loading/Spinner/Spinner.tsx +1 -2
  90. package/src/components/Loading/Spinner/__snapshots__/Spinner.test.tsx.snap +114 -16
  91. package/src/components/Loading/__snapshots__/Loading.test.tsx.snap +63 -11
  92. package/src/components/Loading/styles.ts +1 -2
  93. package/src/components/Logo/Logo.test.tsx +0 -1
  94. package/src/components/Logo/Logo.tsx +1 -2
  95. package/src/components/Logo/__snapshots__/Logo.test.tsx.snap +2 -0
  96. package/src/components/Menu.tsx +1 -1
  97. package/src/components/MenuItem.tsx +1 -1
  98. package/src/components/NotFound/NotFound.tsx +1 -3
  99. package/src/components/NotFound/Notfound.test.tsx +1 -2
  100. package/src/components/NotFound/__snapshots__/Notfound.test.tsx.snap +138 -11
  101. package/src/components/NotFound/styles.ts +0 -1
  102. package/src/components/Paper.tsx +1 -1
  103. package/src/components/SnackbarContent.tsx +1 -1
  104. package/src/components/SvgIcon.tsx +1 -1
  105. package/src/components/Tab.tsx +1 -1
  106. package/src/components/Tabs.tsx +1 -1
  107. package/src/components/Text/Text.tsx +1 -1
  108. package/src/components/Text/TextConfig.ts +1 -1
  109. package/src/components/TextField/TextField.test.tsx +0 -1
  110. package/src/components/TextField/TextField.tsx +2 -2
  111. package/src/components/TextField/__snapshots__/TextField.test.tsx.snap +216 -3
  112. package/src/components/Toolbar.tsx +1 -1
  113. package/src/components/Tooltip.tsx +1 -1
  114. package/src/design-tokens/ResetStyles.tsx +1 -1
  115. package/src/design-tokens/StyleBaseline.tsx +2 -2
  116. package/src/design-tokens/ThemeContext.ts +1 -1
  117. package/src/design-tokens/ThemeProvider.tsx +15 -12
  118. package/src/design-tokens/theme.ts +28 -26
  119. package/src/design-tokens/useTheme.ts +1 -1
  120. package/src/{design-tokens → hooks}/useLocalStorage.ts +0 -0
  121. package/src/{design-tokens → hooks}/useOnClickOutside.ts +0 -0
  122. package/src/i18n/ABOUT_TRANSLATIONS.md +13 -0
  123. package/src/i18n/__mocks__/loadTranslationFile.ts +5 -0
  124. package/src/i18n/config.ts +38 -0
  125. package/src/i18n/crowdin/ui.json +170 -0
  126. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/cs-CZ.json +0 -0
  127. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/de-DE.json +0 -0
  128. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/en-US.json +0 -0
  129. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/es-ES.json +0 -0
  130. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/fr-FR.json +0 -0
  131. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/ja-JP.json +0 -0
  132. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/km-KH.json +0 -0
  133. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/pt-BR.json +0 -0
  134. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/ru-RU.json +0 -0
  135. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/tr-TR.json +0 -0
  136. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/uk-UA.json +0 -0
  137. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/zh-CN.json +0 -0
  138. package/{i18n/translations → src/i18n/deprecated_translations_dont_use}/zh-TW.json +0 -0
  139. package/src/i18n/download_translations/ar-SA/ui.json +170 -0
  140. package/src/i18n/download_translations/cs-CZ/ui.json +170 -0
  141. package/src/i18n/download_translations/de-DE/ui.json +170 -0
  142. package/src/i18n/download_translations/es-ES/ui.json +170 -0
  143. package/src/i18n/download_translations/fi-FI/ui.json +170 -0
  144. package/src/i18n/download_translations/fil-PH/ui.json +170 -0
  145. package/src/i18n/download_translations/fr-FR/ui.json +170 -0
  146. package/src/i18n/download_translations/gl-ES/ui.json +170 -0
  147. package/src/i18n/download_translations/hi-IN/ui.json +170 -0
  148. package/src/i18n/download_translations/it-IT/ui.json +170 -0
  149. package/src/i18n/download_translations/ja-JP/ui.json +170 -0
  150. package/src/i18n/download_translations/km-KH/ui.json +170 -0
  151. package/src/i18n/download_translations/ko-KR/ui.json +170 -0
  152. package/src/i18n/download_translations/pl-PL/ui.json +170 -0
  153. package/src/i18n/download_translations/pt-BR/ui.json +170 -0
  154. package/src/i18n/download_translations/pt-PT/ui.json +170 -0
  155. package/src/i18n/download_translations/ro-RO/ui.json +170 -0
  156. package/src/i18n/download_translations/ru-RU/ui.json +170 -0
  157. package/src/i18n/download_translations/si-LK/ui.json +170 -0
  158. package/src/i18n/download_translations/sr-CS/ui.json +170 -0
  159. package/src/i18n/download_translations/sr-SP/ui.json +170 -0
  160. package/src/i18n/download_translations/tg-TJ/ui.json +170 -0
  161. package/src/i18n/download_translations/tr-TR/ui.json +170 -0
  162. package/src/i18n/download_translations/uk-UA/ui.json +170 -0
  163. package/src/i18n/download_translations/vi-VN/ui.json +170 -0
  164. package/src/i18n/download_translations/yo-NG/ui.json +170 -0
  165. package/src/i18n/download_translations/zh-CN/ui.json +170 -0
  166. package/src/i18n/download_translations/zh-TW/ui.json +170 -0
  167. package/src/i18n/enabledLanguages.ts +35 -0
  168. package/src/i18n/loadTranslationFile.ts +14 -0
  169. package/src/index.tsx +13 -11
  170. package/src/pages/Version/DetailContainer/Dependencies/Dependencies.test.tsx +0 -2
  171. package/src/pages/Version/DetailContainer/Dependencies/Dependencies.tsx +1 -3
  172. package/src/pages/Version/DetailContainer/Dependencies/styles.ts +0 -1
  173. package/src/pages/Version/DetailContainer/Deprecated/Deprecated.test.tsx +1 -3
  174. package/src/pages/Version/DetailContainer/Deprecated/Deprecated.tsx +2 -3
  175. package/src/pages/Version/DetailContainer/DetailContainer.test.tsx +0 -1
  176. package/src/pages/Version/DetailContainer/DetailContainer.tsx +1 -3
  177. package/src/pages/Version/DetailContainer/DetailContainerContent.tsx +0 -1
  178. package/src/pages/Version/DetailContainer/DetailContainerContentReadme.tsx +0 -1
  179. package/src/pages/Version/DetailContainer/DetailContainerTabs.tsx +0 -1
  180. package/src/pages/Version/DetailContainer/NoItems/NoItems.tsx +0 -1
  181. package/src/pages/Version/DetailContainer/NoItems/Noitems.test.tsx +0 -1
  182. package/src/pages/Version/DetailContainer/NoItems/__snapshots__/Noitems.test.tsx.snap +10 -1
  183. package/src/pages/Version/DetailContainer/Readme/Readme.spec.tsx +1 -2
  184. package/src/pages/Version/DetailContainer/Readme/Readme.tsx +1 -2
  185. package/src/pages/Version/DetailContainer/UpLinks/UpLinks.test.tsx +1 -9
  186. package/src/pages/Version/DetailContainer/UpLinks/UpLinks.tsx +1 -3
  187. package/src/pages/Version/DetailContainer/UpLinks/__snapshots__/UpLinks.test.tsx.snap +184 -26
  188. package/src/pages/Version/DetailContainer/UpLinks/styles.ts +2 -3
  189. package/src/pages/Version/DetailContainer/Versions/Versions.test.tsx +3 -5
  190. package/src/pages/Version/DetailContainer/Versions/Versions.tsx +1 -2
  191. package/src/pages/Version/DetailContainer/Versions/VersionsHistoryList.tsx +2 -4
  192. package/src/pages/Version/DetailContainer/Versions/VersionsTagList.tsx +1 -3
  193. package/src/pages/Version/DetailContainer/Versions/styles.ts +2 -3
  194. package/src/pages/Version/DetailContainer/__snapshots__/DetailContainer.test.tsx.snap +168 -34
  195. package/src/pages/Version/DetailSidebar/DetailSidebar.tsx +0 -2
  196. package/src/pages/Version/DetailSidebar/DetailSidebarFundButton.test.tsx +0 -2
  197. package/src/pages/Version/DetailSidebar/DetailSidebarFundButton.tsx +1 -2
  198. package/src/pages/Version/DetailSidebar/DetailSidebarTitle.tsx +0 -1
  199. package/src/pages/Version/DetailSidebar/Developers/Developers.test.tsx +3 -5
  200. package/src/pages/Version/DetailSidebar/Developers/Developers.tsx +3 -5
  201. package/src/pages/Version/DetailSidebar/Developers/DevelopersTitle.tsx +0 -1
  202. package/src/pages/Version/DetailSidebar/Developers/__snapshots__/Developers.test.tsx.snap +328 -40
  203. package/src/pages/Version/DetailSidebar/Developers/styles.ts +0 -1
  204. package/src/pages/Version/DetailSidebar/Dist/Dist.test.tsx +1 -3
  205. package/src/pages/Version/DetailSidebar/Dist/Dist.tsx +1 -3
  206. package/src/pages/Version/DetailSidebar/Dist/__snapshots__/Dist.test.tsx.snap +1436 -74
  207. package/src/pages/Version/DetailSidebar/Dist/styles.ts +2 -1
  208. package/src/pages/Version/DetailSidebar/Engines/Engines.test.tsx +1 -3
  209. package/src/pages/Version/DetailSidebar/Engines/Engines.tsx +1 -3
  210. package/src/pages/Version/DetailSidebar/Engines/styles.ts +0 -1
  211. package/src/pages/Version/DetailSidebar/Install/Install.test.tsx +1 -3
  212. package/src/pages/Version/DetailSidebar/Install/Install.tsx +0 -2
  213. package/src/pages/Version/DetailSidebar/Install/InstallListItem.tsx +0 -1
  214. package/src/pages/Version/DetailSidebar/Repository/Repository.test.tsx +1 -3
  215. package/src/pages/Version/DetailSidebar/Repository/Repository.tsx +1 -3
  216. package/src/pages/Version/Version.test.tsx +3 -5
  217. package/src/pages/Version/Version.tsx +21 -6
  218. package/src/pages/Version/VersionContextProvider.tsx +14 -45
  219. package/src/pages/Version/VersionLayout.tsx +1 -1
  220. package/src/pages/Version/context.ts +1 -1
  221. package/src/pages/home/Home.tsx +9 -28
  222. package/src/pages/home/PackageList/Help/Help.test.tsx +0 -1
  223. package/src/pages/home/PackageList/Help/Help.tsx +0 -1
  224. package/src/pages/home/PackageList/Help/__snapshots__/Help.test.tsx.snap +298 -59
  225. package/src/pages/home/PackageList/Help/styles.ts +0 -1
  226. package/src/pages/home/PackageList/Package/Package.test.tsx +5 -4
  227. package/src/pages/home/PackageList/Package/Package.tsx +20 -28
  228. package/src/pages/home/PackageList/Package/Tag/Tag.test.tsx +0 -1
  229. package/src/pages/home/PackageList/Package/styles.ts +5 -6
  230. package/src/pages/home/PackageList/PackageList.tsx +17 -17
  231. package/src/pages/home/PackageList/Packagelist.test.tsx +6 -5
  232. package/src/providers/API/api.test.ts +1 -0
  233. package/src/providers/API/api.ts +7 -3
  234. package/src/providers/config/AppConfigurationProvider.tsx +3 -3
  235. package/src/store/index.ts +1 -0
  236. package/src/store/models/configuration.ts +41 -0
  237. package/src/store/models/download.ts +30 -0
  238. package/src/store/models/index.ts +18 -0
  239. package/src/store/models/login.ts +92 -0
  240. package/src/store/models/manifest.ts +91 -0
  241. package/src/store/models/packages.ts +36 -0
  242. package/src/store/models/search.ts +81 -0
  243. package/src/store/store.ts +15 -0
  244. package/src/utils/login.test.ts +3 -4
  245. package/src/utils/package.test.ts +2 -3
  246. package/src/utils/package.ts +2 -1
  247. package/src/utils/sec-utils.ts +1 -1
  248. package/src/utils/test-react-testing-library.tsx +22 -5
  249. package/src/utils/url.test.ts +1 -1
  250. package/src/utils/url.ts +1 -0
  251. package/static/Dependencies.15768a14646212b71166.js +2 -0
  252. package/static/Dependencies.15768a14646212b71166.js.LICENSE.txt +78 -0
  253. package/static/Dist.15768a14646212b71166.js +2 -0
  254. package/static/Dist.15768a14646212b71166.js.LICENSE.txt +60 -0
  255. package/static/Engines.15768a14646212b71166.js +2 -0
  256. package/static/Engines.15768a14646212b71166.js.LICENSE.txt +66 -0
  257. package/static/Home.15768a14646212b71166.js +2 -0
  258. package/static/Home.15768a14646212b71166.js.LICENSE.txt +222 -0
  259. package/static/Install.15768a14646212b71166.js +2 -0
  260. package/static/Install.15768a14646212b71166.js.LICENSE.txt +66 -0
  261. package/static/NotFound.15768a14646212b71166.js +2 -0
  262. package/static/NotFound.15768a14646212b71166.js.LICENSE.txt +40 -0
  263. package/static/Provider.15768a14646212b71166.js +2 -0
  264. package/static/Provider.15768a14646212b71166.js.LICENSE.txt +32 -0
  265. package/static/Repository.15768a14646212b71166.js +2 -0
  266. package/static/Repository.15768a14646212b71166.js.LICENSE.txt +50 -0
  267. package/static/UpLinks.15768a14646212b71166.js +2 -0
  268. package/static/UpLinks.15768a14646212b71166.js.LICENSE.txt +56 -0
  269. package/static/Version.15768a14646212b71166.js +2 -0
  270. package/static/Version.15768a14646212b71166.js.LICENSE.txt +380 -0
  271. package/static/Versions.15768a14646212b71166.js +2 -0
  272. package/static/Versions.15768a14646212b71166.js.LICENSE.txt +64 -0
  273. package/static/index.html +1 -1
  274. package/static/main.15768a14646212b71166.js +2 -0
  275. package/static/main.15768a14646212b71166.js.LICENSE.txt +972 -0
  276. package/static/manifest.json +17 -3
  277. package/static/runtime.15768a14646212b71166.js +2 -0
  278. package/static/{runtime.9525ddaaf85378590c63.js.LICENSE.txt → runtime.15768a14646212b71166.js.LICENSE.txt} +2 -2
  279. package/static/vendors-node_modules_pnpm_mui_icons-material_5_0_5_d1eeebd4022867ee03864a00e16c7901_node_modu-123400.15768a14646212b71166.js +2 -0
  280. package/static/vendors-node_modules_pnpm_mui_icons-material_5_0_5_d1eeebd4022867ee03864a00e16c7901_node_modu-123400.15768a14646212b71166.js.LICENSE.txt +148 -0
  281. package/static/vendors-node_modules_pnpm_mui_icons-material_5_0_5_d1eeebd4022867ee03864a00e16c7901_node_modu-d2b578.15768a14646212b71166.js +2 -0
  282. package/static/vendors-node_modules_pnpm_mui_icons-material_5_0_5_d1eeebd4022867ee03864a00e16c7901_node_modu-d2b578.15768a14646212b71166.js.LICENSE.txt +218 -0
  283. package/static/vendors-node_modules_pnpm_mui_material_5_0_6_033766d34292bd5d464212fd95cb4b6d_node_modules_mu-1fb115.15768a14646212b71166.js +2 -0
  284. package/static/vendors-node_modules_pnpm_mui_material_5_0_6_033766d34292bd5d464212fd95cb4b6d_node_modules_mu-1fb115.15768a14646212b71166.js.LICENSE.txt +316 -0
  285. package/static/vendors.15768a14646212b71166.js +103 -0
  286. package/static/vendors.15768a14646212b71166.js.LICENSE.txt +3158 -0
  287. package/tools/dev.server.js +0 -1
  288. package/tools/webpack.dev.config.babel.js +1 -3
  289. package/tools/webpack.prod.config.babel.js +1 -1
  290. package/tsconfig.json +1 -3
  291. package/types/index.ts +3 -20
  292. package/i18n/config.ts +0 -94
  293. package/src/App/AppContext.ts +0 -18
  294. package/src/App/AppContextProvider.tsx +0 -44
  295. package/src/App/Header/Search/SearchAdornment.tsx +0 -18
  296. package/src/components/Icons/Austria.tsx +0 -23
  297. package/src/components/Icons/Brazil.tsx +0 -44
  298. package/src/components/Icons/China.tsx +0 -33
  299. package/src/components/Icons/Czech.tsx +0 -21
  300. package/src/components/Icons/France.tsx +0 -27
  301. package/src/components/Icons/Germany.tsx +0 -27
  302. package/src/components/Icons/India.tsx +0 -44
  303. package/src/components/Icons/Japan.tsx +0 -23
  304. package/src/components/Icons/Khmer.tsx +0 -40
  305. package/src/components/Icons/Nicaragua.tsx +0 -66
  306. package/src/components/Icons/Russia.tsx +0 -27
  307. package/src/components/Icons/Spain.tsx +0 -43
  308. package/src/components/Icons/Taiwan.tsx +0 -25
  309. package/src/components/Icons/Turkey.tsx +0 -23
  310. package/src/components/Icons/Ukraine.tsx +0 -30
  311. package/src/components/Icons/Usa.tsx +0 -34
  312. package/src/design-tokens/emotion.ts +0 -5
  313. package/src/lib/constants.ts +0 -9
  314. package/src/pages/Version/DetailSidebar/ActionBar/ActionBar.test.tsx +0 -84
  315. package/src/pages/Version/DetailSidebar/ActionBar/__snapshots__/ActionBar.test.tsx.snap +0 -122
  316. package/src/pages/Version/is-package-version-valid.ts +0 -19
  317. package/src/providers/API/APIProvider.tsx +0 -109
  318. package/src/providers/API/index.ts +0 -1
  319. package/static/main.9525ddaaf85378590c63.js +0 -2
  320. package/static/main.9525ddaaf85378590c63.js.LICENSE.txt +0 -1588
  321. package/static/runtime.9525ddaaf85378590c63.js +0 -2
  322. package/static/vendors.9525ddaaf85378590c63.js +0 -2
  323. package/static/vendors.9525ddaaf85378590c63.js.LICENSE.txt +0 -4540
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
-
3
2
  import { render } from 'verdaccio-ui/utils/test-react-testing-library';
4
3
 
5
4
  import TextField from './TextField';
@@ -1,4 +1,4 @@
1
- import { default as MaterialUITextField, TextFieldProps } from '@material-ui/core/TextField';
1
+ import { default as MaterialUITextField, TextFieldProps } from '@mui/material/TextField';
2
2
  import React, { forwardRef } from 'react';
3
3
 
4
4
  // The default element type of MUI's TextField is 'div'
@@ -11,7 +11,7 @@ const TextField = forwardRef<TextFieldRef, TextFieldProps>(function TextField(
11
11
  return (
12
12
  <MaterialUITextField
13
13
  {...props}
14
- innerRef={ref}
14
+ ref={ref}
15
15
  InputProps={{
16
16
  ...InputProps,
17
17
  classes,
@@ -1,19 +1,232 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`<TextField /> component should load the component in default state 1`] = `
4
+ .emotion-0 {
5
+ display: -webkit-inline-box;
6
+ display: -webkit-inline-flex;
7
+ display: -ms-inline-flexbox;
8
+ display: inline-flex;
9
+ -webkit-flex-direction: column;
10
+ -ms-flex-direction: column;
11
+ flex-direction: column;
12
+ position: relative;
13
+ min-width: 0;
14
+ padding: 0;
15
+ margin: 0;
16
+ border: 0;
17
+ vertical-align: top;
18
+ }
19
+
20
+ .emotion-1 {
21
+ font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
22
+ font-weight: 400;
23
+ font-size: 1rem;
24
+ line-height: 1.4375em;
25
+ color: rgba(0, 0, 0, 0.87);
26
+ box-sizing: border-box;
27
+ position: relative;
28
+ cursor: text;
29
+ display: -webkit-inline-box;
30
+ display: -webkit-inline-flex;
31
+ display: -ms-inline-flexbox;
32
+ display: inline-flex;
33
+ -webkit-align-items: center;
34
+ -webkit-box-align: center;
35
+ -ms-flex-align: center;
36
+ align-items: center;
37
+ position: relative;
38
+ border-radius: 4px;
39
+ }
40
+
41
+ .emotion-1.Mui-disabled {
42
+ color: rgba(0, 0, 0, 0.38);
43
+ cursor: default;
44
+ }
45
+
46
+ .emotion-1:hover .MuiOutlinedInput-notchedOutline {
47
+ border-color: rgba(0, 0, 0, 0.87);
48
+ }
49
+
50
+ @media (hover: none) {
51
+ .emotion-1:hover .MuiOutlinedInput-notchedOutline {
52
+ border-color: rgba(0, 0, 0, 0.23);
53
+ }
54
+ }
55
+
56
+ .emotion-1.Mui-focused .MuiOutlinedInput-notchedOutline {
57
+ border-color: #4b5e40;
58
+ border-width: 2px;
59
+ }
60
+
61
+ .emotion-1.Mui-error .MuiOutlinedInput-notchedOutline {
62
+ border-color: #d32f2f;
63
+ }
64
+
65
+ .emotion-1.Mui-disabled .MuiOutlinedInput-notchedOutline {
66
+ border-color: rgba(0, 0, 0, 0.26);
67
+ }
68
+
69
+ .emotion-2 {
70
+ font: inherit;
71
+ letter-spacing: inherit;
72
+ color: currentColor;
73
+ padding: 4px 0 5px;
74
+ border: 0;
75
+ box-sizing: content-box;
76
+ background: none;
77
+ height: 1.4375em;
78
+ margin: 0;
79
+ -webkit-tap-highlight-color: transparent;
80
+ display: block;
81
+ min-width: 0;
82
+ width: 100%;
83
+ -webkit-animation-name: mui-auto-fill-cancel;
84
+ animation-name: mui-auto-fill-cancel;
85
+ -webkit-animation-duration: 10ms;
86
+ animation-duration: 10ms;
87
+ padding: 16.5px 14px;
88
+ }
89
+
90
+ .emotion-2::-webkit-input-placeholder {
91
+ color: currentColor;
92
+ opacity: 0.42;
93
+ -webkit-transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
94
+ transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
95
+ }
96
+
97
+ .emotion-2::-moz-placeholder {
98
+ color: currentColor;
99
+ opacity: 0.42;
100
+ -webkit-transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
101
+ transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
102
+ }
103
+
104
+ .emotion-2:-ms-input-placeholder {
105
+ color: currentColor;
106
+ opacity: 0.42;
107
+ -webkit-transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
108
+ transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
109
+ }
110
+
111
+ .emotion-2::-ms-input-placeholder {
112
+ color: currentColor;
113
+ opacity: 0.42;
114
+ -webkit-transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
115
+ transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
116
+ }
117
+
118
+ .emotion-2:focus {
119
+ outline: 0;
120
+ }
121
+
122
+ .emotion-2:invalid {
123
+ box-shadow: none;
124
+ }
125
+
126
+ .emotion-2::-webkit-search-decoration {
127
+ -webkit-appearance: none;
128
+ }
129
+
130
+ label[data-shrink=false]+.MuiInputBase-formControl .emotion-2::-webkit-input-placeholder {
131
+ opacity: 0!important;
132
+ }
133
+
134
+ label[data-shrink=false]+.MuiInputBase-formControl .emotion-2::-moz-placeholder {
135
+ opacity: 0!important;
136
+ }
137
+
138
+ label[data-shrink=false]+.MuiInputBase-formControl .emotion-2:-ms-input-placeholder {
139
+ opacity: 0!important;
140
+ }
141
+
142
+ label[data-shrink=false]+.MuiInputBase-formControl .emotion-2::-ms-input-placeholder {
143
+ opacity: 0!important;
144
+ }
145
+
146
+ label[data-shrink=false]+.MuiInputBase-formControl .emotion-2:focus::-webkit-input-placeholder {
147
+ opacity: 0.42;
148
+ }
149
+
150
+ label[data-shrink=false]+.MuiInputBase-formControl .emotion-2:focus::-moz-placeholder {
151
+ opacity: 0.42;
152
+ }
153
+
154
+ label[data-shrink=false]+.MuiInputBase-formControl .emotion-2:focus:-ms-input-placeholder {
155
+ opacity: 0.42;
156
+ }
157
+
158
+ label[data-shrink=false]+.MuiInputBase-formControl .emotion-2:focus::-ms-input-placeholder {
159
+ opacity: 0.42;
160
+ }
161
+
162
+ .emotion-2.Mui-disabled {
163
+ opacity: 1;
164
+ -webkit-text-fill-color: rgba(0, 0, 0, 0.38);
165
+ }
166
+
167
+ .emotion-2:-webkit-autofill {
168
+ -webkit-animation-duration: 5000s;
169
+ animation-duration: 5000s;
170
+ -webkit-animation-name: mui-auto-fill;
171
+ animation-name: mui-auto-fill;
172
+ }
173
+
174
+ .emotion-2:-webkit-autofill {
175
+ border-radius: inherit;
176
+ }
177
+
178
+ .emotion-3 {
179
+ text-align: left;
180
+ position: absolute;
181
+ bottom: 0;
182
+ right: 0;
183
+ top: -5px;
184
+ left: 0;
185
+ margin: 0;
186
+ padding: 0 8px;
187
+ pointer-events: none;
188
+ border-radius: inherit;
189
+ border-style: solid;
190
+ border-width: 1px;
191
+ overflow: hidden;
192
+ min-width: 0%;
193
+ border-color: rgba(0, 0, 0, 0.23);
194
+ }
195
+
196
+ .emotion-4 {
197
+ padding: 0;
198
+ line-height: 11px;
199
+ -webkit-transition: width 150ms cubic-bezier(0.0, 0, 0.2, 1) 0ms;
200
+ transition: width 150ms cubic-bezier(0.0, 0, 0.2, 1) 0ms;
201
+ }
202
+
4
203
  <div
5
- class="MuiFormControl-root MuiTextField-root"
204
+ class="MuiFormControl-root MuiTextField-root emotion-0"
6
205
  >
7
206
  <div
8
- class="MuiInputBase-root MuiInput-root MuiInput-underline MuiInputBase-formControl MuiInput-formControl"
207
+ class="MuiOutlinedInput-root MuiInputBase-root MuiInputBase-colorPrimary MuiInputBase-formControl emotion-1"
9
208
  >
10
209
  <input
11
210
  aria-invalid="false"
12
- class="MuiInputBase-input MuiInput-input"
211
+ class="MuiOutlinedInput-input MuiInputBase-input emotion-2"
13
212
  name="test"
14
213
  type="text"
15
214
  value="test"
16
215
  />
216
+ <fieldset
217
+ aria-hidden="true"
218
+ class="MuiOutlinedInput-notchedOutline emotion-3"
219
+ >
220
+ <legend
221
+ class="emotion-4"
222
+ >
223
+ <span
224
+ class="notranslate"
225
+ >
226
+
227
+ </span>
228
+ </legend>
229
+ </fieldset>
17
230
  </div>
18
231
  </div>
19
232
  `;
@@ -1,4 +1,4 @@
1
- import { default as MaterialUIToolbar, ToolbarProps } from '@material-ui/core/Toolbar';
1
+ import { default as MaterialUIToolbar, ToolbarProps } from '@mui/material/Toolbar';
2
2
  import React, { forwardRef } from 'react';
3
3
 
4
4
  type ToolbarRef = HTMLDivElement;
@@ -1,4 +1,4 @@
1
- import { default as MaterialUITooltip, TooltipProps } from '@material-ui/core/Tooltip';
1
+ import { default as MaterialUITooltip, TooltipProps } from '@mui/material/Tooltip';
2
2
  import { TFunctionResult } from 'i18next';
3
3
  import React, { forwardRef } from 'react';
4
4
 
@@ -1,4 +1,4 @@
1
- import { makeStyles } from '@material-ui/styles';
1
+ import { makeStyles } from '@mui/styles';
2
2
  import React from 'react';
3
3
 
4
4
  import { Theme } from './theme';
@@ -1,6 +1,6 @@
1
- import CssBaseline from '@material-ui/core/CssBaseline';
2
- import React from 'react';
1
+ import CssBaseline from '@mui/material/CssBaseline';
3
2
  import 'normalize.css';
3
+ import React from 'react';
4
4
 
5
5
  import ResetCSS from './ResetStyles';
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { createContext } from 'react';
2
+ import { Language } from 'src/i18n/enabledLanguages';
2
3
 
3
- import { Language } from '../../i18n/config';
4
4
  interface Props {
5
5
  isDarkMode: boolean;
6
6
  setIsDarkMode: (isDarkMode: boolean) => void;
@@ -1,16 +1,19 @@
1
- import { ThemeProvider as MuiThemeProvider } from '@material-ui/core/styles';
2
- import { ThemeProvider as EmotionThemeProvider } from 'emotion-theming';
1
+ import { StyledEngineProvider, Theme, ThemeProvider } from '@mui/material/styles';
3
2
  import i18next from 'i18next';
4
- import React, { useEffect, useCallback } from 'react';
5
-
3
+ import React, { useCallback, useEffect } from 'react';
6
4
  import { useConfig } from 'verdaccio-ui/providers/config';
7
5
 
8
- import loadDayJSLocale from './load-dayjs-locale';
9
- import { getTheme, ThemeMode } from './theme';
6
+ import useLocalStorage from '../hooks/useLocalStorage';
10
7
  import ThemeContext from './ThemeContext';
11
- import useLocalStorage from './useLocalStorage';
8
+ import loadDayJSLocale from './load-dayjs-locale';
9
+ import { ThemeMode, getTheme } from './theme';
10
+
11
+ declare module '@mui/styles/defaultTheme' {
12
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
13
+ interface DefaultTheme extends Theme {}
14
+ }
12
15
 
13
- const ThemeProvider: React.FC = ({ children }) => {
16
+ const ThemeProviderWrapper: React.FC = ({ children }) => {
14
17
  const prefersDarkMode = window.matchMedia?.('(prefers-color-scheme:dark)').matches;
15
18
  const isDarkModeDefault = window?.__VERDACCIO_BASENAME_UI_OPTIONS?.darkMode || prefersDarkMode;
16
19
  const currentLanguage = i18next.languages?.[0];
@@ -34,11 +37,11 @@ const ThemeProvider: React.FC = ({ children }) => {
34
37
 
35
38
  return (
36
39
  <ThemeContext.Provider value={{ isDarkMode, setIsDarkMode, language, setLanguage }}>
37
- <EmotionThemeProvider theme={currentTheme}>
38
- <MuiThemeProvider theme={currentTheme}>{children}</MuiThemeProvider>
39
- </EmotionThemeProvider>
40
+ <StyledEngineProvider injectFirst={true}>
41
+ <ThemeProvider theme={currentTheme}>{children}</ThemeProvider>
42
+ </StyledEngineProvider>
40
43
  </ThemeContext.Provider>
41
44
  );
42
45
  };
43
46
 
44
- export default ThemeProvider;
47
+ export default ThemeProviderWrapper;
@@ -1,5 +1,4 @@
1
- import createMuiTheme from '@material-ui/core/styles/createMuiTheme';
2
-
1
+ import { adaptV4Theme, createTheme } from '@mui/material/styles';
3
2
  import { PRIMARY_COLOR } from 'verdaccio-ui/utils/colors';
4
3
 
5
4
  const colors = {
@@ -59,6 +58,7 @@ const fontSize = {
59
58
  md: 18,
60
59
  default: 16,
61
60
  sm: 14,
61
+ ssm: 12,
62
62
  };
63
63
 
64
64
  export type FontSize = keyof typeof fontSize;
@@ -92,40 +92,42 @@ type CustomizedTheme = typeof customizedTheme;
92
92
 
93
93
  export const getTheme = (themeMode: ThemeMode, primaryColor: string) => {
94
94
  const palette = applyPrimaryColor(themeMode, primaryColor);
95
- return createMuiTheme({
96
- typography: {
97
- fontFamily: [
98
- '-apple-system',
99
- 'BlinkMacSystemFont',
100
- '"Helvetica Neue"',
101
- 'Arial',
102
- 'sans-serif',
103
- ].join(','),
104
- },
105
- palette: {
106
- type: themeMode,
107
- ...palette,
108
- primary: { main: palette.primary },
109
- secondary: { main: palette.secondary },
110
- error: { main: palette.red },
111
- background: {
112
- default: palette.background,
95
+ return createTheme(
96
+ adaptV4Theme({
97
+ typography: {
98
+ fontFamily: [
99
+ '-apple-system',
100
+ 'BlinkMacSystemFont',
101
+ '"Helvetica Neue"',
102
+ 'Arial',
103
+ 'sans-serif',
104
+ ].join(','),
105
+ },
106
+ palette: {
107
+ mode: themeMode,
108
+ ...palette,
109
+ primary: { main: palette.primary },
110
+ secondary: { main: palette.secondary },
111
+ error: { main: palette.red },
112
+ background: {
113
+ default: palette.background,
114
+ },
113
115
  },
114
- },
115
- ...customizedTheme,
116
- });
116
+ ...customizedTheme,
117
+ })
118
+ );
117
119
  };
118
120
 
119
121
  export type Theme = ReturnType<typeof getTheme>;
120
122
 
121
- declare module '@material-ui/core/styles/createMuiTheme' {
123
+ declare module '@mui/material/styles/createMuiTheme' {
122
124
  /* eslint-disable-next-line @typescript-eslint/no-empty-interface */
123
125
  interface Theme extends CustomizedTheme {}
124
126
  /* eslint-disable-next-line @typescript-eslint/no-empty-interface */
125
- interface ThemeOptions extends CustomizedTheme {}
127
+ interface DeprecatedThemeOptions extends CustomizedTheme {}
126
128
  }
127
129
 
128
- declare module '@material-ui/core/styles/createPalette' {
130
+ declare module '@mui/material/styles/createPalette' {
129
131
  interface CustomPalette {
130
132
  black: string;
131
133
  white: string;
@@ -1,4 +1,4 @@
1
- import { useTheme as muiUseTheme } from '@material-ui/styles';
1
+ import { useTheme as muiUseTheme } from '@mui/styles';
2
2
 
3
3
  import { Theme } from './theme';
4
4
 
File without changes
@@ -0,0 +1,13 @@
1
+ ## Translate UI Strings
2
+
3
+ If you are willing to translate User Interfances strings, are located in the `crowdin` project which is available [here](https://crowdin.com/project/verdaccio) at `packages/plugins/src/i18n/crowdin/ui.json`.
4
+
5
+ ### Requirements
6
+
7
+ - Need a crowdin account, use your GitHub account for fast access as an option.
8
+
9
+ ### Adding a new language to the UI
10
+
11
+ - If the language is not available, ask in the Discord channel to enable it, that will be pretty fast.
12
+ - After you have translated the strings, add to `packages/plugins/ui-theme/src/i18n/enabledLanguages.ts` the configuration for the new language.
13
+ - In development mode the file must not be available since you need admin credentials to download translations, as a work around, create a folder withing the `crowdin` folder eg: `/packages/plugins/ui-theme/src/i18n/download_translations/fr-FR/ui.json` and then will be available for testing. If the language is not found, will fallback to `en-US`.
@@ -0,0 +1,5 @@
1
+ // we don't need real translations by running test
2
+ // it always returns english by default
3
+ export function loadTranslationFile() {
4
+ return require(`../crowdin/ui.json`);
5
+ }
@@ -0,0 +1,38 @@
1
+ import i18n from 'i18next';
2
+ import { initReactI18next } from 'react-i18next';
3
+
4
+ import {
5
+ DEFAULT_LANGUAGE,
6
+ LanguageConfiguration,
7
+ listLanguages,
8
+ listLanguagesAsString,
9
+ } from './enabledLanguages';
10
+ import { loadTranslationFile } from './loadTranslationFile';
11
+
12
+ const languages = listLanguages.reduce((acc, item: LanguageConfiguration) => {
13
+ acc[item.lng] = {
14
+ translation:
15
+ item.lng === DEFAULT_LANGUAGE ? require(`./crowdin/ui.json`) : loadTranslationFile(item.lng),
16
+ };
17
+ return acc;
18
+ }, {});
19
+
20
+ i18n
21
+ // pass the i18n instance to react-i18next.
22
+ .use(initReactI18next)
23
+ // init i18next
24
+ // for all options read: https://www.i18next.com/overview/configuration-options
25
+ .init({
26
+ // in case window.VEDACCIO_LANGUAGE is undefined,it will fall back to 'en-US'
27
+ lng: window?.__VERDACCIO_BASENAME_UI_OPTIONS?.language || DEFAULT_LANGUAGE,
28
+ fallbackLng: DEFAULT_LANGUAGE,
29
+ whitelist: [...listLanguagesAsString],
30
+ load: 'currentOnly',
31
+ resources: languages,
32
+ debug: false,
33
+ interpolation: {
34
+ escapeValue: false, // react already safes from xss
35
+ },
36
+ });
37
+
38
+ export default i18n;
@@ -0,0 +1,170 @@
1
+ {
2
+ "copy-to-clipboard": "Copy to clipboard",
3
+ "author-anonymous": "Anonymous",
4
+ "author-unknown": "Unknown",
5
+ "action-bar-action": {
6
+ "visit-home-page": "Visit homepage",
7
+ "open-an-issue": "Open an issue",
8
+ "download-tarball": "Download tarball"
9
+ },
10
+ "dialog": {
11
+ "registry-info": {
12
+ "title": "Registry Info"
13
+ }
14
+ },
15
+ "header": {
16
+ "documentation": "Documentation",
17
+ "registry-info": "Registry Information",
18
+ "registry-info-link": "Learn more",
19
+ "registry-no-conf": "No configurations available",
20
+ "greetings": "Hi "
21
+ },
22
+ "search": {
23
+ "packages": "Search Packages"
24
+ },
25
+ "autoComplete": {
26
+ "loading": "Loading...",
27
+ "no-results-found": "No results found",
28
+ "clear": "Clear",
29
+ "expand": "Expand",
30
+ "collapse": "Collapse"
31
+ },
32
+ "tab": {
33
+ "uplinks": "Uplinks",
34
+ "versions": "Versions",
35
+ "dependencies": "Dependencies",
36
+ "readme": "Readme"
37
+ },
38
+ "uplinks": {
39
+ "title": "Uplinks",
40
+ "no-items": "{{name}} has no uplinks."
41
+ },
42
+ "versions": {
43
+ "current-tags": "Current Tags",
44
+ "version-history": "Version history",
45
+ "not-available": "Not available"
46
+ },
47
+ "package": {
48
+ "published-on": "Published on {{time}} •",
49
+ "version": "v{{version}}",
50
+ "visit-home-page": "Visit homepage",
51
+ "homepage": "Homepage",
52
+ "open-an-issue": "Open an issue",
53
+ "bugs": "Bugs",
54
+ "download": "Download {{what}}",
55
+ "the-tar-file": "the tar file",
56
+ "tarball": "Tarball"
57
+ },
58
+ "dependencies": {
59
+ "has-no-dependencies": "{{package}} has no dependencies.",
60
+ "dependency-block": "{{package}}@{{version}}"
61
+ },
62
+ "form": {
63
+ "username": "Username",
64
+ "password": "Password"
65
+ },
66
+ "form-placeholder": {
67
+ "username": "Your username",
68
+ "password": "Your strong password"
69
+ },
70
+ "form-validation": {
71
+ "required-field": "This field is required",
72
+ "required-min-length": "This field required the min length of {{length}}",
73
+ "unable-to-sign-in": "Unable to sign in",
74
+ "username-or-password-cant-be-empty": "Username or password can't be empty!"
75
+ },
76
+ "help": {
77
+ "title": "No Package Published Yet.",
78
+ "sub-title": "To publish your first package just:",
79
+ "first-step": "1. Login",
80
+ "first-step-command-line": "npm adduser --registry {{registryUrl}}",
81
+ "second-step": "2. Publish",
82
+ "second-step-command-line": "npm publish --registry {{registryUrl}}",
83
+ "third-step": "3. Refresh this page"
84
+ },
85
+ "sidebar": {
86
+ "detail": {
87
+ "latest-version": "Latest v{{version}}",
88
+ "version": "v{{version}}"
89
+ },
90
+ "installation": {
91
+ "title": "Installation",
92
+ "install-using-yarn": "Install using yarn",
93
+ "install-using-yarn-command": "yarn add {{packageName}}",
94
+ "install-using-npm": "Install using npm",
95
+ "install-using-npm-command": "npm install {{packageName}}",
96
+ "install-using-pnpm": "Install using pnpm",
97
+ "install-using-pnpm-command": "pnpm install {{packageName}}"
98
+ },
99
+ "repository": {
100
+ "title": "Repository"
101
+ },
102
+ "author": {
103
+ "title": "Author"
104
+ },
105
+ "distribution": {
106
+ "title": "Latest Distribution",
107
+ "license": "License",
108
+ "size": "Size",
109
+ "file-count": "file count"
110
+ },
111
+ "maintainers": {
112
+ "title": "Maintainers"
113
+ },
114
+ "contributors": {
115
+ "title": "Contributors"
116
+ },
117
+ "engines": {
118
+ "npm-version": "NPM Version",
119
+ "node-js": "NODE JS"
120
+ }
121
+ },
122
+ "footer": {
123
+ "powered-by": "Powered by",
124
+ "made-with-love-on": "Made with <0>♥</0> on"
125
+ },
126
+ "button": {
127
+ "close": "Close",
128
+ "cancel": "Cancel",
129
+ "login": "Login",
130
+ "logout": "Logout",
131
+ "go-to-the-home-page": "Go to the home page",
132
+ "learn-more": "Learn More",
133
+ "fund-this-package": "<0>Fund</0> this package"
134
+ },
135
+ "error": {
136
+ "unspecific": "Something went wrong.",
137
+ "404": {
138
+ "page-not-found": "404 - Page not found",
139
+ "sorry-we-could-not-find-it": "Sorry, we couldn't find it..."
140
+ },
141
+ "app-context-not-correct-used": "The app context was not used correctly",
142
+ "theme-context-not-correct-used": "The theme context was not used correctly",
143
+ "package-meta-is-required-at-detail-context": "packageMeta is required at DetailContext"
144
+ },
145
+ "lng": {
146
+ "english": "English",
147
+ "czech": "Czech",
148
+ "japanese": "Japanese",
149
+ "portuguese": "Portuguese",
150
+ "spanish": "Spanish",
151
+ "german": "German",
152
+ "chinese": "Chinese",
153
+ "chineseTraditional": "Chinese (Traditional)",
154
+ "french": "French",
155
+ "russian": "Russian",
156
+ "turkish": "Turkish",
157
+ "ukraine": "Ukraine",
158
+ "khmer": "Khmer"
159
+ },
160
+ "flag": {
161
+ "austria": "Austria",
162
+ "brazil": "Brazil",
163
+ "spain": "Spain",
164
+ "nicaragua": "Nicaragua",
165
+ "india": "India",
166
+ "china": "China",
167
+ "germany": "Germany",
168
+ "taiwan": "Taiwan"
169
+ }
170
+ }