@undp/create-app 0.1.1 → 0.2.1

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 (276) hide show
  1. package/README.md +31 -8
  2. package/bin/generateFiles/generateIndexHtml.js +18 -0
  3. package/bin/generateFiles/generatePackageJson.js +160 -0
  4. package/bin/{generateTemplates/templates/configFiles/staticwebapp.config.json → generateFiles/generateStaticWebAppConfig.js} +4 -1
  5. package/bin/{generateTemplates/templates/configFiles/vite.config.ts.txt → generateFiles/generateViteConfig.js} +14 -12
  6. package/bin/generateFiles/index.js +4 -0
  7. package/bin/index.js +46 -14
  8. package/bin/promptUser.js +60 -37
  9. package/bin/templates/next/withDataViz/auth/README.md +108 -0
  10. package/bin/templates/next/withDataViz/auth/app/about/page.tsx +33 -0
  11. package/bin/templates/next/withDataViz/auth/app/api/auth/[...all]/route.ts +5 -0
  12. package/bin/templates/next/withDataViz/auth/app/favicon.ico +0 -0
  13. package/bin/templates/next/withDataViz/auth/app/globals.css +3 -0
  14. package/bin/templates/next/withDataViz/auth/app/layout.tsx +30 -0
  15. package/bin/templates/next/withDataViz/auth/app/login/page.tsx +45 -0
  16. package/bin/templates/next/withDataViz/auth/app/page.tsx +33 -0
  17. package/bin/templates/next/withDataViz/auth/app/user/page.tsx +86 -0
  18. package/bin/templates/next/withDataViz/auth/components/Footer.tsx +16 -0
  19. package/bin/templates/next/withDataViz/auth/components/Header.tsx +56 -0
  20. package/bin/templates/next/withDataViz/auth/eslint.config.mjs +103 -0
  21. package/bin/templates/next/withDataViz/auth/lib/auth-client.ts +7 -0
  22. package/bin/templates/next/withDataViz/auth/lib/auth.ts +30 -0
  23. package/bin/templates/next/withDataViz/auth/next.config.ts +10 -0
  24. package/bin/templates/next/withDataViz/auth/postcss.config.mjs +7 -0
  25. package/bin/templates/next/withDataViz/auth/public/next.svg +1 -0
  26. package/bin/templates/next/withDataViz/auth/tsconfig.json +34 -0
  27. package/bin/templates/next/withDataViz/basic/.prettierrc +10 -0
  28. package/bin/templates/next/withDataViz/basic/README.md +56 -0
  29. package/bin/templates/next/withDataViz/basic/app/about/page.tsx +33 -0
  30. package/bin/templates/next/withDataViz/basic/app/favicon.ico +0 -0
  31. package/bin/templates/next/withDataViz/basic/app/globals.css +3 -0
  32. package/bin/templates/next/withDataViz/basic/app/layout.tsx +31 -0
  33. package/bin/templates/next/withDataViz/basic/app/page.tsx +33 -0
  34. package/bin/templates/next/withDataViz/basic/components/Footer.tsx +16 -0
  35. package/bin/templates/next/withDataViz/basic/components/Header.tsx +27 -0
  36. package/bin/templates/next/withDataViz/basic/eslint.config.mjs +103 -0
  37. package/bin/templates/next/withDataViz/basic/next.config.ts +7 -0
  38. package/bin/templates/next/withDataViz/basic/postcss.config.mjs +7 -0
  39. package/bin/templates/next/withDataViz/basic/public/next.svg +1 -0
  40. package/bin/templates/next/withDataViz/basic/public/undp-logo-blue.svg +1 -0
  41. package/bin/templates/next/withDataViz/basic/tailwind.config.js +7 -0
  42. package/bin/templates/next/withDataViz/basic/tsconfig.json +34 -0
  43. package/bin/templates/next/withoutDataViz/auth/.prettierrc +10 -0
  44. package/bin/templates/next/withoutDataViz/auth/README.md +107 -0
  45. package/bin/templates/next/withoutDataViz/auth/app/about/page.tsx +33 -0
  46. package/bin/templates/next/withoutDataViz/auth/app/api/auth/[...all]/route.ts +5 -0
  47. package/bin/templates/next/withoutDataViz/auth/app/favicon.ico +0 -0
  48. package/bin/templates/next/withoutDataViz/auth/app/globals.css +3 -0
  49. package/bin/templates/next/withoutDataViz/auth/app/layout.tsx +30 -0
  50. package/bin/templates/next/withoutDataViz/auth/app/login/page.tsx +45 -0
  51. package/bin/templates/next/withoutDataViz/auth/app/page.tsx +33 -0
  52. package/bin/templates/next/withoutDataViz/auth/app/user/page.tsx +86 -0
  53. package/bin/templates/next/withoutDataViz/auth/components/Footer.tsx +16 -0
  54. package/bin/templates/next/withoutDataViz/auth/components/Header.tsx +56 -0
  55. package/bin/templates/next/withoutDataViz/auth/eslint.config.mjs +103 -0
  56. package/bin/templates/next/withoutDataViz/auth/lib/auth-client.ts +7 -0
  57. package/bin/templates/next/withoutDataViz/auth/lib/auth.ts +30 -0
  58. package/bin/templates/next/withoutDataViz/auth/next.config.ts +10 -0
  59. package/bin/templates/next/withoutDataViz/auth/postcss.config.mjs +7 -0
  60. package/bin/templates/next/withoutDataViz/auth/public/next.svg +1 -0
  61. package/bin/templates/next/withoutDataViz/auth/public/undp-logo-blue.svg +1 -0
  62. package/bin/templates/next/withoutDataViz/auth/tailwind.config.js +7 -0
  63. package/bin/templates/next/withoutDataViz/auth/tsconfig.json +34 -0
  64. package/bin/templates/next/withoutDataViz/basic/.prettierrc +10 -0
  65. package/bin/templates/next/withoutDataViz/basic/README.md +55 -0
  66. package/bin/templates/next/withoutDataViz/basic/app/about/page.tsx +33 -0
  67. package/bin/templates/next/withoutDataViz/basic/app/favicon.ico +0 -0
  68. package/bin/templates/next/withoutDataViz/basic/app/globals.css +3 -0
  69. package/bin/templates/next/withoutDataViz/basic/app/layout.tsx +31 -0
  70. package/bin/templates/next/withoutDataViz/basic/app/page.tsx +33 -0
  71. package/bin/templates/next/withoutDataViz/basic/components/Footer.tsx +16 -0
  72. package/bin/templates/next/withoutDataViz/basic/components/Header.tsx +27 -0
  73. package/bin/templates/next/withoutDataViz/basic/eslint.config.mjs +103 -0
  74. package/bin/templates/next/withoutDataViz/basic/next.config.ts +7 -0
  75. package/bin/templates/next/withoutDataViz/basic/postcss.config.mjs +7 -0
  76. package/bin/templates/next/withoutDataViz/basic/public/next.svg +1 -0
  77. package/bin/templates/next/withoutDataViz/basic/public/undp-logo-blue.svg +1 -0
  78. package/bin/templates/next/withoutDataViz/basic/tailwind.config.js +7 -0
  79. package/bin/templates/next/withoutDataViz/basic/tsconfig.json +34 -0
  80. package/bin/templates/vite/withDataViz/basic/.prettierrc +10 -0
  81. package/bin/templates/vite/withDataViz/basic/README.md +76 -0
  82. package/bin/{generateTemplates/generateIndexHtml.js → templates/vite/withDataViz/basic/index.html} +3 -5
  83. package/bin/templates/vite/withDataViz/basic/public/favicon.ico +0 -0
  84. package/bin/templates/vite/withDataViz/basic/public/imgs/Tailwind_CSS_Logo.svg +1 -0
  85. package/bin/templates/vite/withDataViz/basic/public/imgs/Vitejs-logo.svg +15 -0
  86. package/bin/templates/vite/withDataViz/basic/public/imgs/undp-logo-blue.svg +1 -0
  87. package/bin/templates/vite/withDataViz/basic/src/App.tsx +38 -0
  88. package/bin/templates/vite/withDataViz/basic/src/assets/undp-logo-blue.svg +1 -0
  89. package/bin/templates/vite/withDataViz/basic/src/components/Footer.tsx +14 -0
  90. package/bin/{generateTemplates/templates/router/components/Header.txt → templates/vite/withDataViz/basic/src/components/Header.tsx} +8 -12
  91. package/bin/templates/vite/withDataViz/basic/src/styles/style.css +4 -0
  92. package/bin/templates/vite/withDataViz/basic/src/vite-env.d.ts +1 -0
  93. package/bin/templates/vite/withDataViz/basic/tailwind.config.js +7 -0
  94. package/bin/{generateTemplates/templates/configFiles → templates/vite/withDataViz/basic}/tsconfig.json +1 -1
  95. package/bin/{generateTemplates/templates/configFiles/viteWithoutPostCss.config.ts.txt → templates/vite/withDataViz/basic/vite.config.ts} +17 -1
  96. package/bin/templates/vite/withDataViz/query/.prettierrc +10 -0
  97. package/bin/templates/vite/withDataViz/query/README.md +80 -0
  98. package/bin/templates/vite/withDataViz/query/eslint.config.mjs +97 -0
  99. package/bin/templates/vite/withDataViz/query/index.html +13 -0
  100. package/bin/templates/vite/withDataViz/query/public/favicon.ico +0 -0
  101. package/bin/templates/vite/withDataViz/query/public/imgs/Tailwind_CSS_Logo.svg +1 -0
  102. package/bin/templates/vite/withDataViz/query/public/imgs/Vitejs-logo.svg +15 -0
  103. package/bin/templates/vite/withDataViz/query/public/imgs/logo-color-600.png +0 -0
  104. package/bin/templates/vite/withDataViz/query/public/imgs/undp-logo-blue.svg +1 -0
  105. package/bin/templates/vite/withDataViz/query/src/App.tsx +70 -0
  106. package/bin/templates/vite/withDataViz/query/src/assets/undp-logo-blue.svg +1 -0
  107. package/bin/templates/vite/withDataViz/query/src/components/Footer.tsx +14 -0
  108. package/bin/templates/vite/withDataViz/query/src/components/Header.tsx +25 -0
  109. package/bin/templates/vite/withDataViz/query/src/integration/tanstack-query.tsx +27 -0
  110. package/bin/templates/vite/withDataViz/query/src/main.tsx +21 -0
  111. package/bin/templates/vite/withDataViz/query/src/styles/fonts.css +213 -0
  112. package/bin/templates/vite/withDataViz/query/src/styles/style.css +4 -0
  113. package/bin/templates/vite/withDataViz/query/src/vite-env.d.ts +1 -0
  114. package/bin/templates/vite/withDataViz/query/tailwind.config.js +7 -0
  115. package/bin/templates/vite/withDataViz/query/tsconfig.json +29 -0
  116. package/bin/templates/vite/withDataViz/query/tsconfig.node.json +9 -0
  117. package/bin/templates/vite/withDataViz/query/vite.config.ts +75 -0
  118. package/bin/templates/vite/withDataViz/query+router/.prettierrc +10 -0
  119. package/bin/templates/vite/withDataViz/query+router/README.md +112 -0
  120. package/bin/templates/vite/withDataViz/query+router/eslint.config.mjs +97 -0
  121. package/bin/templates/vite/withDataViz/query+router/index.html +13 -0
  122. package/bin/templates/vite/withDataViz/query+router/public/favicon.ico +0 -0
  123. package/bin/templates/vite/withDataViz/query+router/public/imgs/Tailwind_CSS_Logo.svg +1 -0
  124. package/bin/templates/vite/withDataViz/query+router/public/imgs/Vitejs-logo.svg +15 -0
  125. package/bin/templates/vite/withDataViz/query+router/public/imgs/logo-color-600.png +0 -0
  126. package/bin/templates/vite/withDataViz/query+router/public/imgs/undp-logo-blue.svg +1 -0
  127. package/bin/templates/vite/withDataViz/query+router/src/App.tsx +42 -0
  128. package/bin/templates/vite/withDataViz/query+router/src/assets/undp-logo-blue.svg +1 -0
  129. package/bin/templates/vite/withDataViz/query+router/src/components/Footer.tsx +14 -0
  130. package/bin/{generateTemplates/templates/router+query/components/Header.txt → templates/vite/withDataViz/query+router/src/components/Header.tsx} +8 -12
  131. package/bin/{generateTemplates/templates/router+query/integration/tanstack-query.txt → templates/vite/withDataViz/query+router/src/integration/tanstack-query.tsx} +5 -5
  132. package/bin/{generateTemplates/templates/router+query/main.txt → templates/vite/withDataViz/query+router/src/main.tsx} +15 -11
  133. package/bin/templates/vite/withDataViz/query+router/src/routes/queryDemo.tsx +73 -0
  134. package/bin/templates/vite/withDataViz/query+router/src/styles/fonts.css +213 -0
  135. package/bin/templates/vite/withDataViz/query+router/src/styles/style.css +4 -0
  136. package/bin/templates/vite/withDataViz/query+router/src/vite-env.d.ts +1 -0
  137. package/bin/templates/vite/withDataViz/query+router/tailwind.config.js +7 -0
  138. package/bin/templates/vite/withDataViz/query+router/tsconfig.json +29 -0
  139. package/bin/templates/vite/withDataViz/query+router/tsconfig.node.json +9 -0
  140. package/bin/templates/vite/withDataViz/query+router/vite.config.ts +75 -0
  141. package/bin/templates/vite/withDataViz/router/.prettierrc +10 -0
  142. package/bin/templates/vite/withDataViz/router/README.md +107 -0
  143. package/bin/templates/vite/withDataViz/router/eslint.config.mjs +97 -0
  144. package/bin/templates/vite/withDataViz/router/index.html +13 -0
  145. package/bin/templates/vite/withDataViz/router/public/favicon.ico +0 -0
  146. package/bin/templates/vite/withDataViz/router/public/imgs/Tailwind_CSS_Logo.svg +1 -0
  147. package/bin/templates/vite/withDataViz/router/public/imgs/Vitejs-logo.svg +15 -0
  148. package/bin/templates/vite/withDataViz/router/public/imgs/logo-color-600.png +0 -0
  149. package/bin/templates/vite/withDataViz/router/public/imgs/undp-logo-blue.svg +1 -0
  150. package/bin/templates/vite/withDataViz/router/src/App.tsx +51 -0
  151. package/bin/templates/vite/withDataViz/router/src/assets/undp-logo-blue.svg +1 -0
  152. package/bin/templates/vite/withDataViz/router/src/components/Footer.tsx +14 -0
  153. package/bin/templates/vite/withDataViz/router/src/components/Header.tsx +25 -0
  154. package/bin/{generateTemplates/templates/router/main.txt → templates/vite/withDataViz/router/src/main.tsx} +18 -12
  155. package/bin/templates/vite/withDataViz/router/src/routes/about.tsx +73 -0
  156. package/bin/templates/vite/withDataViz/router/src/styles/fonts.css +213 -0
  157. package/bin/templates/vite/withDataViz/router/src/styles/style.css +4 -0
  158. package/bin/templates/vite/withDataViz/router/src/vite-env.d.ts +1 -0
  159. package/bin/templates/vite/withDataViz/router/tailwind.config.js +7 -0
  160. package/bin/templates/vite/withDataViz/router/tsconfig.json +29 -0
  161. package/bin/templates/vite/withDataViz/router/tsconfig.node.json +9 -0
  162. package/bin/templates/vite/withDataViz/router/vite.config.ts +75 -0
  163. package/bin/templates/vite/withoutDataViz/basic/.prettierrc +10 -0
  164. package/bin/templates/vite/withoutDataViz/basic/README.md +75 -0
  165. package/bin/templates/vite/withoutDataViz/basic/eslint.config.mjs +97 -0
  166. package/bin/templates/vite/withoutDataViz/basic/index.html +13 -0
  167. package/bin/templates/vite/withoutDataViz/basic/public/favicon.ico +0 -0
  168. package/bin/templates/vite/withoutDataViz/basic/public/imgs/Tailwind_CSS_Logo.svg +1 -0
  169. package/bin/templates/vite/withoutDataViz/basic/public/imgs/Vitejs-logo.svg +15 -0
  170. package/bin/templates/vite/withoutDataViz/basic/public/imgs/undp-logo-blue.svg +1 -0
  171. package/bin/templates/vite/withoutDataViz/basic/src/App.tsx +38 -0
  172. package/bin/templates/vite/withoutDataViz/basic/src/assets/undp-logo-blue.svg +1 -0
  173. package/bin/templates/vite/withoutDataViz/basic/src/components/Footer.tsx +14 -0
  174. package/bin/templates/vite/withoutDataViz/basic/src/components/Header.tsx +25 -0
  175. package/bin/templates/vite/withoutDataViz/basic/src/main.tsx +10 -0
  176. package/bin/templates/vite/withoutDataViz/basic/src/styles/fonts.css +213 -0
  177. package/bin/templates/vite/withoutDataViz/basic/src/styles/style.css +3 -0
  178. package/bin/templates/vite/withoutDataViz/basic/src/vite-env.d.ts +1 -0
  179. package/bin/templates/vite/withoutDataViz/basic/tailwind.config.js +7 -0
  180. package/bin/templates/vite/withoutDataViz/basic/tsconfig.json +29 -0
  181. package/bin/templates/vite/withoutDataViz/basic/tsconfig.node.json +9 -0
  182. package/bin/templates/vite/withoutDataViz/basic/vite.config.ts +75 -0
  183. package/bin/templates/vite/withoutDataViz/query/.prettierrc +10 -0
  184. package/bin/templates/vite/withoutDataViz/query/README.md +80 -0
  185. package/bin/templates/vite/withoutDataViz/query/eslint.config.mjs +97 -0
  186. package/bin/templates/vite/withoutDataViz/query/index.html +13 -0
  187. package/bin/templates/vite/withoutDataViz/query/public/favicon.ico +0 -0
  188. package/bin/templates/vite/withoutDataViz/query/public/imgs/Tailwind_CSS_Logo.svg +1 -0
  189. package/bin/templates/vite/withoutDataViz/query/public/imgs/Vitejs-logo.svg +15 -0
  190. package/bin/templates/vite/withoutDataViz/query/public/imgs/logo-color-600.png +0 -0
  191. package/bin/templates/vite/withoutDataViz/query/public/imgs/undp-logo-blue.svg +1 -0
  192. package/bin/templates/vite/withoutDataViz/query/src/App.tsx +70 -0
  193. package/bin/templates/vite/withoutDataViz/query/src/assets/undp-logo-blue.svg +1 -0
  194. package/bin/templates/vite/withoutDataViz/query/src/components/Footer.tsx +14 -0
  195. package/bin/templates/vite/withoutDataViz/query/src/components/Header.tsx +25 -0
  196. package/bin/templates/vite/withoutDataViz/query/src/integration/tanstack-query.tsx +27 -0
  197. package/bin/templates/vite/withoutDataViz/query/src/main.tsx +21 -0
  198. package/bin/templates/vite/withoutDataViz/query/src/styles/fonts.css +213 -0
  199. package/bin/templates/vite/withoutDataViz/query/src/styles/style.css +3 -0
  200. package/bin/templates/vite/withoutDataViz/query/src/vite-env.d.ts +1 -0
  201. package/bin/templates/vite/withoutDataViz/query/tailwind.config.js +7 -0
  202. package/bin/templates/vite/withoutDataViz/query/tsconfig.json +29 -0
  203. package/bin/templates/vite/withoutDataViz/query/tsconfig.node.json +9 -0
  204. package/bin/templates/vite/withoutDataViz/query/vite.config.ts +75 -0
  205. package/bin/templates/vite/withoutDataViz/query+router/.prettierrc +10 -0
  206. package/bin/templates/vite/withoutDataViz/query+router/README.md +111 -0
  207. package/bin/templates/vite/withoutDataViz/query+router/eslint.config.mjs +97 -0
  208. package/bin/templates/vite/withoutDataViz/query+router/index.html +13 -0
  209. package/bin/templates/vite/withoutDataViz/query+router/public/favicon.ico +0 -0
  210. package/bin/templates/vite/withoutDataViz/query+router/public/imgs/Tailwind_CSS_Logo.svg +1 -0
  211. package/bin/templates/vite/withoutDataViz/query+router/public/imgs/Vitejs-logo.svg +15 -0
  212. package/bin/templates/vite/withoutDataViz/query+router/public/imgs/logo-color-600.png +0 -0
  213. package/bin/templates/vite/withoutDataViz/query+router/public/imgs/undp-logo-blue.svg +1 -0
  214. package/bin/templates/vite/withoutDataViz/query+router/src/App.tsx +42 -0
  215. package/bin/templates/vite/withoutDataViz/query+router/src/assets/undp-logo-blue.svg +1 -0
  216. package/bin/templates/vite/withoutDataViz/query+router/src/components/Footer.tsx +14 -0
  217. package/bin/templates/vite/withoutDataViz/query+router/src/components/Header.tsx +25 -0
  218. package/bin/templates/vite/withoutDataViz/query+router/src/integration/tanstack-query.tsx +27 -0
  219. package/bin/templates/vite/withoutDataViz/query+router/src/main.tsx +73 -0
  220. package/bin/templates/vite/withoutDataViz/query+router/src/routes/queryDemo.tsx +73 -0
  221. package/bin/templates/vite/withoutDataViz/query+router/src/styles/fonts.css +213 -0
  222. package/bin/templates/vite/withoutDataViz/query+router/src/styles/style.css +3 -0
  223. package/bin/templates/vite/withoutDataViz/query+router/src/vite-env.d.ts +1 -0
  224. package/bin/templates/vite/withoutDataViz/query+router/tailwind.config.js +7 -0
  225. package/bin/templates/vite/withoutDataViz/query+router/tsconfig.json +29 -0
  226. package/bin/templates/vite/withoutDataViz/query+router/tsconfig.node.json +9 -0
  227. package/bin/templates/vite/withoutDataViz/query+router/vite.config.ts +75 -0
  228. package/bin/templates/vite/withoutDataViz/router/.prettierrc +10 -0
  229. package/bin/templates/vite/withoutDataViz/router/README.md +106 -0
  230. package/bin/templates/vite/withoutDataViz/router/eslint.config.mjs +97 -0
  231. package/bin/templates/vite/withoutDataViz/router/index.html +13 -0
  232. package/bin/templates/vite/withoutDataViz/router/public/favicon.ico +0 -0
  233. package/bin/templates/vite/withoutDataViz/router/public/imgs/Tailwind_CSS_Logo.svg +1 -0
  234. package/bin/templates/vite/withoutDataViz/router/public/imgs/Vitejs-logo.svg +15 -0
  235. package/bin/templates/vite/withoutDataViz/router/public/imgs/logo-color-600.png +0 -0
  236. package/bin/templates/vite/withoutDataViz/router/public/imgs/undp-logo-blue.svg +1 -0
  237. package/bin/templates/vite/withoutDataViz/router/src/App.tsx +51 -0
  238. package/bin/templates/vite/withoutDataViz/router/src/assets/undp-logo-blue.svg +1 -0
  239. package/bin/templates/vite/withoutDataViz/router/src/components/Footer.tsx +14 -0
  240. package/bin/templates/vite/withoutDataViz/router/src/components/Header.tsx +25 -0
  241. package/bin/templates/vite/withoutDataViz/router/src/main.tsx +66 -0
  242. package/bin/templates/vite/withoutDataViz/router/src/routes/about.tsx +73 -0
  243. package/bin/templates/vite/withoutDataViz/router/src/styles/fonts.css +213 -0
  244. package/bin/templates/vite/withoutDataViz/router/src/styles/style.css +4 -0
  245. package/bin/templates/vite/withoutDataViz/router/src/vite-env.d.ts +1 -0
  246. package/bin/templates/vite/withoutDataViz/router/tailwind.config.js +7 -0
  247. package/bin/templates/vite/withoutDataViz/router/tsconfig.json +29 -0
  248. package/bin/templates/vite/withoutDataViz/router/tsconfig.node.json +9 -0
  249. package/bin/templates/vite/withoutDataViz/router/vite.config.ts +75 -0
  250. package/bin/utils/printSuccess.js +0 -9
  251. package/package.json +6 -2
  252. package/bin/generateFiles.js +0 -65
  253. package/bin/generateTemplates/copyTemplate.js +0 -18
  254. package/bin/generateTemplates/generatePackageJson.js +0 -105
  255. package/bin/generateTemplates/generateReadme.js +0 -143
  256. package/bin/generateTemplates/generateStyleCss.js +0 -6
  257. package/bin/generateTemplates/index.js +0 -6
  258. package/bin/generateTemplates/templates/basic/App.txt +0 -32
  259. package/bin/generateTemplates/templates/basic/AppWithContainer.txt +0 -32
  260. package/bin/generateTemplates/templates/configFiles/vite-env.txt +0 -1
  261. package/bin/generateTemplates/templates/query/App.txt +0 -57
  262. package/bin/generateTemplates/templates/query/AppWithContainer.txt +0 -67
  263. package/bin/generateTemplates/templates/query/main.txt +0 -29
  264. package/bin/generateTemplates/templates/router/App.txt +0 -30
  265. package/bin/generateTemplates/templates/router/components/Footer.txt +0 -20
  266. package/bin/generateTemplates/templates/router/routes/About.txt +0 -28
  267. package/bin/generateTemplates/templates/router+query/App.txt +0 -30
  268. package/bin/generateTemplates/templates/router+query/components/Footer.txt +0 -20
  269. package/bin/generateTemplates/templates/router+query/routes/queryDemo.txt +0 -56
  270. /package/bin/{generateTemplates/templates/configFiles → templates/next/withDataViz/auth}/.prettierrc +0 -0
  271. /package/bin/{generateTemplates/templates/configFiles/icon.txt → templates/next/withDataViz/auth/public/undp-logo-blue.svg} +0 -0
  272. /package/bin/{generateTemplates/templates/configFiles → templates/next/withDataViz/auth}/tailwind.config.js +0 -0
  273. /package/bin/{generateTemplates/templates/configFiles → templates/vite/withDataViz/basic}/eslint.config.mjs +0 -0
  274. /package/bin/{generateTemplates/templates/basic/main.txt → templates/vite/withDataViz/basic/src/main.tsx} +0 -0
  275. /package/bin/{generateTemplates/templates/css → templates/vite/withDataViz/basic/src/styles}/fonts.css +0 -0
  276. /package/bin/{generateTemplates/templates/configFiles → templates/vite/withDataViz/basic}/tsconfig.node.json +0 -0
@@ -0,0 +1,103 @@
1
+ import nextVitals from 'eslint-config-next/core-web-vitals';
2
+ import nextTs from 'eslint-config-next/typescript';
3
+ import js from '@eslint/js';
4
+ import tseslint from 'typescript-eslint';
5
+ import pluginReact from 'eslint-plugin-react';
6
+ import reactHooks from 'eslint-plugin-react-hooks';
7
+ import importPlugin from 'eslint-plugin-import';
8
+ import { defineConfig } from 'eslint/config';
9
+ import prettierConfig from 'eslint-config-prettier';
10
+ import prettierPlugin from 'eslint-plugin-prettier';
11
+
12
+ export default defineConfig([
13
+ {
14
+ ignores: [
15
+ 'node_modules/**',
16
+ 'build/**',
17
+ 'public/**',
18
+ 'dist/**',
19
+ 'storybook-static/**',
20
+ 'dist-ssr/**',
21
+ 'coverage/**',
22
+ '**/*.test.js',
23
+ '**/__snapshots__/**',
24
+ '.next/**',
25
+ 'out/**',
26
+ 'next-env.d.ts',
27
+ ],
28
+ },
29
+ ...nextVitals,
30
+ ...nextTs,
31
+ js.configs.recommended,
32
+ reactHooks.configs.flat.recommended,
33
+ ...tseslint.configs.recommended,
34
+ {
35
+ files: ['**/*.{js,mjs,cjs,ts,jsx,tsx,ts}'],
36
+ plugins: {
37
+ react: pluginReact,
38
+ 'react-hooks': reactHooks,
39
+ import: importPlugin,
40
+ prettier: prettierPlugin,
41
+ },
42
+ settings: {
43
+ react: {
44
+ version: 'detect',
45
+ },
46
+ },
47
+ rules: {
48
+ // React rules
49
+ 'react/self-closing-comp': ['error', { component: true, html: true }],
50
+ 'react/react-in-jsx-scope': 'off',
51
+ 'react/jsx-uses-react': 'off',
52
+ 'react/jsx-uses-vars': 'warn',
53
+ 'react/jsx-no-undef': 'error',
54
+ 'react/jsx-curly-brace-presence': 'error',
55
+ 'react/prop-types': 'off',
56
+ 'react/require-default-props': 0,
57
+ 'react/jsx-filename-extension': 0,
58
+ 'react/no-array-index-key': 0,
59
+ 'react/jsx-props-no-spreading': 0,
60
+
61
+ // TypeScript rules
62
+ 'no-unused-vars': 'off',
63
+ '@typescript-eslint/no-unused-vars': [
64
+ 'error',
65
+ { argsIgnorePattern: '^_' },
66
+ ],
67
+ '@typescript-eslint/no-explicit-any': 'warn',
68
+
69
+ // Import rules
70
+ 'import/order': [
71
+ 'warn',
72
+ {
73
+ groups: [
74
+ 'builtin',
75
+ 'external',
76
+ 'internal',
77
+ 'parent',
78
+ 'sibling',
79
+ 'index',
80
+ ],
81
+ 'newlines-between': 'always',
82
+ },
83
+ ],
84
+ 'import/no-unresolved': 0,
85
+ 'import/no-extraneous-dependencies': ['warn', { devDependencies: true }],
86
+ 'import/extensions': 0,
87
+ 'import/prefer-default-export': 0,
88
+ 'import/no-anonymous-default-export': 0,
89
+
90
+ // A11y rules
91
+ 'jsx-a11y/alt-text': 'warn',
92
+ 'jsx-a11y/anchor-is-valid': 'warn',
93
+
94
+ // General rules
95
+ 'prefer-const': 'error',
96
+ 'no-console': ['warn', { allow: ['warn', 'error'] }],
97
+ 'no-debugger': 'warn',
98
+ 'no-nested-ternary': 0,
99
+ 'prettier/prettier': 'error',
100
+ },
101
+ },
102
+ prettierConfig,
103
+ ]);
@@ -0,0 +1,7 @@
1
+ import type { NextConfig } from 'next';
2
+
3
+ const nextConfig: NextConfig = {
4
+ /* config options here */
5
+ };
6
+
7
+ export default nextConfig;
@@ -0,0 +1,7 @@
1
+ const config = {
2
+ plugins: {
3
+ '@tailwindcss/postcss': {},
4
+ },
5
+ };
6
+
7
+ export default config;
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>
@@ -0,0 +1 @@
1
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 60.8"><style>.st0{fill:#0468b1}.st1{fill:#fff}</style><path class="st0" d="M0 30.9h14.5v14.5H0z"/><path class="st1" d="M3.7 33.2v5.7c0 3 1.5 4.1 3.5 4.1 2.1 0 3.6-1.2 3.6-4.2v-5.7H9.6v5.8c0 2.1-1 3.1-2.4 3.1-1.3 0-2.3-.9-2.3-3.1v-5.7H3.7z"/><path class="st0" d="M15.4 30.9h14.5v14.5H15.4z"/><path class="st1" d="M20.2 43v-4.1c0-1.6 0-2.8-.1-4 .5 1.1 1.1 2.2 1.8 3.2L25 43h1.3v-9.6h-1.1v4.1c0 1.5 0 2.7.2 4-.4-1-1-2-1.7-3.2l-3.1-4.9h-1.4v9.7l1-.1z"/><path class="st0" d="M15.4 46.3h14.5v14.5H15.4z"/><path class="st1" d="M25.1 49.4c-.6-.5-1.5-.8-2.8-.8-1 0-1.8.1-2.4.2v9.6h1.2v-3.9c.3.1.6.1 1 .1 1.2 0 2.3-.4 2.9-1.1.5-.5.8-1.2.8-2.1.2-.8-.1-1.5-.7-2"/><path class="st0" d="M22.3 53.6c-.4 0-.8 0-1.1-.1v-3.7c.2 0 .6-.1 1.2-.1 1.4 0 2.3.6 2.3 1.9 0 1.3-.9 2-2.4 2M0 46.3h14.5v14.5H0z"/><path class="st1" d="M10.2 49.8c-.8-.8-2.1-1.2-3.9-1.2-1 0-1.9.1-2.7.2v9.6c.6.1 1.4.1 2.3.1 1.9 0 3.4-.5 4.3-1.4.9-.9 1.4-2.2 1.4-3.7 0-1.7-.5-2.8-1.4-3.6"/><path class="st0" d="M6.2 57.4c-.5 0-1 0-1.3-.1v-7.6c.3-.1.8-.2 1.5-.2 2.7 0 3.9 1.4 3.9 3.7 0 2.7-1.5 4.3-4.1 4.2M0 0h30v30H0z"/><path class="st1" d="M25.7 15.6c-.4.6-1 1.1-1.3 1.8 0-.5.1-1.1-.1-1.5-.3-1-.6-1.9-.7-3.1v-.4c.2 1.1 1.3 1.9 1.2 3.1 0 .3-.1.6-.2.8v-.1c.2-.6.2-1.2.5-1.8.4-.8.8-1.6.6-2.6.8 1.2.6 2.7 0 3.8"/><path class="st1" d="M25.1 9.4c.7 1 .9 2.5.3 3.6-.2.5-.3 1-.4 1.5 0-.1 0-.2-.1-.3-.2-1.1-1.3-1.9-1.7-2.8-.2-.3-.2-.6-.3-1.1.4.8 1.5 1.2 1.9 2.2.2.2.1.5.2.8-.2-1-.1-1.9 0-2.8 0-.5-.1-1-.3-1.4.1-.1.2.1.4.3"/><path class="st1" d="M24.6 9.2c.2.8-.1 1.6.1 2.5-.5-.9-1.4-1.3-2.1-2-.4-.4-.6-1-.6-1.5.4.9 1.4 1.1 2 1.9.2.2.2.4.4.6-.3-.7-.5-1.5-.6-2.4l-.6-.9c.6.2 1.2 1 1.4 1.8"/><path class="st1" d="M22.5 7.3c.6.6.8 1.2 1 1.9l.1.2c-.8-.6-1.6-1.5-2.2-2.3l-.6-.7c.5.2 1.2.4 1.7.9m-11.1-.7c1.1-.6 2.4-.8 3.6-.9 3 0 5.9 1.8 7.2 4.5.8 1.6 1.1 3.8.6 5.6-.6 2.2-2.4 4.3-4.5 5.2-2.4 1.1-5.7.9-7.8-.6-2.9-1.9-4.1-5.4-3.2-8.8.5-2 2.1-4.1 4.1-5m-2.3 0c-.6.5-1 1.2-1.5 1.8-.4.4-.9.8-1.4 1.2.3-.6.3-1.2.7-1.6.5-.9 1.4-1.1 2.2-1.4"/><path class="st1" d="M5.8 8.4c.2-.4.6-.6 1.1-.7-.8.6-.7 1.5-1 2.4-.1.2-.2.6-.3.8.2-.3.4-.6.6-1 .6-.6 1.4-.9 1.7-1.7 0 1.1-.9 1.9-1.8 2.5-.4.3-.7.6-.9 1.1V11c.1-.9 0-2 .6-2.6"/><path class="st1" d="M4.3 11.5c0-1 .4-1.7.9-2.4-.6.9-.1 2.1-.2 3.1l-.1 1.1c0-.2 0-.2.1-.4.2-.9.9-1.5 1.5-2.1.2-.2.2-.3.3-.5-.1.4-.2.9-.4 1.3-.5 1-1.5 1.8-1.6 2.9.1-1-.7-1.9-.5-3"/><path class="st1" d="M3.8 12.9l.3-.9c-.2 1.2.6 2.2.9 3.2l.3 1.2c-.4-1.1.2-2.2.8-3.2.2-.2.2-.5.3-.8.1.5-.1 1.1-.2 1.6-.2.6-.4 1.4-.6 2-.2.4-.1.9 0 1.3-.4-.8-1.3-1.5-1.5-2.4-.3-.5-.5-1.3-.3-2"/><path class="st1" d="M3.7 15.3c.1 1.3 1.5 2 2.2 3.2.2.2.3.4.6.6 0-.2-.2-.2-.2-.4-.2-.5-.3-1-.2-1.5.1-.6.3-1.3.2-2 .6 1.2.4 2.8.7 4.1.1.3.2.6.4.8-1.2-.8-2.8-1.5-3.3-3.1-.4-.5-.4-1.1-.4-1.7"/><path class="st1" d="M4.5 18.3c.6 1.5 2.4 1.6 3.4 2.5.1.2.4.4.6.4-.2-.2-.6-.5-.7-.8-.6-.9-.4-2.2-.9-3.2.4.6.8 1.1 1.1 1.8.4 1 .6 2.1 1.5 2.8-1-.3-2.2-.2-3.1-.8-.9-.6-1.8-1.5-1.9-2.7"/><path class="st1" d="M6.2 21.2c1.1 1.2 2.8.8 4.2 1.1.2 0 .4.1.6.1-.2-.1-.4-.1-.6-.2-1.1-.4-1.3-1.5-1.9-2.4.8.5 1.4 1.2 2.1 1.9.5.4 1.1.6 1.8.8-.2.1-.4 0-.6.1-1.2.3-2.4.7-3.7.3-.7-.4-1.5-1-1.9-1.7"/><path class="st1" d="M20.6 23.9c-1.2.4-2.4 0-3.4-.7-.4-.2-.7-.6-1.2-.6h-.5c.9.4 1.8 1 2.5 1.8-.2.2-.3.3-.5.4-.7-.8-1.5-1.5-2.5-2-.2 0-.3.2-.5.2-.7.5-1.5 1.1-2 1.9l-.5-.5c.8-.8 1.6-1.4 2.5-1.8-.9-.3-1.5.5-2.2.9-.8.6-1.9.8-2.9.4-.6-.2-1.1-.5-1.4-1 .8.6 1.9.6 2.8.2 1.2-.5 2.4-1.1 3.8-.8.2 0 .4.2.6 0 1.1-.2 2.2-.1 3.2.4l1 .4c.9.3 1.9.2 2.8-.3-.6.6-1 1-1.6 1.1"/><path class="st1" d="M21.9 22.7c-1.4.5-2.7-.1-4-.3h-.2c.6-.2 1.2-.3 1.7-.8.7-.7 1.4-1.4 2.2-1.9-.6.8-.6 1.9-1.6 2.4-.2.2-.6.2-.8.3.4 0 .6-.2 1.1-.2 1.3-.2 2.8 0 3.7-1.1-.5.7-1.4 1.4-2.1 1.6"/><path class="st1" d="M22.6 21.3c-.6.2-1.4.2-2.1.5 1.1-1 1.1-2.5 1.8-3.6.2-.3.4-.6.7-1-.5.9-.2 2.1-.8 3-.2.4-.5.7-.8 1 .1 0 .2-.1.3-.2.9-.8 1.9-1.1 2.9-1.8.4-.3.7-.6.9-1.1-.1 1.5-1.6 2.8-2.9 3.2"/><path class="st1" d="M24.3 18.9c-.6.3-1.1.6-1.5 1.1.8-1.3.4-3.1.9-4.5l.2-.5c-.1.9.3 1.6.2 2.5 0 .6-.2 1-.5 1.5.4-.5.6-1.1 1.1-1.5.7-.6 1.4-1.4 1.5-2.3.3 1.5-.6 2.9-1.9 3.7"/><path class="st0" d="M18.3 18.8c.3-.2.6-.4.8-.6h-.2c-.2 0-.2-.2-.2-.2l-.5-.5v-.1c0 .1-.1.2-.2.2 0 .1 0 .2.1.2.2.1.4.2.4.3-.1.2-.4.3-.2.6.1 0-.1 0 0 .1m-2.8-6.5c.1.1.2 0 .2-.1.1 0 .2.1.2.2h.2c0-.3.5-.2.6-.6h-.1s-.1 0-.1-.1l.2-.2c-.4-.2-.7-.4-1.1-.5-.2 0-.3 0-.5-.1.1.2 0 .6.1.8l.2.1c.1-.2.2-.2.3-.3h.2v.3c0 .4-.3.4-.4.5m4.2 2.7c-.2.6-.4 1.1-.7 1.5-.2.2-.2.4-.4.5l.4.3v-.1s0-.1.1-.1c.2 0 .2.2.2.2 0 .2.1.2.1.4 1-1.1 1.5-2.4 1.6-3.8l.1-.1h-1.2c0 .2 0 .5-.1.7l.2.2v.2c-.2.2-.2.2-.3.1m-1-3.5c-.2-.2-.3-.5-.6-.7-.4.4-.8.8-1.1 1.2l.1.1c0-.1.1-.2.1-.2.1-.2.2 0 .4 0h.6c.2.1.2.2.3.3v.2c0 .3.2-.1.3 0 .1 0 .2 0 .2.1 0 .2.2.1.2.2s-.1.1-.1.1c0 .2-.2.2-.1.3.2 0 .2-.2.3-.3-.1-.2-.1-.4-.2-.6-.2 0-.2-.2-.3-.2-.3-.2 0-.3-.1-.5m-3.5 8.3c.3-.1.6-.1 1-.2-.1 0-.2 0-.2-.1-.2 0-.2-.2-.3-.4 0-.1 0-.2.1-.3-.1-.2-.3 0-.5-.1 0 0-.1-.1-.2-.1l.1.1v1.1m.3-3.1c.1 0 0 .2.1.2.2-.1.3.2.4 0 0-.2.2-.2.3-.2.2-.1.4-.2.4-.5-.2 0-.2.1-.2.2-.1.1-.2-.2-.2-.1v.1c-.2.2-.2-.1-.3 0v.1c-.1-.2-.2-.1-.3-.2h-.2c0 .1-.2 0-.2.1-.1 0-.1.2-.2.2-.2 0-.2.2-.3.1v.1h.2c.1-.2.3 0 .5-.1m1.1-1.5c0 .1 0 .2.1.2.2 0 .1.2.2.2s0-.1 0-.2c0-.2-.1-.2-.3-.2.1 0 .1 0 0 0 .1-.1.1-.1 0 0m-.1-5.6c-.4-.2-.8-.2-1.3-.2v1.2h.1c.6.1 1.3.3 1.8.7v.1c.2-.2.4-.5.6-.7l.2-.1h-.1c-.4-.5-.9-.8-1.3-1M9 14.1l.1.7c0 .2.2.6.2.8 0-.1 0-.2.2-.2 0-.1.1-.2 0-.2 0-.2.1-.4.2-.6.2 0 .2-.2.4-.3.1 0 .2.2.2.2-.2-.2-.2-.4-.1-.6H8.9l.1.2zm7.2 1.9c.1-.1.3-.1.3-.2-.1-.1-.1 0-.3.2-.1-.1-.1 0 0 0m2.5-2.1l.2.2c.2.1 0 .2.2.3s.2.2.2.4v-.1c.1-.2 0-.5.1-.6-.2-.1-.5-.1-.7-.2m-1.6 2.9c.2 0 .2.2.4.2.2-.1.4 0 .5-.1 0-.2.1-.2.2-.4.1.1.1.2.1.3.1-.2.2-.2.3-.4.2-.4.5-.8.6-1.2-.1 0-.2 0-.3.1-.1 0-.2.1-.4 0h-.1c0 .1-.1.2-.2.1-.1 0-.1-.1-.1-.2v.2c-.1.1-.1.2-.2.2-.1.1-.2.1-.3.2 0 .2-.2.2-.3.2h.2c.2 0 .2-.2.2-.2.1 0 .2-.1.2 0 .1.1.1.2.1.4-.1.1 0 .2-.1.4 0 .2-.2.2-.2.3-.1.1-.2.1-.2.1-.3-.2-.6-.2-1-.2 0 0-.1 0 0 .1.3-.2.4-.2.6-.1m-2.4 3.5c-1.6-.1-3-.6-4.1-1.8l-.8.8c1.2 1.1 2.7 1.8 4.3 1.9.2 0 .6 0 .8.1l-.1-.1-.1-.9zM13.1 16c.4.3.9.6 1.5.6v-.3c0-.1.2-.1.2-.1s.1-.1 0-.1-.1-.2-.1-.2.1 0 .1-.1c-.1-.1 0-.2 0-.2l.1-.1c-.2.1-.5 0-.7-.2l-.2-.2-.9.9m-.4-1.3c-.1 0-.1 0 0 0h-.2c0-.2-.2-.1-.3-.2l.3.6c.1.2.2.3.3.5.1-.2.2-.2.3-.4V15c0-.1 0-.2-.1-.2s0 .2 0 .2h-.1c-.1 0-.2-.1-.2-.2.1 0 0 0 0-.1m.8.1c0 .1-.1.2-.2.2.1-.1.2-.2.3-.2h-.1zm1.2 3.9c-1 0-1.8-.4-2.6-1 0 .1.2.2.1.2-.1.1-.2.1-.3.1-.2 0-.4.2-.6.2-.2.1-.2-.2-.4-.2 1.1 1 2.4 1.5 3.9 1.6l.1.1v-1.2l-.2.2z"/><path class="st0" d="M10.3 18.2c-.2-.1-.2-.2-.4-.4-.2 0-.2-.2-.3-.2v-.2.1c-.2.1-.2-.1-.3-.2-.2-.1-.1-.4-.3-.3-.1 0-.1-.1-.2-.1-.2 0-.2-.2-.2-.2v.1c-.2 0-.2-.2-.3-.2h-.1c-.1-.1-.2-.2-.2-.4-.2-.2-.1-.4 0-.6 0 0 .1-.1.1-.2s.2-.1.2-.1.1 0 .1.1c.1 0 .2 0 .2-.1.1-.1.2-.1.2-.1.1.1.1.2.2.2l-.1-.1c-.1-.4-.2-.8-.2-1.2V13.8H7.3c.1 1.3.4 2.4 1 3.5.2.6.7 1 1.1 1.5l.8-.8.1.2zm1.3-9.4c-.2.2-.5.4-.7.6.3.2.6.5.8.7v.1c.6-.6 1.5-1 2.3-1.2.2 0 .4-.1.6 0V7.9c-1.1 0-2 .4-3 .9m-1 4.3c0 .2 0 .4-.1.6.2-.1.3 0 .5 0-.1 0 0-.2-.1-.2 0-.1 0-.2.1-.3 0-.2.2-.2.2-.4s.2-.1.3-.2c.1 0 0-.1 0-.2.1-.1.2-.1.3-.2l.2-.2c.2 0 .2-.3.5-.3-.3-.2-.6-.6-.9-.8-.4.6-.8 1.3-1 2.2m.2 1.6c0-.1-.1-.1-.1-.2.1-.2 0-.4.2-.4-.2 0-.2.1-.4 0l.1.1c0 .2.1.5.1.8 0-.2 0-.3.1-.3m1.1 2.8z"/><path class="st0" d="M10.6 9.7l-.4.6c-.7 1-1.1 2.1-1.1 3.3h1.2v-.1c.1-1.1.5-2.2 1.3-3-.4-.3-.7-.5-1-.8zm3.3 7.5c.1-.1.2-.2.3-.2-.4.1-.6-.2-1-.3-.2-.1-.4-.2-.5-.4-.2.3-.5.6-.8.8.2 0 .2.2.3.2.6.5 1.4.7 2 .9l-.2-.1c-.2-.2-.3-.4-.4-.6.3-.1.3-.2.3-.3M11.2 14v.2c0 .2-.2 0-.2.1v.2c-.1.2.2.3.2.6.1.2 0 .3.2.5 0 .2 0 .6.2.8v.2c0 .2-.2.2-.2.2s.1 0 .1.1c.3-.4.6-.7 1.1-1.1l-.2-.2c-.2-.4-.5-.9-.6-1.4l-.1-.1c0 .2-.1.2-.1.4-.1 0-.2-.1-.2-.1s-.1-.1 0-.2h.1V14c0-.1-.1-.2 0-.2s.2.1.2.2c.1 0 .2 0 .2-.1s.1-.2 0-.2c.1-.2 0-.3 0-.5-.1-.1-.2 0-.3 0-.3.1.1.3 0 .6-.2.3-.3.1-.4.2m10.2 0c-.1 1.4-.6 2.5-1.3 3.6-.2.2-.2.4-.5.5.3.2.6.6.9.9 1.2-1.4 1.9-3 1.9-4.9V14h-1zM10.6 9.2c1.2-1.1 2.5-1.7 4.1-1.8V6.2c-1.6.1-3 .6-4.3 1.5-.2.2-.4.4-.7.6.4.2.7.5.9.9m4.1.2c-1 .1-1.9.5-2.7 1.1.3.2.6.6.8.8 0 0 0-.1.1-.1.4-.2.8-.5 1.2-.6.2 0 .4-.1.6-.1V9.4zm0 1.5c-.7.1-1.2.4-1.7.9h.1c.1.1.2.1.3.2 0 .1-.1.1-.1.2h.1c.1 0 .1 0 .1-.1.1-.1.1.1.2.1h.2c.1-.1.2 0 .2-.1.2-.2.1-.3.2-.4.1 0 0 .1 0 .2.2.1.2-.1.4 0v-1m.1 1.8c-.2.2-.3.2-.5.3-.1.1 0 .2-.2.2 0 .1-.2.2-.2.2-.1.2 0 .3-.1.5-.2.2-.2-.2-.3-.2H13.2c-.1.1-.2.2-.1.2 0 .1-.2 0-.2.2.2 0 .2 0 .4-.1h.2s.1 0 .1.1c.1 0 .1-.2.1-.2 0-.1.1-.1.2-.1s0 .1 0 .1c.2.1 0 .2-.1.3 0 .1 0 .2-.2.2v-.1c0 .1 0 .2.1.2.1-.1.1-.2.2-.2.1-.1 0-.2.1-.3.2 0 .4-.1.6.1v.2c0 .1-.1.2-.2.2v.2c-.1.2-.3.2-.5.2.2.2.6.2.9.2.2 0 .1-.2.2-.3.1-.2.3-.1.5-.2.1-.2.2-.2.2-.4-.2-.1-.2-.2-.2-.3-.1-.1-.1-.2-.2-.2v-.1c0-.1.1-.1.1-.2-.1-.1-.1-.2-.1-.2-.2 0-.2-.2-.3-.2 0-.1-.2-.1-.2-.2-.2.1-.2-.2-.4-.2v-.2c.1-.1.2 0 .2 0h-.1c-.1-.1-.2 0-.3 0 .6.2.5.2.6.3"/><path class="st0" d="M8.6 13.6v-.2c.1-1.3.5-2.4 1.2-3.4.2-.2.3-.5.6-.6l-.8-.8c-1.1 1.3-1.9 2.8-2 4.4 0 .2 0 .5-.1.7.3-.2.8-.2 1.1-.1m10.9 4.8c-.1.2-.4.4-.6.6-.2.2-.6.3-.8.7-.2.2-.2.3-.4.4-.1.2-.2.2-.4.3-.3.3-.6-.2-.8-.2l-.6.1c-.2 0-.4.1-.6 0v1.2h.1c1.9-.1 3.6-.8 5-2.1l-.9-.8v-.2zM15.2 7.3c.1-.1.1-.1.2 0v.2h.1c.9.1 1.8.3 2.5.8.2-.1.4-.2.5 0 .2-.1.2.2.4.2.1 0 .3.3.3.5 0 .1.2.2.2.2.2-.2.4-.5.6-.7l.2-.1c-1.2-1.1-2.7-1.8-4.2-2-.2 0-.6 0-.8-.1v1"/><path class="st0" d="M15.2 9c.2-.1.3 0 .5 0 .8.2 1.5.4 2.2.9-.1-.1-.2-.2-.2-.3 0-.2-.2-.2-.2-.3h.1c.2.2.2.2.3.4.1 0 .2 0 .2.1s0 .2.2.3c0 .2.3.4.3.6 0 .1.1 0 .1 0l.2.3v.2c.1 0 .2-.1.2-.1.2.1 0 .2 0 .3h.2c0 .1-.1.2-.1.2 0 .1.1.1.2.1s.1.1.1.2c.2.2-.1.4 0 .6.1.2 0 .2-.1.4 0 .2-.2.2-.2.4H19c-.1.1.1.2 0 .3h.4c-.1-.2 0-.4.1-.6s.1-.3.2-.4c0 0 .1-.1.1 0 0 .2 0 .3-.1.4.2.2.1.4.2.6h1.2v-.1c-.1-.7-.2-1.5-.5-2.1-.1 0-.2.1-.2 0 0 0-.1 0 0-.1-.2-.2-.2-.3-.4-.5-.2 0-.3-.2-.5-.2s-.1-.3-.3-.2c-.1 0-.2-.2-.2-.2 0-.2 0-.4-.2-.6-.2-.1-.2.2-.3.1-.1 0 0-.2-.1-.2 0-.1-.1-.1-.1-.2.2-.2-.2-.2-.2-.5 0-.2-.2-.2-.3-.4-.6-.2-1.2-.5-1.9-.6-.2 0-.3 0-.5-.1v.1c-.2.5-.2.8-.2 1.2"/><path class="st0" d="M19.5 9.4c.1 0 .1.2.2.2.3.2.4.5.6.6.2.3.5.6.5.9.3.8.6 1.5.6 2.5h1.2c-.1-.1 0-.2-.1-.4-.2-1.8-.9-3.3-2.1-4.6-.2.3-.5.6-.9.8z"/><path class="st1" d="M15.3 7.1c0-.1.2 0 .2 0l.6-.2c.2 0 .5 0 .6.2-.2.2-.3.2-.5.2-.3 0-.6.1-.9-.2m3.4.7c.1 0 .2.1.2.2s.1.2 0 .2c-.2.1-.2-.2-.4-.2v-.1c.1-.2.1 0 .2-.1"/></svg>
@@ -0,0 +1,7 @@
1
+ import * as Preset from '@undp/design-system-react/tailwind.config';
2
+
3
+ /** @type {import('tailwindcss').Config} */
4
+
5
+ export default {
6
+ presets: [Preset],
7
+ };
@@ -0,0 +1,34 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2017",
4
+ "lib": ["dom", "dom.iterable", "esnext"],
5
+ "allowJs": true,
6
+ "skipLibCheck": true,
7
+ "strict": true,
8
+ "noEmit": true,
9
+ "esModuleInterop": true,
10
+ "module": "esnext",
11
+ "moduleResolution": "bundler",
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "jsx": "react-jsx",
15
+ "incremental": true,
16
+ "plugins": [
17
+ {
18
+ "name": "next"
19
+ }
20
+ ],
21
+ "paths": {
22
+ "@/*": ["./*"]
23
+ }
24
+ },
25
+ "include": [
26
+ "next-env.d.ts",
27
+ "**/*.ts",
28
+ "**/*.tsx",
29
+ ".next/types/**/*.ts",
30
+ ".next/dev/types/**/*.ts",
31
+ "**/*.mts"
32
+ ],
33
+ "exclude": ["node_modules"]
34
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "semi": true,
3
+ "singleQuote": true,
4
+ "trailingComma": "all",
5
+ "arrowParens": "avoid",
6
+ "tabWidth": 2,
7
+ "jsxSingleQuote": true,
8
+ "endOfLine": "auto",
9
+ "bracketSpacing": true
10
+ }
@@ -0,0 +1,76 @@
1
+ This is a React + TypeScript + Vite project powered by Tailwind CSS, the UNDP Design System, and the UNDP Data Visualization Library, bootstrapped with [@undp/create-app](https://www.npmjs.com/package/@undp/create-app).
2
+
3
+ It includes:
4
+ * React 19.x with React compiler
5
+ * UNDP Design System
6
+ * UNDP Data Visualization library
7
+ * TailwindCSS
8
+ * Code linting and formatting via ESLint and Prettier
9
+
10
+ ## 🧩 Installation
11
+
12
+ This project uses `npm`.
13
+
14
+ For installation you will need to install `node` and `npm`, if you don't already have it. `node` and `npm` can be installed from [here](https://nodejs.org/en/download/).
15
+
16
+ To install the project, simply run `npm install` in the project folder in the terminal on Mac or Command Prompt on Windows.
17
+
18
+ ## 🚀 Local Development
19
+
20
+ To start the project locally:
21
+
22
+ ```bash
23
+ npm run dev
24
+ ```
25
+
26
+ This is run the app in development mode. Open [http://localhost:5173/](http://localhost:5173/) to view it in the browser.
27
+
28
+ The page will reload if you make edits. You will also see any lint errors in the console.
29
+
30
+ ## 📜 Available Scripts
31
+
32
+ - `npm run dev`: Executes `vite` and start the local server for local deployment.
33
+ - `npm run build`: Executes `tsc && vite build` and builds the app for production and deployment.
34
+ - `npm run preview`: Executes `vite preview` and serves the static build output (from vite build) locally.
35
+ - `npm run clean`: Executes `rimraf node_modules && rimraf dist && rimraf package-lock.json` and remove node_modules folder, dist folder and package-lock.json.
36
+ - `npm run lint`: Executes `npx eslint --fix && npx prettier . --write` and resolve all the linting and prettier errors.
37
+
38
+ ## 🧰 Tooling Setup
39
+
40
+ This project uses ESLint integrated with Prettier to automatically format and lint your code.
41
+
42
+ If you’re using Visual Studio Code, install:
43
+ * [ESLint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
44
+ * [Prettier extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
45
+
46
+ Your editor should now show linting errors and automatically fix issues where possible.
47
+
48
+ More info: [ESLint Integrations](http://eslint.org/docs/user-guide/integrations)
49
+
50
+ ## 🎨 Styling
51
+
52
+ This project uses [Tailwind CSS](https://tailwindcss.com/) for styling and and includes pre-configured design tokens from the UNDP Design System.
53
+
54
+ ## 🌐 Embedding the Visualization
55
+
56
+ To embed the visualization on an external page, include:
57
+
58
+ **HTML Placeholder**
59
+
60
+ ```html
61
+ <div id="root"></div>
62
+ ```
63
+
64
+ **Required `<script>` and `<link>` tags**
65
+
66
+ ```
67
+ <link rel="dns-prefetch" href="{{Visualization URL}}">
68
+ <script defer="defer" type="module" src="{{Visualization URL}}/index.js"></script>
69
+ <link rel="modulepreload" crossorigin href="{{Visualization URL}}/react-{{hash}}.js">
70
+ <link rel="modulepreload" crossorigin href="{{Visualization URL}}/undp-{{hash}}.js">
71
+ <link rel="stylesheet" href="{{Visualization URL}}/style.css"></link>
72
+ ```
73
+
74
+ ## 📬 Contact us
75
+
76
+ For questions or feedback, contact us at [data@undp.org](mailto:data@undp.org).
@@ -1,15 +1,13 @@
1
- export function generateIndexHtml(projectName){
2
- return `<!doctype html>
1
+ <!doctype html>
3
2
  <html lang="en">
4
3
  <head>
5
4
  <meta charset="UTF-8" />
6
5
  <link rel="icon" type="image/svg+xml" href="/undp-logo-blue.svg" />
7
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
- <title>${projectName}</title>
7
+ <title>My Vite + Tailwind + UNDP App</title>
9
8
  </head>
10
9
  <body>
11
10
  <div id="root"></div>
12
11
  <script type="module" src="/src/main.tsx"></script>
13
12
  </body>
14
- </html>`
15
- }
13
+ </html>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 54 33"><g clip-path="url(#prefix__clip0)"><path fill="#38bdf8" fill-rule="evenodd" d="M27 0c-7.2 0-11.7 3.6-13.5 10.8 2.7-3.6 5.85-4.95 9.45-4.05 2.054.513 3.522 2.004 5.147 3.653C30.744 13.09 33.808 16.2 40.5 16.2c7.2 0 11.7-3.6 13.5-10.8-2.7 3.6-5.85 4.95-9.45 4.05-2.054-.513-3.522-2.004-5.147-3.653C36.756 3.11 33.692 0 27 0zM13.5 16.2C6.3 16.2 1.8 19.8 0 27c2.7-3.6 5.85-4.95 9.45-4.05 2.054.514 3.522 2.004 5.147 3.653C17.244 29.29 20.308 32.4 27 32.4c7.2 0 11.7-3.6 13.5-10.8-2.7 3.6-5.85 4.95-9.45 4.05-2.054-.513-3.522-2.004-5.147-3.653C23.256 19.31 20.192 16.2 13.5 16.2z" clip-rule="evenodd"/></g><defs><clipPath id="prefix__clip0"><path fill="#fff" d="M0 0h54v32.4H0z"/></clipPath></defs></svg>
@@ -0,0 +1,15 @@
1
+ <svg width="410" height="404" viewBox="0 0 410 404" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M399.641 59.5246L215.643 388.545C211.844 395.338 202.084 395.378 198.228 388.618L10.5817 59.5563C6.38087 52.1896 12.6802 43.2665 21.0281 44.7586L205.223 77.6824C206.398 77.8924 207.601 77.8904 208.776 77.6763L389.119 44.8058C397.439 43.2894 403.768 52.1434 399.641 59.5246Z" fill="url(#paint0_linear)"/>
3
+ <path d="M292.965 1.5744L156.801 28.2552C154.563 28.6937 152.906 30.5903 152.771 32.8664L144.395 174.33C144.198 177.662 147.258 180.248 150.51 179.498L188.42 170.749C191.967 169.931 195.172 173.055 194.443 176.622L183.18 231.775C182.422 235.487 185.907 238.661 189.532 237.56L212.947 230.446C216.577 229.344 220.065 232.527 219.297 236.242L201.398 322.875C200.278 328.294 207.486 331.249 210.492 326.603L212.5 323.5L323.454 102.072C325.312 98.3645 322.108 94.137 318.036 94.9228L279.014 102.454C275.347 103.161 272.227 99.746 273.262 96.1583L298.731 7.86689C299.767 4.27314 296.636 0.855181 292.965 1.5744Z" fill="url(#paint1_linear)"/>
4
+ <defs>
5
+ <linearGradient id="paint0_linear" x1="6.00017" y1="32.9999" x2="235" y2="344" gradientUnits="userSpaceOnUse">
6
+ <stop stop-color="#41D1FF"/>
7
+ <stop offset="1" stop-color="#BD34FE"/>
8
+ </linearGradient>
9
+ <linearGradient id="paint1_linear" x1="194.651" y1="8.81818" x2="236.076" y2="292.989" gradientUnits="userSpaceOnUse">
10
+ <stop stop-color="#FFEA83"/>
11
+ <stop offset="0.0833333" stop-color="#FFDD35"/>
12
+ <stop offset="1" stop-color="#FFA800"/>
13
+ </linearGradient>
14
+ </defs>
15
+ </svg>
@@ -0,0 +1 @@
1
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 60.8"><style>.st0{fill:#0468b1}.st1{fill:#fff}</style><path class="st0" d="M0 30.9h14.5v14.5H0z"/><path class="st1" d="M3.7 33.2v5.7c0 3 1.5 4.1 3.5 4.1 2.1 0 3.6-1.2 3.6-4.2v-5.7H9.6v5.8c0 2.1-1 3.1-2.4 3.1-1.3 0-2.3-.9-2.3-3.1v-5.7H3.7z"/><path class="st0" d="M15.4 30.9h14.5v14.5H15.4z"/><path class="st1" d="M20.2 43v-4.1c0-1.6 0-2.8-.1-4 .5 1.1 1.1 2.2 1.8 3.2L25 43h1.3v-9.6h-1.1v4.1c0 1.5 0 2.7.2 4-.4-1-1-2-1.7-3.2l-3.1-4.9h-1.4v9.7l1-.1z"/><path class="st0" d="M15.4 46.3h14.5v14.5H15.4z"/><path class="st1" d="M25.1 49.4c-.6-.5-1.5-.8-2.8-.8-1 0-1.8.1-2.4.2v9.6h1.2v-3.9c.3.1.6.1 1 .1 1.2 0 2.3-.4 2.9-1.1.5-.5.8-1.2.8-2.1.2-.8-.1-1.5-.7-2"/><path class="st0" d="M22.3 53.6c-.4 0-.8 0-1.1-.1v-3.7c.2 0 .6-.1 1.2-.1 1.4 0 2.3.6 2.3 1.9 0 1.3-.9 2-2.4 2M0 46.3h14.5v14.5H0z"/><path class="st1" d="M10.2 49.8c-.8-.8-2.1-1.2-3.9-1.2-1 0-1.9.1-2.7.2v9.6c.6.1 1.4.1 2.3.1 1.9 0 3.4-.5 4.3-1.4.9-.9 1.4-2.2 1.4-3.7 0-1.7-.5-2.8-1.4-3.6"/><path class="st0" d="M6.2 57.4c-.5 0-1 0-1.3-.1v-7.6c.3-.1.8-.2 1.5-.2 2.7 0 3.9 1.4 3.9 3.7 0 2.7-1.5 4.3-4.1 4.2M0 0h30v30H0z"/><path class="st1" d="M25.7 15.6c-.4.6-1 1.1-1.3 1.8 0-.5.1-1.1-.1-1.5-.3-1-.6-1.9-.7-3.1v-.4c.2 1.1 1.3 1.9 1.2 3.1 0 .3-.1.6-.2.8v-.1c.2-.6.2-1.2.5-1.8.4-.8.8-1.6.6-2.6.8 1.2.6 2.7 0 3.8"/><path class="st1" d="M25.1 9.4c.7 1 .9 2.5.3 3.6-.2.5-.3 1-.4 1.5 0-.1 0-.2-.1-.3-.2-1.1-1.3-1.9-1.7-2.8-.2-.3-.2-.6-.3-1.1.4.8 1.5 1.2 1.9 2.2.2.2.1.5.2.8-.2-1-.1-1.9 0-2.8 0-.5-.1-1-.3-1.4.1-.1.2.1.4.3"/><path class="st1" d="M24.6 9.2c.2.8-.1 1.6.1 2.5-.5-.9-1.4-1.3-2.1-2-.4-.4-.6-1-.6-1.5.4.9 1.4 1.1 2 1.9.2.2.2.4.4.6-.3-.7-.5-1.5-.6-2.4l-.6-.9c.6.2 1.2 1 1.4 1.8"/><path class="st1" d="M22.5 7.3c.6.6.8 1.2 1 1.9l.1.2c-.8-.6-1.6-1.5-2.2-2.3l-.6-.7c.5.2 1.2.4 1.7.9m-11.1-.7c1.1-.6 2.4-.8 3.6-.9 3 0 5.9 1.8 7.2 4.5.8 1.6 1.1 3.8.6 5.6-.6 2.2-2.4 4.3-4.5 5.2-2.4 1.1-5.7.9-7.8-.6-2.9-1.9-4.1-5.4-3.2-8.8.5-2 2.1-4.1 4.1-5m-2.3 0c-.6.5-1 1.2-1.5 1.8-.4.4-.9.8-1.4 1.2.3-.6.3-1.2.7-1.6.5-.9 1.4-1.1 2.2-1.4"/><path class="st1" d="M5.8 8.4c.2-.4.6-.6 1.1-.7-.8.6-.7 1.5-1 2.4-.1.2-.2.6-.3.8.2-.3.4-.6.6-1 .6-.6 1.4-.9 1.7-1.7 0 1.1-.9 1.9-1.8 2.5-.4.3-.7.6-.9 1.1V11c.1-.9 0-2 .6-2.6"/><path class="st1" d="M4.3 11.5c0-1 .4-1.7.9-2.4-.6.9-.1 2.1-.2 3.1l-.1 1.1c0-.2 0-.2.1-.4.2-.9.9-1.5 1.5-2.1.2-.2.2-.3.3-.5-.1.4-.2.9-.4 1.3-.5 1-1.5 1.8-1.6 2.9.1-1-.7-1.9-.5-3"/><path class="st1" d="M3.8 12.9l.3-.9c-.2 1.2.6 2.2.9 3.2l.3 1.2c-.4-1.1.2-2.2.8-3.2.2-.2.2-.5.3-.8.1.5-.1 1.1-.2 1.6-.2.6-.4 1.4-.6 2-.2.4-.1.9 0 1.3-.4-.8-1.3-1.5-1.5-2.4-.3-.5-.5-1.3-.3-2"/><path class="st1" d="M3.7 15.3c.1 1.3 1.5 2 2.2 3.2.2.2.3.4.6.6 0-.2-.2-.2-.2-.4-.2-.5-.3-1-.2-1.5.1-.6.3-1.3.2-2 .6 1.2.4 2.8.7 4.1.1.3.2.6.4.8-1.2-.8-2.8-1.5-3.3-3.1-.4-.5-.4-1.1-.4-1.7"/><path class="st1" d="M4.5 18.3c.6 1.5 2.4 1.6 3.4 2.5.1.2.4.4.6.4-.2-.2-.6-.5-.7-.8-.6-.9-.4-2.2-.9-3.2.4.6.8 1.1 1.1 1.8.4 1 .6 2.1 1.5 2.8-1-.3-2.2-.2-3.1-.8-.9-.6-1.8-1.5-1.9-2.7"/><path class="st1" d="M6.2 21.2c1.1 1.2 2.8.8 4.2 1.1.2 0 .4.1.6.1-.2-.1-.4-.1-.6-.2-1.1-.4-1.3-1.5-1.9-2.4.8.5 1.4 1.2 2.1 1.9.5.4 1.1.6 1.8.8-.2.1-.4 0-.6.1-1.2.3-2.4.7-3.7.3-.7-.4-1.5-1-1.9-1.7"/><path class="st1" d="M20.6 23.9c-1.2.4-2.4 0-3.4-.7-.4-.2-.7-.6-1.2-.6h-.5c.9.4 1.8 1 2.5 1.8-.2.2-.3.3-.5.4-.7-.8-1.5-1.5-2.5-2-.2 0-.3.2-.5.2-.7.5-1.5 1.1-2 1.9l-.5-.5c.8-.8 1.6-1.4 2.5-1.8-.9-.3-1.5.5-2.2.9-.8.6-1.9.8-2.9.4-.6-.2-1.1-.5-1.4-1 .8.6 1.9.6 2.8.2 1.2-.5 2.4-1.1 3.8-.8.2 0 .4.2.6 0 1.1-.2 2.2-.1 3.2.4l1 .4c.9.3 1.9.2 2.8-.3-.6.6-1 1-1.6 1.1"/><path class="st1" d="M21.9 22.7c-1.4.5-2.7-.1-4-.3h-.2c.6-.2 1.2-.3 1.7-.8.7-.7 1.4-1.4 2.2-1.9-.6.8-.6 1.9-1.6 2.4-.2.2-.6.2-.8.3.4 0 .6-.2 1.1-.2 1.3-.2 2.8 0 3.7-1.1-.5.7-1.4 1.4-2.1 1.6"/><path class="st1" d="M22.6 21.3c-.6.2-1.4.2-2.1.5 1.1-1 1.1-2.5 1.8-3.6.2-.3.4-.6.7-1-.5.9-.2 2.1-.8 3-.2.4-.5.7-.8 1 .1 0 .2-.1.3-.2.9-.8 1.9-1.1 2.9-1.8.4-.3.7-.6.9-1.1-.1 1.5-1.6 2.8-2.9 3.2"/><path class="st1" d="M24.3 18.9c-.6.3-1.1.6-1.5 1.1.8-1.3.4-3.1.9-4.5l.2-.5c-.1.9.3 1.6.2 2.5 0 .6-.2 1-.5 1.5.4-.5.6-1.1 1.1-1.5.7-.6 1.4-1.4 1.5-2.3.3 1.5-.6 2.9-1.9 3.7"/><path class="st0" d="M18.3 18.8c.3-.2.6-.4.8-.6h-.2c-.2 0-.2-.2-.2-.2l-.5-.5v-.1c0 .1-.1.2-.2.2 0 .1 0 .2.1.2.2.1.4.2.4.3-.1.2-.4.3-.2.6.1 0-.1 0 0 .1m-2.8-6.5c.1.1.2 0 .2-.1.1 0 .2.1.2.2h.2c0-.3.5-.2.6-.6h-.1s-.1 0-.1-.1l.2-.2c-.4-.2-.7-.4-1.1-.5-.2 0-.3 0-.5-.1.1.2 0 .6.1.8l.2.1c.1-.2.2-.2.3-.3h.2v.3c0 .4-.3.4-.4.5m4.2 2.7c-.2.6-.4 1.1-.7 1.5-.2.2-.2.4-.4.5l.4.3v-.1s0-.1.1-.1c.2 0 .2.2.2.2 0 .2.1.2.1.4 1-1.1 1.5-2.4 1.6-3.8l.1-.1h-1.2c0 .2 0 .5-.1.7l.2.2v.2c-.2.2-.2.2-.3.1m-1-3.5c-.2-.2-.3-.5-.6-.7-.4.4-.8.8-1.1 1.2l.1.1c0-.1.1-.2.1-.2.1-.2.2 0 .4 0h.6c.2.1.2.2.3.3v.2c0 .3.2-.1.3 0 .1 0 .2 0 .2.1 0 .2.2.1.2.2s-.1.1-.1.1c0 .2-.2.2-.1.3.2 0 .2-.2.3-.3-.1-.2-.1-.4-.2-.6-.2 0-.2-.2-.3-.2-.3-.2 0-.3-.1-.5m-3.5 8.3c.3-.1.6-.1 1-.2-.1 0-.2 0-.2-.1-.2 0-.2-.2-.3-.4 0-.1 0-.2.1-.3-.1-.2-.3 0-.5-.1 0 0-.1-.1-.2-.1l.1.1v1.1m.3-3.1c.1 0 0 .2.1.2.2-.1.3.2.4 0 0-.2.2-.2.3-.2.2-.1.4-.2.4-.5-.2 0-.2.1-.2.2-.1.1-.2-.2-.2-.1v.1c-.2.2-.2-.1-.3 0v.1c-.1-.2-.2-.1-.3-.2h-.2c0 .1-.2 0-.2.1-.1 0-.1.2-.2.2-.2 0-.2.2-.3.1v.1h.2c.1-.2.3 0 .5-.1m1.1-1.5c0 .1 0 .2.1.2.2 0 .1.2.2.2s0-.1 0-.2c0-.2-.1-.2-.3-.2.1 0 .1 0 0 0 .1-.1.1-.1 0 0m-.1-5.6c-.4-.2-.8-.2-1.3-.2v1.2h.1c.6.1 1.3.3 1.8.7v.1c.2-.2.4-.5.6-.7l.2-.1h-.1c-.4-.5-.9-.8-1.3-1M9 14.1l.1.7c0 .2.2.6.2.8 0-.1 0-.2.2-.2 0-.1.1-.2 0-.2 0-.2.1-.4.2-.6.2 0 .2-.2.4-.3.1 0 .2.2.2.2-.2-.2-.2-.4-.1-.6H8.9l.1.2zm7.2 1.9c.1-.1.3-.1.3-.2-.1-.1-.1 0-.3.2-.1-.1-.1 0 0 0m2.5-2.1l.2.2c.2.1 0 .2.2.3s.2.2.2.4v-.1c.1-.2 0-.5.1-.6-.2-.1-.5-.1-.7-.2m-1.6 2.9c.2 0 .2.2.4.2.2-.1.4 0 .5-.1 0-.2.1-.2.2-.4.1.1.1.2.1.3.1-.2.2-.2.3-.4.2-.4.5-.8.6-1.2-.1 0-.2 0-.3.1-.1 0-.2.1-.4 0h-.1c0 .1-.1.2-.2.1-.1 0-.1-.1-.1-.2v.2c-.1.1-.1.2-.2.2-.1.1-.2.1-.3.2 0 .2-.2.2-.3.2h.2c.2 0 .2-.2.2-.2.1 0 .2-.1.2 0 .1.1.1.2.1.4-.1.1 0 .2-.1.4 0 .2-.2.2-.2.3-.1.1-.2.1-.2.1-.3-.2-.6-.2-1-.2 0 0-.1 0 0 .1.3-.2.4-.2.6-.1m-2.4 3.5c-1.6-.1-3-.6-4.1-1.8l-.8.8c1.2 1.1 2.7 1.8 4.3 1.9.2 0 .6 0 .8.1l-.1-.1-.1-.9zM13.1 16c.4.3.9.6 1.5.6v-.3c0-.1.2-.1.2-.1s.1-.1 0-.1-.1-.2-.1-.2.1 0 .1-.1c-.1-.1 0-.2 0-.2l.1-.1c-.2.1-.5 0-.7-.2l-.2-.2-.9.9m-.4-1.3c-.1 0-.1 0 0 0h-.2c0-.2-.2-.1-.3-.2l.3.6c.1.2.2.3.3.5.1-.2.2-.2.3-.4V15c0-.1 0-.2-.1-.2s0 .2 0 .2h-.1c-.1 0-.2-.1-.2-.2.1 0 0 0 0-.1m.8.1c0 .1-.1.2-.2.2.1-.1.2-.2.3-.2h-.1zm1.2 3.9c-1 0-1.8-.4-2.6-1 0 .1.2.2.1.2-.1.1-.2.1-.3.1-.2 0-.4.2-.6.2-.2.1-.2-.2-.4-.2 1.1 1 2.4 1.5 3.9 1.6l.1.1v-1.2l-.2.2z"/><path class="st0" d="M10.3 18.2c-.2-.1-.2-.2-.4-.4-.2 0-.2-.2-.3-.2v-.2.1c-.2.1-.2-.1-.3-.2-.2-.1-.1-.4-.3-.3-.1 0-.1-.1-.2-.1-.2 0-.2-.2-.2-.2v.1c-.2 0-.2-.2-.3-.2h-.1c-.1-.1-.2-.2-.2-.4-.2-.2-.1-.4 0-.6 0 0 .1-.1.1-.2s.2-.1.2-.1.1 0 .1.1c.1 0 .2 0 .2-.1.1-.1.2-.1.2-.1.1.1.1.2.2.2l-.1-.1c-.1-.4-.2-.8-.2-1.2V13.8H7.3c.1 1.3.4 2.4 1 3.5.2.6.7 1 1.1 1.5l.8-.8.1.2zm1.3-9.4c-.2.2-.5.4-.7.6.3.2.6.5.8.7v.1c.6-.6 1.5-1 2.3-1.2.2 0 .4-.1.6 0V7.9c-1.1 0-2 .4-3 .9m-1 4.3c0 .2 0 .4-.1.6.2-.1.3 0 .5 0-.1 0 0-.2-.1-.2 0-.1 0-.2.1-.3 0-.2.2-.2.2-.4s.2-.1.3-.2c.1 0 0-.1 0-.2.1-.1.2-.1.3-.2l.2-.2c.2 0 .2-.3.5-.3-.3-.2-.6-.6-.9-.8-.4.6-.8 1.3-1 2.2m.2 1.6c0-.1-.1-.1-.1-.2.1-.2 0-.4.2-.4-.2 0-.2.1-.4 0l.1.1c0 .2.1.5.1.8 0-.2 0-.3.1-.3m1.1 2.8z"/><path class="st0" d="M10.6 9.7l-.4.6c-.7 1-1.1 2.1-1.1 3.3h1.2v-.1c.1-1.1.5-2.2 1.3-3-.4-.3-.7-.5-1-.8zm3.3 7.5c.1-.1.2-.2.3-.2-.4.1-.6-.2-1-.3-.2-.1-.4-.2-.5-.4-.2.3-.5.6-.8.8.2 0 .2.2.3.2.6.5 1.4.7 2 .9l-.2-.1c-.2-.2-.3-.4-.4-.6.3-.1.3-.2.3-.3M11.2 14v.2c0 .2-.2 0-.2.1v.2c-.1.2.2.3.2.6.1.2 0 .3.2.5 0 .2 0 .6.2.8v.2c0 .2-.2.2-.2.2s.1 0 .1.1c.3-.4.6-.7 1.1-1.1l-.2-.2c-.2-.4-.5-.9-.6-1.4l-.1-.1c0 .2-.1.2-.1.4-.1 0-.2-.1-.2-.1s-.1-.1 0-.2h.1V14c0-.1-.1-.2 0-.2s.2.1.2.2c.1 0 .2 0 .2-.1s.1-.2 0-.2c.1-.2 0-.3 0-.5-.1-.1-.2 0-.3 0-.3.1.1.3 0 .6-.2.3-.3.1-.4.2m10.2 0c-.1 1.4-.6 2.5-1.3 3.6-.2.2-.2.4-.5.5.3.2.6.6.9.9 1.2-1.4 1.9-3 1.9-4.9V14h-1zM10.6 9.2c1.2-1.1 2.5-1.7 4.1-1.8V6.2c-1.6.1-3 .6-4.3 1.5-.2.2-.4.4-.7.6.4.2.7.5.9.9m4.1.2c-1 .1-1.9.5-2.7 1.1.3.2.6.6.8.8 0 0 0-.1.1-.1.4-.2.8-.5 1.2-.6.2 0 .4-.1.6-.1V9.4zm0 1.5c-.7.1-1.2.4-1.7.9h.1c.1.1.2.1.3.2 0 .1-.1.1-.1.2h.1c.1 0 .1 0 .1-.1.1-.1.1.1.2.1h.2c.1-.1.2 0 .2-.1.2-.2.1-.3.2-.4.1 0 0 .1 0 .2.2.1.2-.1.4 0v-1m.1 1.8c-.2.2-.3.2-.5.3-.1.1 0 .2-.2.2 0 .1-.2.2-.2.2-.1.2 0 .3-.1.5-.2.2-.2-.2-.3-.2H13.2c-.1.1-.2.2-.1.2 0 .1-.2 0-.2.2.2 0 .2 0 .4-.1h.2s.1 0 .1.1c.1 0 .1-.2.1-.2 0-.1.1-.1.2-.1s0 .1 0 .1c.2.1 0 .2-.1.3 0 .1 0 .2-.2.2v-.1c0 .1 0 .2.1.2.1-.1.1-.2.2-.2.1-.1 0-.2.1-.3.2 0 .4-.1.6.1v.2c0 .1-.1.2-.2.2v.2c-.1.2-.3.2-.5.2.2.2.6.2.9.2.2 0 .1-.2.2-.3.1-.2.3-.1.5-.2.1-.2.2-.2.2-.4-.2-.1-.2-.2-.2-.3-.1-.1-.1-.2-.2-.2v-.1c0-.1.1-.1.1-.2-.1-.1-.1-.2-.1-.2-.2 0-.2-.2-.3-.2 0-.1-.2-.1-.2-.2-.2.1-.2-.2-.4-.2v-.2c.1-.1.2 0 .2 0h-.1c-.1-.1-.2 0-.3 0 .6.2.5.2.6.3"/><path class="st0" d="M8.6 13.6v-.2c.1-1.3.5-2.4 1.2-3.4.2-.2.3-.5.6-.6l-.8-.8c-1.1 1.3-1.9 2.8-2 4.4 0 .2 0 .5-.1.7.3-.2.8-.2 1.1-.1m10.9 4.8c-.1.2-.4.4-.6.6-.2.2-.6.3-.8.7-.2.2-.2.3-.4.4-.1.2-.2.2-.4.3-.3.3-.6-.2-.8-.2l-.6.1c-.2 0-.4.1-.6 0v1.2h.1c1.9-.1 3.6-.8 5-2.1l-.9-.8v-.2zM15.2 7.3c.1-.1.1-.1.2 0v.2h.1c.9.1 1.8.3 2.5.8.2-.1.4-.2.5 0 .2-.1.2.2.4.2.1 0 .3.3.3.5 0 .1.2.2.2.2.2-.2.4-.5.6-.7l.2-.1c-1.2-1.1-2.7-1.8-4.2-2-.2 0-.6 0-.8-.1v1"/><path class="st0" d="M15.2 9c.2-.1.3 0 .5 0 .8.2 1.5.4 2.2.9-.1-.1-.2-.2-.2-.3 0-.2-.2-.2-.2-.3h.1c.2.2.2.2.3.4.1 0 .2 0 .2.1s0 .2.2.3c0 .2.3.4.3.6 0 .1.1 0 .1 0l.2.3v.2c.1 0 .2-.1.2-.1.2.1 0 .2 0 .3h.2c0 .1-.1.2-.1.2 0 .1.1.1.2.1s.1.1.1.2c.2.2-.1.4 0 .6.1.2 0 .2-.1.4 0 .2-.2.2-.2.4H19c-.1.1.1.2 0 .3h.4c-.1-.2 0-.4.1-.6s.1-.3.2-.4c0 0 .1-.1.1 0 0 .2 0 .3-.1.4.2.2.1.4.2.6h1.2v-.1c-.1-.7-.2-1.5-.5-2.1-.1 0-.2.1-.2 0 0 0-.1 0 0-.1-.2-.2-.2-.3-.4-.5-.2 0-.3-.2-.5-.2s-.1-.3-.3-.2c-.1 0-.2-.2-.2-.2 0-.2 0-.4-.2-.6-.2-.1-.2.2-.3.1-.1 0 0-.2-.1-.2 0-.1-.1-.1-.1-.2.2-.2-.2-.2-.2-.5 0-.2-.2-.2-.3-.4-.6-.2-1.2-.5-1.9-.6-.2 0-.3 0-.5-.1v.1c-.2.5-.2.8-.2 1.2"/><path class="st0" d="M19.5 9.4c.1 0 .1.2.2.2.3.2.4.5.6.6.2.3.5.6.5.9.3.8.6 1.5.6 2.5h1.2c-.1-.1 0-.2-.1-.4-.2-1.8-.9-3.3-2.1-4.6-.2.3-.5.6-.9.8z"/><path class="st1" d="M15.3 7.1c0-.1.2 0 .2 0l.6-.2c.2 0 .5 0 .6.2-.2.2-.3.2-.5.2-.3 0-.6.1-.9-.2m3.4.7c.1 0 .2.1.2.2s.1.2 0 .2c-.2.1-.2-.2-.4-.2v-.1c.1-.2.1 0 .2-.1"/></svg>
@@ -0,0 +1,38 @@
1
+ import { H6, P } from '@undp/design-system-react/Typography';
2
+
3
+ import '@/styles/fonts.css';
4
+ import '@/styles/style.css';
5
+
6
+ function App() {
7
+ return (
8
+ <div className=' min-h-screen flex flex-col justify-center'>
9
+ <div className='flex gap-4 items-center justify-center my-8 mx-auto'>
10
+ <img
11
+ src='./imgs/Vitejs-logo.svg'
12
+ alt='vite logo'
13
+ width='72px'
14
+ style={{ marginLeft: 'auto', marginRight: 'auto' }}
15
+ />
16
+ <P marginBottom='none'>&</P>
17
+ <img
18
+ src='./imgs/Tailwind_CSS_Logo.svg'
19
+ alt='tailwind logo'
20
+ width='72px'
21
+ style={{ marginLeft: 'auto', marginRight: 'auto' }}
22
+ />
23
+ <P marginBottom='none'>&</P>
24
+ <img
25
+ src='./imgs/undp-logo-blue.svg'
26
+ alt='UNDP logo'
27
+ width='72px'
28
+ style={{ marginLeft: 'auto', marginRight: 'auto' }}
29
+ />
30
+ </div>
31
+ <H6 marginBottom='xl' className='text-center'>
32
+ To get started, edit the App.tsx file.
33
+ </H6>
34
+ </div>
35
+ );
36
+ }
37
+
38
+ export default App;
@@ -0,0 +1 @@
1
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 60.8"><style>.st0{fill:#0468b1}.st1{fill:#fff}</style><path class="st0" d="M0 30.9h14.5v14.5H0z"/><path class="st1" d="M3.7 33.2v5.7c0 3 1.5 4.1 3.5 4.1 2.1 0 3.6-1.2 3.6-4.2v-5.7H9.6v5.8c0 2.1-1 3.1-2.4 3.1-1.3 0-2.3-.9-2.3-3.1v-5.7H3.7z"/><path class="st0" d="M15.4 30.9h14.5v14.5H15.4z"/><path class="st1" d="M20.2 43v-4.1c0-1.6 0-2.8-.1-4 .5 1.1 1.1 2.2 1.8 3.2L25 43h1.3v-9.6h-1.1v4.1c0 1.5 0 2.7.2 4-.4-1-1-2-1.7-3.2l-3.1-4.9h-1.4v9.7l1-.1z"/><path class="st0" d="M15.4 46.3h14.5v14.5H15.4z"/><path class="st1" d="M25.1 49.4c-.6-.5-1.5-.8-2.8-.8-1 0-1.8.1-2.4.2v9.6h1.2v-3.9c.3.1.6.1 1 .1 1.2 0 2.3-.4 2.9-1.1.5-.5.8-1.2.8-2.1.2-.8-.1-1.5-.7-2"/><path class="st0" d="M22.3 53.6c-.4 0-.8 0-1.1-.1v-3.7c.2 0 .6-.1 1.2-.1 1.4 0 2.3.6 2.3 1.9 0 1.3-.9 2-2.4 2M0 46.3h14.5v14.5H0z"/><path class="st1" d="M10.2 49.8c-.8-.8-2.1-1.2-3.9-1.2-1 0-1.9.1-2.7.2v9.6c.6.1 1.4.1 2.3.1 1.9 0 3.4-.5 4.3-1.4.9-.9 1.4-2.2 1.4-3.7 0-1.7-.5-2.8-1.4-3.6"/><path class="st0" d="M6.2 57.4c-.5 0-1 0-1.3-.1v-7.6c.3-.1.8-.2 1.5-.2 2.7 0 3.9 1.4 3.9 3.7 0 2.7-1.5 4.3-4.1 4.2M0 0h30v30H0z"/><path class="st1" d="M25.7 15.6c-.4.6-1 1.1-1.3 1.8 0-.5.1-1.1-.1-1.5-.3-1-.6-1.9-.7-3.1v-.4c.2 1.1 1.3 1.9 1.2 3.1 0 .3-.1.6-.2.8v-.1c.2-.6.2-1.2.5-1.8.4-.8.8-1.6.6-2.6.8 1.2.6 2.7 0 3.8"/><path class="st1" d="M25.1 9.4c.7 1 .9 2.5.3 3.6-.2.5-.3 1-.4 1.5 0-.1 0-.2-.1-.3-.2-1.1-1.3-1.9-1.7-2.8-.2-.3-.2-.6-.3-1.1.4.8 1.5 1.2 1.9 2.2.2.2.1.5.2.8-.2-1-.1-1.9 0-2.8 0-.5-.1-1-.3-1.4.1-.1.2.1.4.3"/><path class="st1" d="M24.6 9.2c.2.8-.1 1.6.1 2.5-.5-.9-1.4-1.3-2.1-2-.4-.4-.6-1-.6-1.5.4.9 1.4 1.1 2 1.9.2.2.2.4.4.6-.3-.7-.5-1.5-.6-2.4l-.6-.9c.6.2 1.2 1 1.4 1.8"/><path class="st1" d="M22.5 7.3c.6.6.8 1.2 1 1.9l.1.2c-.8-.6-1.6-1.5-2.2-2.3l-.6-.7c.5.2 1.2.4 1.7.9m-11.1-.7c1.1-.6 2.4-.8 3.6-.9 3 0 5.9 1.8 7.2 4.5.8 1.6 1.1 3.8.6 5.6-.6 2.2-2.4 4.3-4.5 5.2-2.4 1.1-5.7.9-7.8-.6-2.9-1.9-4.1-5.4-3.2-8.8.5-2 2.1-4.1 4.1-5m-2.3 0c-.6.5-1 1.2-1.5 1.8-.4.4-.9.8-1.4 1.2.3-.6.3-1.2.7-1.6.5-.9 1.4-1.1 2.2-1.4"/><path class="st1" d="M5.8 8.4c.2-.4.6-.6 1.1-.7-.8.6-.7 1.5-1 2.4-.1.2-.2.6-.3.8.2-.3.4-.6.6-1 .6-.6 1.4-.9 1.7-1.7 0 1.1-.9 1.9-1.8 2.5-.4.3-.7.6-.9 1.1V11c.1-.9 0-2 .6-2.6"/><path class="st1" d="M4.3 11.5c0-1 .4-1.7.9-2.4-.6.9-.1 2.1-.2 3.1l-.1 1.1c0-.2 0-.2.1-.4.2-.9.9-1.5 1.5-2.1.2-.2.2-.3.3-.5-.1.4-.2.9-.4 1.3-.5 1-1.5 1.8-1.6 2.9.1-1-.7-1.9-.5-3"/><path class="st1" d="M3.8 12.9l.3-.9c-.2 1.2.6 2.2.9 3.2l.3 1.2c-.4-1.1.2-2.2.8-3.2.2-.2.2-.5.3-.8.1.5-.1 1.1-.2 1.6-.2.6-.4 1.4-.6 2-.2.4-.1.9 0 1.3-.4-.8-1.3-1.5-1.5-2.4-.3-.5-.5-1.3-.3-2"/><path class="st1" d="M3.7 15.3c.1 1.3 1.5 2 2.2 3.2.2.2.3.4.6.6 0-.2-.2-.2-.2-.4-.2-.5-.3-1-.2-1.5.1-.6.3-1.3.2-2 .6 1.2.4 2.8.7 4.1.1.3.2.6.4.8-1.2-.8-2.8-1.5-3.3-3.1-.4-.5-.4-1.1-.4-1.7"/><path class="st1" d="M4.5 18.3c.6 1.5 2.4 1.6 3.4 2.5.1.2.4.4.6.4-.2-.2-.6-.5-.7-.8-.6-.9-.4-2.2-.9-3.2.4.6.8 1.1 1.1 1.8.4 1 .6 2.1 1.5 2.8-1-.3-2.2-.2-3.1-.8-.9-.6-1.8-1.5-1.9-2.7"/><path class="st1" d="M6.2 21.2c1.1 1.2 2.8.8 4.2 1.1.2 0 .4.1.6.1-.2-.1-.4-.1-.6-.2-1.1-.4-1.3-1.5-1.9-2.4.8.5 1.4 1.2 2.1 1.9.5.4 1.1.6 1.8.8-.2.1-.4 0-.6.1-1.2.3-2.4.7-3.7.3-.7-.4-1.5-1-1.9-1.7"/><path class="st1" d="M20.6 23.9c-1.2.4-2.4 0-3.4-.7-.4-.2-.7-.6-1.2-.6h-.5c.9.4 1.8 1 2.5 1.8-.2.2-.3.3-.5.4-.7-.8-1.5-1.5-2.5-2-.2 0-.3.2-.5.2-.7.5-1.5 1.1-2 1.9l-.5-.5c.8-.8 1.6-1.4 2.5-1.8-.9-.3-1.5.5-2.2.9-.8.6-1.9.8-2.9.4-.6-.2-1.1-.5-1.4-1 .8.6 1.9.6 2.8.2 1.2-.5 2.4-1.1 3.8-.8.2 0 .4.2.6 0 1.1-.2 2.2-.1 3.2.4l1 .4c.9.3 1.9.2 2.8-.3-.6.6-1 1-1.6 1.1"/><path class="st1" d="M21.9 22.7c-1.4.5-2.7-.1-4-.3h-.2c.6-.2 1.2-.3 1.7-.8.7-.7 1.4-1.4 2.2-1.9-.6.8-.6 1.9-1.6 2.4-.2.2-.6.2-.8.3.4 0 .6-.2 1.1-.2 1.3-.2 2.8 0 3.7-1.1-.5.7-1.4 1.4-2.1 1.6"/><path class="st1" d="M22.6 21.3c-.6.2-1.4.2-2.1.5 1.1-1 1.1-2.5 1.8-3.6.2-.3.4-.6.7-1-.5.9-.2 2.1-.8 3-.2.4-.5.7-.8 1 .1 0 .2-.1.3-.2.9-.8 1.9-1.1 2.9-1.8.4-.3.7-.6.9-1.1-.1 1.5-1.6 2.8-2.9 3.2"/><path class="st1" d="M24.3 18.9c-.6.3-1.1.6-1.5 1.1.8-1.3.4-3.1.9-4.5l.2-.5c-.1.9.3 1.6.2 2.5 0 .6-.2 1-.5 1.5.4-.5.6-1.1 1.1-1.5.7-.6 1.4-1.4 1.5-2.3.3 1.5-.6 2.9-1.9 3.7"/><path class="st0" d="M18.3 18.8c.3-.2.6-.4.8-.6h-.2c-.2 0-.2-.2-.2-.2l-.5-.5v-.1c0 .1-.1.2-.2.2 0 .1 0 .2.1.2.2.1.4.2.4.3-.1.2-.4.3-.2.6.1 0-.1 0 0 .1m-2.8-6.5c.1.1.2 0 .2-.1.1 0 .2.1.2.2h.2c0-.3.5-.2.6-.6h-.1s-.1 0-.1-.1l.2-.2c-.4-.2-.7-.4-1.1-.5-.2 0-.3 0-.5-.1.1.2 0 .6.1.8l.2.1c.1-.2.2-.2.3-.3h.2v.3c0 .4-.3.4-.4.5m4.2 2.7c-.2.6-.4 1.1-.7 1.5-.2.2-.2.4-.4.5l.4.3v-.1s0-.1.1-.1c.2 0 .2.2.2.2 0 .2.1.2.1.4 1-1.1 1.5-2.4 1.6-3.8l.1-.1h-1.2c0 .2 0 .5-.1.7l.2.2v.2c-.2.2-.2.2-.3.1m-1-3.5c-.2-.2-.3-.5-.6-.7-.4.4-.8.8-1.1 1.2l.1.1c0-.1.1-.2.1-.2.1-.2.2 0 .4 0h.6c.2.1.2.2.3.3v.2c0 .3.2-.1.3 0 .1 0 .2 0 .2.1 0 .2.2.1.2.2s-.1.1-.1.1c0 .2-.2.2-.1.3.2 0 .2-.2.3-.3-.1-.2-.1-.4-.2-.6-.2 0-.2-.2-.3-.2-.3-.2 0-.3-.1-.5m-3.5 8.3c.3-.1.6-.1 1-.2-.1 0-.2 0-.2-.1-.2 0-.2-.2-.3-.4 0-.1 0-.2.1-.3-.1-.2-.3 0-.5-.1 0 0-.1-.1-.2-.1l.1.1v1.1m.3-3.1c.1 0 0 .2.1.2.2-.1.3.2.4 0 0-.2.2-.2.3-.2.2-.1.4-.2.4-.5-.2 0-.2.1-.2.2-.1.1-.2-.2-.2-.1v.1c-.2.2-.2-.1-.3 0v.1c-.1-.2-.2-.1-.3-.2h-.2c0 .1-.2 0-.2.1-.1 0-.1.2-.2.2-.2 0-.2.2-.3.1v.1h.2c.1-.2.3 0 .5-.1m1.1-1.5c0 .1 0 .2.1.2.2 0 .1.2.2.2s0-.1 0-.2c0-.2-.1-.2-.3-.2.1 0 .1 0 0 0 .1-.1.1-.1 0 0m-.1-5.6c-.4-.2-.8-.2-1.3-.2v1.2h.1c.6.1 1.3.3 1.8.7v.1c.2-.2.4-.5.6-.7l.2-.1h-.1c-.4-.5-.9-.8-1.3-1M9 14.1l.1.7c0 .2.2.6.2.8 0-.1 0-.2.2-.2 0-.1.1-.2 0-.2 0-.2.1-.4.2-.6.2 0 .2-.2.4-.3.1 0 .2.2.2.2-.2-.2-.2-.4-.1-.6H8.9l.1.2zm7.2 1.9c.1-.1.3-.1.3-.2-.1-.1-.1 0-.3.2-.1-.1-.1 0 0 0m2.5-2.1l.2.2c.2.1 0 .2.2.3s.2.2.2.4v-.1c.1-.2 0-.5.1-.6-.2-.1-.5-.1-.7-.2m-1.6 2.9c.2 0 .2.2.4.2.2-.1.4 0 .5-.1 0-.2.1-.2.2-.4.1.1.1.2.1.3.1-.2.2-.2.3-.4.2-.4.5-.8.6-1.2-.1 0-.2 0-.3.1-.1 0-.2.1-.4 0h-.1c0 .1-.1.2-.2.1-.1 0-.1-.1-.1-.2v.2c-.1.1-.1.2-.2.2-.1.1-.2.1-.3.2 0 .2-.2.2-.3.2h.2c.2 0 .2-.2.2-.2.1 0 .2-.1.2 0 .1.1.1.2.1.4-.1.1 0 .2-.1.4 0 .2-.2.2-.2.3-.1.1-.2.1-.2.1-.3-.2-.6-.2-1-.2 0 0-.1 0 0 .1.3-.2.4-.2.6-.1m-2.4 3.5c-1.6-.1-3-.6-4.1-1.8l-.8.8c1.2 1.1 2.7 1.8 4.3 1.9.2 0 .6 0 .8.1l-.1-.1-.1-.9zM13.1 16c.4.3.9.6 1.5.6v-.3c0-.1.2-.1.2-.1s.1-.1 0-.1-.1-.2-.1-.2.1 0 .1-.1c-.1-.1 0-.2 0-.2l.1-.1c-.2.1-.5 0-.7-.2l-.2-.2-.9.9m-.4-1.3c-.1 0-.1 0 0 0h-.2c0-.2-.2-.1-.3-.2l.3.6c.1.2.2.3.3.5.1-.2.2-.2.3-.4V15c0-.1 0-.2-.1-.2s0 .2 0 .2h-.1c-.1 0-.2-.1-.2-.2.1 0 0 0 0-.1m.8.1c0 .1-.1.2-.2.2.1-.1.2-.2.3-.2h-.1zm1.2 3.9c-1 0-1.8-.4-2.6-1 0 .1.2.2.1.2-.1.1-.2.1-.3.1-.2 0-.4.2-.6.2-.2.1-.2-.2-.4-.2 1.1 1 2.4 1.5 3.9 1.6l.1.1v-1.2l-.2.2z"/><path class="st0" d="M10.3 18.2c-.2-.1-.2-.2-.4-.4-.2 0-.2-.2-.3-.2v-.2.1c-.2.1-.2-.1-.3-.2-.2-.1-.1-.4-.3-.3-.1 0-.1-.1-.2-.1-.2 0-.2-.2-.2-.2v.1c-.2 0-.2-.2-.3-.2h-.1c-.1-.1-.2-.2-.2-.4-.2-.2-.1-.4 0-.6 0 0 .1-.1.1-.2s.2-.1.2-.1.1 0 .1.1c.1 0 .2 0 .2-.1.1-.1.2-.1.2-.1.1.1.1.2.2.2l-.1-.1c-.1-.4-.2-.8-.2-1.2V13.8H7.3c.1 1.3.4 2.4 1 3.5.2.6.7 1 1.1 1.5l.8-.8.1.2zm1.3-9.4c-.2.2-.5.4-.7.6.3.2.6.5.8.7v.1c.6-.6 1.5-1 2.3-1.2.2 0 .4-.1.6 0V7.9c-1.1 0-2 .4-3 .9m-1 4.3c0 .2 0 .4-.1.6.2-.1.3 0 .5 0-.1 0 0-.2-.1-.2 0-.1 0-.2.1-.3 0-.2.2-.2.2-.4s.2-.1.3-.2c.1 0 0-.1 0-.2.1-.1.2-.1.3-.2l.2-.2c.2 0 .2-.3.5-.3-.3-.2-.6-.6-.9-.8-.4.6-.8 1.3-1 2.2m.2 1.6c0-.1-.1-.1-.1-.2.1-.2 0-.4.2-.4-.2 0-.2.1-.4 0l.1.1c0 .2.1.5.1.8 0-.2 0-.3.1-.3m1.1 2.8z"/><path class="st0" d="M10.6 9.7l-.4.6c-.7 1-1.1 2.1-1.1 3.3h1.2v-.1c.1-1.1.5-2.2 1.3-3-.4-.3-.7-.5-1-.8zm3.3 7.5c.1-.1.2-.2.3-.2-.4.1-.6-.2-1-.3-.2-.1-.4-.2-.5-.4-.2.3-.5.6-.8.8.2 0 .2.2.3.2.6.5 1.4.7 2 .9l-.2-.1c-.2-.2-.3-.4-.4-.6.3-.1.3-.2.3-.3M11.2 14v.2c0 .2-.2 0-.2.1v.2c-.1.2.2.3.2.6.1.2 0 .3.2.5 0 .2 0 .6.2.8v.2c0 .2-.2.2-.2.2s.1 0 .1.1c.3-.4.6-.7 1.1-1.1l-.2-.2c-.2-.4-.5-.9-.6-1.4l-.1-.1c0 .2-.1.2-.1.4-.1 0-.2-.1-.2-.1s-.1-.1 0-.2h.1V14c0-.1-.1-.2 0-.2s.2.1.2.2c.1 0 .2 0 .2-.1s.1-.2 0-.2c.1-.2 0-.3 0-.5-.1-.1-.2 0-.3 0-.3.1.1.3 0 .6-.2.3-.3.1-.4.2m10.2 0c-.1 1.4-.6 2.5-1.3 3.6-.2.2-.2.4-.5.5.3.2.6.6.9.9 1.2-1.4 1.9-3 1.9-4.9V14h-1zM10.6 9.2c1.2-1.1 2.5-1.7 4.1-1.8V6.2c-1.6.1-3 .6-4.3 1.5-.2.2-.4.4-.7.6.4.2.7.5.9.9m4.1.2c-1 .1-1.9.5-2.7 1.1.3.2.6.6.8.8 0 0 0-.1.1-.1.4-.2.8-.5 1.2-.6.2 0 .4-.1.6-.1V9.4zm0 1.5c-.7.1-1.2.4-1.7.9h.1c.1.1.2.1.3.2 0 .1-.1.1-.1.2h.1c.1 0 .1 0 .1-.1.1-.1.1.1.2.1h.2c.1-.1.2 0 .2-.1.2-.2.1-.3.2-.4.1 0 0 .1 0 .2.2.1.2-.1.4 0v-1m.1 1.8c-.2.2-.3.2-.5.3-.1.1 0 .2-.2.2 0 .1-.2.2-.2.2-.1.2 0 .3-.1.5-.2.2-.2-.2-.3-.2H13.2c-.1.1-.2.2-.1.2 0 .1-.2 0-.2.2.2 0 .2 0 .4-.1h.2s.1 0 .1.1c.1 0 .1-.2.1-.2 0-.1.1-.1.2-.1s0 .1 0 .1c.2.1 0 .2-.1.3 0 .1 0 .2-.2.2v-.1c0 .1 0 .2.1.2.1-.1.1-.2.2-.2.1-.1 0-.2.1-.3.2 0 .4-.1.6.1v.2c0 .1-.1.2-.2.2v.2c-.1.2-.3.2-.5.2.2.2.6.2.9.2.2 0 .1-.2.2-.3.1-.2.3-.1.5-.2.1-.2.2-.2.2-.4-.2-.1-.2-.2-.2-.3-.1-.1-.1-.2-.2-.2v-.1c0-.1.1-.1.1-.2-.1-.1-.1-.2-.1-.2-.2 0-.2-.2-.3-.2 0-.1-.2-.1-.2-.2-.2.1-.2-.2-.4-.2v-.2c.1-.1.2 0 .2 0h-.1c-.1-.1-.2 0-.3 0 .6.2.5.2.6.3"/><path class="st0" d="M8.6 13.6v-.2c.1-1.3.5-2.4 1.2-3.4.2-.2.3-.5.6-.6l-.8-.8c-1.1 1.3-1.9 2.8-2 4.4 0 .2 0 .5-.1.7.3-.2.8-.2 1.1-.1m10.9 4.8c-.1.2-.4.4-.6.6-.2.2-.6.3-.8.7-.2.2-.2.3-.4.4-.1.2-.2.2-.4.3-.3.3-.6-.2-.8-.2l-.6.1c-.2 0-.4.1-.6 0v1.2h.1c1.9-.1 3.6-.8 5-2.1l-.9-.8v-.2zM15.2 7.3c.1-.1.1-.1.2 0v.2h.1c.9.1 1.8.3 2.5.8.2-.1.4-.2.5 0 .2-.1.2.2.4.2.1 0 .3.3.3.5 0 .1.2.2.2.2.2-.2.4-.5.6-.7l.2-.1c-1.2-1.1-2.7-1.8-4.2-2-.2 0-.6 0-.8-.1v1"/><path class="st0" d="M15.2 9c.2-.1.3 0 .5 0 .8.2 1.5.4 2.2.9-.1-.1-.2-.2-.2-.3 0-.2-.2-.2-.2-.3h.1c.2.2.2.2.3.4.1 0 .2 0 .2.1s0 .2.2.3c0 .2.3.4.3.6 0 .1.1 0 .1 0l.2.3v.2c.1 0 .2-.1.2-.1.2.1 0 .2 0 .3h.2c0 .1-.1.2-.1.2 0 .1.1.1.2.1s.1.1.1.2c.2.2-.1.4 0 .6.1.2 0 .2-.1.4 0 .2-.2.2-.2.4H19c-.1.1.1.2 0 .3h.4c-.1-.2 0-.4.1-.6s.1-.3.2-.4c0 0 .1-.1.1 0 0 .2 0 .3-.1.4.2.2.1.4.2.6h1.2v-.1c-.1-.7-.2-1.5-.5-2.1-.1 0-.2.1-.2 0 0 0-.1 0 0-.1-.2-.2-.2-.3-.4-.5-.2 0-.3-.2-.5-.2s-.1-.3-.3-.2c-.1 0-.2-.2-.2-.2 0-.2 0-.4-.2-.6-.2-.1-.2.2-.3.1-.1 0 0-.2-.1-.2 0-.1-.1-.1-.1-.2.2-.2-.2-.2-.2-.5 0-.2-.2-.2-.3-.4-.6-.2-1.2-.5-1.9-.6-.2 0-.3 0-.5-.1v.1c-.2.5-.2.8-.2 1.2"/><path class="st0" d="M19.5 9.4c.1 0 .1.2.2.2.3.2.4.5.6.6.2.3.5.6.5.9.3.8.6 1.5.6 2.5h1.2c-.1-.1 0-.2-.1-.4-.2-1.8-.9-3.3-2.1-4.6-.2.3-.5.6-.9.8z"/><path class="st1" d="M15.3 7.1c0-.1.2 0 .2 0l.6-.2c.2 0 .5 0 .6.2-.2.2-.3.2-.5.2-.3 0-.6.1-.9-.2m3.4.7c.1 0 .2.1.2.2s.1.2 0 .2c-.2.1-.2-.2-.4-.2v-.1c.1-.2.1 0 .2-.1"/></svg>
@@ -0,0 +1,14 @@
1
+ import {
2
+ Footer,
3
+ FooterLogoUnit,
4
+ FooterCopyrightUnit,
5
+ } from '@undp/design-system-react/Footer';
6
+
7
+ export default function FooterEl() {
8
+ return (
9
+ <Footer>
10
+ <FooterLogoUnit>subscribe to email</FooterLogoUnit>
11
+ <FooterCopyrightUnit>Footnote can be added here</FooterCopyrightUnit>
12
+ </Footer>
13
+ );
14
+ }
@@ -6,24 +6,20 @@ import {
6
6
  } from '@undp/design-system-react/Header';
7
7
  import { Link } from '@tanstack/react-router';
8
8
 
9
- export default function Header() {
9
+ export default function HeaderEl() {
10
10
  return (
11
11
  <Header>
12
12
  <HeaderLogoUnit
13
- hyperlink="./"
14
- siteName="Site name"
15
- siteSubName="Sub-site name"
13
+ hyperlink='./'
14
+ siteName='Site name'
15
+ siteSubName='Sub-site name'
16
16
  />
17
17
  <HeaderMainNavUnit>
18
18
  <HeaderMenuUnit>
19
- <Link to='/'>
20
- Home
21
- </Link>
22
- <Link to='/about'>
23
- About
24
- </Link>
19
+ <Link to='/'>Home</Link>
20
+ <Link to='/query-demo'>Query demo</Link>
25
21
  </HeaderMenuUnit>
26
22
  </HeaderMainNavUnit>
27
23
  </Header>
28
- )
29
- }
24
+ );
25
+ }
@@ -0,0 +1,4 @@
1
+ @import '@undp/design-system-react/style.css';
2
+ @import '@undp/data-viz/style.css';
3
+ @import 'tailwindcss';
4
+ @config '../../tailwind.config.js';
@@ -0,0 +1 @@
1
+ /// <reference types="vite/client" />
@@ -0,0 +1,7 @@
1
+ import * as Preset from '@undp/design-system-react/tailwind.config';
2
+
3
+ /** @type {import('tailwindcss').Config} */
4
+
5
+ export default {
6
+ presets: [Preset],
7
+ };
@@ -24,6 +24,6 @@
24
24
  }
25
25
  },
26
26
  "files": [],
27
- "include": ["eslint.config.js", "src", "tailwind.config.js"],
27
+ "include": ["eslint.config.mjs", "src", "tailwind.config.js"],
28
28
  "references": [{ "path": "./tsconfig.node.json" }]
29
29
  }
@@ -1,5 +1,4 @@
1
1
  import path from 'path';
2
-
3
2
  import { defineConfig } from 'vite';
4
3
  import react from '@vitejs/plugin-react';
5
4
  import eslint from '@nabla/vite-plugin-eslint';
@@ -26,6 +25,23 @@ export default defineConfig({
26
25
  plugins: [
27
26
  postcssNested(),
28
27
  tailwindcss(),
28
+ {
29
+ postcssPlugin: 'move-media-queries-last', // If you want to reorder media queries to the end
30
+ OnceExit(root) {
31
+ const mediaQueries = [];
32
+
33
+ // Collect all media queries
34
+ root.walkAtRules('media', mediaRule => {
35
+ mediaQueries.push(mediaRule.clone());
36
+ mediaRule.remove();
37
+ });
38
+
39
+ // Append them at the end
40
+ mediaQueries.forEach(mediaQuery => {
41
+ root.append(mediaQuery);
42
+ });
43
+ },
44
+ },
29
45
  ],
30
46
  },
31
47
  },
@@ -0,0 +1,10 @@
1
+ {
2
+ "semi": true,
3
+ "singleQuote": true,
4
+ "trailingComma": "all",
5
+ "arrowParens": "avoid",
6
+ "tabWidth": 2,
7
+ "jsxSingleQuote": true,
8
+ "endOfLine": "auto",
9
+ "bracketSpacing": true
10
+ }
@@ -0,0 +1,80 @@
1
+ This is a React + TypeScript + Vite project powered by Tailwind CSS, the UNDP Design System, and the UNDP Data Visualization Library, bootstrapped with [@undp/create-app](https://www.npmjs.com/package/@undp/create-app).
2
+
3
+ It includes:
4
+ * React 19.x with React compiler
5
+ * UNDP Design System
6
+ * UNDP Data Visualization library
7
+ * Data fetching with [TanStack Query](https://tanstack.com/query)
8
+ * TailwindCSS
9
+ * Code linting and formatting via ESLint and Prettier
10
+
11
+ ## 🧩 Installation
12
+
13
+ This project uses `npm`.
14
+
15
+ For installation you will need to install `node` and `npm`, if you don't already have it. `node` and `npm` can be installed from [here](https://nodejs.org/en/download/).
16
+
17
+ To install the project, simply run `npm install` in the project folder in the terminal on Mac or Command Prompt on Windows.
18
+
19
+ ## 🚀 Local Development
20
+
21
+ To start the project locally:
22
+
23
+ ```bash
24
+ npm run dev
25
+ ```
26
+
27
+ This is run the app in development mode. Open [http://localhost:5173/](http://localhost:5173/) to view it in the browser.
28
+
29
+ The page will reload if you make edits. You will also see any lint errors in the console.
30
+
31
+ ## 📜 Available Scripts
32
+
33
+ - `npm run dev`: Executes `vite` and start the local server for local deployment.
34
+ - `npm run build`: Executes `tsc && vite build` and builds the app for production and deployment.
35
+ - `npm run preview`: Executes `vite preview` and serves the static build output (from vite build) locally.
36
+ - `npm run clean`: Executes `rimraf node_modules && rimraf dist && rimraf package-lock.json` and remove node_modules folder, dist folder and package-lock.json.
37
+ - `npm run lint`: Executes `npx eslint --fix && npx prettier . --write` and resolve all the linting and prettier errors.
38
+
39
+ ## 🧰 Tooling Setup
40
+
41
+ This project uses ESLint integrated with Prettier to automatically format and lint your code.
42
+
43
+ If you’re using Visual Studio Code, install:
44
+ * [ESLint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
45
+ * [Prettier extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
46
+
47
+ Your editor should now show linting errors and automatically fix issues where possible.
48
+
49
+ More info: [ESLint Integrations](http://eslint.org/docs/user-guide/integrations)
50
+
51
+ ## 🎨 Styling
52
+
53
+ This project uses [Tailwind CSS](https://tailwindcss.com/) for styling and and includes pre-configured design tokens from the UNDP Design System.
54
+
55
+ ## 🔍 Data Fetching
56
+
57
+ Data fetching is powered by [TanStack Query](https://tanstack.com/query) for efficient, declarative data fetching and caching.
58
+
59
+ ## 🌐 Embedding the Visualization
60
+
61
+ To embed the visualization on an external page, include:
62
+
63
+ **HTML Placeholder**
64
+
65
+ ```html
66
+ <div id="root"></div>
67
+ ```
68
+
69
+ **Required `<script>` and `<link>` tags**
70
+ ```
71
+ <link rel="dns-prefetch" href="{{Visualization URL}}">
72
+ <script defer="defer" type="module" src="{{Visualization URL}}/index.js"></script>
73
+ <link rel="modulepreload" crossorigin href="{{Visualization URL}}/react-{{hash}}.js">
74
+ <link rel="modulepreload" crossorigin href="{{Visualization URL}}/undp-{{hash}}.js">
75
+ <link rel="stylesheet" href="{{Visualization URL}}/style.css"></link>
76
+ ```
77
+
78
+ ## 📬 Contact us
79
+
80
+ For questions or feedback, contact us at [data@undp.org](mailto:data@undp.org).