@akanjs/cli 0.0.142 → 0.0.144

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 (349) hide show
  1. package/README.md +8 -0
  2. package/cjs/index.js +2437 -3204
  3. package/cjs/src/guidelines/___library/sharedUiStructureDescription.en.md +786 -0
  4. package/cjs/src/guidelines/___library/utilUiStructureDescription.en.md +395 -0
  5. package/cjs/src/guidelines/___lint/lintRuleDescription.en.md +64 -0
  6. package/cjs/src/guidelines/___module/moduleStructureDescription.en.md +80 -0
  7. package/cjs/src/guidelines/componentRule/componentRule.instruction.md +732 -0
  8. package/cjs/src/guidelines/databaseModule/databaseModule.instruction.md +691 -0
  9. package/cjs/src/guidelines/enumConstant/enumConstant.instruction.md +232 -0
  10. package/cjs/src/guidelines/fieldDecorator/fieldDecorator.instruction.md +611 -0
  11. package/cjs/src/guidelines/framework/framework.instruction.md +1112 -0
  12. package/cjs/src/guidelines/modelConstant/modelConstant.instruction.md +958 -0
  13. package/cjs/src/guidelines/modelDictionary/modelDictionary.instruction.md +583 -0
  14. package/cjs/src/guidelines/modelDocument/modelDocument.instruction.md +683 -0
  15. package/cjs/src/guidelines/modelService/modelService.instruction.md +935 -0
  16. package/cjs/src/guidelines/modelSignal/modelSignal.instruction.md +588 -0
  17. package/cjs/src/guidelines/modelStore/modelStore.instruction.md +591 -0
  18. package/cjs/src/guidelines/modelTemplate/modelTemplate.instruction.md +577 -0
  19. package/cjs/src/guidelines/modelUnit/modelUnit.instruction.md +833 -0
  20. package/cjs/src/guidelines/modelUtil/modelUtil.instruction.md +752 -0
  21. package/cjs/src/guidelines/modelView/modelView.instruction.md +1005 -0
  22. package/cjs/src/guidelines/modelZone/modelZone.instruction.md +528 -0
  23. package/cjs/src/guidelines/scalarConstant/scalarConstant.instruction.md +489 -0
  24. package/cjs/src/guidelines/scalarDictionary/scalarDictionary.instruction.md +347 -0
  25. package/cjs/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +318 -0
  26. package/cjs/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +339 -0
  27. package/cjs/src/templates/module/__model__.dictionary.js +4 -5
  28. package/esm/index.js +2524 -3286
  29. package/esm/src/guidelines/___library/sharedUiStructureDescription.en.md +786 -0
  30. package/esm/src/guidelines/___library/utilUiStructureDescription.en.md +395 -0
  31. package/esm/src/guidelines/___lint/lintRuleDescription.en.md +64 -0
  32. package/esm/src/guidelines/___module/moduleStructureDescription.en.md +80 -0
  33. package/esm/src/guidelines/componentRule/componentRule.instruction.md +732 -0
  34. package/esm/src/guidelines/databaseModule/databaseModule.instruction.md +691 -0
  35. package/esm/src/guidelines/enumConstant/enumConstant.instruction.md +232 -0
  36. package/esm/src/guidelines/fieldDecorator/fieldDecorator.instruction.md +611 -0
  37. package/esm/src/guidelines/framework/framework.instruction.md +1112 -0
  38. package/esm/src/guidelines/modelConstant/modelConstant.instruction.md +958 -0
  39. package/esm/src/guidelines/modelDictionary/modelDictionary.instruction.md +583 -0
  40. package/esm/src/guidelines/modelDocument/modelDocument.instruction.md +683 -0
  41. package/esm/src/guidelines/modelService/modelService.instruction.md +935 -0
  42. package/esm/src/guidelines/modelSignal/modelSignal.instruction.md +588 -0
  43. package/esm/src/guidelines/modelStore/modelStore.instruction.md +591 -0
  44. package/esm/src/guidelines/modelTemplate/modelTemplate.instruction.md +577 -0
  45. package/esm/src/guidelines/modelUnit/modelUnit.instruction.md +833 -0
  46. package/esm/src/guidelines/modelUtil/modelUtil.instruction.md +752 -0
  47. package/esm/src/guidelines/modelView/modelView.instruction.md +1005 -0
  48. package/esm/src/guidelines/modelZone/modelZone.instruction.md +528 -0
  49. package/esm/src/guidelines/scalarConstant/scalarConstant.instruction.md +489 -0
  50. package/esm/src/guidelines/scalarDictionary/scalarDictionary.instruction.md +347 -0
  51. package/esm/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +318 -0
  52. package/esm/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +339 -0
  53. package/esm/src/templates/module/__model__.dictionary.js +4 -5
  54. package/package.json +3 -1
  55. package/src/guideline/guideline.command.d.ts +7 -0
  56. package/src/guideline/guideline.prompt.d.ts +15 -0
  57. package/src/guideline/guideline.runner.d.ts +5 -0
  58. package/src/guideline/guideline.script.d.ts +6 -0
  59. package/src/guidelines/___library/sharedUiStructureDescription.en.md +786 -0
  60. package/src/guidelines/___library/utilUiStructureDescription.en.md +395 -0
  61. package/src/guidelines/___lint/lintRuleDescription.en.md +64 -0
  62. package/src/guidelines/___module/moduleStructureDescription.en.md +80 -0
  63. package/src/guidelines/componentRule/componentRule.instruction.md +732 -0
  64. package/src/guidelines/databaseModule/databaseModule.instruction.md +691 -0
  65. package/src/guidelines/enumConstant/enumConstant.instruction.md +232 -0
  66. package/src/guidelines/fieldDecorator/fieldDecorator.instruction.md +611 -0
  67. package/src/guidelines/framework/framework.instruction.md +1112 -0
  68. package/src/guidelines/modelConstant/modelConstant.instruction.md +958 -0
  69. package/src/guidelines/modelDictionary/modelDictionary.instruction.md +583 -0
  70. package/src/guidelines/modelDocument/modelDocument.instruction.md +683 -0
  71. package/src/guidelines/modelService/modelService.instruction.md +935 -0
  72. package/src/guidelines/modelSignal/modelSignal.instruction.md +588 -0
  73. package/src/guidelines/modelStore/modelStore.instruction.md +591 -0
  74. package/src/guidelines/modelTemplate/modelTemplate.instruction.md +577 -0
  75. package/src/guidelines/modelUnit/modelUnit.instruction.md +833 -0
  76. package/src/guidelines/modelUtil/modelUtil.instruction.md +752 -0
  77. package/src/guidelines/modelView/modelView.instruction.md +1005 -0
  78. package/src/guidelines/modelZone/modelZone.instruction.md +528 -0
  79. package/src/guidelines/scalarConstant/scalarConstant.instruction.md +489 -0
  80. package/src/guidelines/scalarDictionary/scalarDictionary.instruction.md +347 -0
  81. package/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +318 -0
  82. package/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +339 -0
  83. package/src/module/module.command.d.ts +6 -8
  84. package/src/module/module.prompt.d.ts +2 -15
  85. package/src/module/module.request.d.ts +22 -18
  86. package/src/module/module.runner.d.ts +4 -20
  87. package/src/module/module.script.d.ts +6 -7
  88. package/src/scalar/scalar.command.d.ts +7 -0
  89. package/src/scalar/scalar.prompt.d.ts +23 -0
  90. package/src/scalar/scalar.runner.d.ts +13 -0
  91. package/src/scalar/scalar.script.d.ts +6 -0
  92. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/forgotpassword/page.js +0 -47
  93. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/page.js +0 -128
  94. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/privacy/page.js +0 -42
  95. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/signin/page.js +0 -50
  96. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/termsofservice/page.js +0 -41
  97. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/unknown/page.js +0 -51
  98. package/cjs/src/templates/app/app/[lang]/(__appName__)/(user)/layout.js +0 -43
  99. package/cjs/src/templates/app/app/[lang]/(__appName__)/(user)/self/page.js +0 -60
  100. package/cjs/src/templates/app/app/[lang]/(__appName__)/layout.js +0 -54
  101. package/cjs/src/templates/app/app/[lang]/(__appName__)/styles.css.template +0 -19
  102. package/cjs/src/templates/app/app/[lang]/admin/layout.js +0 -54
  103. package/cjs/src/templates/app/app/[lang]/admin/page.js +0 -63
  104. package/cjs/src/templates/app/app/csr.js +0 -34
  105. package/cjs/src/templates/app/app/index.html.template +0 -13
  106. package/cjs/src/templates/app/app/layout.js +0 -38
  107. package/cjs/src/templates/app/capacitor.config.ts.template +0 -8
  108. package/cjs/src/templates/app/env/env.client.debug.ts.template +0 -7
  109. package/cjs/src/templates/app/env/env.client.develop.ts.template +0 -7
  110. package/cjs/src/templates/app/env/env.client.local.ts.template +0 -7
  111. package/cjs/src/templates/app/env/env.client.main.ts.template +0 -7
  112. package/cjs/src/templates/app/env/env.client.testing.ts.template +0 -7
  113. package/cjs/src/templates/app/env/env.server.debug.ts.template +0 -15
  114. package/cjs/src/templates/app/env/env.server.develop.ts.template +0 -15
  115. package/cjs/src/templates/app/env/env.server.local.ts.template +0 -15
  116. package/cjs/src/templates/app/env/env.server.main.ts.template +0 -15
  117. package/cjs/src/templates/app/env/env.server.testing.ts.template +0 -7
  118. package/cjs/src/templates/app/lib/setting/Setting.Template.js +0 -57
  119. package/cjs/src/templates/app/lib/setting/Setting.Unit.js +0 -38
  120. package/cjs/src/templates/app/lib/setting/Setting.Util.js +0 -34
  121. package/cjs/src/templates/app/lib/setting/Setting.View.js +0 -51
  122. package/cjs/src/templates/app/lib/setting/Setting.Zone.js +0 -80
  123. package/cjs/src/templates/app/lib/setting/index.js +0 -61
  124. package/cjs/src/templates/app/lib/summary/Summary.Template.js +0 -43
  125. package/cjs/src/templates/app/lib/summary/Summary.Unit.js +0 -38
  126. package/cjs/src/templates/app/lib/summary/Summary.Util.js +0 -33
  127. package/cjs/src/templates/app/lib/summary/Summary.View.js +0 -51
  128. package/cjs/src/templates/app/lib/summary/Summary.Zone.js +0 -62
  129. package/cjs/src/templates/app/lib/summary/index.js +0 -67
  130. package/cjs/src/templates/app/lib/user/User.Template.js +0 -65
  131. package/cjs/src/templates/app/lib/user/User.Unit.js +0 -38
  132. package/cjs/src/templates/app/lib/user/User.Util.js +0 -94
  133. package/cjs/src/templates/app/lib/user/User.View.js +0 -66
  134. package/cjs/src/templates/app/lib/user/User.Zone.js +0 -74
  135. package/cjs/src/templates/app/lib/user/index.js +0 -61
  136. package/cjs/src/templates/app/page.test.ts.template +0 -10
  137. package/cjs/src/templates/app/playwright.config.ts.template +0 -6
  138. package/cjs/src/templates/app/postcss.config.js.template +0 -10
  139. package/cjs/src/templates/app/public/manifest.json.template +0 -67
  140. package/cjs/src/templates/app/tsconfig.json.template +0 -22
  141. package/cjs/src/templates/app/tsconfig.spec.json.template +0 -7
  142. package/cjs/src/templates/app/ui/Footer.js +0 -67
  143. package/cjs/src/templates/app/ui/MainHeader.js +0 -131
  144. package/cjs/src/templates/crudPages/[__model__Id]/edit/page.js +0 -73
  145. package/cjs/src/templates/crudPages/[__model__Id]/page.js +0 -83
  146. package/cjs/src/templates/crudPages/new/page.js +0 -70
  147. package/cjs/src/templates/crudPages/page.js +0 -71
  148. package/cjs/src/templates/libRoot/.gitignore.template +0 -15
  149. package/cjs/src/templates/libRoot/env/env.server.example.ts.template +0 -7
  150. package/cjs/src/templates/libRoot/env/env.server.testing.ts.template +0 -7
  151. package/cjs/src/templates/libRoot/lib/setting/Setting.Template.js +0 -57
  152. package/cjs/src/templates/libRoot/lib/setting/Setting.Unit.js +0 -38
  153. package/cjs/src/templates/libRoot/lib/setting/Setting.Util.js +0 -34
  154. package/cjs/src/templates/libRoot/lib/setting/Setting.View.js +0 -51
  155. package/cjs/src/templates/libRoot/lib/setting/Setting.Zone.js +0 -80
  156. package/cjs/src/templates/libRoot/lib/setting/index.js +0 -61
  157. package/cjs/src/templates/libRoot/lib/summary/Summary.Template.js +0 -43
  158. package/cjs/src/templates/libRoot/lib/summary/Summary.Unit.js +0 -38
  159. package/cjs/src/templates/libRoot/lib/summary/Summary.Util.js +0 -33
  160. package/cjs/src/templates/libRoot/lib/summary/Summary.View.js +0 -51
  161. package/cjs/src/templates/libRoot/lib/summary/Summary.Zone.js +0 -62
  162. package/cjs/src/templates/libRoot/lib/summary/index.js +0 -67
  163. package/cjs/src/templates/libRoot/lib/user/User.Template.js +0 -65
  164. package/cjs/src/templates/libRoot/lib/user/User.Unit.js +0 -38
  165. package/cjs/src/templates/libRoot/lib/user/User.Util.js +0 -94
  166. package/cjs/src/templates/libRoot/lib/user/User.View.js +0 -66
  167. package/cjs/src/templates/libRoot/lib/user/User.Zone.js +0 -74
  168. package/cjs/src/templates/libRoot/lib/user/index.js +0 -61
  169. package/cjs/src/templates/libRoot/package.json.template +0 -4
  170. package/cjs/src/templates/libRoot/tsconfig.json.template +0 -13
  171. package/cjs/src/templates/libRoot/tsconfig.spec.json.template +0 -7
  172. package/cjs/src/templates/localDev/docker-compose.yaml.template +0 -36
  173. package/cjs/src/templates/module/__Model__.Template.js +0 -54
  174. package/cjs/src/templates/module/__Model__.Unit.js +0 -42
  175. package/cjs/src/templates/module/__Model__.Util.js +0 -70
  176. package/cjs/src/templates/module/__Model__.View.js +0 -48
  177. package/cjs/src/templates/module/__Model__.Zone.js +0 -83
  178. package/cjs/src/templates/module/index.js +0 -61
  179. package/cjs/src/templates/pkgRoot/tsconfig.json.template +0 -15
  180. package/cjs/src/templates/workspaceRoot/.env.template +0 -20
  181. package/cjs/src/templates/workspaceRoot/.gitignore.template +0 -118
  182. package/cjs/src/templates/workspaceRoot/.prettierignore.template +0 -10
  183. package/cjs/src/templates/workspaceRoot/.prettierrc.json.template +0 -6
  184. package/cjs/src/templates/workspaceRoot/.swcrc.template +0 -9
  185. package/cjs/src/templates/workspaceRoot/.vscode/settings.json.template +0 -13
  186. package/cjs/src/templates/workspaceRoot/README.md.template +0 -37
  187. package/cjs/src/templates/workspaceRoot/eslint.config.ts.template +0 -3
  188. package/cjs/src/templates/workspaceRoot/package.json.template +0 -43
  189. package/cjs/src/templates/workspaceRoot/tsconfig.json.template +0 -29
  190. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/forgotpassword/page.js +0 -27
  191. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/page.js +0 -108
  192. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/privacy/page.js +0 -22
  193. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/signin/page.js +0 -30
  194. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/termsofservice/page.js +0 -21
  195. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/unknown/page.js +0 -31
  196. package/esm/src/templates/app/app/[lang]/(__appName__)/(user)/layout.js +0 -23
  197. package/esm/src/templates/app/app/[lang]/(__appName__)/(user)/self/page.js +0 -40
  198. package/esm/src/templates/app/app/[lang]/(__appName__)/layout.js +0 -34
  199. package/esm/src/templates/app/app/[lang]/(__appName__)/styles.css.template +0 -19
  200. package/esm/src/templates/app/app/[lang]/admin/layout.js +0 -34
  201. package/esm/src/templates/app/app/[lang]/admin/page.js +0 -43
  202. package/esm/src/templates/app/app/csr.js +0 -14
  203. package/esm/src/templates/app/app/index.html.template +0 -13
  204. package/esm/src/templates/app/app/layout.js +0 -18
  205. package/esm/src/templates/app/capacitor.config.ts.template +0 -8
  206. package/esm/src/templates/app/env/env.client.debug.ts.template +0 -7
  207. package/esm/src/templates/app/env/env.client.develop.ts.template +0 -7
  208. package/esm/src/templates/app/env/env.client.local.ts.template +0 -7
  209. package/esm/src/templates/app/env/env.client.main.ts.template +0 -7
  210. package/esm/src/templates/app/env/env.client.testing.ts.template +0 -7
  211. package/esm/src/templates/app/env/env.server.debug.ts.template +0 -15
  212. package/esm/src/templates/app/env/env.server.develop.ts.template +0 -15
  213. package/esm/src/templates/app/env/env.server.local.ts.template +0 -15
  214. package/esm/src/templates/app/env/env.server.main.ts.template +0 -15
  215. package/esm/src/templates/app/env/env.server.testing.ts.template +0 -7
  216. package/esm/src/templates/app/lib/setting/Setting.Template.js +0 -37
  217. package/esm/src/templates/app/lib/setting/Setting.Unit.js +0 -18
  218. package/esm/src/templates/app/lib/setting/Setting.Util.js +0 -14
  219. package/esm/src/templates/app/lib/setting/Setting.View.js +0 -31
  220. package/esm/src/templates/app/lib/setting/Setting.Zone.js +0 -60
  221. package/esm/src/templates/app/lib/setting/index.js +0 -41
  222. package/esm/src/templates/app/lib/summary/Summary.Template.js +0 -23
  223. package/esm/src/templates/app/lib/summary/Summary.Unit.js +0 -18
  224. package/esm/src/templates/app/lib/summary/Summary.Util.js +0 -13
  225. package/esm/src/templates/app/lib/summary/Summary.View.js +0 -31
  226. package/esm/src/templates/app/lib/summary/Summary.Zone.js +0 -42
  227. package/esm/src/templates/app/lib/summary/index.js +0 -47
  228. package/esm/src/templates/app/lib/user/User.Template.js +0 -45
  229. package/esm/src/templates/app/lib/user/User.Unit.js +0 -18
  230. package/esm/src/templates/app/lib/user/User.Util.js +0 -74
  231. package/esm/src/templates/app/lib/user/User.View.js +0 -46
  232. package/esm/src/templates/app/lib/user/User.Zone.js +0 -54
  233. package/esm/src/templates/app/lib/user/index.js +0 -41
  234. package/esm/src/templates/app/page.test.ts.template +0 -10
  235. package/esm/src/templates/app/playwright.config.ts.template +0 -6
  236. package/esm/src/templates/app/postcss.config.js.template +0 -10
  237. package/esm/src/templates/app/public/manifest.json.template +0 -67
  238. package/esm/src/templates/app/tsconfig.json.template +0 -22
  239. package/esm/src/templates/app/tsconfig.spec.json.template +0 -7
  240. package/esm/src/templates/app/ui/Footer.js +0 -47
  241. package/esm/src/templates/app/ui/MainHeader.js +0 -111
  242. package/esm/src/templates/crudPages/[__model__Id]/edit/page.js +0 -53
  243. package/esm/src/templates/crudPages/[__model__Id]/page.js +0 -63
  244. package/esm/src/templates/crudPages/new/page.js +0 -50
  245. package/esm/src/templates/crudPages/page.js +0 -51
  246. package/esm/src/templates/libRoot/.gitignore.template +0 -15
  247. package/esm/src/templates/libRoot/env/env.server.example.ts.template +0 -7
  248. package/esm/src/templates/libRoot/env/env.server.testing.ts.template +0 -7
  249. package/esm/src/templates/libRoot/lib/setting/Setting.Template.js +0 -37
  250. package/esm/src/templates/libRoot/lib/setting/Setting.Unit.js +0 -18
  251. package/esm/src/templates/libRoot/lib/setting/Setting.Util.js +0 -14
  252. package/esm/src/templates/libRoot/lib/setting/Setting.View.js +0 -31
  253. package/esm/src/templates/libRoot/lib/setting/Setting.Zone.js +0 -60
  254. package/esm/src/templates/libRoot/lib/setting/index.js +0 -41
  255. package/esm/src/templates/libRoot/lib/summary/Summary.Template.js +0 -23
  256. package/esm/src/templates/libRoot/lib/summary/Summary.Unit.js +0 -18
  257. package/esm/src/templates/libRoot/lib/summary/Summary.Util.js +0 -13
  258. package/esm/src/templates/libRoot/lib/summary/Summary.View.js +0 -31
  259. package/esm/src/templates/libRoot/lib/summary/Summary.Zone.js +0 -42
  260. package/esm/src/templates/libRoot/lib/summary/index.js +0 -47
  261. package/esm/src/templates/libRoot/lib/user/User.Template.js +0 -45
  262. package/esm/src/templates/libRoot/lib/user/User.Unit.js +0 -18
  263. package/esm/src/templates/libRoot/lib/user/User.Util.js +0 -74
  264. package/esm/src/templates/libRoot/lib/user/User.View.js +0 -46
  265. package/esm/src/templates/libRoot/lib/user/User.Zone.js +0 -54
  266. package/esm/src/templates/libRoot/lib/user/index.js +0 -41
  267. package/esm/src/templates/libRoot/package.json.template +0 -4
  268. package/esm/src/templates/libRoot/tsconfig.json.template +0 -13
  269. package/esm/src/templates/libRoot/tsconfig.spec.json.template +0 -7
  270. package/esm/src/templates/localDev/docker-compose.yaml.template +0 -36
  271. package/esm/src/templates/module/__Model__.Template.js +0 -34
  272. package/esm/src/templates/module/__Model__.Unit.js +0 -22
  273. package/esm/src/templates/module/__Model__.Util.js +0 -50
  274. package/esm/src/templates/module/__Model__.View.js +0 -28
  275. package/esm/src/templates/module/__Model__.Zone.js +0 -63
  276. package/esm/src/templates/module/index.js +0 -41
  277. package/esm/src/templates/pkgRoot/tsconfig.json.template +0 -15
  278. package/esm/src/templates/workspaceRoot/.env.template +0 -20
  279. package/esm/src/templates/workspaceRoot/.gitignore.template +0 -118
  280. package/esm/src/templates/workspaceRoot/.prettierignore.template +0 -10
  281. package/esm/src/templates/workspaceRoot/.prettierrc.json.template +0 -6
  282. package/esm/src/templates/workspaceRoot/.swcrc.template +0 -9
  283. package/esm/src/templates/workspaceRoot/.vscode/settings.json.template +0 -13
  284. package/esm/src/templates/workspaceRoot/README.md.template +0 -37
  285. package/esm/src/templates/workspaceRoot/eslint.config.ts.template +0 -3
  286. package/esm/src/templates/workspaceRoot/package.json.template +0 -43
  287. package/esm/src/templates/workspaceRoot/tsconfig.json.template +0 -29
  288. package/src/application/application.prompt.d.ts +0 -2
  289. package/src/templates/app/app/[lang]/(__appName__)/(public)/forgotpassword/page.d.ts +0 -9
  290. package/src/templates/app/app/[lang]/(__appName__)/(public)/page.d.ts +0 -9
  291. package/src/templates/app/app/[lang]/(__appName__)/(public)/privacy/page.d.ts +0 -9
  292. package/src/templates/app/app/[lang]/(__appName__)/(public)/signin/page.d.ts +0 -9
  293. package/src/templates/app/app/[lang]/(__appName__)/(public)/termsofservice/page.d.ts +0 -10
  294. package/src/templates/app/app/[lang]/(__appName__)/(public)/unknown/page.d.ts +0 -9
  295. package/src/templates/app/app/[lang]/(__appName__)/(user)/layout.d.ts +0 -9
  296. package/src/templates/app/app/[lang]/(__appName__)/(user)/self/page.d.ts +0 -9
  297. package/src/templates/app/app/[lang]/(__appName__)/layout.d.ts +0 -9
  298. package/src/templates/app/app/[lang]/admin/layout.d.ts +0 -9
  299. package/src/templates/app/app/[lang]/admin/page.d.ts +0 -9
  300. package/src/templates/app/app/csr.d.ts +0 -9
  301. package/src/templates/app/app/layout.d.ts +0 -9
  302. package/src/templates/app/lib/setting/Setting.Template.d.ts +0 -9
  303. package/src/templates/app/lib/setting/Setting.Unit.d.ts +0 -9
  304. package/src/templates/app/lib/setting/Setting.Util.d.ts +0 -9
  305. package/src/templates/app/lib/setting/Setting.View.d.ts +0 -9
  306. package/src/templates/app/lib/setting/Setting.Zone.d.ts +0 -9
  307. package/src/templates/app/lib/setting/index.d.ts +0 -9
  308. package/src/templates/app/lib/summary/Summary.Template.d.ts +0 -9
  309. package/src/templates/app/lib/summary/Summary.Unit.d.ts +0 -9
  310. package/src/templates/app/lib/summary/Summary.Util.d.ts +0 -9
  311. package/src/templates/app/lib/summary/Summary.View.d.ts +0 -9
  312. package/src/templates/app/lib/summary/Summary.Zone.d.ts +0 -9
  313. package/src/templates/app/lib/summary/index.d.ts +0 -9
  314. package/src/templates/app/lib/user/User.Template.d.ts +0 -9
  315. package/src/templates/app/lib/user/User.Unit.d.ts +0 -9
  316. package/src/templates/app/lib/user/User.Util.d.ts +0 -9
  317. package/src/templates/app/lib/user/User.View.d.ts +0 -9
  318. package/src/templates/app/lib/user/User.Zone.d.ts +0 -9
  319. package/src/templates/app/lib/user/index.d.ts +0 -9
  320. package/src/templates/app/ui/Footer.d.ts +0 -9
  321. package/src/templates/app/ui/MainHeader.d.ts +0 -10
  322. package/src/templates/crudPages/[__model__Id]/edit/page.d.ts +0 -11
  323. package/src/templates/crudPages/[__model__Id]/page.d.ts +0 -11
  324. package/src/templates/crudPages/new/page.d.ts +0 -11
  325. package/src/templates/crudPages/page.d.ts +0 -11
  326. package/src/templates/libRoot/lib/setting/Setting.Template.d.ts +0 -9
  327. package/src/templates/libRoot/lib/setting/Setting.Unit.d.ts +0 -9
  328. package/src/templates/libRoot/lib/setting/Setting.Util.d.ts +0 -9
  329. package/src/templates/libRoot/lib/setting/Setting.View.d.ts +0 -9
  330. package/src/templates/libRoot/lib/setting/Setting.Zone.d.ts +0 -9
  331. package/src/templates/libRoot/lib/setting/index.d.ts +0 -9
  332. package/src/templates/libRoot/lib/summary/Summary.Template.d.ts +0 -9
  333. package/src/templates/libRoot/lib/summary/Summary.Unit.d.ts +0 -9
  334. package/src/templates/libRoot/lib/summary/Summary.Util.d.ts +0 -9
  335. package/src/templates/libRoot/lib/summary/Summary.View.d.ts +0 -9
  336. package/src/templates/libRoot/lib/summary/Summary.Zone.d.ts +0 -9
  337. package/src/templates/libRoot/lib/summary/index.d.ts +0 -9
  338. package/src/templates/libRoot/lib/user/User.Template.d.ts +0 -9
  339. package/src/templates/libRoot/lib/user/User.Unit.d.ts +0 -9
  340. package/src/templates/libRoot/lib/user/User.Util.d.ts +0 -9
  341. package/src/templates/libRoot/lib/user/User.View.d.ts +0 -9
  342. package/src/templates/libRoot/lib/user/User.Zone.d.ts +0 -9
  343. package/src/templates/libRoot/lib/user/index.d.ts +0 -9
  344. package/src/templates/module/__Model__.Template.d.ts +0 -11
  345. package/src/templates/module/__Model__.Unit.d.ts +0 -11
  346. package/src/templates/module/__Model__.Util.d.ts +0 -11
  347. package/src/templates/module/__Model__.View.d.ts +0 -11
  348. package/src/templates/module/__Model__.Zone.d.ts +0 -11
  349. package/src/templates/module/index.d.ts +0 -11
@@ -0,0 +1,528 @@
1
+ # Model.Zone.tsx File Guide for Akan.js
2
+
3
+ ## Purpose and Role of Model.Zone.tsx Files
4
+
5
+ Model.Zone.tsx files are client-side container components in Akan.js that serve as the bridge between data fetching and UI presentation. They provide a consistent interface for displaying model data across your application.
6
+
7
+ Key roles of Zone components:
8
+
9
+ 1. **Layout Containers** - Create structured layouts for specific data models
10
+ 2. **Component Composition** - Assemble smaller components (Units, Views, Templates) into cohesive UI blocks
11
+ 3. **Client-Side Integration** - Handle client-side state, interactions, and navigation
12
+ 4. **Data Presentation** - Connect data sources to presentation components
13
+ 5. **Reusable UI Patterns** - Establish consistent patterns for common UI scenarios (lists, cards, forms)
14
+
15
+ Zone components are positioned between page components and individual UI components in the component hierarchy:
16
+
17
+ ```
18
+ Page Components → Zone Components → View/Unit/Template Components
19
+ ```
20
+
21
+ ## Component Structure and Naming Patterns
22
+
23
+ ### Location and Naming Convention
24
+
25
+ ```
26
+ {app-name}/lib/{model-name}/{model-name}.Zone.tsx
27
+ ```
28
+
29
+ Example: `apps/angelo/lib/bizAccount/bizAccount.Zone.tsx`
30
+
31
+ ### Basic Structure
32
+
33
+ ```tsx
34
+ "use client";
35
+
36
+ import { Load, Data } from "@shared/ui";
37
+ import { ModelsProps } from "@akanjs/client";
38
+ import { ClientInit, ClientView } from "@akanjs/signal";
39
+ import { Model } from "./index";
40
+
41
+ export const Admin = ({ sliceName = "model", init, query }: ModelsProps<cnst.Model>) => {
42
+ return (
43
+ <Data.ListContainer
44
+ init={init}
45
+ query={query}
46
+ sliceName={sliceName}
47
+ renderItem={Model.Unit.Card}
48
+ renderTemplate={Model.Template.General}
49
+ renderView={(model) => <Model.View.General model={model} />}
50
+ columns={["id", "status", "createdAt"]}
51
+ actions={(model) => ["remove", "edit", "view"]}
52
+ />
53
+ );
54
+ };
55
+
56
+ export const View = ({ view }: { view: ClientView<"model", cnst.Model> }) => {
57
+ return <Load.View view={view} renderView={(model) => <Model.View.General model={model} />} />;
58
+ };
59
+
60
+ export const Card = ({ className, init }: { className?: string; init: ClientInit<"model", cnst.LightModel> }) => {
61
+ return (
62
+ <Load.Units
63
+ className={className}
64
+ init={init}
65
+ renderItem={(model) => <Model.Unit.Card key={model.id} href={`/model/${model.id}`} model={model} />}
66
+ />
67
+ );
68
+ };
69
+
70
+ export const Zone = {
71
+ Admin,
72
+ View,
73
+ Card,
74
+ };
75
+ ```
76
+
77
+ ### Key Components
78
+
79
+ Every Model.Zone.tsx file typically exports several named components and a Zone namespace:
80
+
81
+ 1. **Admin**: For administrative interfaces with CRUD operations
82
+ 2. **View**: For detailed views of a single model instance
83
+ 3. **Card**: For displaying lists of model items as cards
84
+ 4. **Specialized components**: Custom components for specific model needs
85
+
86
+ ## Common Zone Component Types
87
+
88
+ ### Admin Zone
89
+
90
+ The Admin component typically uses `Data.ListContainer` to provide a complete admin interface for a model:
91
+
92
+ ```tsx
93
+ export const Admin = ({ sliceName = "model", init, query }: ModelsProps<cnst.Model>) => {
94
+ return (
95
+ <Data.ListContainer
96
+ init={init}
97
+ query={query}
98
+ sliceName={sliceName}
99
+ renderItem={Model.Unit.Card}
100
+ renderTemplate={Model.Template.General}
101
+ renderView={(model) => <Model.View.General model={model} />}
102
+ columns={["id", "name", "status", "createdAt"]}
103
+ actions={(model) => ["remove", "edit", "view"]}
104
+ />
105
+ );
106
+ };
107
+ ```
108
+
109
+ Key features:
110
+
111
+ - Configurable columns and actions
112
+ - Integration with templates for editing
113
+ - Unit components for list display
114
+ - View components for detailed display
115
+
116
+ ### View Zone
117
+
118
+ The View component uses `Load.View` to display a single model instance:
119
+
120
+ ```tsx
121
+ export const View = ({ view }: { view: ClientView<"model", cnst.Model> }) => {
122
+ return <Load.View view={view} renderView={(model) => <Model.View.General model={model} />} />;
123
+ };
124
+ ```
125
+
126
+ Key features:
127
+
128
+ - Handles loading states
129
+ - Passes model data to View component
130
+ - Can include additional UI elements or actions
131
+
132
+ ### Card Zone
133
+
134
+ The Card component uses `Load.Units` to display lists of model items:
135
+
136
+ ```tsx
137
+ export const Card = ({ className, init }: { className?: string; init: ClientInit<"model", cnst.LightModel> }) => {
138
+ return (
139
+ <Load.Units
140
+ className={className}
141
+ init={init}
142
+ renderItem={(model) => <Model.Unit.Card key={model.id} href={`/model/${model.id}`} model={model} />}
143
+ />
144
+ );
145
+ };
146
+ ```
147
+
148
+ Key features:
149
+
150
+ - Handles loading states for lists
151
+ - Maps data to Unit components
152
+ - Can include link wrapping or other interactions
153
+ - Supports className for styling flexibility
154
+
155
+ ### Specialized Zone Components
156
+
157
+ Many models have specialized Zone components for specific use cases:
158
+
159
+ ```tsx
160
+ export const Recommendations = ({
161
+ className,
162
+ init,
163
+ }: {
164
+ className?: string;
165
+ init: ClientInit<"model", cnst.LightModel>;
166
+ }) => {
167
+ return (
168
+ <div className={className}>
169
+ <h3 className="mb-2 text-lg font-medium">Recommended For You</h3>
170
+ <Load.Units
171
+ init={init}
172
+ renderItem={(model) => <Model.Unit.Card key={model.id} model={model} variant="compact" />}
173
+ />
174
+ </div>
175
+ );
176
+ };
177
+ ```
178
+
179
+ These specialized components can:
180
+
181
+ - Add specific UI layout or structure
182
+ - Integrate with specific data fetching patterns
183
+ - Implement custom behavior for the model
184
+ - Support specific UI patterns (tabs, carousels, etc.)
185
+
186
+ ## Props Patterns and Data Handling
187
+
188
+ ### Common Props
189
+
190
+ Zone components typically use these prop patterns:
191
+
192
+ 1. **For Admin zones**:
193
+
194
+ ```tsx
195
+ { sliceName?: string, init: ClientInit<model>, query?: QueryProps }
196
+ ```
197
+
198
+ 2. **For View zones**:
199
+
200
+ ```tsx
201
+ { view: ClientView<model>, className?: string }
202
+ ```
203
+
204
+ 3. **For Card zones**:
205
+
206
+ ```tsx
207
+ { init: ClientInit<model>, className?: string }
208
+ ```
209
+
210
+ 4. **For specialized zones**:
211
+ ```tsx
212
+ { init?: ClientInit<model>, view?: ClientView<model>, className?: string, ...customProps }
213
+ ```
214
+
215
+ ### Data Handling
216
+
217
+ Zone components connect with data in several ways:
218
+
219
+ 1. **Using ClientInit**: For lists of model data
220
+
221
+ ```tsx
222
+ <Load.Units init={init} renderItem={(model) => <Model.Unit.Card model={model} />} />
223
+ ```
224
+
225
+ 2. **Using ClientView**: For single model instances
226
+
227
+ ```tsx
228
+ <Load.View view={view} renderView={(model) => <Model.View.General model={model} />} />
229
+ ```
230
+
231
+ 3. **Using Data.ListContainer**: For admin interfaces
232
+ ```tsx
233
+ <Data.ListContainer init={init} query={query} sliceName={sliceName} ... />
234
+ ```
235
+
236
+ ## Client Component Patterns and Hooks Usage
237
+
238
+ Model.Zone.tsx files are client components that can use client-side hooks. Always include the `"use client"` directive at the top of the file:
239
+
240
+ ```tsx
241
+ "use client";
242
+
243
+ import { useState, useEffect } from "react";
244
+ // ...
245
+ ```
246
+
247
+ Common hook patterns in Zone components:
248
+
249
+ 1. **useState** for local component state:
250
+
251
+ ```tsx
252
+ const [activeTab, setActiveTab] = useState("details");
253
+ ```
254
+
255
+ 2. **useEffect** for side effects:
256
+
257
+ ```tsx
258
+ useEffect(() => {
259
+ if (model.id) {
260
+ // Track view or load additional data
261
+ }
262
+ }, [model.id]);
263
+ ```
264
+
265
+ 3. **Custom hooks** for reusable logic:
266
+ ```tsx
267
+ const { isVisible, toggleVisibility } = useToggle(false);
268
+ ```
269
+
270
+ Keep client-side state management focused on UI concerns, not business logic.
271
+
272
+ ## Integration with Page Components and Data Fetching
273
+
274
+ Zone components are typically used within page.tsx files using the Load.Page pattern:
275
+
276
+ ```tsx
277
+ // app/[lang]/(app)/model/page.tsx
278
+ import { Load } from "@shared/ui";
279
+ import { fetch } from "@akanjs/signal";
280
+ import { Model } from "@app/lib";
281
+
282
+ export default function ModelPage() {
283
+ return (
284
+ <Load.Page
285
+ loader={async () => {
286
+ const { modelInit } = await fetch.initModel();
287
+ return { modelInit };
288
+ }}
289
+ render={({ modelInit }) => (
290
+ <div className="container mx-auto p-4">
291
+ <Model.Zone.Card init={modelInit} />
292
+ </div>
293
+ )}
294
+ />
295
+ );
296
+ }
297
+ ```
298
+
299
+ For detail pages:
300
+
301
+ ```tsx
302
+ // app/[lang]/(app)/model/[modelId]/page.tsx
303
+ export default function ModelDetailPage({ params }: { params: { modelId: string } }) {
304
+ return (
305
+ <Load.Page
306
+ loader={async () => {
307
+ const { modelView } = await fetch.viewModel(params.modelId);
308
+ return { modelView };
309
+ }}
310
+ render={({ modelView }) => (
311
+ <div className="container mx-auto p-4">
312
+ <Model.Zone.View view={modelView} />
313
+ </div>
314
+ )}
315
+ />
316
+ );
317
+ }
318
+ ```
319
+
320
+ ## Composition with Other Model Components
321
+
322
+ Zone components compose and orchestrate other model components:
323
+
324
+ 1. **Using View components** for detailed displays:
325
+
326
+ ```tsx
327
+ <Model.View.General model={model} />
328
+ ```
329
+
330
+ 2. **Using Unit components** for list items:
331
+
332
+ ```tsx
333
+ <Model.Unit.Card model={model} />
334
+ ```
335
+
336
+ 3. **Using Template components** for forms:
337
+
338
+ ```tsx
339
+ <Model.Template.General model={model} onSubmit={handleSubmit} />
340
+ ```
341
+
342
+ 4. **Using Util components** for actions and helpers:
343
+ ```tsx
344
+ <Model.Util.ActionButtons model={model} />
345
+ ```
346
+
347
+ This composition creates a consistent UI pattern across your application.
348
+
349
+ ## Best Practices and Implementation Guidelines
350
+
351
+ ### Do's
352
+
353
+ 1. **Keep Zone components focused on presentation**
354
+
355
+ - Delegate business logic to services and signals
356
+ - Use Zone components as composition layers, not logic containers
357
+
358
+ 2. **Use consistent naming and exports**
359
+
360
+ - Export named components for specific use cases (Admin, View, Card)
361
+ - Export a Zone namespace for easy import
362
+
363
+ 3. **Provide styling flexibility**
364
+
365
+ - Accept className props and pass them to container elements
366
+ - Use Tailwind CSS for consistent styling
367
+
368
+ 4. **Create specialized Zone components as needed**
369
+
370
+ - Implement custom Zone components for specific UI patterns
371
+ - Reuse common patterns across models
372
+
373
+ 5. **Leverage Load components for data handling**
374
+ - Use Load.Units, Load.View, and Data.ListContainer for consistent data handling
375
+ - Handle loading states consistently
376
+
377
+ ### Don'ts
378
+
379
+ 1. **Don't include business logic in Zone components**
380
+
381
+ - Keep data transformation and business rules in services and signals
382
+ - Zone components should focus on rendering and composition
383
+
384
+ 2. **Don't fetch data directly in Zone components**
385
+
386
+ - Data fetching should happen in page components or services
387
+ - Zone components should receive data via props
388
+
389
+ 3. **Don't create overly complex Zone components**
390
+
391
+ - Break down complex UIs into smaller, composable components
392
+ - Use specialized Zone components for different aspects of the model
393
+
394
+ 4. **Don't duplicate code across Zone components**
395
+
396
+ - Extract common patterns into reusable components
397
+ - Use composition to create variation
398
+
399
+ 5. **Don't mix client and server components incorrectly**
400
+ - Remember that Zone components are client components
401
+ - Import server components carefully to avoid errors
402
+
403
+ ## Advanced Zone Patterns
404
+
405
+ ### Conditional Rendering in Zones
406
+
407
+ ```tsx
408
+ export const Card = ({
409
+ className,
410
+ init,
411
+ variant = "default",
412
+ }: {
413
+ className?: string;
414
+ init: ClientInit<"model", cnst.LightModel>;
415
+ variant?: "default" | "compact" | "extended";
416
+ }) => {
417
+ return (
418
+ <Load.Units
419
+ className={className}
420
+ init={init}
421
+ renderItem={(model) => {
422
+ switch (variant) {
423
+ case "compact":
424
+ return <Model.Unit.CompactCard key={model.id} model={model} />;
425
+ case "extended":
426
+ return <Model.Unit.ExtendedCard key={model.id} model={model} />;
427
+ default:
428
+ return <Model.Unit.Card key={model.id} model={model} />;
429
+ }
430
+ }}
431
+ />
432
+ );
433
+ };
434
+ ```
435
+
436
+ ### Composition with Other Zones
437
+
438
+ ```tsx
439
+ export const Dashboard = ({ className }: { className?: string }) => {
440
+ return (
441
+ <div className={className}>
442
+ <div className="grid grid-cols-1 gap-4 md:grid-cols-2">
443
+ <Load.Page
444
+ loader={async () => {
445
+ const { modelAInit } = await fetch.initModelA();
446
+ const { modelBInit } = await fetch.initModelB();
447
+ return { modelAInit, modelBInit };
448
+ }}
449
+ render={({ modelAInit, modelBInit }) => (
450
+ <>
451
+ <ModelA.Zone.Card init={modelAInit} className="col-span-1" />
452
+ <ModelB.Zone.Card init={modelBInit} className="col-span-1" />
453
+ </>
454
+ )}
455
+ />
456
+ </div>
457
+ </div>
458
+ );
459
+ };
460
+ ```
461
+
462
+ ### Real-time Data Integration
463
+
464
+ ```tsx
465
+ "use client";
466
+
467
+ import { useEffect } from "react";
468
+ import { Load } from "@shared/ui";
469
+ import { fetch, subscriptions } from "@akanjs/signal";
470
+
471
+ export const LiveFeed = ({ className, init }: { className?: string; init: ClientInit<"model", cnst.LightModel> }) => {
472
+ useEffect(() => {
473
+ const unsubscribe = subscriptions.subscribeToModelUpdates();
474
+ return () => unsubscribe();
475
+ }, []);
476
+
477
+ return (
478
+ <div className={className}>
479
+ <h3 className="mb-2 text-lg font-medium">Live Updates</h3>
480
+ <Load.Units init={init} renderItem={(model) => <Model.Unit.Card key={model.id} model={model} />} />
481
+ </div>
482
+ );
483
+ };
484
+ ```
485
+
486
+ ## Troubleshooting
487
+
488
+ ### Common Issues
489
+
490
+ 1. **"Error: Client Component Cannot Be Rendered on Server"**
491
+
492
+ - Make sure your Zone component has `"use client"` at the top
493
+ - Check that you're not using server components inside client components
494
+
495
+ 2. **"Props Validation Failed"**
496
+
497
+ - Ensure you're passing the correct data structure to Zone components
498
+ - Check the types for ClientInit and ClientView
499
+
500
+ 3. **"Component is Not Rendering Correctly"**
501
+
502
+ - Verify that the underlying Unit/View components are implemented correctly
503
+ - Check that you're passing the required props
504
+
505
+ 4. **"Data Not Loading"**
506
+ - Confirm that the data fetching in the page component is working
507
+ - Check that you're using the correct Load component (Units, View)
508
+
509
+ ### Debugging Tips
510
+
511
+ - Use the React DevTools to inspect component props and state
512
+ - Check the Network tab for API requests
513
+ - Add console.log statements to verify data flow
514
+ - Test Zone components in isolation
515
+
516
+ ## Conclusion
517
+
518
+ Model.Zone.tsx files are crucial container components in Akan.js that bridge the gap between page components and UI components. By following the patterns and practices in this guide, you can create consistent, reusable, and maintainable UI components for your application.
519
+
520
+ Key takeaways:
521
+
522
+ 1. Zone components are client components that compose other model components
523
+ 2. They focus on presentation and composition, not business logic
524
+ 3. Common patterns include Admin, View, and Card zones
525
+ 4. They integrate with Load components for data handling
526
+ 5. They provide a consistent interface for displaying model data
527
+
528
+ By leveraging Zone components effectively, you can create a cohesive and consistent user experience across your Akan.js application.