@bottlebooks/valid-values 1.1.0

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 (375) hide show
  1. package/.babelrc +9 -0
  2. package/.eslintrc +11 -0
  3. package/CHANGELOG.md +53 -0
  4. package/dist/index.d.ts +5 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +37 -0
  7. package/dist/locales/locales.d.ts +68 -0
  8. package/dist/locales/locales.d.ts.map +1 -0
  9. package/dist/locales/locales.js +135 -0
  10. package/dist/locales/po/bg.d.js +5 -0
  11. package/dist/locales/po/bg.d.ts +2462 -0
  12. package/dist/locales/po/bg.d.ts.map +1 -0
  13. package/dist/locales/po/bg.js +2470 -0
  14. package/dist/locales/po/de.d.js +5 -0
  15. package/dist/locales/po/de.d.ts +2462 -0
  16. package/dist/locales/po/de.d.ts.map +1 -0
  17. package/dist/locales/po/de.js +2470 -0
  18. package/dist/locales/po/ee.d.js +5 -0
  19. package/dist/locales/po/ee.d.ts +2462 -0
  20. package/dist/locales/po/ee.d.ts.map +1 -0
  21. package/dist/locales/po/ee.js +2470 -0
  22. package/dist/locales/po/en.d.js +5 -0
  23. package/dist/locales/po/en.d.ts +2462 -0
  24. package/dist/locales/po/en.d.ts.map +1 -0
  25. package/dist/locales/po/en.js +2470 -0
  26. package/dist/locales/po/es.d.js +5 -0
  27. package/dist/locales/po/es.d.ts +2462 -0
  28. package/dist/locales/po/es.d.ts.map +1 -0
  29. package/dist/locales/po/es.js +2470 -0
  30. package/dist/locales/po/fi.d.js +5 -0
  31. package/dist/locales/po/fi.d.ts +2462 -0
  32. package/dist/locales/po/fi.d.ts.map +1 -0
  33. package/dist/locales/po/fi.js +2470 -0
  34. package/dist/locales/po/fr.d.js +5 -0
  35. package/dist/locales/po/fr.d.ts +2462 -0
  36. package/dist/locales/po/fr.d.ts.map +1 -0
  37. package/dist/locales/po/fr.js +2470 -0
  38. package/dist/locales/po/hr.d.js +5 -0
  39. package/dist/locales/po/hr.d.ts +2462 -0
  40. package/dist/locales/po/hr.d.ts.map +1 -0
  41. package/dist/locales/po/hr.js +2470 -0
  42. package/dist/locales/po/hu.d.js +5 -0
  43. package/dist/locales/po/hu.d.ts +2462 -0
  44. package/dist/locales/po/hu.d.ts.map +1 -0
  45. package/dist/locales/po/hu.js +2470 -0
  46. package/dist/locales/po/it.d.js +5 -0
  47. package/dist/locales/po/it.d.ts +2462 -0
  48. package/dist/locales/po/it.d.ts.map +1 -0
  49. package/dist/locales/po/it.js +2470 -0
  50. package/dist/locales/po/lt.d.js +5 -0
  51. package/dist/locales/po/lt.d.ts +2462 -0
  52. package/dist/locales/po/lt.d.ts.map +1 -0
  53. package/dist/locales/po/lt.js +2470 -0
  54. package/dist/locales/po/lv.d.js +5 -0
  55. package/dist/locales/po/lv.d.ts +2462 -0
  56. package/dist/locales/po/lv.d.ts.map +1 -0
  57. package/dist/locales/po/lv.js +2470 -0
  58. package/dist/locales/po/mt.d.js +5 -0
  59. package/dist/locales/po/mt.d.ts +2462 -0
  60. package/dist/locales/po/mt.d.ts.map +1 -0
  61. package/dist/locales/po/mt.js +2470 -0
  62. package/dist/locales/po/nl.d.js +5 -0
  63. package/dist/locales/po/nl.d.ts +2462 -0
  64. package/dist/locales/po/nl.d.ts.map +1 -0
  65. package/dist/locales/po/nl.js +2470 -0
  66. package/dist/locales/po/pl.d.js +5 -0
  67. package/dist/locales/po/pl.d.ts +2462 -0
  68. package/dist/locales/po/pl.d.ts.map +1 -0
  69. package/dist/locales/po/pl.js +2470 -0
  70. package/dist/locales/po/pt.d.js +5 -0
  71. package/dist/locales/po/pt.d.ts +2462 -0
  72. package/dist/locales/po/pt.d.ts.map +1 -0
  73. package/dist/locales/po/pt.js +2470 -0
  74. package/dist/locales/po/ro.d.js +5 -0
  75. package/dist/locales/po/ro.d.ts +2462 -0
  76. package/dist/locales/po/ro.d.ts.map +1 -0
  77. package/dist/locales/po/ro.js +2470 -0
  78. package/dist/locales/po/se.d.js +5 -0
  79. package/dist/locales/po/se.d.ts +2462 -0
  80. package/dist/locales/po/se.d.ts.map +1 -0
  81. package/dist/locales/po/se.js +2470 -0
  82. package/dist/locales/po/si.d.js +5 -0
  83. package/dist/locales/po/si.d.ts +2462 -0
  84. package/dist/locales/po/si.d.ts.map +1 -0
  85. package/dist/locales/po/si.js +2470 -0
  86. package/dist/locales/po/sk.d.js +5 -0
  87. package/dist/locales/po/sk.d.ts +2462 -0
  88. package/dist/locales/po/sk.d.ts.map +1 -0
  89. package/dist/locales/po/sk.js +2470 -0
  90. package/dist/main.d.ts +2 -0
  91. package/dist/main.d.ts.map +1 -0
  92. package/dist/main.js +52 -0
  93. package/dist/validValues/award.d.ts +21 -0
  94. package/dist/validValues/award.d.ts.map +1 -0
  95. package/dist/validValues/award.js +1269 -0
  96. package/dist/validValues/awardMedal.d.ts +21 -0
  97. package/dist/validValues/awardMedal.d.ts.map +1 -0
  98. package/dist/validValues/awardMedal.js +2297 -0
  99. package/dist/validValues/beerStyle.d.ts +23 -0
  100. package/dist/validValues/beerStyle.d.ts.map +1 -0
  101. package/dist/validValues/beerStyle.js +947 -0
  102. package/dist/validValues/certification.d.ts +21 -0
  103. package/dist/validValues/certification.d.ts.map +1 -0
  104. package/dist/validValues/certification.js +285 -0
  105. package/dist/validValues/country.d.ts +21 -0
  106. package/dist/validValues/country.d.ts.map +1 -0
  107. package/dist/validValues/country.js +1634 -0
  108. package/dist/validValues/designation.d.ts +748 -0
  109. package/dist/validValues/designation.d.ts.map +1 -0
  110. package/dist/validValues/designation.js +165 -0
  111. package/dist/validValues/ingredient.d.ts +36 -0
  112. package/dist/validValues/ingredient.d.ts.map +1 -0
  113. package/dist/validValues/ingredient.js +719 -0
  114. package/dist/validValues/json/awards.d.ts +2 -0
  115. package/dist/validValues/json/awards.d.ts.map +1 -0
  116. package/dist/validValues/json/awardsMedals.d.ts +2 -0
  117. package/dist/validValues/json/awardsMedals.d.ts.map +1 -0
  118. package/dist/validValues/json/beerStyle.d.ts +2 -0
  119. package/dist/validValues/json/beerStyle.d.ts.map +1 -0
  120. package/dist/validValues/json/country.d.ts +2 -0
  121. package/dist/validValues/json/country.d.ts.map +1 -0
  122. package/dist/validValues/json/designation.d.ts +2 -0
  123. package/dist/validValues/json/designation.d.ts.map +1 -0
  124. package/dist/validValues/json/eLabelCertification.d.ts +2 -0
  125. package/dist/validValues/json/eLabelCertification.d.ts.map +1 -0
  126. package/dist/validValues/json/ingredient.d.ts +2 -0
  127. package/dist/validValues/json/ingredient.d.ts.map +1 -0
  128. package/dist/validValues/json/packagingCertification.d.ts +2 -0
  129. package/dist/validValues/json/packagingCertification.d.ts.map +1 -0
  130. package/dist/validValues/json/packagingCertifications.d.ts +2 -0
  131. package/dist/validValues/json/packagingCertifications.d.ts.map +1 -0
  132. package/dist/validValues/json/productType.d.ts +2 -0
  133. package/dist/validValues/json/productType.d.ts.map +1 -0
  134. package/dist/validValues/json/productionMethod.d.ts +2 -0
  135. package/dist/validValues/json/productionMethod.d.ts.map +1 -0
  136. package/dist/validValues/json/region.d.ts +2 -0
  137. package/dist/validValues/json/region.d.ts.map +1 -0
  138. package/dist/validValues/json/responsibleConsumptionLogo.d.ts +2 -0
  139. package/dist/validValues/json/responsibleConsumptionLogo.d.ts.map +1 -0
  140. package/dist/validValues/json/responsibleConsumptionLogos.d.ts +2 -0
  141. package/dist/validValues/json/responsibleConsumptionLogos.d.ts.map +1 -0
  142. package/dist/validValues/json/subregion.d.ts +2 -0
  143. package/dist/validValues/json/subregion.d.ts.map +1 -0
  144. package/dist/validValues/json/varietyName.d.ts +2 -0
  145. package/dist/validValues/json/varietyName.d.ts.map +1 -0
  146. package/dist/validValues/json/wineColor.d.ts +2 -0
  147. package/dist/validValues/json/wineColor.d.ts.map +1 -0
  148. package/dist/validValues/json/wineType.d.ts +2 -0
  149. package/dist/validValues/json/wineType.d.ts.map +1 -0
  150. package/dist/validValues/packagingCertification.d.ts +36 -0
  151. package/dist/validValues/packagingCertification.d.ts.map +1 -0
  152. package/dist/validValues/packagingCertification.js +55 -0
  153. package/dist/validValues/productType.d.ts +21 -0
  154. package/dist/validValues/productType.d.ts.map +1 -0
  155. package/dist/validValues/productType.js +407 -0
  156. package/dist/validValues/productionMethod.d.ts +23 -0
  157. package/dist/validValues/productionMethod.d.ts.map +1 -0
  158. package/dist/validValues/productionMethod.js +137 -0
  159. package/dist/validValues/region.d.ts +21 -0
  160. package/dist/validValues/region.d.ts.map +1 -0
  161. package/dist/validValues/region.js +5264 -0
  162. package/dist/validValues/responsibleConsumptionLogo.d.ts +21 -0
  163. package/dist/validValues/responsibleConsumptionLogo.d.ts.map +1 -0
  164. package/dist/validValues/responsibleConsumptionLogo.js +69 -0
  165. package/dist/validValues/subregion.d.ts +21 -0
  166. package/dist/validValues/subregion.d.ts.map +1 -0
  167. package/dist/validValues/subregion.js +13867 -0
  168. package/dist/validValues/types/Award.d.ts +35 -0
  169. package/dist/validValues/types/Award.d.ts.map +1 -0
  170. package/dist/validValues/types/Award.js +5 -0
  171. package/dist/validValues/types/Certification.d.ts +17 -0
  172. package/dist/validValues/types/Certification.d.ts.map +1 -0
  173. package/dist/validValues/types/Certification.js +5 -0
  174. package/dist/validValues/types/CertificationTag.d.ts +2 -0
  175. package/dist/validValues/types/CertificationTag.d.ts.map +1 -0
  176. package/dist/validValues/types/CertificationTag.js +5 -0
  177. package/dist/validValues/types/Country.d.ts +35 -0
  178. package/dist/validValues/types/Country.d.ts.map +1 -0
  179. package/dist/validValues/types/Country.js +5 -0
  180. package/dist/validValues/types/Ingredient.d.ts +21 -0
  181. package/dist/validValues/types/Ingredient.d.ts.map +1 -0
  182. package/dist/validValues/types/Ingredient.js +5 -0
  183. package/dist/validValues/types/IngredientTag.d.ts +2 -0
  184. package/dist/validValues/types/IngredientTag.d.ts.map +1 -0
  185. package/dist/validValues/types/IngredientTag.js +5 -0
  186. package/dist/validValues/types/LocalizedValidValue.d.ts +12 -0
  187. package/dist/validValues/types/LocalizedValidValue.d.ts.map +1 -0
  188. package/dist/validValues/types/LocalizedValidValue.js +5 -0
  189. package/dist/validValues/types/ProductType.d.ts +6 -0
  190. package/dist/validValues/types/ProductType.d.ts.map +1 -0
  191. package/dist/validValues/types/ProductType.js +5 -0
  192. package/dist/validValues/types/ProductTypeKey.d.ts +2 -0
  193. package/dist/validValues/types/ProductTypeKey.d.ts.map +1 -0
  194. package/dist/validValues/types/ProductTypeKey.js +5 -0
  195. package/dist/validValues/types/Region.d.ts +35 -0
  196. package/dist/validValues/types/Region.d.ts.map +1 -0
  197. package/dist/validValues/types/Region.js +5 -0
  198. package/dist/validValues/types/ResponsibleConsumptionLogo.d.ts +15 -0
  199. package/dist/validValues/types/ResponsibleConsumptionLogo.d.ts.map +1 -0
  200. package/dist/validValues/types/ResponsibleConsumptionLogo.js +5 -0
  201. package/dist/validValues/types/ValidValueDefinition.d.ts +34 -0
  202. package/dist/validValues/types/ValidValueDefinition.d.ts.map +1 -0
  203. package/dist/validValues/types/ValidValueDefinition.js +5 -0
  204. package/dist/validValues/types/ValidValueLocale.d.ts +3 -0
  205. package/dist/validValues/types/ValidValueLocale.d.ts.map +1 -0
  206. package/dist/validValues/types/ValidValueLocale.js +5 -0
  207. package/dist/validValues/utils/createValidValues.d.ts +29 -0
  208. package/dist/validValues/utils/createValidValues.d.ts.map +1 -0
  209. package/dist/validValues/utils/createValidValues.js +101 -0
  210. package/dist/validValues/varietyName.d.ts +23 -0
  211. package/dist/validValues/varietyName.d.ts.map +1 -0
  212. package/dist/validValues/varietyName.js +9800 -0
  213. package/dist/validValues/wineColor.d.ts +23 -0
  214. package/dist/validValues/wineColor.d.ts.map +1 -0
  215. package/dist/validValues/wineColor.js +57 -0
  216. package/dist/validValues/wineType.d.ts +23 -0
  217. package/dist/validValues/wineType.d.ts.map +1 -0
  218. package/dist/validValues/wineType.js +57 -0
  219. package/dist/validValues.d.ts +17 -0
  220. package/dist/validValues.d.ts.map +1 -0
  221. package/dist/validValues.js +135 -0
  222. package/dist/vite-env.d.js +2 -0
  223. package/index.html +12 -0
  224. package/lingui.config.ts +39 -0
  225. package/package.json +36 -0
  226. package/src/index.ts +10 -0
  227. package/src/locales/json/bg.json +51 -0
  228. package/src/locales/json/cz.json +51 -0
  229. package/src/locales/json/de.json +51 -0
  230. package/src/locales/json/dk.json +51 -0
  231. package/src/locales/json/ee.json +51 -0
  232. package/src/locales/json/en.json +41 -0
  233. package/src/locales/json/es.json +51 -0
  234. package/src/locales/json/fi.json +51 -0
  235. package/src/locales/json/fr.json +51 -0
  236. package/src/locales/json/gr.json +51 -0
  237. package/src/locales/json/hr.json +51 -0
  238. package/src/locales/json/hu.json +51 -0
  239. package/src/locales/json/ie.json +51 -0
  240. package/src/locales/json/it.json +51 -0
  241. package/src/locales/json/json.json +50 -0
  242. package/src/locales/json/lt.json +51 -0
  243. package/src/locales/json/lv.json +51 -0
  244. package/src/locales/json/mt.json +51 -0
  245. package/src/locales/json/nl.json +51 -0
  246. package/src/locales/json/pl.json +51 -0
  247. package/src/locales/json/props.json +3 -0
  248. package/src/locales/json/pt.json +51 -0
  249. package/src/locales/json/ro.json +51 -0
  250. package/src/locales/json/se.json +50 -0
  251. package/src/locales/json/si.json +51 -0
  252. package/src/locales/json/sk.json +3 -0
  253. package/src/locales/locales.ts +91 -0
  254. package/src/locales/po/bg.d.ts +4 -0
  255. package/src/locales/po/bg.po +9848 -0
  256. package/src/locales/po/bg.ts +1 -0
  257. package/src/locales/po/cz.po +156 -0
  258. package/src/locales/po/de.d.ts +4 -0
  259. package/src/locales/po/de.po +9848 -0
  260. package/src/locales/po/de.ts +1 -0
  261. package/src/locales/po/dk.po +156 -0
  262. package/src/locales/po/ee.d.ts +4 -0
  263. package/src/locales/po/ee.po +9848 -0
  264. package/src/locales/po/ee.ts +1 -0
  265. package/src/locales/po/en.d.ts +4 -0
  266. package/src/locales/po/en.po +9850 -0
  267. package/src/locales/po/en.ts +1 -0
  268. package/src/locales/po/es.d.ts +4 -0
  269. package/src/locales/po/es.po +9848 -0
  270. package/src/locales/po/es.ts +1 -0
  271. package/src/locales/po/fi.d.ts +4 -0
  272. package/src/locales/po/fi.po +9848 -0
  273. package/src/locales/po/fi.ts +1 -0
  274. package/src/locales/po/fr.d.ts +4 -0
  275. package/src/locales/po/fr.po +9848 -0
  276. package/src/locales/po/fr.ts +1 -0
  277. package/src/locales/po/gr.po +156 -0
  278. package/src/locales/po/hr.d.ts +4 -0
  279. package/src/locales/po/hr.po +9848 -0
  280. package/src/locales/po/hr.ts +1 -0
  281. package/src/locales/po/hu.d.ts +4 -0
  282. package/src/locales/po/hu.po +9848 -0
  283. package/src/locales/po/hu.ts +1 -0
  284. package/src/locales/po/ie.po +156 -0
  285. package/src/locales/po/it.d.ts +4 -0
  286. package/src/locales/po/it.po +9848 -0
  287. package/src/locales/po/it.ts +1 -0
  288. package/src/locales/po/lt.d.ts +4 -0
  289. package/src/locales/po/lt.po +9848 -0
  290. package/src/locales/po/lt.ts +1 -0
  291. package/src/locales/po/lv.d.ts +4 -0
  292. package/src/locales/po/lv.po +9848 -0
  293. package/src/locales/po/lv.ts +1 -0
  294. package/src/locales/po/mt.d.ts +4 -0
  295. package/src/locales/po/mt.po +9848 -0
  296. package/src/locales/po/mt.ts +1 -0
  297. package/src/locales/po/nl.d.ts +4 -0
  298. package/src/locales/po/nl.po +9848 -0
  299. package/src/locales/po/nl.ts +1 -0
  300. package/src/locales/po/pl.d.ts +4 -0
  301. package/src/locales/po/pl.po +9848 -0
  302. package/src/locales/po/pl.ts +1 -0
  303. package/src/locales/po/pt.d.ts +4 -0
  304. package/src/locales/po/pt.po +9848 -0
  305. package/src/locales/po/pt.ts +1 -0
  306. package/src/locales/po/ro.d.ts +4 -0
  307. package/src/locales/po/ro.po +9848 -0
  308. package/src/locales/po/ro.ts +1 -0
  309. package/src/locales/po/se.d.ts +4 -0
  310. package/src/locales/po/se.po +9848 -0
  311. package/src/locales/po/se.ts +1 -0
  312. package/src/locales/po/si.d.ts +4 -0
  313. package/src/locales/po/si.po +9848 -0
  314. package/src/locales/po/si.ts +1 -0
  315. package/src/locales/po/sk.d.ts +4 -0
  316. package/src/locales/po/sk.po +9848 -0
  317. package/src/locales/po/sk.ts +1 -0
  318. package/src/main.ts +44 -0
  319. package/src/scripts/README.md +6 -0
  320. package/src/scripts/transformArchitectureVV.js +143 -0
  321. package/src/scripts/transformServerVV.js +70 -0
  322. package/src/scripts/writeFields.not.test.js +60 -0
  323. package/src/style.css +96 -0
  324. package/src/validValues/award.ts +2490 -0
  325. package/src/validValues/awardMedal.ts +1830 -0
  326. package/src/validValues/beerStyle.ts +750 -0
  327. package/src/validValues/certification.ts +275 -0
  328. package/src/validValues/country.ts +1844 -0
  329. package/src/validValues/designation.ts +198 -0
  330. package/src/validValues/ingredient.ts +932 -0
  331. package/src/validValues/json/awards.js +3194 -0
  332. package/src/validValues/json/awardsMedals.js +1828 -0
  333. package/src/validValues/json/beerStyle.js +748 -0
  334. package/src/validValues/json/country.js +2039 -0
  335. package/src/validValues/json/designation.js +114 -0
  336. package/src/validValues/json/eLabelCertification.js +328 -0
  337. package/src/validValues/json/ingredient.js +913 -0
  338. package/src/validValues/json/packagingCertification.js +52 -0
  339. package/src/validValues/json/packagingCertifications.js +64 -0
  340. package/src/validValues/json/productType.js +315 -0
  341. package/src/validValues/json/productionMethod.js +100 -0
  342. package/src/validValues/json/region.js +5801 -0
  343. package/src/validValues/json/responsibleConsumptionLogo.js +48 -0
  344. package/src/validValues/json/responsibleConsumptionLogos.js +48 -0
  345. package/src/validValues/json/subregion.js +11084 -0
  346. package/src/validValues/json/varietyName.js +9789 -0
  347. package/src/validValues/json/wineColor.js +36 -0
  348. package/src/validValues/json/wineType.js +36 -0
  349. package/src/validValues/packagingCertification.ts +65 -0
  350. package/src/validValues/productType.ts +318 -0
  351. package/src/validValues/productionMethod.ts +102 -0
  352. package/src/validValues/region.ts +5803 -0
  353. package/src/validValues/responsibleConsumptionLogo.ts +50 -0
  354. package/src/validValues/subregion.ts +11085 -0
  355. package/src/validValues/types/Award.ts +39 -0
  356. package/src/validValues/types/Certification.ts +18 -0
  357. package/src/validValues/types/CertificationTag.ts +1 -0
  358. package/src/validValues/types/Country.ts +39 -0
  359. package/src/validValues/types/Ingredient.ts +22 -0
  360. package/src/validValues/types/IngredientTag.ts +19 -0
  361. package/src/validValues/types/LocalizedValidValue.ts +17 -0
  362. package/src/validValues/types/ProductType.ts +7 -0
  363. package/src/validValues/types/ProductTypeKey.ts +40 -0
  364. package/src/validValues/types/Region.ts +39 -0
  365. package/src/validValues/types/ResponsibleConsumptionLogo.ts +17 -0
  366. package/src/validValues/types/ValidValueDefinition.ts +38 -0
  367. package/src/validValues/types/ValidValueLocale.ts +4 -0
  368. package/src/validValues/utils/createValidValues.ts +74 -0
  369. package/src/validValues/varietyName.ts +9791 -0
  370. package/src/validValues/wineColor.ts +38 -0
  371. package/src/validValues/wineType.ts +38 -0
  372. package/src/validValues.ts +18 -0
  373. package/src/vite-env.d.ts +1 -0
  374. package/tsconfig.json +28 -0
  375. package/vite.config.js +41 -0
package/src/main.ts ADDED
@@ -0,0 +1,44 @@
1
+ import createValidValues from './validValues/utils/createValidValues.js';
2
+ import './style.css';
3
+ import * as validValues from './validValues.js';
4
+
5
+ document.querySelector<HTMLDivElement>('#app')!.innerHTML = `
6
+ <div>
7
+ <h1>ValidValues</h1>
8
+ ${Object.entries(validValues)
9
+ .map(([key, values]) => {
10
+ if (values.list) {
11
+ const list = values.list as ReturnType<
12
+ typeof createValidValues
13
+ >['list'];
14
+ return `<h2>${key}</h2>
15
+ <pre>${list().map((item, i) =>
16
+ i === 0
17
+ ? JSON.stringify(
18
+ {
19
+ // @ts-ignore
20
+ id: item.id,
21
+ 'title(en)': item.getTitle('en'),
22
+ 'title(de)': item.getTitle('de'),
23
+ titles: item.getTitles(['de', 'en', 'es', 'fr']),
24
+ ...item,
25
+ form: item.form && {
26
+ ...item.form,
27
+ // 'description(en)': item.form?.getDescription('en'),
28
+ // 'description(de)': item.form?.getDescription('de'),
29
+ },
30
+ },
31
+ undefined,
32
+ 2
33
+ )
34
+ : ''
35
+ )}</pre>
36
+ `;
37
+ }
38
+ return `<h2>${key}</h2>
39
+ <pre>${JSON.stringify(values, undefined, 2)}</pre>
40
+ `;
41
+ })
42
+ .join('')}</pre></code>
43
+ </div>
44
+ `;
@@ -0,0 +1,6 @@
1
+ Steps for transformis legacy server side valid values
2
+ 1. run writeFields.not.test.js
3
+ 2. for every valid value category copy ```validValues/json/$category.json``` itno ```validValus/$category.ts```
4
+ 2.1. Search ```title: \{(.*?(.|[\n])*?)\}``` and replace with ```title: defineMessage({$1})```
5
+ 2.2. Search ```description: \{(.*?(.|[\n])*?)\}``` and replace with ```description: defineMessage({$1})```
6
+ 3. Generated files created under /locales/json can be copied into qr-app/src/assets/i18n-ext
@@ -0,0 +1,143 @@
1
+ // const { sortBy } = require('lodash');
2
+ const mappings = require('../../../../bottlebooks-server/architecture/validvalues/mappings');
3
+
4
+ const all = {
5
+ // awards: {
6
+ // _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/awards.json'),
7
+ // _mapping: { medals: mappings['awards-awardsMedals'] },
8
+ // props: { addForm: false },
9
+ // },
10
+ // awardsMedals: {
11
+ // _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/awardsMedals.json'),
12
+ // props: { addForm: false },
13
+ // },
14
+ // wineColor: {
15
+ // _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/wineColor.json'),
16
+ // props: { addForm: false },
17
+ // },
18
+ // wineType: {
19
+ // _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/wineType.json'),
20
+ // props: { addForm: false },
21
+ // },
22
+ // designation: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/designation.json'),
23
+ // country: {
24
+ // _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/country.json'),
25
+ // _mapping: { regions: mappings['country-appelation'] },
26
+ // props: { addForm: false },
27
+ // },
28
+ // region: {
29
+ // _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/appelation'),
30
+ // _mapping: { subregions: mappings['appelation-subregion'] },
31
+ // props: { addForm: true },
32
+ // },
33
+ // subregion: {
34
+ // _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/subregion'),
35
+ // props: { addForm: true },
36
+ // },
37
+ // beerStyle: {
38
+ // _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/beerStyle.json'),
39
+ // props: { addForm: false },
40
+ // },
41
+ // varietyName: {
42
+ // _json: require('../../../../bottlebooks-server/architecture/validvalues/validvalues/grapes.json'),
43
+ // props: { addForm: false },
44
+ // },
45
+ };
46
+ module.exports = extractAll;
47
+
48
+ function extractAll() {
49
+ const r = Object.entries(all)
50
+ .sort()
51
+ .map(([validValueCategory, vv]) => {
52
+ const _mapping = vv._mapping;
53
+ let addForm = true;
54
+ const withoutTranslations = ['varietyName', 'awards'].find(
55
+ (category) => category === validValueCategory
56
+ );
57
+ const keyIsTitle = ['varietyName'].includes(validValueCategory);
58
+ if (vv._json) {
59
+ vv = vv._json;
60
+ addForm = vv.props?.addForm;
61
+ }
62
+ const i18n = {};
63
+ const _all = vv._all || {};
64
+ const keys = Object.keys(vv);
65
+ const tsVV = keys.reduce((acc, locale) => {
66
+ if (validValueCategory === 'awards') {
67
+ if (locale === '_all') locale = 'en_US';
68
+ else return acc; //ignore noAwardsYet
69
+ }
70
+
71
+ //assume _all as english version when en_US is not defined in json file.
72
+ if (locale === '_all' && !keys?.includes('en_US')) locale = 'en_US';
73
+ if (locale === 'sort') {
74
+ if ('none' !== vv[locale]) {
75
+ throw new Error(`Unhandled ${validValueCategory} sort=${locale}`);
76
+ }
77
+ return acc;
78
+ } else if (locale === '_all') {
79
+ return acc;
80
+ }
81
+ const oneLocaleValidValues = { ..._all, ...vv[locale] };
82
+ const localeParts = locale.split('_');
83
+ locale = localeParts[0];
84
+ const newValidValues = Object.keys(oneLocaleValidValues)
85
+ .sort()
86
+ .reduce((acc, key) => {
87
+ const newKey = `validValues.${validValueCategory}.${key}`;
88
+ const title = oneLocaleValidValues[key];
89
+ i18n[locale] = i18n[locale] || {};
90
+ i18n[locale][newKey] = title;
91
+ if (locale === 'en') {
92
+ const logo = null;
93
+ let newValidValue = {
94
+ key,
95
+ title: {
96
+ id: newKey,
97
+ message: title,
98
+ },
99
+ frontend: logo ? { logo } : undefined,
100
+ form: addForm
101
+ ? {
102
+ tags: [],
103
+ productType: [],
104
+ //
105
+ // description:
106
+ // // 'defineMessage(' +
107
+ // {
108
+ // comment: 'Description for ingredient, used in edit forms.',
109
+ // message: '',
110
+ // },
111
+ }
112
+ : {},
113
+ };
114
+ if (_mapping) {
115
+ const prop = Object.keys(_mapping)[0];
116
+ newValidValue = {
117
+ ...newValidValue,
118
+ [prop]: _mapping[prop]?.[key] || [],
119
+ };
120
+ }
121
+
122
+ acc = acc || {};
123
+ if (withoutTranslations) {
124
+ if (keyIsTitle) {
125
+ acc[title] = { ...newValidValue, title: title, key: title };
126
+ } else {
127
+ acc[key] = { ...newValidValue, title: title };
128
+ }
129
+ } else {
130
+ acc[key] = newValidValue;
131
+ }
132
+ } else {
133
+ }
134
+ return acc;
135
+ }, {});
136
+
137
+ // console.log(i);
138
+ return { ...acc, ...newValidValues };
139
+ }, {});
140
+ return { name: validValueCategory, tsVV, i18n };
141
+ });
142
+ return r;
143
+ }
@@ -0,0 +1,70 @@
1
+ const { sortBy } = require('lodash');
2
+
3
+ const all = {
4
+ // ingredient: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/off/ingredient'),
5
+ // eLabelCertification: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/off/eLabelCertifications'),
6
+ // packagingCertification: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/packagingCertifications'),
7
+ // productType: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/productType'),
8
+ // productionMethod: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/productionMethod'),
9
+ // responsibleConsumptionLogo: require('@bottlebooks/graphql-server/src/resolvers/_eLabels/ELabel/validValues/responsibleConsumptionLogos'),
10
+ };
11
+ const withoutTranslations = ['eLabelCertification', 'packagingCertification'];
12
+ module.exports = extractAll;
13
+
14
+ function extractAll() {
15
+ return Object.entries(all)
16
+ .sort()
17
+ .map(([validValueCategory, vv]) => {
18
+ const i18n = {};
19
+ const tsVV = sortBy(Object.entries(vv), ([key, val]) => key).reduce(
20
+ (acc, [key, { tags, productType, logo, locales }]) => {
21
+ const newKey = `validValues.${validValueCategory}.${key}`;
22
+ for (const locale in locales) {
23
+ i18n[locale] = i18n[locale] || {};
24
+ // Certain valid values should not be translated
25
+ if (
26
+ withoutTranslations.find(
27
+ (category) => category === validValueCategory
28
+ )
29
+ ) {
30
+ // i18n[locale][newKey] = locales.en;
31
+ } else {
32
+ const translation = locales[locale];
33
+ if (translation) i18n[locale][newKey] = locales[locale];
34
+ }
35
+ }
36
+ const validValue = {
37
+ key,
38
+ // name: locales.en,
39
+ title: {
40
+ id: newKey,
41
+ message: locales.en,
42
+ },
43
+ frontend: logo ? { logo } : undefined,
44
+ form: {
45
+ tags,
46
+ productType,
47
+ //
48
+ // description:
49
+ // // 'defineMessage(' +
50
+ // {
51
+ // comment: 'Description for ingredient, used in edit forms.',
52
+ // message: '',
53
+ // },
54
+ },
55
+ };
56
+
57
+ // Certain valid values should not be translated
58
+ if (withoutTranslations.includes(validValueCategory)) {
59
+ validValue.title = locales.en;
60
+ }
61
+ // console.log(i);
62
+ acc[key] = validValue;
63
+ return acc;
64
+ },
65
+ {}
66
+ );
67
+ return { name: validValueCategory, tsVV, i18n };
68
+ });
69
+ // ['sk'].map((locale) => {
70
+ }
@@ -0,0 +1,60 @@
1
+ const fs = require('fs');
2
+ const path = require('path');
3
+ const transformFields = require('./transformServerVV.js');
4
+ const transformArchitectureVV = require('./transformArchitectureVV');
5
+
6
+ describe('Transform bottlebooks-server/** legacy format valid values', () => {
7
+ it('run', () => {
8
+ const allValidValues = [
9
+ ...transformFields(),
10
+ ...transformArchitectureVV(),
11
+ ].filter(Boolean);
12
+ const i18All = {};
13
+ for (const { name, tsVV, i18n } of allValidValues) {
14
+ expect(tsVV).not.toBeUndefined();
15
+ expect(i18n).not.toBeUndefined();
16
+
17
+ // Building content for i18n json files.
18
+ for (const locale in i18n) {
19
+ i18All[locale] = { ...i18All[locale], ...i18n[locale] };
20
+ }
21
+ fs.writeFileSync(
22
+ path.resolve(__dirname, `../validValues/json/${name}.js`),
23
+ "import { defineMessage } from '@lingui/macro';\n" +
24
+ 'const validValues = \n' +
25
+ JSON.stringify(tsVV, null, 2).replace(
26
+ /"title": \{(.*?(.|[\n])*?)\}/g,
27
+ '"title": defineMessage({$1})'
28
+ ),
29
+ { encoding: 'utf8' }
30
+ );
31
+ }
32
+ for (const locale in i18All) {
33
+ fs.writeFileSync(
34
+ path.resolve(__dirname, `../locales/json/${locale}.json`),
35
+ JSON.stringify(i18All[locale], null, 2),
36
+ { encoding: 'utf8' }
37
+ );
38
+
39
+ if (locale !== 'en') {
40
+ let po =
41
+ 'msgid ""\n' +
42
+ 'msgstr ""\n' +
43
+ '"POT-Creation-Date: 2022-10-26 17:23+0200"\n' +
44
+ '"MIME-Version: 1.0"\n' +
45
+ '"Content-Type: text/plain; charset=utf-8"\n' +
46
+ '"Content-Transfer-Encoding: 8bit"\n' +
47
+ '"X-Generator: @lingui/cli"\n' +
48
+ `"Language: ${locale}"\n\n`;
49
+ for (const prop in i18All[locale]) {
50
+ po += `msgid "${prop}"\nmsgstr "${i18All[locale][prop]}"\n\n`;
51
+ }
52
+ fs.writeFileSync(
53
+ path.resolve(__dirname, `../locales/po/${locale}.po`),
54
+ po,
55
+ { encoding: 'utf8' }
56
+ );
57
+ }
58
+ }
59
+ });
60
+ });
package/src/style.css ADDED
@@ -0,0 +1,96 @@
1
+ :root {
2
+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
3
+ font-size: 16px;
4
+ line-height: 24px;
5
+ font-weight: 400;
6
+
7
+ color-scheme: light dark;
8
+ color: rgba(255, 255, 255, 0.87);
9
+ background-color: #242424;
10
+
11
+ font-synthesis: none;
12
+ text-rendering: optimizeLegibility;
13
+ -webkit-font-smoothing: antialiased;
14
+ -moz-osx-font-smoothing: grayscale;
15
+ -webkit-text-size-adjust: 100%;
16
+ }
17
+
18
+ a {
19
+ font-weight: 500;
20
+ color: #646cff;
21
+ text-decoration: inherit;
22
+ }
23
+ a:hover {
24
+ color: #535bf2;
25
+ }
26
+
27
+ body {
28
+ margin: 0;
29
+ display: flex;
30
+ place-items: center;
31
+ min-width: 320px;
32
+ min-height: 100vh;
33
+ }
34
+
35
+ h1 {
36
+ font-size: 3.2em;
37
+ line-height: 1.1;
38
+ }
39
+
40
+ #app {
41
+ max-width: 1280px;
42
+ margin: 0 auto;
43
+ padding: 2rem;
44
+ }
45
+
46
+ .logo {
47
+ height: 6em;
48
+ padding: 1.5em;
49
+ will-change: filter;
50
+ }
51
+ .logo:hover {
52
+ filter: drop-shadow(0 0 2em #646cffaa);
53
+ }
54
+ .logo.vanilla:hover {
55
+ filter: drop-shadow(0 0 2em #3178c6aa);
56
+ }
57
+
58
+ .card {
59
+ padding: 2em;
60
+ }
61
+
62
+ .read-the-docs {
63
+ color: #888;
64
+ }
65
+
66
+ button {
67
+ border-radius: 8px;
68
+ border: 1px solid transparent;
69
+ padding: 0.6em 1.2em;
70
+ font-size: 1em;
71
+ font-weight: 500;
72
+ font-family: inherit;
73
+ background-color: #1a1a1a;
74
+ cursor: pointer;
75
+ transition: border-color 0.25s;
76
+ }
77
+ button:hover {
78
+ border-color: #646cff;
79
+ }
80
+ button:focus,
81
+ button:focus-visible {
82
+ outline: 4px auto -webkit-focus-ring-color;
83
+ }
84
+
85
+ @media (prefers-color-scheme: light) {
86
+ :root {
87
+ color: #213547;
88
+ background-color: #ffffff;
89
+ }
90
+ a:hover {
91
+ color: #747bff;
92
+ }
93
+ button {
94
+ background-color: #f9f9f9;
95
+ }
96
+ }