@postxl/generators 0.2.2

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 (1095) hide show
  1. package/LICENSE +50 -0
  2. package/dist/backend-actions/actions-provider.mock.d.ts +7 -0
  3. package/dist/backend-actions/actions-provider.mock.js +75 -0
  4. package/dist/backend-actions/actions-provider.mock.js.map +1 -0
  5. package/dist/backend-actions/actions.generator.d.ts +130 -0
  6. package/dist/backend-actions/actions.generator.js +204 -0
  7. package/dist/backend-actions/actions.generator.js.map +1 -0
  8. package/dist/backend-actions/generators/action-types.generator.d.ts +2 -0
  9. package/dist/backend-actions/generators/action-types.generator.js +47 -0
  10. package/dist/backend-actions/generators/action-types.generator.js.map +1 -0
  11. package/dist/backend-actions/generators/actions-config-class.generator.d.ts +2 -0
  12. package/dist/backend-actions/generators/actions-config-class.generator.js +25 -0
  13. package/dist/backend-actions/generators/actions-config-class.generator.js.map +1 -0
  14. package/dist/backend-actions/generators/actions-module.generator.d.ts +2 -0
  15. package/dist/backend-actions/generators/actions-module.generator.js +47 -0
  16. package/dist/backend-actions/generators/actions-module.generator.js.map +1 -0
  17. package/dist/backend-actions/generators/authorization-service.generator.d.ts +2 -0
  18. package/dist/backend-actions/generators/authorization-service.generator.js +35 -0
  19. package/dist/backend-actions/generators/authorization-service.generator.js.map +1 -0
  20. package/dist/backend-actions/generators/dispatcher-service.generator.d.ts +2 -0
  21. package/dist/backend-actions/generators/dispatcher-service.generator.js +97 -0
  22. package/dist/backend-actions/generators/dispatcher-service.generator.js.map +1 -0
  23. package/dist/backend-actions/generators/execution-class.generator.d.ts +2 -0
  24. package/dist/backend-actions/generators/execution-class.generator.js +561 -0
  25. package/dist/backend-actions/generators/execution-class.generator.js.map +1 -0
  26. package/dist/backend-actions/generators/execution-interface.generator.d.ts +2 -0
  27. package/dist/backend-actions/generators/execution-interface.generator.js +237 -0
  28. package/dist/backend-actions/generators/execution-interface.generator.js.map +1 -0
  29. package/dist/backend-actions/index.d.ts +9 -0
  30. package/dist/backend-actions/index.js +43 -0
  31. package/dist/backend-actions/index.js.map +1 -0
  32. package/dist/backend-actions/template/README.md +21 -0
  33. package/dist/backend-actions/template/src/execution/types.ts +85 -0
  34. package/dist/backend-authentication/authentication.generator.d.ts +29 -0
  35. package/dist/backend-authentication/authentication.generator.js +145 -0
  36. package/dist/backend-authentication/authentication.generator.js.map +1 -0
  37. package/dist/backend-authentication/generators/auth-guard.generator.d.ts +2 -0
  38. package/dist/backend-authentication/generators/auth-guard.generator.js +121 -0
  39. package/dist/backend-authentication/generators/auth-guard.generator.js.map +1 -0
  40. package/dist/backend-authentication/generators/authentication-module.generator.d.ts +2 -0
  41. package/dist/backend-authentication/generators/authentication-module.generator.js +79 -0
  42. package/dist/backend-authentication/generators/authentication-module.generator.js.map +1 -0
  43. package/dist/backend-authentication/generators/authentication-service.generator.d.ts +2 -0
  44. package/dist/backend-authentication/generators/authentication-service.generator.js +393 -0
  45. package/dist/backend-authentication/generators/authentication-service.generator.js.map +1 -0
  46. package/dist/backend-authentication/generators/authentication-types.generator.d.ts +2 -0
  47. package/dist/backend-authentication/generators/authentication-types.generator.js +64 -0
  48. package/dist/backend-authentication/generators/authentication-types.generator.js.map +1 -0
  49. package/dist/backend-authentication/index.d.ts +4 -0
  50. package/dist/backend-authentication/index.js +40 -0
  51. package/dist/backend-authentication/index.js.map +1 -0
  52. package/dist/backend-authentication/template/README.md +35 -0
  53. package/dist/backend-authentication/template/assets/auth.png +0 -0
  54. package/dist/backend-authentication/template/assets/cookie-validation.png +0 -0
  55. package/dist/backend-authentication/template/assets/page-request.png +0 -0
  56. package/dist/backend-authentication/template/docs/auth.mmd +42 -0
  57. package/dist/backend-authentication/template/docs/cookie-validation.mmd +0 -0
  58. package/dist/backend-authentication/template/docs/page-request.mmd +42 -0
  59. package/dist/backend-authentication/template/src/authentication.config.ts +51 -0
  60. package/dist/backend-authentication/template/src/authentication.controller.ts +105 -0
  61. package/dist/backend-authentication/template/src/authentication.mock.service.ts +108 -0
  62. package/dist/backend-authentication/template/src/utils.ts +13 -0
  63. package/dist/backend-authentication/template/src/viewer.decorator.ts +13 -0
  64. package/dist/backend-core/backend.generator.d.ts +3 -0
  65. package/dist/backend-core/backend.generator.js +154 -0
  66. package/dist/backend-core/backend.generator.js.map +1 -0
  67. package/dist/backend-core/generators/api-config.generator.d.ts +2 -0
  68. package/dist/backend-core/generators/api-config.generator.js +72 -0
  69. package/dist/backend-core/generators/api-config.generator.js.map +1 -0
  70. package/dist/backend-core/generators/api-module.generator.d.ts +2 -0
  71. package/dist/backend-core/generators/api-module.generator.js +53 -0
  72. package/dist/backend-core/generators/api-module.generator.js.map +1 -0
  73. package/dist/backend-core/generators/dotenv-example.generator.d.ts +2 -0
  74. package/dist/backend-core/generators/dotenv-example.generator.js +38 -0
  75. package/dist/backend-core/generators/dotenv-example.generator.js.map +1 -0
  76. package/dist/backend-core/generators/main.generator.d.ts +2 -0
  77. package/dist/backend-core/generators/main.generator.js +153 -0
  78. package/dist/backend-core/generators/main.generator.js.map +1 -0
  79. package/dist/backend-core/generators/tsconfig.generator.d.ts +2 -0
  80. package/dist/backend-core/generators/tsconfig.generator.js +59 -0
  81. package/dist/backend-core/generators/tsconfig.generator.js.map +1 -0
  82. package/dist/backend-core/index.d.ts +3 -0
  83. package/dist/backend-core/index.js +20 -0
  84. package/dist/backend-core/index.js.map +1 -0
  85. package/dist/backend-core/modules/backend-module-utils.generator.d.ts +3 -0
  86. package/dist/backend-core/modules/backend-module-utils.generator.js +65 -0
  87. package/dist/backend-core/modules/backend-module-utils.generator.js.map +1 -0
  88. package/dist/backend-core/modules/backend-module-xlport.generator.d.ts +3 -0
  89. package/dist/backend-core/modules/backend-module-xlport.generator.js +80 -0
  90. package/dist/backend-core/modules/backend-module-xlport.generator.js.map +1 -0
  91. package/dist/backend-core/template/README.md +97 -0
  92. package/dist/backend-core/template/apps/api/README.md +3 -0
  93. package/dist/backend-core/template/apps/api/src/api.controller.ts +14 -0
  94. package/dist/backend-core/template/apps/api/src/console.logger.ts +55 -0
  95. package/dist/backend-core/template/apps/api/src/e2e.ts +458 -0
  96. package/dist/backend-core/template/apps/api/test/base.test.ts +7 -0
  97. package/dist/backend-core/template/apps/api/tsconfig.app.json +9 -0
  98. package/dist/backend-core/template/jest.config.ts +39 -0
  99. package/dist/backend-core/template/libs/e2e/src/e2e.controller.ts +30 -0
  100. package/dist/backend-core/template/libs/e2e/src/e2e.module.ts +18 -0
  101. package/dist/backend-core/template/libs/e2e/src/test-data.service.ts +20 -0
  102. package/dist/backend-core/template/libs/utils/src/pagination.test.ts +58 -0
  103. package/dist/backend-core/template/libs/utils/src/pagination.ts +68 -0
  104. package/dist/backend-core/template/libs/utils/tsconfig.lib.json +9 -0
  105. package/dist/backend-core/template/libs/xlport/README.md +90 -0
  106. package/dist/backend-core/template/libs/xlport/src/xlport.config.ts +8 -0
  107. package/dist/backend-core/template/libs/xlport/src/xlport.module.ts +20 -0
  108. package/dist/backend-core/template/libs/xlport/src/xlport.service.ts +171 -0
  109. package/dist/backend-core/template/libs/xlport/tsconfig.lib.json +9 -0
  110. package/dist/backend-core/template/nest-cli.json +22 -0
  111. package/dist/backend-core/template/tsconfig.build.json +4 -0
  112. package/dist/backend-core/types.d.ts +145 -0
  113. package/dist/backend-core/types.js +3 -0
  114. package/dist/backend-core/types.js.map +1 -0
  115. package/dist/backend-data-management/data-management.generator.d.ts +18 -0
  116. package/dist/backend-data-management/data-management.generator.js +104 -0
  117. package/dist/backend-data-management/data-management.generator.js.map +1 -0
  118. package/dist/backend-data-management/generators/data-management-service.generator.d.ts +8 -0
  119. package/dist/backend-data-management/generators/data-management-service.generator.js +330 -0
  120. package/dist/backend-data-management/generators/data-management-service.generator.js.map +1 -0
  121. package/dist/backend-data-management/index.d.ts +2 -0
  122. package/dist/backend-data-management/index.js +22 -0
  123. package/dist/backend-data-management/index.js.map +1 -0
  124. package/dist/backend-data-management/template/data-management.controller.ts +242 -0
  125. package/dist/backend-data-management/template/data-management.module.ts +15 -0
  126. package/dist/backend-database-prisma/generators/database-config.generator.d.ts +2 -0
  127. package/dist/backend-database-prisma/generators/database-config.generator.js +18 -0
  128. package/dist/backend-database-prisma/generators/database-config.generator.js.map +1 -0
  129. package/dist/backend-database-prisma/generators/database-module.generator.d.ts +2 -0
  130. package/dist/backend-database-prisma/generators/database-module.generator.js +66 -0
  131. package/dist/backend-database-prisma/generators/database-module.generator.js.map +1 -0
  132. package/dist/backend-database-prisma/generators/database-service.generator.d.ts +2 -0
  133. package/dist/backend-database-prisma/generators/database-service.generator.js +45 -0
  134. package/dist/backend-database-prisma/generators/database-service.generator.js.map +1 -0
  135. package/dist/backend-database-prisma/generators/index.generator.d.ts +2 -0
  136. package/dist/backend-database-prisma/generators/index.generator.js +12 -0
  137. package/dist/backend-database-prisma/generators/index.generator.js.map +1 -0
  138. package/dist/backend-database-prisma/generators/prisma-schema.generator.d.ts +2 -0
  139. package/dist/backend-database-prisma/generators/prisma-schema.generator.js +224 -0
  140. package/dist/backend-database-prisma/generators/prisma-schema.generator.js.map +1 -0
  141. package/dist/backend-database-prisma/index.d.ts +5 -0
  142. package/dist/backend-database-prisma/index.js +41 -0
  143. package/dist/backend-database-prisma/index.js.map +1 -0
  144. package/dist/backend-database-prisma/prisma.generator.d.ts +29 -0
  145. package/dist/backend-database-prisma/prisma.generator.js +123 -0
  146. package/dist/backend-database-prisma/prisma.generator.js.map +1 -0
  147. package/dist/backend-database-prisma/prisma.utils.d.ts +9 -0
  148. package/dist/backend-database-prisma/prisma.utils.js +27 -0
  149. package/dist/backend-database-prisma/prisma.utils.js.map +1 -0
  150. package/dist/backend-database-prisma/template/prisma.config.ts +14 -0
  151. package/dist/backend-e2e/backend-e2e.generator.d.ts +23 -0
  152. package/dist/backend-e2e/backend-e2e.generator.js +139 -0
  153. package/dist/backend-e2e/backend-e2e.generator.js.map +1 -0
  154. package/dist/backend-e2e/generators/e2e-controller.generator.d.ts +2 -0
  155. package/dist/backend-e2e/generators/e2e-controller.generator.js +70 -0
  156. package/dist/backend-e2e/generators/e2e-controller.generator.js.map +1 -0
  157. package/dist/backend-e2e/generators/e2e-module.generator.d.ts +2 -0
  158. package/dist/backend-e2e/generators/e2e-module.generator.js +64 -0
  159. package/dist/backend-e2e/generators/e2e-module.generator.js.map +1 -0
  160. package/dist/backend-e2e/generators/e2e-service.generator.d.ts +2 -0
  161. package/dist/backend-e2e/generators/e2e-service.generator.js +99 -0
  162. package/dist/backend-e2e/generators/e2e-service.generator.js.map +1 -0
  163. package/dist/backend-e2e/index.d.ts +4 -0
  164. package/dist/backend-e2e/index.js +40 -0
  165. package/dist/backend-e2e/index.js.map +1 -0
  166. package/dist/backend-import/generators/convert-functions.generator.d.ts +5 -0
  167. package/dist/backend-import/generators/convert-functions.generator.js +600 -0
  168. package/dist/backend-import/generators/convert-functions.generator.js.map +1 -0
  169. package/dist/backend-import/generators/detect-delta/detect-delta-all-models.generator.d.ts +2 -0
  170. package/dist/backend-import/generators/detect-delta/detect-delta-all-models.generator.js +128 -0
  171. package/dist/backend-import/generators/detect-delta/detect-delta-all-models.generator.js.map +1 -0
  172. package/dist/backend-import/generators/detect-delta/detect-delta-functions.generator.d.ts +2 -0
  173. package/dist/backend-import/generators/detect-delta/detect-delta-functions.generator.js +391 -0
  174. package/dist/backend-import/generators/detect-delta/detect-delta-functions.generator.js.map +1 -0
  175. package/dist/backend-import/generators/detect-delta/model-function.generator.d.ts +2 -0
  176. package/dist/backend-import/generators/detect-delta/model-function.generator.js +321 -0
  177. package/dist/backend-import/generators/detect-delta/model-function.generator.js.map +1 -0
  178. package/dist/backend-import/generators/detect-delta/types.generator.d.ts +2 -0
  179. package/dist/backend-import/generators/detect-delta/types.generator.js +149 -0
  180. package/dist/backend-import/generators/detect-delta/types.generator.js.map +1 -0
  181. package/dist/backend-import/generators/import-module.generator.d.ts +2 -0
  182. package/dist/backend-import/generators/import-module.generator.js +58 -0
  183. package/dist/backend-import/generators/import-module.generator.js.map +1 -0
  184. package/dist/backend-import/generators/import-service.generator.d.ts +2 -0
  185. package/dist/backend-import/generators/import-service.generator.js +304 -0
  186. package/dist/backend-import/generators/import-service.generator.js.map +1 -0
  187. package/dist/backend-import/import.generator.d.ts +228 -0
  188. package/dist/backend-import/import.generator.js +255 -0
  189. package/dist/backend-import/import.generator.js.map +1 -0
  190. package/dist/backend-import/index.d.ts +5 -0
  191. package/dist/backend-import/index.js +40 -0
  192. package/dist/backend-import/index.js.map +1 -0
  193. package/dist/backend-import/template/README.md +52 -0
  194. package/dist/backend-repositories/generators/bulk-mutation-types.generator.d.ts +2 -0
  195. package/dist/backend-repositories/generators/bulk-mutation-types.generator.js +42 -0
  196. package/dist/backend-repositories/generators/bulk-mutation-types.generator.js.map +1 -0
  197. package/dist/backend-repositories/generators/data-service.generator.d.ts +2 -0
  198. package/dist/backend-repositories/generators/data-service.generator.js +289 -0
  199. package/dist/backend-repositories/generators/data-service.generator.js.map +1 -0
  200. package/dist/backend-repositories/generators/model-repository.generator.d.ts +14 -0
  201. package/dist/backend-repositories/generators/model-repository.generator.js +1936 -0
  202. package/dist/backend-repositories/generators/model-repository.generator.js.map +1 -0
  203. package/dist/backend-repositories/generators/repository-interface.generator.d.ts +2 -0
  204. package/dist/backend-repositories/generators/repository-interface.generator.js +55 -0
  205. package/dist/backend-repositories/generators/repository-interface.generator.js.map +1 -0
  206. package/dist/backend-repositories/generators/repository-module.generator.d.ts +2 -0
  207. package/dist/backend-repositories/generators/repository-module.generator.js +143 -0
  208. package/dist/backend-repositories/generators/repository-module.generator.js.map +1 -0
  209. package/dist/backend-repositories/index.d.ts +5 -0
  210. package/dist/backend-repositories/index.js +40 -0
  211. package/dist/backend-repositories/index.js.map +1 -0
  212. package/dist/backend-repositories/model.types.d.ts +69 -0
  213. package/dist/backend-repositories/model.types.js +17 -0
  214. package/dist/backend-repositories/model.types.js.map +1 -0
  215. package/dist/backend-repositories/repositories.generator.d.ts +46 -0
  216. package/dist/backend-repositories/repositories.generator.js +256 -0
  217. package/dist/backend-repositories/repositories.generator.js.map +1 -0
  218. package/dist/backend-rest-api/generators/model-controller.generator.d.ts +5 -0
  219. package/dist/backend-rest-api/generators/model-controller.generator.js +100 -0
  220. package/dist/backend-rest-api/generators/model-controller.generator.js.map +1 -0
  221. package/dist/backend-rest-api/generators/rest-api-module.generator.d.ts +2 -0
  222. package/dist/backend-rest-api/generators/rest-api-module.generator.js +62 -0
  223. package/dist/backend-rest-api/generators/rest-api-module.generator.js.map +1 -0
  224. package/dist/backend-rest-api/generators/zod-exception-filter.generator.d.ts +1 -0
  225. package/dist/backend-rest-api/generators/zod-exception-filter.generator.js +28 -0
  226. package/dist/backend-rest-api/generators/zod-exception-filter.generator.js.map +1 -0
  227. package/dist/backend-rest-api/index.d.ts +5 -0
  228. package/dist/backend-rest-api/index.js +40 -0
  229. package/dist/backend-rest-api/index.js.map +1 -0
  230. package/dist/backend-rest-api/rest-api.generator.d.ts +24 -0
  231. package/dist/backend-rest-api/rest-api.generator.js +113 -0
  232. package/dist/backend-rest-api/rest-api.generator.js.map +1 -0
  233. package/dist/backend-rest-api/template/zod-exception.filter.ts +21 -0
  234. package/dist/backend-router-trpc/generators/app-routes.generator.d.ts +4 -0
  235. package/dist/backend-router-trpc/generators/app-routes.generator.js +74 -0
  236. package/dist/backend-router-trpc/generators/app-routes.generator.js.map +1 -0
  237. package/dist/backend-router-trpc/generators/audit-log-route.generator.d.ts +7 -0
  238. package/dist/backend-router-trpc/generators/audit-log-route.generator.js +611 -0
  239. package/dist/backend-router-trpc/generators/audit-log-route.generator.js.map +1 -0
  240. package/dist/backend-router-trpc/generators/middleware.generator.d.ts +2 -0
  241. package/dist/backend-router-trpc/generators/middleware.generator.js +100 -0
  242. package/dist/backend-router-trpc/generators/middleware.generator.js.map +1 -0
  243. package/dist/backend-router-trpc/generators/model-routes.generator.d.ts +8 -0
  244. package/dist/backend-router-trpc/generators/model-routes.generator.js +88 -0
  245. package/dist/backend-router-trpc/generators/model-routes.generator.js.map +1 -0
  246. package/dist/backend-router-trpc/generators/trpc-plugin.generator.d.ts +2 -0
  247. package/dist/backend-router-trpc/generators/trpc-plugin.generator.js +141 -0
  248. package/dist/backend-router-trpc/generators/trpc-plugin.generator.js.map +1 -0
  249. package/dist/backend-router-trpc/generators/trpc-router-module.generator.d.ts +2 -0
  250. package/dist/backend-router-trpc/generators/trpc-router-module.generator.js +60 -0
  251. package/dist/backend-router-trpc/generators/trpc-router-module.generator.js.map +1 -0
  252. package/dist/backend-router-trpc/generators/trpc-shared.generator.d.ts +2 -0
  253. package/dist/backend-router-trpc/generators/trpc-shared.generator.js +134 -0
  254. package/dist/backend-router-trpc/generators/trpc-shared.generator.js.map +1 -0
  255. package/dist/backend-router-trpc/index.d.ts +5 -0
  256. package/dist/backend-router-trpc/index.js +40 -0
  257. package/dist/backend-router-trpc/index.js.map +1 -0
  258. package/dist/backend-router-trpc/router-trpc.generator.d.ts +108 -0
  259. package/dist/backend-router-trpc/router-trpc.generator.js +189 -0
  260. package/dist/backend-router-trpc/router-trpc.generator.js.map +1 -0
  261. package/dist/backend-router-trpc/template/viewer.router.ts +25 -0
  262. package/dist/backend-s3/generators/s3.config.generator.d.ts +2 -0
  263. package/dist/backend-s3/generators/s3.config.generator.js +24 -0
  264. package/dist/backend-s3/generators/s3.config.generator.js.map +1 -0
  265. package/dist/backend-s3/generators/s3.module.generator.d.ts +2 -0
  266. package/dist/backend-s3/generators/s3.module.generator.js +33 -0
  267. package/dist/backend-s3/generators/s3.module.generator.js.map +1 -0
  268. package/dist/backend-s3/generators/s3.service.generator.d.ts +2 -0
  269. package/dist/backend-s3/generators/s3.service.generator.js +116 -0
  270. package/dist/backend-s3/generators/s3.service.generator.js.map +1 -0
  271. package/dist/backend-s3/index.d.ts +4 -0
  272. package/dist/backend-s3/index.js +40 -0
  273. package/dist/backend-s3/index.js.map +1 -0
  274. package/dist/backend-s3/s3.generator.d.ts +19 -0
  275. package/dist/backend-s3/s3.generator.js +125 -0
  276. package/dist/backend-s3/s3.generator.js.map +1 -0
  277. package/dist/backend-seed/generators/seed-module.generator.d.ts +2 -0
  278. package/dist/backend-seed/generators/seed-module.generator.js +60 -0
  279. package/dist/backend-seed/generators/seed-module.generator.js.map +1 -0
  280. package/dist/backend-seed/generators/seed-service.generator.d.ts +2 -0
  281. package/dist/backend-seed/generators/seed-service.generator.js +176 -0
  282. package/dist/backend-seed/generators/seed-service.generator.js.map +1 -0
  283. package/dist/backend-seed/index.d.ts +4 -0
  284. package/dist/backend-seed/index.js +40 -0
  285. package/dist/backend-seed/index.js.map +1 -0
  286. package/dist/backend-seed/seed.generator.d.ts +19 -0
  287. package/dist/backend-seed/seed.generator.js +95 -0
  288. package/dist/backend-seed/seed.generator.js.map +1 -0
  289. package/dist/backend-seed/template/src/actions.ts +90 -0
  290. package/dist/backend-seed/template/tsconfig.lib.json +9 -0
  291. package/dist/backend-update/bulk-service.generator.d.ts +2 -0
  292. package/dist/backend-update/bulk-service.generator.js +277 -0
  293. package/dist/backend-update/bulk-service.generator.js.map +1 -0
  294. package/dist/backend-update/index.d.ts +5 -0
  295. package/dist/backend-update/index.js +40 -0
  296. package/dist/backend-update/index.js.map +1 -0
  297. package/dist/backend-update/model-update-service.generator.d.ts +5 -0
  298. package/dist/backend-update/model-update-service.generator.js +757 -0
  299. package/dist/backend-update/model-update-service.generator.js.map +1 -0
  300. package/dist/backend-update/update-actions.decoders.d.ts +15 -0
  301. package/dist/backend-update/update-actions.decoders.js +37 -0
  302. package/dist/backend-update/update-actions.decoders.js.map +1 -0
  303. package/dist/backend-update/update-module.generator.d.ts +2 -0
  304. package/dist/backend-update/update-module.generator.js +69 -0
  305. package/dist/backend-update/update-module.generator.js.map +1 -0
  306. package/dist/backend-update/update-service.generator.d.ts +2 -0
  307. package/dist/backend-update/update-service.generator.js +94 -0
  308. package/dist/backend-update/update-service.generator.js.map +1 -0
  309. package/dist/backend-update/update.generator.d.ts +138 -0
  310. package/dist/backend-update/update.generator.js +302 -0
  311. package/dist/backend-update/update.generator.js.map +1 -0
  312. package/dist/backend-view/index.d.ts +5 -0
  313. package/dist/backend-view/index.js +40 -0
  314. package/dist/backend-view/index.js.map +1 -0
  315. package/dist/backend-view/model-view-service.generator.d.ts +11 -0
  316. package/dist/backend-view/model-view-service.generator.js +196 -0
  317. package/dist/backend-view/model-view-service.generator.js.map +1 -0
  318. package/dist/backend-view/view-module.generator.d.ts +2 -0
  319. package/dist/backend-view/view-module.generator.js +62 -0
  320. package/dist/backend-view/view-module.generator.js.map +1 -0
  321. package/dist/backend-view/view-service.generator.d.ts +2 -0
  322. package/dist/backend-view/view-service.generator.js +56 -0
  323. package/dist/backend-view/view-service.generator.js.map +1 -0
  324. package/dist/backend-view/view.generator.d.ts +32 -0
  325. package/dist/backend-view/view.generator.js +100 -0
  326. package/dist/backend-view/view.generator.js.map +1 -0
  327. package/dist/base/base.generator.d.ts +26 -0
  328. package/dist/base/base.generator.js +138 -0
  329. package/dist/base/base.generator.js.map +1 -0
  330. package/dist/base/index.d.ts +1 -0
  331. package/dist/base/index.js +18 -0
  332. package/dist/base/index.js.map +1 -0
  333. package/dist/base/template/.nvmrc +1 -0
  334. package/dist/base/template/.prettierignore +5 -0
  335. package/dist/base/template/.turboignore +1 -0
  336. package/dist/base/template/.vscode/extensions.json +16 -0
  337. package/dist/base/template/.vscode/launch.json +15 -0
  338. package/dist/base/template/.vscode/settings.json +73 -0
  339. package/dist/base/template/README.md +115 -0
  340. package/dist/base/template/eslint.config.mjs +194 -0
  341. package/dist/base/template/jest.config.ts +7 -0
  342. package/dist/base/template/prettier.config.js +10 -0
  343. package/dist/base/template/scripts/setup.sh +25 -0
  344. package/dist/base/template/sonar-project.properties +94 -0
  345. package/dist/base/template/tsconfig.json +12 -0
  346. package/dist/decoders/datamodel-decoder.generator.d.ts +7 -0
  347. package/dist/decoders/datamodel-decoder.generator.js +134 -0
  348. package/dist/decoders/datamodel-decoder.generator.js.map +1 -0
  349. package/dist/decoders/decoders.generator.d.ts +133 -0
  350. package/dist/decoders/decoders.generator.js +424 -0
  351. package/dist/decoders/decoders.generator.js.map +1 -0
  352. package/dist/decoders/discriminated-union.decoder.generator.d.ts +12 -0
  353. package/dist/decoders/discriminated-union.decoder.generator.js +205 -0
  354. package/dist/decoders/discriminated-union.decoder.generator.js.map +1 -0
  355. package/dist/decoders/enum-decoder.generator.d.ts +5 -0
  356. package/dist/decoders/enum-decoder.generator.js +71 -0
  357. package/dist/decoders/enum-decoder.generator.js.map +1 -0
  358. package/dist/decoders/excel-field-decoder.helper.d.ts +17 -0
  359. package/dist/decoders/excel-field-decoder.helper.js +178 -0
  360. package/dist/decoders/excel-field-decoder.helper.js.map +1 -0
  361. package/dist/decoders/field-decoder.helper.d.ts +50 -0
  362. package/dist/decoders/field-decoder.helper.js +113 -0
  363. package/dist/decoders/field-decoder.helper.js.map +1 -0
  364. package/dist/decoders/index.d.ts +4 -0
  365. package/dist/decoders/index.js +40 -0
  366. package/dist/decoders/index.js.map +1 -0
  367. package/dist/decoders/model-decoder.generator.d.ts +5 -0
  368. package/dist/decoders/model-decoder.generator.js +197 -0
  369. package/dist/decoders/model-decoder.generator.js.map +1 -0
  370. package/dist/decoders/shared.d.ts +51 -0
  371. package/dist/decoders/shared.js +140 -0
  372. package/dist/decoders/shared.js.map +1 -0
  373. package/dist/devops/devops.generator.d.ts +66 -0
  374. package/dist/devops/devops.generator.js +127 -0
  375. package/dist/devops/devops.generator.js.map +1 -0
  376. package/dist/devops/generators/backend-build-sh.generator.d.ts +2 -0
  377. package/dist/devops/generators/backend-build-sh.generator.js +49 -0
  378. package/dist/devops/generators/backend-build-sh.generator.js.map +1 -0
  379. package/dist/devops/generators/backend-dockerfile.generator.d.ts +2 -0
  380. package/dist/devops/generators/backend-dockerfile.generator.js +67 -0
  381. package/dist/devops/generators/backend-dockerfile.generator.js.map +1 -0
  382. package/dist/devops/generators/backend-start-api-sh.generator.d.ts +2 -0
  383. package/dist/devops/generators/backend-start-api-sh.generator.js +18 -0
  384. package/dist/devops/generators/backend-start-api-sh.generator.js.map +1 -0
  385. package/dist/devops/generators/bitbucket-pipelines-yml.generator.d.ts +2 -0
  386. package/dist/devops/generators/bitbucket-pipelines-yml.generator.js +105 -0
  387. package/dist/devops/generators/bitbucket-pipelines-yml.generator.js.map +1 -0
  388. package/dist/devops/generators/configure-keycloak-sh.generator.d.ts +2 -0
  389. package/dist/devops/generators/configure-keycloak-sh.generator.js +158 -0
  390. package/dist/devops/generators/configure-keycloak-sh.generator.js.map +1 -0
  391. package/dist/devops/generators/docker-compose-yml.generator.d.ts +2 -0
  392. package/dist/devops/generators/docker-compose-yml.generator.js +78 -0
  393. package/dist/devops/generators/docker-compose-yml.generator.js.map +1 -0
  394. package/dist/devops/generators/e2e-yml.generator.d.ts +2 -0
  395. package/dist/devops/generators/e2e-yml.generator.js +195 -0
  396. package/dist/devops/generators/e2e-yml.generator.js.map +1 -0
  397. package/dist/devops/generators/frontend-build-sh.generator.d.ts +2 -0
  398. package/dist/devops/generators/frontend-build-sh.generator.js +45 -0
  399. package/dist/devops/generators/frontend-build-sh.generator.js.map +1 -0
  400. package/dist/devops/generators/frontend-dockerfile.generator.d.ts +2 -0
  401. package/dist/devops/generators/frontend-dockerfile.generator.js +75 -0
  402. package/dist/devops/generators/frontend-dockerfile.generator.js.map +1 -0
  403. package/dist/devops/generators/jenkinsfile.generator.d.ts +2 -0
  404. package/dist/devops/generators/jenkinsfile.generator.js +147 -0
  405. package/dist/devops/generators/jenkinsfile.generator.js.map +1 -0
  406. package/dist/devops/generators/root-dotenv-example.generator.d.ts +2 -0
  407. package/dist/devops/generators/root-dotenv-example.generator.js +10 -0
  408. package/dist/devops/generators/root-dotenv-example.generator.js.map +1 -0
  409. package/dist/devops/index.d.ts +4 -0
  410. package/dist/devops/index.js +40 -0
  411. package/dist/devops/index.js.map +1 -0
  412. package/dist/devops/template/.github/workflows/test.yml +45 -0
  413. package/dist/devops/template/docker/backend/migrate.sh +10 -0
  414. package/dist/devops/template/docker/backend/start.api.sh +8 -0
  415. package/dist/devops/template/docker/frontend/entrypoint.sh +18 -0
  416. package/dist/devops/template/docker/frontend/frontend.conf +17 -0
  417. package/dist/devops/template/docker/keycloak/Dockerfile +17 -0
  418. package/dist/devops/template/docker/keycloak/localization.en.json +5 -0
  419. package/dist/devops/template/docker/keycloak/protocol-mappers.json +28 -0
  420. package/dist/devops/template/docker/keycloak/user-attributes.json +142 -0
  421. package/dist/e2e/e2e.generator.d.ts +19 -0
  422. package/dist/e2e/e2e.generator.js +92 -0
  423. package/dist/e2e/e2e.generator.js.map +1 -0
  424. package/dist/e2e/generators/lib/test-id-collector.d.ts +48 -0
  425. package/dist/e2e/generators/lib/test-id-collector.js +65 -0
  426. package/dist/e2e/generators/lib/test-id-collector.js.map +1 -0
  427. package/dist/e2e/generators/lib/test-id-generator.d.ts +5 -0
  428. package/dist/e2e/generators/lib/test-id-generator.js +67 -0
  429. package/dist/e2e/generators/lib/test-id-generator.js.map +1 -0
  430. package/dist/e2e/generators/model-test-id.generator.d.ts +5 -0
  431. package/dist/e2e/generators/model-test-id.generator.js +19 -0
  432. package/dist/e2e/generators/model-test-id.generator.js.map +1 -0
  433. package/dist/e2e/generators/package-json.generator.d.ts +2 -0
  434. package/dist/e2e/generators/package-json.generator.js +29 -0
  435. package/dist/e2e/generators/package-json.generator.js.map +1 -0
  436. package/dist/e2e/index.d.ts +4 -0
  437. package/dist/e2e/index.js +40 -0
  438. package/dist/e2e/index.js.map +1 -0
  439. package/dist/e2e/template/e2e/.env.example +11 -0
  440. package/dist/e2e/template/e2e/Dockerfile +8 -0
  441. package/dist/e2e/template/e2e/README.md +87 -0
  442. package/dist/e2e/template/e2e/fixtures/global-setup.ts +3 -0
  443. package/dist/e2e/template/e2e/fixtures/global-teardown.ts +21 -0
  444. package/dist/e2e/template/e2e/fixtures/handle-backend.ts +35 -0
  445. package/dist/e2e/template/e2e/fixtures/set-date-script.js +28 -0
  446. package/dist/e2e/template/e2e/fixtures/set-fixed-date.ts +12 -0
  447. package/dist/e2e/template/e2e/fixtures/test-fixtures.ts +132 -0
  448. package/dist/e2e/template/e2e/package.json +22 -0
  449. package/dist/e2e/template/e2e/playwright.config.ts +161 -0
  450. package/dist/e2e/template/e2e/specs/example-backend-isolation.spec.ts +59 -0
  451. package/dist/e2e/template/e2e/specs/example.spec.ts +77 -0
  452. package/dist/e2e/template/e2e/specs/example.spec.ts-snapshots/Navigate-to-homepage-and-take-snapshot-1-chromium-linux.png +0 -0
  453. package/dist/e2e/template/e2e/support/checkbox-click.ts +20 -0
  454. package/dist/e2e/template/e2e/support/get-backend-mode.ts +10 -0
  455. package/dist/e2e/template/e2e/support/map.utils.ts +98 -0
  456. package/dist/e2e/template/e2e/support/mask-toast.ts +20 -0
  457. package/dist/e2e/template/e2e/support/model-test-ids.ts +4 -0
  458. package/dist/e2e/template/e2e/support/mouse-annotations.ts +162 -0
  459. package/dist/e2e/template/e2e/support/page-stability.ts +86 -0
  460. package/dist/e2e/template/e2e/support/reset-data.ts +38 -0
  461. package/dist/e2e/template/e2e/support/set-data.ts +44 -0
  462. package/dist/e2e/template/e2e/support/wait-for-page-loaded.ts +28 -0
  463. package/dist/e2e/template/e2e/tsconfig.json +51 -0
  464. package/dist/e2e/template/scripts/docker.sh +17 -0
  465. package/dist/frontend-admin/admin.generator.d.ts +75 -0
  466. package/dist/frontend-admin/admin.generator.js +132 -0
  467. package/dist/frontend-admin/admin.generator.js.map +1 -0
  468. package/dist/frontend-admin/generators/admin-overview-page.generator.d.ts +7 -0
  469. package/dist/frontend-admin/generators/admin-overview-page.generator.js +110 -0
  470. package/dist/frontend-admin/generators/admin-overview-page.generator.js.map +1 -0
  471. package/dist/frontend-admin/generators/admin-sidebar.generator.d.ts +7 -0
  472. package/dist/frontend-admin/generators/admin-sidebar.generator.js +196 -0
  473. package/dist/frontend-admin/generators/admin-sidebar.generator.js.map +1 -0
  474. package/dist/frontend-admin/generators/audit-log-sidebar.generator.d.ts +8 -0
  475. package/dist/frontend-admin/generators/audit-log-sidebar.generator.js +629 -0
  476. package/dist/frontend-admin/generators/audit-log-sidebar.generator.js.map +1 -0
  477. package/dist/frontend-admin/generators/data-management-page.generator.d.ts +7 -0
  478. package/dist/frontend-admin/generators/data-management-page.generator.js +778 -0
  479. package/dist/frontend-admin/generators/data-management-page.generator.js.map +1 -0
  480. package/dist/frontend-admin/generators/model-admin-page.generator.d.ts +8 -0
  481. package/dist/frontend-admin/generators/model-admin-page.generator.js +231 -0
  482. package/dist/frontend-admin/generators/model-admin-page.generator.js.map +1 -0
  483. package/dist/frontend-admin/index.d.ts +5 -0
  484. package/dist/frontend-admin/index.js +40 -0
  485. package/dist/frontend-admin/index.js.map +1 -0
  486. package/dist/frontend-admin/utils.d.ts +24 -0
  487. package/dist/frontend-admin/utils.js +122 -0
  488. package/dist/frontend-admin/utils.js.map +1 -0
  489. package/dist/frontend-core/frontend.generator.d.ts +87 -0
  490. package/dist/frontend-core/frontend.generator.js +400 -0
  491. package/dist/frontend-core/frontend.generator.js.map +1 -0
  492. package/dist/frontend-core/generators/tsconfig.generator.d.ts +2 -0
  493. package/dist/frontend-core/generators/tsconfig.generator.js +55 -0
  494. package/dist/frontend-core/generators/tsconfig.generator.js.map +1 -0
  495. package/dist/frontend-core/index.d.ts +2 -0
  496. package/dist/frontend-core/index.js +19 -0
  497. package/dist/frontend-core/index.js.map +1 -0
  498. package/dist/frontend-core/scripts/generate-types.d.ts +1 -0
  499. package/dist/frontend-core/scripts/generate-types.js +59 -0
  500. package/dist/frontend-core/scripts/generate-types.js.map +1 -0
  501. package/dist/frontend-core/template/.env.example +44 -0
  502. package/dist/frontend-core/template/.prettierignore +4 -0
  503. package/dist/frontend-core/template/.storybook/main.ts +27 -0
  504. package/dist/frontend-core/template/.storybook/preview.ts +16 -0
  505. package/dist/frontend-core/template/.storybook/vitest.setup.ts +18 -0
  506. package/dist/frontend-core/template/README.md +488 -0
  507. package/dist/frontend-core/template/components.json +21 -0
  508. package/dist/frontend-core/template/index.html +11 -0
  509. package/dist/frontend-core/template/public/android-chrome-192x192.png +0 -0
  510. package/dist/frontend-core/template/public/android-chrome-512x512.png +0 -0
  511. package/dist/frontend-core/template/public/apple-touch-icon.png +0 -0
  512. package/dist/frontend-core/template/public/favicon-16x16.png +0 -0
  513. package/dist/frontend-core/template/public/favicon-32x32.png +0 -0
  514. package/dist/frontend-core/template/public/favicon.ico +0 -0
  515. package/dist/frontend-core/template/public/flags/AC.svg +39 -0
  516. package/dist/frontend-core/template/public/flags/AD.svg +32 -0
  517. package/dist/frontend-core/template/public/flags/AE.svg +7 -0
  518. package/dist/frontend-core/template/public/flags/AF.svg +9 -0
  519. package/dist/frontend-core/template/public/flags/AG.svg +13 -0
  520. package/dist/frontend-core/template/public/flags/AI.svg +31 -0
  521. package/dist/frontend-core/template/public/flags/AL.svg +22 -0
  522. package/dist/frontend-core/template/public/flags/AM.svg +6 -0
  523. package/dist/frontend-core/template/public/flags/AO.svg +24 -0
  524. package/dist/frontend-core/template/public/flags/AQ.svg +6 -0
  525. package/dist/frontend-core/template/public/flags/AR.svg +7 -0
  526. package/dist/frontend-core/template/public/flags/AS.svg +9 -0
  527. package/dist/frontend-core/template/public/flags/AT.svg +6 -0
  528. package/dist/frontend-core/template/public/flags/AU.svg +36 -0
  529. package/dist/frontend-core/template/public/flags/AW.svg +12 -0
  530. package/dist/frontend-core/template/public/flags/AX.svg +8 -0
  531. package/dist/frontend-core/template/public/flags/AZ.svg +13 -0
  532. package/dist/frontend-core/template/public/flags/BA.svg +23 -0
  533. package/dist/frontend-core/template/public/flags/BB.svg +11 -0
  534. package/dist/frontend-core/template/public/flags/BD.svg +5 -0
  535. package/dist/frontend-core/template/public/flags/BE.svg +7 -0
  536. package/dist/frontend-core/template/public/flags/BF.svg +7 -0
  537. package/dist/frontend-core/template/public/flags/BG.svg +7 -0
  538. package/dist/frontend-core/template/public/flags/BH.svg +8 -0
  539. package/dist/frontend-core/template/public/flags/BI.svg +21 -0
  540. package/dist/frontend-core/template/public/flags/BJ.svg +7 -0
  541. package/dist/frontend-core/template/public/flags/BL.svg +48 -0
  542. package/dist/frontend-core/template/public/flags/BM.svg +24 -0
  543. package/dist/frontend-core/template/public/flags/BN.svg +17 -0
  544. package/dist/frontend-core/template/public/flags/BO.svg +1 -0
  545. package/dist/frontend-core/template/public/flags/BQ.svg +9 -0
  546. package/dist/frontend-core/template/public/flags/BR.svg +10 -0
  547. package/dist/frontend-core/template/public/flags/BS.svg +10 -0
  548. package/dist/frontend-core/template/public/flags/BT.svg +7 -0
  549. package/dist/frontend-core/template/public/flags/BV.svg +10 -0
  550. package/dist/frontend-core/template/public/flags/BW.svg +10 -0
  551. package/dist/frontend-core/template/public/flags/BY.svg +19 -0
  552. package/dist/frontend-core/template/public/flags/BZ.svg +17 -0
  553. package/dist/frontend-core/template/public/flags/CA.svg +11 -0
  554. package/dist/frontend-core/template/public/flags/CC.svg +25 -0
  555. package/dist/frontend-core/template/public/flags/CD.svg +8 -0
  556. package/dist/frontend-core/template/public/flags/CF.svg +18 -0
  557. package/dist/frontend-core/template/public/flags/CG.svg +7 -0
  558. package/dist/frontend-core/template/public/flags/CH.svg +6 -0
  559. package/dist/frontend-core/template/public/flags/CI.svg +7 -0
  560. package/dist/frontend-core/template/public/flags/CK.svg +26 -0
  561. package/dist/frontend-core/template/public/flags/CL.svg +7 -0
  562. package/dist/frontend-core/template/public/flags/CM.svg +10 -0
  563. package/dist/frontend-core/template/public/flags/CN.svg +16 -0
  564. package/dist/frontend-core/template/public/flags/CO.svg +7 -0
  565. package/dist/frontend-core/template/public/flags/CR.svg +10 -0
  566. package/dist/frontend-core/template/public/flags/CU.svg +14 -0
  567. package/dist/frontend-core/template/public/flags/CV.svg +31 -0
  568. package/dist/frontend-core/template/public/flags/CW.svg +11 -0
  569. package/dist/frontend-core/template/public/flags/CX.svg +25 -0
  570. package/dist/frontend-core/template/public/flags/CY.svg +35 -0
  571. package/dist/frontend-core/template/public/flags/CZ.svg +7 -0
  572. package/dist/frontend-core/template/public/flags/DE.svg +7 -0
  573. package/dist/frontend-core/template/public/flags/DJ.svg +8 -0
  574. package/dist/frontend-core/template/public/flags/DK.svg +6 -0
  575. package/dist/frontend-core/template/public/flags/DM.svg +38 -0
  576. package/dist/frontend-core/template/public/flags/DO.svg +14 -0
  577. package/dist/frontend-core/template/public/flags/DZ.svg +12 -0
  578. package/dist/frontend-core/template/public/flags/EC.svg +12 -0
  579. package/dist/frontend-core/template/public/flags/EE.svg +7 -0
  580. package/dist/frontend-core/template/public/flags/EG.svg +10 -0
  581. package/dist/frontend-core/template/public/flags/EH.svg +13 -0
  582. package/dist/frontend-core/template/public/flags/ER.svg +17 -0
  583. package/dist/frontend-core/template/public/flags/ES.svg +13 -0
  584. package/dist/frontend-core/template/public/flags/ET.svg +24 -0
  585. package/dist/frontend-core/template/public/flags/EU.svg +1 -0
  586. package/dist/frontend-core/template/public/flags/FI.svg +6 -0
  587. package/dist/frontend-core/template/public/flags/FJ.svg +22 -0
  588. package/dist/frontend-core/template/public/flags/FK.svg +41 -0
  589. package/dist/frontend-core/template/public/flags/FM.svg +14 -0
  590. package/dist/frontend-core/template/public/flags/FO.svg +8 -0
  591. package/dist/frontend-core/template/public/flags/FR.svg +7 -0
  592. package/dist/frontend-core/template/public/flags/G.svg +4 -0
  593. package/dist/frontend-core/template/public/flags/GA.svg +7 -0
  594. package/dist/frontend-core/template/public/flags/GB.svg +30 -0
  595. package/dist/frontend-core/template/public/flags/GD.svg +32 -0
  596. package/dist/frontend-core/template/public/flags/GE-AB.svg +20 -0
  597. package/dist/frontend-core/template/public/flags/GE-OS.svg +6 -0
  598. package/dist/frontend-core/template/public/flags/GE.svg +9 -0
  599. package/dist/frontend-core/template/public/flags/GF.svg +6 -0
  600. package/dist/frontend-core/template/public/flags/GG.svg +6 -0
  601. package/dist/frontend-core/template/public/flags/GH.svg +8 -0
  602. package/dist/frontend-core/template/public/flags/GI.svg +19 -0
  603. package/dist/frontend-core/template/public/flags/GL.svg +7 -0
  604. package/dist/frontend-core/template/public/flags/GM.svg +7 -0
  605. package/dist/frontend-core/template/public/flags/GN.svg +6 -0
  606. package/dist/frontend-core/template/public/flags/GP.svg +7 -0
  607. package/dist/frontend-core/template/public/flags/GQ.svg +25 -0
  608. package/dist/frontend-core/template/public/flags/GR.svg +16 -0
  609. package/dist/frontend-core/template/public/flags/GS.svg +35 -0
  610. package/dist/frontend-core/template/public/flags/GT.svg +13 -0
  611. package/dist/frontend-core/template/public/flags/GU.svg +16 -0
  612. package/dist/frontend-core/template/public/flags/GW.svg +8 -0
  613. package/dist/frontend-core/template/public/flags/GY.svg +8 -0
  614. package/dist/frontend-core/template/public/flags/HK.svg +1 -0
  615. package/dist/frontend-core/template/public/flags/HM.svg +28 -0
  616. package/dist/frontend-core/template/public/flags/HN.svg +18 -0
  617. package/dist/frontend-core/template/public/flags/HR.svg +32 -0
  618. package/dist/frontend-core/template/public/flags/HT.svg +11 -0
  619. package/dist/frontend-core/template/public/flags/HU.svg +7 -0
  620. package/dist/frontend-core/template/public/flags/IC.svg +6 -0
  621. package/dist/frontend-core/template/public/flags/ID.svg +6 -0
  622. package/dist/frontend-core/template/public/flags/IE.svg +7 -0
  623. package/dist/frontend-core/template/public/flags/IL.svg +12 -0
  624. package/dist/frontend-core/template/public/flags/IM.svg +17 -0
  625. package/dist/frontend-core/template/public/flags/IN.svg +11 -0
  626. package/dist/frontend-core/template/public/flags/IO.svg +70 -0
  627. package/dist/frontend-core/template/public/flags/IQ.svg +13 -0
  628. package/dist/frontend-core/template/public/flags/IR.svg +37 -0
  629. package/dist/frontend-core/template/public/flags/IS.svg +7 -0
  630. package/dist/frontend-core/template/public/flags/IT.svg +7 -0
  631. package/dist/frontend-core/template/public/flags/JE.svg +9 -0
  632. package/dist/frontend-core/template/public/flags/JM.svg +9 -0
  633. package/dist/frontend-core/template/public/flags/JO.svg +9 -0
  634. package/dist/frontend-core/template/public/flags/JP.svg +6 -0
  635. package/dist/frontend-core/template/public/flags/KE.svg +18 -0
  636. package/dist/frontend-core/template/public/flags/KG.svg +21 -0
  637. package/dist/frontend-core/template/public/flags/KH.svg +10 -0
  638. package/dist/frontend-core/template/public/flags/KI.svg +24 -0
  639. package/dist/frontend-core/template/public/flags/KM.svg +16 -0
  640. package/dist/frontend-core/template/public/flags/KN.svg +13 -0
  641. package/dist/frontend-core/template/public/flags/KP.svg +13 -0
  642. package/dist/frontend-core/template/public/flags/KR.svg +21 -0
  643. package/dist/frontend-core/template/public/flags/KW.svg +8 -0
  644. package/dist/frontend-core/template/public/flags/KY.svg +24 -0
  645. package/dist/frontend-core/template/public/flags/KZ.svg +28 -0
  646. package/dist/frontend-core/template/public/flags/LA.svg +9 -0
  647. package/dist/frontend-core/template/public/flags/LB.svg +15 -0
  648. package/dist/frontend-core/template/public/flags/LC.svg +7 -0
  649. package/dist/frontend-core/template/public/flags/LI.svg +8 -0
  650. package/dist/frontend-core/template/public/flags/LICENSE +22 -0
  651. package/dist/frontend-core/template/public/flags/LK.svg +30 -0
  652. package/dist/frontend-core/template/public/flags/LR.svg +13 -0
  653. package/dist/frontend-core/template/public/flags/LS.svg +10 -0
  654. package/dist/frontend-core/template/public/flags/LT.svg +7 -0
  655. package/dist/frontend-core/template/public/flags/LU.svg +7 -0
  656. package/dist/frontend-core/template/public/flags/LV.svg +8 -0
  657. package/dist/frontend-core/template/public/flags/LY.svg +11 -0
  658. package/dist/frontend-core/template/public/flags/MA.svg +6 -0
  659. package/dist/frontend-core/template/public/flags/MC.svg +6 -0
  660. package/dist/frontend-core/template/public/flags/MD.svg +8 -0
  661. package/dist/frontend-core/template/public/flags/ME.svg +26 -0
  662. package/dist/frontend-core/template/public/flags/MF.svg +7 -0
  663. package/dist/frontend-core/template/public/flags/MG.svg +7 -0
  664. package/dist/frontend-core/template/public/flags/MH.svg +9 -0
  665. package/dist/frontend-core/template/public/flags/MK.svg +17 -0
  666. package/dist/frontend-core/template/public/flags/ML.svg +7 -0
  667. package/dist/frontend-core/template/public/flags/MM.svg +8 -0
  668. package/dist/frontend-core/template/public/flags/MN.svg +17 -0
  669. package/dist/frontend-core/template/public/flags/MO.svg +17 -0
  670. package/dist/frontend-core/template/public/flags/MP.svg +12 -0
  671. package/dist/frontend-core/template/public/flags/MQ.svg +44 -0
  672. package/dist/frontend-core/template/public/flags/MR.svg +9 -0
  673. package/dist/frontend-core/template/public/flags/MS.svg +21 -0
  674. package/dist/frontend-core/template/public/flags/MT.svg +7 -0
  675. package/dist/frontend-core/template/public/flags/MU.svg +8 -0
  676. package/dist/frontend-core/template/public/flags/MV.svg +7 -0
  677. package/dist/frontend-core/template/public/flags/MW.svg +8 -0
  678. package/dist/frontend-core/template/public/flags/MX.svg +11 -0
  679. package/dist/frontend-core/template/public/flags/MY.svg +19 -0
  680. package/dist/frontend-core/template/public/flags/MZ.svg +10 -0
  681. package/dist/frontend-core/template/public/flags/NA.svg +9 -0
  682. package/dist/frontend-core/template/public/flags/NC.svg +16 -0
  683. package/dist/frontend-core/template/public/flags/NE.svg +8 -0
  684. package/dist/frontend-core/template/public/flags/NF.svg +10 -0
  685. package/dist/frontend-core/template/public/flags/NG.svg +9 -0
  686. package/dist/frontend-core/template/public/flags/NI.svg +13 -0
  687. package/dist/frontend-core/template/public/flags/NL.svg +7 -0
  688. package/dist/frontend-core/template/public/flags/NO.svg +7 -0
  689. package/dist/frontend-core/template/public/flags/NP.svg +12 -0
  690. package/dist/frontend-core/template/public/flags/NR.svg +7 -0
  691. package/dist/frontend-core/template/public/flags/NU.svg +47 -0
  692. package/dist/frontend-core/template/public/flags/NZ.svg +25 -0
  693. package/dist/frontend-core/template/public/flags/OM.svg +12 -0
  694. package/dist/frontend-core/template/public/flags/PA.svg +9 -0
  695. package/dist/frontend-core/template/public/flags/PE.svg +9 -0
  696. package/dist/frontend-core/template/public/flags/PF.svg +16 -0
  697. package/dist/frontend-core/template/public/flags/PG.svg +14 -0
  698. package/dist/frontend-core/template/public/flags/PH.svg +15 -0
  699. package/dist/frontend-core/template/public/flags/PK.svg +13 -0
  700. package/dist/frontend-core/template/public/flags/PL.svg +9 -0
  701. package/dist/frontend-core/template/public/flags/PM.svg +7 -0
  702. package/dist/frontend-core/template/public/flags/PN.svg +23 -0
  703. package/dist/frontend-core/template/public/flags/PR.svg +12 -0
  704. package/dist/frontend-core/template/public/flags/PS.svg +8 -0
  705. package/dist/frontend-core/template/public/flags/PT.svg +9 -0
  706. package/dist/frontend-core/template/public/flags/PW.svg +6 -0
  707. package/dist/frontend-core/template/public/flags/PY.svg +9 -0
  708. package/dist/frontend-core/template/public/flags/QA.svg +7 -0
  709. package/dist/frontend-core/template/public/flags/RE.svg +7 -0
  710. package/dist/frontend-core/template/public/flags/README.md +1 -0
  711. package/dist/frontend-core/template/public/flags/RO.svg +7 -0
  712. package/dist/frontend-core/template/public/flags/RS.svg +13 -0
  713. package/dist/frontend-core/template/public/flags/RU.svg +8 -0
  714. package/dist/frontend-core/template/public/flags/RW.svg +8 -0
  715. package/dist/frontend-core/template/public/flags/SA.svg +12 -0
  716. package/dist/frontend-core/template/public/flags/SB.svg +14 -0
  717. package/dist/frontend-core/template/public/flags/SC.svg +9 -0
  718. package/dist/frontend-core/template/public/flags/SD.svg +8 -0
  719. package/dist/frontend-core/template/public/flags/SE.svg +6 -0
  720. package/dist/frontend-core/template/public/flags/SG.svg +14 -0
  721. package/dist/frontend-core/template/public/flags/SH.svg +32 -0
  722. package/dist/frontend-core/template/public/flags/SI.svg +10 -0
  723. package/dist/frontend-core/template/public/flags/SJ.svg +7 -0
  724. package/dist/frontend-core/template/public/flags/SK.svg +11 -0
  725. package/dist/frontend-core/template/public/flags/SL.svg +7 -0
  726. package/dist/frontend-core/template/public/flags/SM.svg +11 -0
  727. package/dist/frontend-core/template/public/flags/SN.svg +10 -0
  728. package/dist/frontend-core/template/public/flags/SO.svg +6 -0
  729. package/dist/frontend-core/template/public/flags/SR.svg +11 -0
  730. package/dist/frontend-core/template/public/flags/SS.svg +10 -0
  731. package/dist/frontend-core/template/public/flags/ST.svg +12 -0
  732. package/dist/frontend-core/template/public/flags/SV.svg +12 -0
  733. package/dist/frontend-core/template/public/flags/SX.svg +14 -0
  734. package/dist/frontend-core/template/public/flags/SY.svg +11 -0
  735. package/dist/frontend-core/template/public/flags/SZ.svg +12 -0
  736. package/dist/frontend-core/template/public/flags/TA.svg +38 -0
  737. package/dist/frontend-core/template/public/flags/TC.svg +24 -0
  738. package/dist/frontend-core/template/public/flags/TD.svg +7 -0
  739. package/dist/frontend-core/template/public/flags/TF.svg +14 -0
  740. package/dist/frontend-core/template/public/flags/TG.svg +12 -0
  741. package/dist/frontend-core/template/public/flags/TH.svg +10 -0
  742. package/dist/frontend-core/template/public/flags/TJ.svg +17 -0
  743. package/dist/frontend-core/template/public/flags/TK.svg +15 -0
  744. package/dist/frontend-core/template/public/flags/TL.svg +8 -0
  745. package/dist/frontend-core/template/public/flags/TM.svg +34 -0
  746. package/dist/frontend-core/template/public/flags/TN.svg +10 -0
  747. package/dist/frontend-core/template/public/flags/TO.svg +7 -0
  748. package/dist/frontend-core/template/public/flags/TR.svg +8 -0
  749. package/dist/frontend-core/template/public/flags/TT.svg +7 -0
  750. package/dist/frontend-core/template/public/flags/TV.svg +21 -0
  751. package/dist/frontend-core/template/public/flags/TW.svg +9 -0
  752. package/dist/frontend-core/template/public/flags/TZ.svg +8 -0
  753. package/dist/frontend-core/template/public/flags/UA.svg +6 -0
  754. package/dist/frontend-core/template/public/flags/UG.svg +15 -0
  755. package/dist/frontend-core/template/public/flags/UK.svg +30 -0
  756. package/dist/frontend-core/template/public/flags/UM.svg +40 -0
  757. package/dist/frontend-core/template/public/flags/US.svg +40 -0
  758. package/dist/frontend-core/template/public/flags/UY.svg +17 -0
  759. package/dist/frontend-core/template/public/flags/UZ.svg +26 -0
  760. package/dist/frontend-core/template/public/flags/VA.svg +8 -0
  761. package/dist/frontend-core/template/public/flags/VC.svg +12 -0
  762. package/dist/frontend-core/template/public/flags/VE.svg +21 -0
  763. package/dist/frontend-core/template/public/flags/VG.svg +33 -0
  764. package/dist/frontend-core/template/public/flags/VI.svg +31 -0
  765. package/dist/frontend-core/template/public/flags/VN.svg +6 -0
  766. package/dist/frontend-core/template/public/flags/VU.svg +14 -0
  767. package/dist/frontend-core/template/public/flags/WF.svg +9 -0
  768. package/dist/frontend-core/template/public/flags/WS.svg +13 -0
  769. package/dist/frontend-core/template/public/flags/XK.svg +20 -0
  770. package/dist/frontend-core/template/public/flags/YE.svg +7 -0
  771. package/dist/frontend-core/template/public/flags/YT.svg +22 -0
  772. package/dist/frontend-core/template/public/flags/ZA.svg +10 -0
  773. package/dist/frontend-core/template/public/flags/ZM.svg +9 -0
  774. package/dist/frontend-core/template/public/flags/ZW.svg +19 -0
  775. package/dist/frontend-core/template/public/silent-check-sso.html +12 -0
  776. package/dist/frontend-core/template/public/site.webmanifest +1 -0
  777. package/dist/frontend-core/template/src/components/ui/accordion/accordion.stories.tsx +47 -0
  778. package/dist/frontend-core/template/src/components/ui/accordion/accordion.tsx +52 -0
  779. package/dist/frontend-core/template/src/components/ui/admin-sidebar/admin-sidebar.tsx +195 -0
  780. package/dist/frontend-core/template/src/components/ui/alert/alert.stories.tsx +61 -0
  781. package/dist/frontend-core/template/src/components/ui/alert/alert.tsx +45 -0
  782. package/dist/frontend-core/template/src/components/ui/alert-dialog/alert-dialog.stories.tsx +52 -0
  783. package/dist/frontend-core/template/src/components/ui/alert-dialog/alert-dialog.tsx +105 -0
  784. package/dist/frontend-core/template/src/components/ui/avatar/avatar.stories.tsx +30 -0
  785. package/dist/frontend-core/template/src/components/ui/avatar/avatar.tsx +39 -0
  786. package/dist/frontend-core/template/src/components/ui/badge/badge.stories.tsx +78 -0
  787. package/dist/frontend-core/template/src/components/ui/badge/badge.tsx +48 -0
  788. package/dist/frontend-core/template/src/components/ui/breadcrumb/breadcrumb.stories.tsx +67 -0
  789. package/dist/frontend-core/template/src/components/ui/breadcrumb/breadcrumb.tsx +85 -0
  790. package/dist/frontend-core/template/src/components/ui/button/button.stories.tsx +150 -0
  791. package/dist/frontend-core/template/src/components/ui/button/button.tsx +68 -0
  792. package/dist/frontend-core/template/src/components/ui/calendar/calendar.stories.tsx +160 -0
  793. package/dist/frontend-core/template/src/components/ui/calendar/calendar.tsx +293 -0
  794. package/dist/frontend-core/template/src/components/ui/card/card.stories.tsx +77 -0
  795. package/dist/frontend-core/template/src/components/ui/card/card.tsx +45 -0
  796. package/dist/frontend-core/template/src/components/ui/card-hover/card-hover.stories.tsx +29 -0
  797. package/dist/frontend-core/template/src/components/ui/card-hover/card-hover.tsx +28 -0
  798. package/dist/frontend-core/template/src/components/ui/carousel/carousel.stories.tsx +154 -0
  799. package/dist/frontend-core/template/src/components/ui/carousel/carousel.tsx +227 -0
  800. package/dist/frontend-core/template/src/components/ui/chart/base.tsx +304 -0
  801. package/dist/frontend-core/template/src/components/ui/chart/index.ts +2 -0
  802. package/dist/frontend-core/template/src/components/ui/chart/line.stories.tsx +230 -0
  803. package/dist/frontend-core/template/src/components/ui/chart/line.tsx +121 -0
  804. package/dist/frontend-core/template/src/components/ui/chart/util.ts +3 -0
  805. package/dist/frontend-core/template/src/components/ui/checkbox/checkbox.stories.tsx +105 -0
  806. package/dist/frontend-core/template/src/components/ui/checkbox/checkbox.tsx +79 -0
  807. package/dist/frontend-core/template/src/components/ui/checkbox/shadcn-checkbox.stories.tsx +90 -0
  808. package/dist/frontend-core/template/src/components/ui/checkbox/shadcn-checkbox.tsx +54 -0
  809. package/dist/frontend-core/template/src/components/ui/collapse/collapse.stories.tsx +52 -0
  810. package/dist/frontend-core/template/src/components/ui/collapse/collapse.tsx +9 -0
  811. package/dist/frontend-core/template/src/components/ui/combobox/combobox.stories.tsx +207 -0
  812. package/dist/frontend-core/template/src/components/ui/combobox/combobox.tsx +79 -0
  813. package/dist/frontend-core/template/src/components/ui/command/command.stories.tsx +186 -0
  814. package/dist/frontend-core/template/src/components/ui/command/command.tsx +165 -0
  815. package/dist/frontend-core/template/src/components/ui/command-palette/command-palette.stories.tsx +160 -0
  816. package/dist/frontend-core/template/src/components/ui/command-palette/command-palette.tsx +134 -0
  817. package/dist/frontend-core/template/src/components/ui/content-frame/content-frame.stories.tsx +198 -0
  818. package/dist/frontend-core/template/src/components/ui/content-frame/content-frame.tsx +100 -0
  819. package/dist/frontend-core/template/src/components/ui/context-menu/context-menu.stories.tsx +78 -0
  820. package/dist/frontend-core/template/src/components/ui/context-menu/context-menu.tsx +179 -0
  821. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/cell-variant-types.ts +11 -0
  822. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/checkbox-cell.tsx +112 -0
  823. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/date-cell.tsx +158 -0
  824. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/gantt-cell.tsx +80 -0
  825. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/long-text-cell.tsx +179 -0
  826. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/multi-select-cell.tsx +284 -0
  827. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/number-cell.tsx +167 -0
  828. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/react-node-cell.tsx +32 -0
  829. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/select-cell.tsx +175 -0
  830. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/short-text-cell.tsx +137 -0
  831. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/utils/gantt-timeline.tsx +91 -0
  832. package/dist/frontend-core/template/src/components/ui/data-grid/cell-variants/utils/gantt-timerange-picker.tsx +330 -0
  833. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-cell-wrapper.tsx +212 -0
  834. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-cell.tsx +156 -0
  835. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-column-header.tsx +317 -0
  836. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-context-menu.tsx +262 -0
  837. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-row.tsx +123 -0
  838. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-search.tsx +211 -0
  839. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-types.ts +151 -0
  840. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-utils.ts +78 -0
  841. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid-view-menu.tsx +360 -0
  842. package/dist/frontend-core/template/src/components/ui/data-grid/data-grid.tsx +217 -0
  843. package/dist/frontend-core/template/src/components/ui/data-grid/hooks/use-callback-ref.ts +22 -0
  844. package/dist/frontend-core/template/src/components/ui/data-grid/hooks/use-data-grid.tsx +1888 -0
  845. package/dist/frontend-core/template/src/components/ui/data-grid/hooks/use-debounced-callback.ts +19 -0
  846. package/dist/frontend-core/template/src/components/ui/data-table/context-menu-simple.tsx +141 -0
  847. package/dist/frontend-core/template/src/components/ui/data-table/data-table.stories.tsx +146 -0
  848. package/dist/frontend-core/template/src/components/ui/data-table/data-table.tsx +448 -0
  849. package/dist/frontend-core/template/src/components/ui/data-table/renderers/country-array-cell-renderer.tsx +77 -0
  850. package/dist/frontend-core/template/src/components/ui/data-table/renderers/country-cell-renderer.tsx +56 -0
  851. package/dist/frontend-core/template/src/components/ui/data-table/renderers/favorite-cell-renderer.tsx +68 -0
  852. package/dist/frontend-core/template/src/components/ui/data-table/renderers/links-cell-renderer.tsx +205 -0
  853. package/dist/frontend-core/template/src/components/ui/data-table/utils/columns.ts +351 -0
  854. package/dist/frontend-core/template/src/components/ui/data-table/utils/data-table.utils.ts +49 -0
  855. package/dist/frontend-core/template/src/components/ui/date-picker/date-picker.stories.tsx +149 -0
  856. package/dist/frontend-core/template/src/components/ui/date-picker/date-picker.tsx +30 -0
  857. package/dist/frontend-core/template/src/components/ui/dialog/dialog.stories.tsx +80 -0
  858. package/dist/frontend-core/template/src/components/ui/dialog/dialog.tsx +134 -0
  859. package/dist/frontend-core/template/src/components/ui/drawer/drawer.stories.tsx +104 -0
  860. package/dist/frontend-core/template/src/components/ui/drawer/drawer.tsx +87 -0
  861. package/dist/frontend-core/template/src/components/ui/dropdown-menu/dropdown-menu.stories.tsx +168 -0
  862. package/dist/frontend-core/template/src/components/ui/dropdown-menu/dropdown-menu.tsx +225 -0
  863. package/dist/frontend-core/template/src/components/ui/input/input.stories.tsx +141 -0
  864. package/dist/frontend-core/template/src/components/ui/input/input.tsx +47 -0
  865. package/dist/frontend-core/template/src/components/ui/label/label.stories.tsx +41 -0
  866. package/dist/frontend-core/template/src/components/ui/label/label.tsx +20 -0
  867. package/dist/frontend-core/template/src/components/ui/loader/loader.stories.tsx +45 -0
  868. package/dist/frontend-core/template/src/components/ui/loader/loader.tsx +17 -0
  869. package/dist/frontend-core/template/src/components/ui/mark-value-renderer/mark-value-renderer.stories.tsx +114 -0
  870. package/dist/frontend-core/template/src/components/ui/mark-value-renderer/mark-value-renderer.tsx +48 -0
  871. package/dist/frontend-core/template/src/components/ui/menubar/menu.stories.tsx +134 -0
  872. package/dist/frontend-core/template/src/components/ui/menubar/menubar.tsx +208 -0
  873. package/dist/frontend-core/template/src/components/ui/modal/modal.stories.tsx +297 -0
  874. package/dist/frontend-core/template/src/components/ui/modal/modal.tsx +80 -0
  875. package/dist/frontend-core/template/src/components/ui/navigation-menu/navigation-menu.stories.tsx +213 -0
  876. package/dist/frontend-core/template/src/components/ui/navigation-menu/navigation-menu.tsx +142 -0
  877. package/dist/frontend-core/template/src/components/ui/pagination/pagination.stories.tsx +49 -0
  878. package/dist/frontend-core/template/src/components/ui/pagination/pagination.tsx +84 -0
  879. package/dist/frontend-core/template/src/components/ui/popover/popover.stories.tsx +82 -0
  880. package/dist/frontend-core/template/src/components/ui/popover/popover.tsx +55 -0
  881. package/dist/frontend-core/template/src/components/ui/progress/progress.stories.tsx +80 -0
  882. package/dist/frontend-core/template/src/components/ui/progress/progress.tsx +17 -0
  883. package/dist/frontend-core/template/src/components/ui/radio-group/radio-group.stories.tsx +154 -0
  884. package/dist/frontend-core/template/src/components/ui/radio-group/radio-group.tsx +68 -0
  885. package/dist/frontend-core/template/src/components/ui/resizable/resizable.stories.tsx +73 -0
  886. package/dist/frontend-core/template/src/components/ui/resizable/resizeable.tsx +38 -0
  887. package/dist/frontend-core/template/src/components/ui/scroll-area/scroll-area.stories.tsx +55 -0
  888. package/dist/frontend-core/template/src/components/ui/scroll-area/scroll-area.tsx +39 -0
  889. package/dist/frontend-core/template/src/components/ui/select/select.stories.tsx +297 -0
  890. package/dist/frontend-core/template/src/components/ui/select/select.tsx +227 -0
  891. package/dist/frontend-core/template/src/components/ui/separator/separator.tsx +21 -0
  892. package/dist/frontend-core/template/src/components/ui/separator/seperator.stories.tsx +25 -0
  893. package/dist/frontend-core/template/src/components/ui/sheet/sheet.stories.tsx +45 -0
  894. package/dist/frontend-core/template/src/components/ui/sheet/sheet.tsx +107 -0
  895. package/dist/frontend-core/template/src/components/ui/skeleton/skeleton.stories.tsx +26 -0
  896. package/dist/frontend-core/template/src/components/ui/skeleton/skeleton.tsx +7 -0
  897. package/dist/frontend-core/template/src/components/ui/slider/slider.stories.tsx +101 -0
  898. package/dist/frontend-core/template/src/components/ui/slider/slider.tsx +98 -0
  899. package/dist/frontend-core/template/src/components/ui/spinner/spinner.stories.tsx +19 -0
  900. package/dist/frontend-core/template/src/components/ui/spinner/spinner.tsx +21 -0
  901. package/dist/frontend-core/template/src/components/ui/spreadsheet/engine.ts +411 -0
  902. package/dist/frontend-core/template/src/components/ui/spreadsheet/format.ts +79 -0
  903. package/dist/frontend-core/template/src/components/ui/spreadsheet/index.tsx +201 -0
  904. package/dist/frontend-core/template/src/components/ui/spreadsheet/model.json +2877 -0
  905. package/dist/frontend-core/template/src/components/ui/spreadsheet/model.xlsm +0 -0
  906. package/dist/frontend-core/template/src/components/ui/spreadsheet/parser.ts +307 -0
  907. package/dist/frontend-core/template/src/components/ui/spreadsheet/types.ts +69 -0
  908. package/dist/frontend-core/template/src/components/ui/switch/switch.stories.tsx +33 -0
  909. package/dist/frontend-core/template/src/components/ui/switch/switch.tsx +28 -0
  910. package/dist/frontend-core/template/src/components/ui/tabs/tabs.stories.tsx +215 -0
  911. package/dist/frontend-core/template/src/components/ui/tabs/tabs.tsx +70 -0
  912. package/dist/frontend-core/template/src/components/ui/textarea/textarea.stories.tsx +138 -0
  913. package/dist/frontend-core/template/src/components/ui/textarea/textarea.tsx +40 -0
  914. package/dist/frontend-core/template/src/components/ui/toast/toast.mdx +31 -0
  915. package/dist/frontend-core/template/src/components/ui/toast/toast.stories.tsx +89 -0
  916. package/dist/frontend-core/template/src/components/ui/toggle/toggle.stories.tsx +65 -0
  917. package/dist/frontend-core/template/src/components/ui/toggle/toggle.tsx +38 -0
  918. package/dist/frontend-core/template/src/components/ui/toggle-group/toggle-group.stories.tsx +85 -0
  919. package/dist/frontend-core/template/src/components/ui/toggle-group/toggle-group.tsx +54 -0
  920. package/dist/frontend-core/template/src/components/ui/tooltip/tooltip.stories.tsx +29 -0
  921. package/dist/frontend-core/template/src/components/ui/tooltip/tooltip.tsx +29 -0
  922. package/dist/frontend-core/template/src/context-providers/auth-context-provider.tsx +210 -0
  923. package/dist/frontend-core/template/src/context-providers/theme-context-provider.tsx +107 -0
  924. package/dist/frontend-core/template/src/hooks/useDelay.ts +17 -0
  925. package/dist/frontend-core/template/src/hooks/useFontsLoaded.ts +17 -0
  926. package/dist/frontend-core/template/src/hooks/useMediaQuery.ts +28 -0
  927. package/dist/frontend-core/template/src/hooks/useScreenSize.ts +37 -0
  928. package/dist/frontend-core/template/src/hooks/useScrollLock.tsx +93 -0
  929. package/dist/frontend-core/template/src/hooks/useWindowFocus.ts +30 -0
  930. package/dist/frontend-core/template/src/lib/color.ts +277 -0
  931. package/dist/frontend-core/template/src/lib/compose-refs.ts +62 -0
  932. package/dist/frontend-core/template/src/lib/config.ts +77 -0
  933. package/dist/frontend-core/template/src/lib/query-client.ts +25 -0
  934. package/dist/frontend-core/template/src/lib/react.ts +25 -0
  935. package/dist/frontend-core/template/src/lib/router.tsx +26 -0
  936. package/dist/frontend-core/template/src/lib/types.ts +9 -0
  937. package/dist/frontend-core/template/src/lib/utils.ts +33 -0
  938. package/dist/frontend-core/template/src/main.tsx +48 -0
  939. package/dist/frontend-core/template/src/pages/dashboard/dashboard.page.tsx +97 -0
  940. package/dist/frontend-core/template/src/pages/error/default-error.page.tsx +20 -0
  941. package/dist/frontend-core/template/src/pages/error/not-found-error.page.tsx +17 -0
  942. package/dist/frontend-core/template/src/pages/login/login.page.tsx +50 -0
  943. package/dist/frontend-core/template/src/pages/root-document.tsx +62 -0
  944. package/dist/frontend-core/template/src/pages/unauthorized/unauthorized.page.tsx +12 -0
  945. package/dist/frontend-core/template/src/routes/__root.tsx +79 -0
  946. package/dist/frontend-core/template/src/routes/_auth-routes/dashboard.lazy.tsx +6 -0
  947. package/dist/frontend-core/template/src/routes/_auth-routes.tsx +19 -0
  948. package/dist/frontend-core/template/src/routes/index.tsx +8 -0
  949. package/dist/frontend-core/template/src/routes/login.tsx +6 -0
  950. package/dist/frontend-core/template/src/routes/unauthorized.tsx +6 -0
  951. package/dist/frontend-core/template/src/stories/Configure.mdx +363 -0
  952. package/dist/frontend-core/template/src/stories/assets/accessibility.png +0 -0
  953. package/dist/frontend-core/template/src/stories/assets/accessibility.svg +1 -0
  954. package/dist/frontend-core/template/src/stories/assets/addon-library.png +0 -0
  955. package/dist/frontend-core/template/src/stories/assets/assets.png +0 -0
  956. package/dist/frontend-core/template/src/stories/assets/avif-test-image.avif +0 -0
  957. package/dist/frontend-core/template/src/stories/assets/context.png +0 -0
  958. package/dist/frontend-core/template/src/stories/assets/discord.svg +1 -0
  959. package/dist/frontend-core/template/src/stories/assets/docs.png +0 -0
  960. package/dist/frontend-core/template/src/stories/assets/figma-plugin.png +0 -0
  961. package/dist/frontend-core/template/src/stories/assets/github.svg +1 -0
  962. package/dist/frontend-core/template/src/stories/assets/share.png +0 -0
  963. package/dist/frontend-core/template/src/stories/assets/styling.png +0 -0
  964. package/dist/frontend-core/template/src/stories/assets/testing.png +0 -0
  965. package/dist/frontend-core/template/src/stories/assets/theming.png +0 -0
  966. package/dist/frontend-core/template/src/stories/assets/tutorials.svg +1 -0
  967. package/dist/frontend-core/template/src/stories/assets/youtube.svg +1 -0
  968. package/dist/frontend-core/template/src/styles/styles.css +33 -0
  969. package/dist/frontend-core/template/src/styles/theme-default.css +183 -0
  970. package/dist/frontend-core/template/src/vite-env.d.ts +2 -0
  971. package/dist/frontend-core/template/tsconfig.json +103 -0
  972. package/dist/frontend-core/template/vite.config.ts +167 -0
  973. package/dist/frontend-core/template/vitest.shims.d.ts +1 -0
  974. package/dist/frontend-core/types/component.d.ts +1 -0
  975. package/dist/frontend-core/types/component.js +3 -0
  976. package/dist/frontend-core/types/component.js.map +1 -0
  977. package/dist/frontend-core/types/contextprovider.d.ts +1 -0
  978. package/dist/frontend-core/types/contextprovider.js +3 -0
  979. package/dist/frontend-core/types/contextprovider.js.map +1 -0
  980. package/dist/frontend-core/types/hook.d.ts +1 -0
  981. package/dist/frontend-core/types/hook.js +3 -0
  982. package/dist/frontend-core/types/hook.js.map +1 -0
  983. package/dist/frontend-core/types.d.ts +35 -0
  984. package/dist/frontend-core/types.js +3 -0
  985. package/dist/frontend-core/types.js.map +1 -0
  986. package/dist/frontend-forms/forms.generator.d.ts +54 -0
  987. package/dist/frontend-forms/forms.generator.js +190 -0
  988. package/dist/frontend-forms/forms.generator.js.map +1 -0
  989. package/dist/frontend-forms/generators/discriminated-union/fields.generator.d.ts +11 -0
  990. package/dist/frontend-forms/generators/discriminated-union/fields.generator.js +310 -0
  991. package/dist/frontend-forms/generators/discriminated-union/fields.generator.js.map +1 -0
  992. package/dist/frontend-forms/generators/discriminated-union/inputs.generator.d.ts +7 -0
  993. package/dist/frontend-forms/generators/discriminated-union/inputs.generator.js +69 -0
  994. package/dist/frontend-forms/generators/discriminated-union/inputs.generator.js.map +1 -0
  995. package/dist/frontend-forms/generators/enum/inputs.generator.d.ts +5 -0
  996. package/dist/frontend-forms/generators/enum/inputs.generator.js +69 -0
  997. package/dist/frontend-forms/generators/enum/inputs.generator.js.map +1 -0
  998. package/dist/frontend-forms/generators/model/forms.generator.d.ts +11 -0
  999. package/dist/frontend-forms/generators/model/forms.generator.js +549 -0
  1000. package/dist/frontend-forms/generators/model/forms.generator.js.map +1 -0
  1001. package/dist/frontend-forms/generators/model/inputs.generator.d.ts +5 -0
  1002. package/dist/frontend-forms/generators/model/inputs.generator.js +148 -0
  1003. package/dist/frontend-forms/generators/model/inputs.generator.js.map +1 -0
  1004. package/dist/frontend-forms/index.d.ts +5 -0
  1005. package/dist/frontend-forms/index.js +40 -0
  1006. package/dist/frontend-forms/index.js.map +1 -0
  1007. package/dist/frontend-forms/template/src/components/ui/field/field.tsx +226 -0
  1008. package/dist/frontend-tables/generators/model-context.generator.d.ts +5 -0
  1009. package/dist/frontend-tables/generators/model-context.generator.js +72 -0
  1010. package/dist/frontend-tables/generators/model-context.generator.js.map +1 -0
  1011. package/dist/frontend-tables/generators/model-table.generator.d.ts +5 -0
  1012. package/dist/frontend-tables/generators/model-table.generator.js +339 -0
  1013. package/dist/frontend-tables/generators/model-table.generator.js.map +1 -0
  1014. package/dist/frontend-tables/index.d.ts +5 -0
  1015. package/dist/frontend-tables/index.js +40 -0
  1016. package/dist/frontend-tables/index.js.map +1 -0
  1017. package/dist/frontend-tables/tables.generator.d.ts +49 -0
  1018. package/dist/frontend-tables/tables.generator.js +104 -0
  1019. package/dist/frontend-tables/tables.generator.js.map +1 -0
  1020. package/dist/frontend-trpc-client/generators/model-hook.generator.d.ts +5 -0
  1021. package/dist/frontend-trpc-client/generators/model-hook.generator.js +107 -0
  1022. package/dist/frontend-trpc-client/generators/model-hook.generator.js.map +1 -0
  1023. package/dist/frontend-trpc-client/generators/trpc-client.generator.d.ts +5 -0
  1024. package/dist/frontend-trpc-client/generators/trpc-client.generator.js +64 -0
  1025. package/dist/frontend-trpc-client/generators/trpc-client.generator.js.map +1 -0
  1026. package/dist/frontend-trpc-client/index.d.ts +4 -0
  1027. package/dist/frontend-trpc-client/index.js +40 -0
  1028. package/dist/frontend-trpc-client/index.js.map +1 -0
  1029. package/dist/frontend-trpc-client/trpc-client.generator.d.ts +82 -0
  1030. package/dist/frontend-trpc-client/trpc-client.generator.js +125 -0
  1031. package/dist/frontend-trpc-client/trpc-client.generator.js.map +1 -0
  1032. package/dist/generators.d.ts +2 -0
  1033. package/dist/generators.js +59 -0
  1034. package/dist/generators.js.map +1 -0
  1035. package/dist/index.d.ts +28 -0
  1036. package/dist/index.js +125 -0
  1037. package/dist/index.js.map +1 -0
  1038. package/dist/mock-data/generators/data-mocker.generator.d.ts +2 -0
  1039. package/dist/mock-data/generators/data-mocker.generator.js +235 -0
  1040. package/dist/mock-data/generators/data-mocker.generator.js.map +1 -0
  1041. package/dist/mock-data/generators/id-tracker.generator.d.ts +2 -0
  1042. package/dist/mock-data/generators/id-tracker.generator.js +101 -0
  1043. package/dist/mock-data/generators/id-tracker.generator.js.map +1 -0
  1044. package/dist/mock-data/generators/model-stub.generator.d.ts +10 -0
  1045. package/dist/mock-data/generators/model-stub.generator.js +179 -0
  1046. package/dist/mock-data/generators/model-stub.generator.js.map +1 -0
  1047. package/dist/mock-data/index.d.ts +4 -0
  1048. package/dist/mock-data/index.js +40 -0
  1049. package/dist/mock-data/index.js.map +1 -0
  1050. package/dist/mock-data/mock-data.generator.d.ts +34 -0
  1051. package/dist/mock-data/mock-data.generator.js +121 -0
  1052. package/dist/mock-data/mock-data.generator.js.map +1 -0
  1053. package/dist/seed-data/generator/excel-template.generator.d.ts +8 -0
  1054. package/dist/seed-data/generator/excel-template.generator.js +221 -0
  1055. package/dist/seed-data/generator/excel-template.generator.js.map +1 -0
  1056. package/dist/seed-data/generator/model-seed-data.generator.d.ts +15 -0
  1057. package/dist/seed-data/generator/model-seed-data.generator.js +231 -0
  1058. package/dist/seed-data/generator/model-seed-data.generator.js.map +1 -0
  1059. package/dist/seed-data/generator/seed-migration-types.generator.d.ts +2 -0
  1060. package/dist/seed-data/generator/seed-migration-types.generator.js +44 -0
  1061. package/dist/seed-data/generator/seed-migration-types.generator.js.map +1 -0
  1062. package/dist/seed-data/generator/seed-migrations.generator.d.ts +2 -0
  1063. package/dist/seed-data/generator/seed-migrations.generator.js +57 -0
  1064. package/dist/seed-data/generator/seed-migrations.generator.js.map +1 -0
  1065. package/dist/seed-data/index.d.ts +5 -0
  1066. package/dist/seed-data/index.js +40 -0
  1067. package/dist/seed-data/index.js.map +1 -0
  1068. package/dist/seed-data/seed-data.generator.d.ts +74 -0
  1069. package/dist/seed-data/seed-data.generator.js +131 -0
  1070. package/dist/seed-data/seed-data.generator.js.map +1 -0
  1071. package/dist/types/generators/discriminated-union.generator.d.ts +6 -0
  1072. package/dist/types/generators/discriminated-union.generator.js +86 -0
  1073. package/dist/types/generators/discriminated-union.generator.js.map +1 -0
  1074. package/dist/types/generators/dto-types.generator.d.ts +2 -0
  1075. package/dist/types/generators/dto-types.generator.js +32 -0
  1076. package/dist/types/generators/dto-types.generator.js.map +1 -0
  1077. package/dist/types/generators/enum-type.generator.d.ts +2 -0
  1078. package/dist/types/generators/enum-type.generator.js +65 -0
  1079. package/dist/types/generators/enum-type.generator.js.map +1 -0
  1080. package/dist/types/generators/model-type.generator.d.ts +13 -0
  1081. package/dist/types/generators/model-type.generator.js +171 -0
  1082. package/dist/types/generators/model-type.generator.js.map +1 -0
  1083. package/dist/types/generators/models.generator.d.ts +2 -0
  1084. package/dist/types/generators/models.generator.js +9 -0
  1085. package/dist/types/generators/models.generator.js.map +1 -0
  1086. package/dist/types/index.d.ts +6 -0
  1087. package/dist/types/index.js +10 -0
  1088. package/dist/types/index.js.map +1 -0
  1089. package/dist/types/types.generator.d.ts +179 -0
  1090. package/dist/types/types.generator.js +220 -0
  1091. package/dist/types/types.generator.js.map +1 -0
  1092. package/dist/types/types.generator.mock.d.ts +2 -0
  1093. package/dist/types/types.generator.mock.js +16 -0
  1094. package/dist/types/types.generator.mock.js.map +1 -0
  1095. package/package.json +70 -0
@@ -0,0 +1,424 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.generator = exports.generatorId = void 0;
37
+ const Generator = __importStar(require("@postxl/generator"));
38
+ const utils_1 = require("@postxl/utils");
39
+ const backend_core_1 = require("../backend-core");
40
+ const base_1 = require("../base");
41
+ const types_1 = require("../types");
42
+ const datamodel_decoder_generator_1 = require("./datamodel-decoder.generator");
43
+ const discriminated_union_decoder_generator_1 = require("./discriminated-union.decoder.generator");
44
+ const enum_decoder_generator_1 = require("./enum-decoder.generator");
45
+ const model_decoder_generator_1 = require("./model-decoder.generator");
46
+ exports.generatorId = Generator.toGeneratorInterfaceId('data-decoder');
47
+ const moduleName = Generator.toBackendModuleName('decoders');
48
+ exports.generator = {
49
+ id: exports.generatorId,
50
+ requires: [backend_core_1.backendGeneratorId, base_1.baseGeneratorId, types_1.typesGeneratorId],
51
+ register: (context) => {
52
+ const decodersModule = {
53
+ name: moduleName,
54
+ };
55
+ context.backend.modules.push(decodersModule);
56
+ const dataModelLocation = Generator.toBackendModuleLocation(`@${moduleName}/data-model.decoder`);
57
+ const dataModel = {
58
+ decoder: {
59
+ hasTransformer: false,
60
+ zodDecoder: {
61
+ name: Generator.toConstantName(`zDataModelDecoder`),
62
+ location: dataModelLocation,
63
+ },
64
+ parseFunction: {
65
+ name: Generator.toFunctionName(`decodeDataModel`),
66
+ location: dataModelLocation,
67
+ },
68
+ },
69
+ encodedType: {
70
+ name: Generator.toTypeName(`DataModelFlattened`),
71
+ location: dataModelLocation,
72
+ },
73
+ decodedType: {
74
+ name: Generator.toTypeName(`DataModel`),
75
+ location: dataModelLocation,
76
+ },
77
+ encoder: {
78
+ name: Generator.toFunctionName(`flattenDataModel`),
79
+ location: dataModelLocation,
80
+ },
81
+ };
82
+ const excelDataModel = {
83
+ decoder: {
84
+ hasTransformer: false,
85
+ zodDecoder: {
86
+ name: Generator.toConstantName(`zExcelDataModelDecoder`),
87
+ location: dataModelLocation,
88
+ },
89
+ parseFunction: {
90
+ name: Generator.toFunctionName(`decodeExcelDataModel`),
91
+ location: dataModelLocation,
92
+ },
93
+ },
94
+ encodedType: {
95
+ name: Generator.toTypeName(`ExcelDataModelFlattened`),
96
+ location: dataModelLocation,
97
+ },
98
+ decodedType: {
99
+ name: Generator.toTypeName(`DataModel`),
100
+ location: dataModelLocation,
101
+ },
102
+ encoder: {
103
+ name: Generator.toFunctionName(`flattenExcelDataModel`),
104
+ location: dataModelLocation,
105
+ },
106
+ };
107
+ const decoders = {
108
+ location: Generator.toBackendModuleLocation(`@${moduleName}`),
109
+ dataModel,
110
+ excelDataModel,
111
+ };
112
+ const models = new Map();
113
+ for (const [modelName, model] of context.models) {
114
+ const modelWithDecoder = registerModelDecoder(model);
115
+ models.set(modelName, modelWithDecoder);
116
+ }
117
+ const enums = new Map();
118
+ for (const [enumName, enum_] of context.enums) {
119
+ const enumWithDecoder = registerEnumDecoder(enum_);
120
+ enums.set(enumName, enumWithDecoder);
121
+ }
122
+ return { ...context, decoders, models, enums };
123
+ },
124
+ generate: async (context) => {
125
+ const indexLocation = Generator.toBackendModuleLocation(`@decoders/index`);
126
+ const index = new Generator.IndexGenerator(indexLocation);
127
+ const vfsSrc = new Generator.VirtualFileSystem();
128
+ for (const model of context.models.values()) {
129
+ vfsSrc.write(Generator.toLocalFile(model.decoder.decoder.zodDecoder), (0, model_decoder_generator_1.generateModelDecoder)({ model, context }));
130
+ index.add(model.decoder.decoder.zodDecoder);
131
+ for (const du of model.decoder.discriminatedUnions.values()) {
132
+ vfsSrc.write(Generator.toLocalFile(du.decoder.zodDecoder), (0, discriminated_union_decoder_generator_1.generateDiscriminatedUnionDecoder)({ model, discriminatedUnion: du, context }));
133
+ index.add(du.decoder.zodDecoder);
134
+ }
135
+ }
136
+ for (const enum_ of context.enums.values()) {
137
+ vfsSrc.write(Generator.toLocalFile(enum_.decoder.decoder.zodDecoder), (0, enum_decoder_generator_1.generateEnumDecoder)({ enum_, context }));
138
+ index.add(enum_.decoder.decoder.zodDecoder);
139
+ }
140
+ vfsSrc.write(Generator.toLocalFile(context.decoders.dataModel.decoder.zodDecoder), (0, datamodel_decoder_generator_1.generateDataModelDecoder)({ context }));
141
+ index.add(context.decoders.dataModel.decoder.zodDecoder);
142
+ vfsSrc.write(Generator.toLocalFile({ location: indexLocation }), index.generate());
143
+ const vfs = new Generator.VirtualFileSystem();
144
+ vfs.insertFromVfs({ targetPath: 'src', vfs: vfsSrc });
145
+ vfs.write('/tsconfig.lib.json', Generator.generateTsConfig('decoders'));
146
+ context.vfs.insertFromVfs({ targetPath: 'backend/libs/decoders', vfs });
147
+ return Promise.resolve(context); // NOSONAR
148
+ },
149
+ };
150
+ function registerModelDecoder(model) {
151
+ const location = Generator.toBackendModuleLocation(`@${moduleName}/${model._conjugated.camelCase}.model.decoder`);
152
+ const discriminatedUnions = registerDiscriminatedUnionDecoders(model);
153
+ const decoder = {
154
+ discriminatedUnions,
155
+ dataModelEntry: model._conjugated.camelCasePlural,
156
+ decoder: {
157
+ hasTransformer: true,
158
+ zodDecoder: {
159
+ name: Generator.toConstantName(`z${model._conjugated.PascalCase}Decoder`),
160
+ location,
161
+ },
162
+ rawInputValidation: {
163
+ name: Generator.toConstantName(`zRaw${model._conjugated.PascalCase}Decoder`),
164
+ location,
165
+ },
166
+ rawInputType: {
167
+ name: Generator.toTypeName(`Raw${model._conjugated.PascalCase}`),
168
+ location,
169
+ },
170
+ transformer: {
171
+ name: Generator.toFunctionName(`flattenedRawTo${model._conjugated.PascalCase}Transformer`),
172
+ location,
173
+ },
174
+ parseFunction: {
175
+ name: Generator.toFunctionName(`decode${model._conjugated.PascalCase}`),
176
+ location,
177
+ },
178
+ },
179
+ flattened: {
180
+ encodedType: {
181
+ name: Generator.toTypeName(`Raw${model._conjugated.PascalCase}Flattened`),
182
+ location,
183
+ },
184
+ decodedType: {
185
+ name: Generator.toTypeName(`${model._conjugated.PascalCase}`),
186
+ location,
187
+ },
188
+ decoder: {
189
+ hasTransformer: true,
190
+ zodDecoder: {
191
+ name: Generator.toConstantName(`z${model._conjugated.PascalCase}FlattenedDecoder`),
192
+ location,
193
+ },
194
+ rawInputValidation: {
195
+ name: Generator.toConstantName(`zRaw${model._conjugated.PascalCase}FlattenedDecoder`),
196
+ location,
197
+ },
198
+ rawInputType: {
199
+ name: Generator.toTypeName(`Raw${model._conjugated.PascalCase}Flattened`),
200
+ location,
201
+ },
202
+ transformer: {
203
+ name: Generator.toFunctionName(`flattenedRawTo${model._conjugated.PascalCase}Transformer`),
204
+ location,
205
+ },
206
+ parseFunction: {
207
+ name: Generator.toFunctionName(`decodeFlattened${model._conjugated.PascalCase}`),
208
+ location,
209
+ },
210
+ },
211
+ encoder: {
212
+ name: Generator.toFunctionName(`encode${model._conjugated.PascalCase}AsFlattened`),
213
+ location,
214
+ },
215
+ },
216
+ excel: {
217
+ encodedType: {
218
+ name: Generator.toTypeName(`Raw${model._conjugated.PascalCase}ExcelFlattened`),
219
+ location,
220
+ },
221
+ decodedType: {
222
+ name: Generator.toTypeName(`${model._conjugated.PascalCase}`),
223
+ location,
224
+ },
225
+ decoder: {
226
+ hasTransformer: true,
227
+ zodDecoder: {
228
+ name: Generator.toConstantName(`z${model._conjugated.PascalCase}ExcelFlattenedDecoder`),
229
+ location,
230
+ },
231
+ rawInputValidation: {
232
+ name: Generator.toConstantName(`zRaw${model._conjugated.PascalCase}ExcelFlattenedDecoder`),
233
+ location,
234
+ },
235
+ rawInputType: {
236
+ name: Generator.toTypeName(`Raw${model._conjugated.PascalCase}ExcelFlattened`),
237
+ location,
238
+ },
239
+ transformer: {
240
+ name: Generator.toFunctionName(`excelFlattenedRawTo${model._conjugated.PascalCase}Transformer`),
241
+ location,
242
+ },
243
+ parseFunction: {
244
+ name: Generator.toFunctionName(`decodeExcelFlattened${model._conjugated.PascalCase}`),
245
+ location,
246
+ },
247
+ },
248
+ encoder: {
249
+ name: Generator.toFunctionName(`encode${model._conjugated.PascalCase}AsExcelFlattened`),
250
+ location,
251
+ },
252
+ },
253
+ };
254
+ verifyExcelNames(model);
255
+ return { ...model, decoder };
256
+ }
257
+ function registerDiscriminatedUnionDecoders(model) {
258
+ const result = new Map();
259
+ for (const field of model.fields.values()) {
260
+ if (field.kind !== 'discriminatedUnion') {
261
+ continue;
262
+ }
263
+ const pascalCase = (0, utils_1.toPascalCase)(field.name);
264
+ const location = Generator.toBackendModuleLocation(`@${moduleName}/${field.name}.discriminatedUnion.decoder`);
265
+ const decoder = {
266
+ field,
267
+ decoder: {
268
+ hasTransformer: false,
269
+ zodDecoder: {
270
+ name: Generator.toConstantName(`z${pascalCase}Decoder`),
271
+ location,
272
+ },
273
+ parseFunction: {
274
+ name: Generator.toFunctionName(`decode${pascalCase}`),
275
+ location,
276
+ },
277
+ },
278
+ flattened: {
279
+ encodedType: {
280
+ name: Generator.toTypeName(`Raw${pascalCase}Flattened`),
281
+ location,
282
+ },
283
+ decodedType: {
284
+ name: Generator.toTypeName(`${pascalCase}`),
285
+ location,
286
+ },
287
+ decoder: {
288
+ hasTransformer: true,
289
+ zodDecoder: {
290
+ name: Generator.toConstantName(`z${pascalCase}FlattenedDecoder`),
291
+ location,
292
+ },
293
+ rawInputValidation: {
294
+ name: Generator.toConstantName(`zRaw${pascalCase}FlattenedDecoder`),
295
+ location,
296
+ },
297
+ rawInputType: {
298
+ name: Generator.toTypeName(`Raw${pascalCase}Flattened`),
299
+ location,
300
+ },
301
+ transformer: {
302
+ name: Generator.toFunctionName(`flattenedRawTo${pascalCase}Transformer`),
303
+ location,
304
+ },
305
+ parseFunction: {
306
+ name: Generator.toFunctionName(`decodeFlattened${pascalCase}`),
307
+ location,
308
+ },
309
+ },
310
+ encoder: {
311
+ name: Generator.toFunctionName(`encode${pascalCase}AsFlattened`),
312
+ location,
313
+ },
314
+ },
315
+ excel: {
316
+ encodedType: {
317
+ name: Generator.toTypeName(`Raw${pascalCase}ExcelFlattened`),
318
+ location,
319
+ },
320
+ decodedType: {
321
+ name: Generator.toTypeName(`${pascalCase}`),
322
+ location,
323
+ },
324
+ decoder: {
325
+ hasTransformer: true,
326
+ zodDecoder: {
327
+ name: Generator.toConstantName(`z${pascalCase}ExcelFlattenedDecoder`),
328
+ location,
329
+ },
330
+ rawInputValidation: {
331
+ name: Generator.toConstantName(`zRaw${pascalCase}ExcelFlattenedDecoder`),
332
+ location,
333
+ },
334
+ rawInputType: {
335
+ name: Generator.toTypeName(`Raw${pascalCase}ExcelFlattened`),
336
+ location,
337
+ },
338
+ transformer: {
339
+ name: Generator.toFunctionName(`excelFlattenedRawTo${pascalCase}Transformer`),
340
+ location,
341
+ },
342
+ parseFunction: {
343
+ name: Generator.toFunctionName(`decodeExcelFlattened${pascalCase}`),
344
+ location,
345
+ },
346
+ },
347
+ encoder: {
348
+ name: Generator.toFunctionName(`encode${pascalCase}AsExcelFlattened`),
349
+ location,
350
+ },
351
+ },
352
+ };
353
+ result.set(field.name, decoder);
354
+ }
355
+ return result;
356
+ }
357
+ function registerEnumDecoder(enum_) {
358
+ const location = Generator.toBackendModuleLocation(`@${moduleName}/${enum_._conjugated.camelCase}.enum.decoder`);
359
+ const decoder = {
360
+ decoder: {
361
+ hasTransformer: true,
362
+ zodDecoder: {
363
+ name: Generator.toConstantName(`z${enum_._conjugated.PascalCase}Decoder`),
364
+ location,
365
+ },
366
+ rawInputValidation: {
367
+ name: Generator.toConstantName(`zRaw${enum_._conjugated.PascalCase}Decoder`),
368
+ location,
369
+ },
370
+ rawInputType: {
371
+ name: Generator.toTypeName(`Raw${enum_._conjugated.PascalCase}`),
372
+ location,
373
+ },
374
+ transformer: {
375
+ name: Generator.toFunctionName(`raw${enum_._conjugated.PascalCase}ToFlattened`),
376
+ location,
377
+ },
378
+ parseFunction: {
379
+ name: Generator.toFunctionName(`decode${enum_._conjugated.PascalCase}`),
380
+ location,
381
+ },
382
+ },
383
+ encoder: {
384
+ name: Generator.toFunctionName(`encode${enum_._conjugated.PascalCase}`),
385
+ location,
386
+ },
387
+ };
388
+ return { ...enum_, decoder };
389
+ }
390
+ /**
391
+ * Verifies that all field excel names in the given model are unique.
392
+ *
393
+ * This function ensures that field excel names do not conflict, as duplicate names
394
+ * can cause issues during the Excel import/export process. Excel relies on unique
395
+ * names to map data correctly, and duplicates may lead to data corruption
396
+ * or incorrect mappings.
397
+ *
398
+ * If duplicate labels are found, an error is thrown with details about the
399
+ * conflicting fields.
400
+ *
401
+ * @param model - The model whose field labels are to be verified.
402
+ * @throws {Error} If duplicate field labels are detected.
403
+ */
404
+ function verifyExcelNames(model) {
405
+ const names = new Map();
406
+ for (const field of model.fields.values()) {
407
+ if (names.has(field.excelName)) {
408
+ const existing = names.get(field.excelName);
409
+ existing.push((0, utils_1.red)(`${model.name}.${field.excelName}`));
410
+ continue;
411
+ }
412
+ names.set(field.excelName, [(0, utils_1.red)(`${model.name}.${field.name}`)]);
413
+ }
414
+ const errors = [];
415
+ for (const [excelName, fields] of names.entries()) {
416
+ if (fields.length > 1) {
417
+ errors.push(`Duplicate name "${(0, utils_1.yellow)(excelName)}" for fields ${fields.join(', ')}! Field names must be unique to allow Excel import/export!"`);
418
+ }
419
+ }
420
+ if (errors.length > 0) {
421
+ throw new Error(errors.join('\n'));
422
+ }
423
+ }
424
+ //# sourceMappingURL=decoders.generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decoders.generator.js","sourceRoot":"","sources":["../../src/decoders/decoders.generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import * as Generator from '@postxl/generator';
2
+ import * as Schema from '@postxl/schema';
3
+ import { ContextResult, DiscriminatedUnionDecoderDefinition, ModelResult } from './decoders.generator';
4
+ type GeneratorParams = {
5
+ context: ContextResult;
6
+ model: ModelResult;
7
+ discriminatedUnion: DiscriminatedUnionDecoderDefinition;
8
+ field: Schema.FieldDiscriminatedUnion;
9
+ imports: Generator.ImportGenerator;
10
+ };
11
+ export declare function generateDiscriminatedUnionDecoder({ context, model, discriminatedUnion, }: Omit<GeneratorParams, 'imports' | 'field'>): string;
12
+ export {};
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.generateDiscriminatedUnionDecoder = generateDiscriminatedUnionDecoder;
37
+ const Generator = __importStar(require("@postxl/generator"));
38
+ const FlattenedFieldHelper = __importStar(require("./excel-field-decoder.helper"));
39
+ const FieldDecoder = __importStar(require("./field-decoder.helper"));
40
+ function generateDiscriminatedUnionDecoder({ context, model, discriminatedUnion, }) {
41
+ const imports = Generator.ImportGenerator.from(model.decoder.decoder.zodDecoder.location);
42
+ const params = { context, model, discriminatedUnion, field: discriminatedUnion.field, imports };
43
+ // We cannot inline below definitions, as we need to add the imports before
44
+ const decoder = getDecoder(params);
45
+ const flattenedDecoder = getFlattenedDecoder(params);
46
+ return /* ts */ `
47
+ import * as z from 'zod'
48
+ ${imports.generate()}
49
+
50
+ ${decoder}
51
+
52
+ ${getFlattenedType({ discriminatedUnion })}
53
+
54
+ ${getFlattenedEncoder({ discriminatedUnion })}
55
+
56
+ ${flattenedDecoder}`;
57
+ }
58
+ function getDecoder({ context, model, discriminatedUnion, field, imports }) {
59
+ imports.addTypeImport({ from: context.types.location, items: [field.type] });
60
+ const sharedFields = [];
61
+ for (const f of field.commonFields.values()) {
62
+ sharedFields.push(FieldDecoder.getFieldDecoder({ context, model, field: f, imports }));
63
+ }
64
+ const members = [];
65
+ for (const member of field.members.values()) {
66
+ const memberFields = [`type: z.literal('${member.type}')`, ...sharedFields];
67
+ for (const f of member.fields.values()) {
68
+ memberFields.push(FieldDecoder.getFieldDecoder({ context, model, field: f, imports }));
69
+ }
70
+ members.push(`z.object({ ${memberFields.join(', ')}})`);
71
+ }
72
+ return `
73
+ export const ${discriminatedUnion.decoder.zodDecoder.name} = z.discriminatedUnion('type', [
74
+ ${members.join(',\n')}
75
+ ])
76
+
77
+ /**
78
+ * Decoder to ensure that the input is a valid ${field.type}.
79
+ */
80
+ export function ${discriminatedUnion.decoder.parseFunction.name}(item: ${field.type}): ${field.type} {
81
+ return ${discriminatedUnion.decoder.zodDecoder.name}.parse(item)
82
+ }
83
+ `;
84
+ }
85
+ function getFlattenedType({ discriminatedUnion }) {
86
+ return `/**
87
+ * The ${discriminatedUnion.field.type} discriminated union type flattened to a column structure.
88
+ */
89
+ export type ${discriminatedUnion.flattened.decoder.rawInputType.name} = z.infer<typeof ${discriminatedUnion.flattened.decoder.rawInputValidation.name}>
90
+ `;
91
+ }
92
+ function getFlattenedEncoder({ discriminatedUnion, }) {
93
+ return `
94
+ /**
95
+ * Encodes a ${discriminatedUnion.field.type} discriminated union to a flattened object, where each
96
+ * nested field is mapped to a top-level field. This allows serialization to a column structure.
97
+ */
98
+ export function ${discriminatedUnion.flattened.encoder.name}(item: ${discriminatedUnion.field.type}) {
99
+ return {
100
+ ${getEncoderFields({ field: discriminatedUnion.field }).join(',\n')}
101
+ }
102
+ }
103
+ `;
104
+ }
105
+ function getEncoderFields({ field }) {
106
+ const result = [];
107
+ result.push(`${field.name}: item.type`);
108
+ for (const f of field.commonFields.values()) {
109
+ result.push(`${f.databaseName}: item.${f.name}`);
110
+ }
111
+ for (const member of field.members.values()) {
112
+ for (const f of member.fields.values()) {
113
+ result.push(`${f.databaseName}: item.type === '${member.type}' ? item.${f.name} : null`);
114
+ }
115
+ }
116
+ return result;
117
+ }
118
+ function getFlattenedDecoder({ context, model, discriminatedUnion, field, imports }) {
119
+ imports.addTypeImport({ from: context.types.location, items: [field.type] });
120
+ const fieldRawDecoders = [
121
+ `${field.databaseName}: z.enum([${Array.from(field.members.values())
122
+ .map((f) => `'${f.type}'`)
123
+ .join(',')}]).transform((v) => v as string).nullable()`,
124
+ ];
125
+ const commonFieldRequiredChecks = [`nullCheck('${field.databaseName}')`];
126
+ const commonFieldTransformers = [];
127
+ const transformerSwitchCases = [];
128
+ for (const f of field.commonFields.values()) {
129
+ const { rawDecoder, transformer = FieldDecoder.defaultTransformer } = FlattenedFieldHelper.getFieldElements({
130
+ field: f,
131
+ context,
132
+ model,
133
+ imports,
134
+ // All fields are mode nullable even if required within a discriminated union, as the DU itself might be nullable!
135
+ enforceNullable: true,
136
+ });
137
+ fieldRawDecoders.push(`${f.databaseName}: ${rawDecoder}`);
138
+ if (field.isRequired) {
139
+ commonFieldRequiredChecks.push(`if (item.${f.databaseName} === null) {
140
+ ctx.addIssue({ code: z.ZodIssueCode.custom, message: 'Field ${f.databaseName} is required but null!', path: ['${f.databaseName}'] })
141
+ return z.NEVER
142
+ }`);
143
+ }
144
+ commonFieldTransformers.push(`${f.name}: ${transformer('item.' + f.databaseName + (f.isRequired ? '!' : ''))}`);
145
+ }
146
+ for (const member of field.members.values()) {
147
+ const memberTransformers = [`type: '${member.type}'`, ...commonFieldTransformers];
148
+ const memberFieldRequiredChecks = [];
149
+ for (const f of member.fields.values()) {
150
+ const { rawDecoder, transformer = FieldDecoder.defaultTransformer } = FlattenedFieldHelper.getFieldElements({
151
+ field: f,
152
+ context,
153
+ model,
154
+ imports,
155
+ enforceNullable: true,
156
+ });
157
+ fieldRawDecoders.push(`${f.databaseName}: ${rawDecoder}`);
158
+ if (f.isRequired) {
159
+ memberFieldRequiredChecks.push(`nullCheck('${f.databaseName}')`);
160
+ }
161
+ memberTransformers.push(`${f.name}: ${transformer('item.' + f.databaseName + (f.isRequired ? '!' : ''))}`);
162
+ }
163
+ transformerSwitchCases.push(`case '${member.type}': {
164
+ ${memberFieldRequiredChecks.join('\n')}
165
+ return {
166
+ ${memberTransformers.join(',\n')}
167
+ }
168
+ }`);
169
+ }
170
+ return `
171
+ export const ${discriminatedUnion.flattened.decoder.rawInputValidation.name} = z.object({
172
+ ${fieldRawDecoders.join(',\n')}
173
+ })
174
+
175
+ export function ${discriminatedUnion.flattened.decoder.transformer.name}(item: ${discriminatedUnion.flattened.decoder.rawInputType.name}, ctx: z.RefinementCtx): ${field.type} {
176
+ try {
177
+ const nullCheck = (fieldName: keyof ${discriminatedUnion.flattened.decoder.rawInputType.name}) => {
178
+ if (item[fieldName] === null) {
179
+ const message = \`Field \${fieldName} is required but null!\`
180
+ ctx.addIssue({ code: z.ZodIssueCode.custom, message, path: [fieldName] })
181
+ throw new Error(message)
182
+ }
183
+ }
184
+
185
+ ${commonFieldRequiredChecks.join('\n')}
186
+ switch (item.${field.name}) {
187
+ ${transformerSwitchCases.join('\n')}
188
+ default: {
189
+ const message = \`Field ${field.name} is not a valid enum value!\`
190
+ ctx.addIssue({ code: z.ZodIssueCode.custom, message, path: ['${field.name}'] })
191
+ throw new Error(message)
192
+ }
193
+ }
194
+ } catch {
195
+ return z.NEVER
196
+ }
197
+ }
198
+
199
+ /**
200
+ * Decoder that parses the flattened object and transforms it to the ${field.type} discriminated union.
201
+ */
202
+ export const ${discriminatedUnion.flattened.decoder.zodDecoder.name} = ${discriminatedUnion.flattened.decoder.rawInputValidation.name}.transform(${discriminatedUnion.flattened.decoder.transformer.name})
203
+ `;
204
+ }
205
+ //# sourceMappingURL=discriminated-union.decoder.generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discriminated-union.decoder.generator.js","sourceRoot":"","sources":["../../src/decoders/discriminated-union.decoder.generator.ts"],"names":[],"mappings":"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"}