@ojiepermana/angular 22.0.1 → 22.0.29

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 (513) hide show
  1. package/README.md +61 -311
  2. package/fesm2022/ojiepermana-angular-chart.mjs +10 -0
  3. package/fesm2022/ojiepermana-angular-component.mjs +10 -0
  4. package/fesm2022/ojiepermana-angular-navigation.mjs +10 -0
  5. package/fesm2022/ojiepermana-angular-sdk.mjs +10 -0
  6. package/fesm2022/ojiepermana-angular-theme.mjs +4 -384
  7. package/fesm2022/ojiepermana-angular.mjs +15 -16
  8. package/package.json +25 -425
  9. package/types/ojiepermana-angular-chart.d.ts +1 -0
  10. package/types/ojiepermana-angular-component.d.ts +1 -0
  11. package/types/ojiepermana-angular-navigation.d.ts +1 -0
  12. package/types/ojiepermana-angular-sdk.d.ts +1 -0
  13. package/types/ojiepermana-angular-theme.d.ts +1 -116
  14. package/types/ojiepermana-angular.d.ts +5 -3
  15. package/.npmignore +0 -2
  16. package/collection.json +0 -30
  17. package/component/accordion/README.md +0 -195
  18. package/component/accordion/package.json +0 -4
  19. package/component/alert/README.md +0 -182
  20. package/component/alert/package.json +0 -4
  21. package/component/alert-dialog/README.md +0 -239
  22. package/component/alert-dialog/package.json +0 -4
  23. package/component/aspect-ratio/README.md +0 -112
  24. package/component/aspect-ratio/package.json +0 -4
  25. package/component/avatar/README.md +0 -176
  26. package/component/avatar/package.json +0 -4
  27. package/component/badge/README.md +0 -133
  28. package/component/badge/package.json +0 -4
  29. package/component/breadcrumb/README.md +0 -216
  30. package/component/breadcrumb/package.json +0 -4
  31. package/component/button/README.md +0 -139
  32. package/component/button/package.json +0 -4
  33. package/component/button-group/README.md +0 -208
  34. package/component/button-group/package.json +0 -4
  35. package/component/calendar/README.md +0 -132
  36. package/component/calendar/package.json +0 -4
  37. package/component/card/README.md +0 -220
  38. package/component/card/package.json +0 -4
  39. package/component/carousel/README.md +0 -276
  40. package/component/carousel/package.json +0 -4
  41. package/component/chart/README.md +0 -249
  42. package/component/chart/area/package.json +0 -4
  43. package/component/chart/bar/package.json +0 -4
  44. package/component/chart/line/package.json +0 -4
  45. package/component/chart/package.json +0 -4
  46. package/component/chart/pie/package.json +0 -4
  47. package/component/chart/radar/package.json +0 -4
  48. package/component/chart/radial/package.json +0 -4
  49. package/component/chart/scatter/package.json +0 -4
  50. package/component/checkbox/README.md +0 -149
  51. package/component/checkbox/package.json +0 -4
  52. package/component/collapsible/README.md +0 -195
  53. package/component/collapsible/package.json +0 -4
  54. package/component/combobox/README.md +0 -198
  55. package/component/combobox/package.json +0 -4
  56. package/component/command/README.md +0 -275
  57. package/component/command/package.json +0 -4
  58. package/component/composer/README.md +0 -235
  59. package/component/composer/package.json +0 -4
  60. package/component/context-menu/README.md +0 -267
  61. package/component/context-menu/package.json +0 -4
  62. package/component/date-picker/README.md +0 -177
  63. package/component/date-picker/package.json +0 -4
  64. package/component/dialog/README.md +0 -237
  65. package/component/dialog/package.json +0 -4
  66. package/component/drawer/README.md +0 -145
  67. package/component/drawer/package.json +0 -4
  68. package/component/dropdown-menu/README.md +0 -311
  69. package/component/dropdown-menu/package.json +0 -4
  70. package/component/editor/README.md +0 -136
  71. package/component/editor/package.json +0 -4
  72. package/component/empty/README.md +0 -183
  73. package/component/empty/package.json +0 -4
  74. package/component/form/README.md +0 -210
  75. package/component/form/package.json +0 -4
  76. package/component/hover-card/README.md +0 -146
  77. package/component/hover-card/package.json +0 -4
  78. package/component/input/README.md +0 -159
  79. package/component/input/package.json +0 -4
  80. package/component/input-group/README.md +0 -239
  81. package/component/input-group/package.json +0 -4
  82. package/component/input-otp/README.md +0 -278
  83. package/component/input-otp/package.json +0 -4
  84. package/component/item/README.md +0 -247
  85. package/component/item/package.json +0 -4
  86. package/component/kanban/README.md +0 -81
  87. package/component/kanban/package.json +0 -4
  88. package/component/kbd/README.md +0 -139
  89. package/component/kbd/package.json +0 -4
  90. package/component/label/README.md +0 -136
  91. package/component/label/package.json +0 -4
  92. package/component/menubar/README.md +0 -269
  93. package/component/menubar/package.json +0 -4
  94. package/component/native-select/README.md +0 -176
  95. package/component/native-select/package.json +0 -4
  96. package/component/navigation-menu/README.md +0 -160
  97. package/component/navigation-menu/package.json +0 -4
  98. package/component/pagination/README.md +0 -144
  99. package/component/pagination/package.json +0 -4
  100. package/component/pillbox/README.md +0 -67
  101. package/component/pillbox/package.json +0 -4
  102. package/component/popover/README.md +0 -43
  103. package/component/popover/package.json +0 -4
  104. package/component/progress/README.md +0 -160
  105. package/component/progress/package.json +0 -4
  106. package/component/radio/README.md +0 -209
  107. package/component/radio/package.json +0 -4
  108. package/component/resizable/README.md +0 -168
  109. package/component/resizable/package.json +0 -4
  110. package/component/scroll-area/README.md +0 -143
  111. package/component/scroll-area/package.json +0 -4
  112. package/component/select/README.md +0 -174
  113. package/component/select/package.json +0 -4
  114. package/component/separator/README.md +0 -170
  115. package/component/separator/package.json +0 -4
  116. package/component/sheet/README.md +0 -183
  117. package/component/sheet/package.json +0 -4
  118. package/component/skeleton/README.md +0 -158
  119. package/component/skeleton/package.json +0 -4
  120. package/component/slider/README.md +0 -207
  121. package/component/slider/package.json +0 -4
  122. package/component/spinner/README.md +0 -160
  123. package/component/spinner/package.json +0 -4
  124. package/component/switch/README.md +0 -166
  125. package/component/switch/package.json +0 -4
  126. package/component/table/README.md +0 -291
  127. package/component/table/package.json +0 -4
  128. package/component/tabs/README.md +0 -219
  129. package/component/tabs/package.json +0 -4
  130. package/component/textarea/README.md +0 -154
  131. package/component/textarea/package.json +0 -4
  132. package/component/timeline/README.md +0 -94
  133. package/component/timeline/package.json +0 -4
  134. package/component/toast/README.md +0 -321
  135. package/component/toast/package.json +0 -4
  136. package/component/toggle/README.md +0 -131
  137. package/component/toggle/package.json +0 -4
  138. package/component/toggle-group/README.md +0 -206
  139. package/component/toggle-group/package.json +0 -4
  140. package/component/tooltip/README.md +0 -211
  141. package/component/tooltip/package.json +0 -4
  142. package/component/utils/package.json +0 -4
  143. package/fesm2022/ojiepermana-angular-component-accordion.mjs +0 -189
  144. package/fesm2022/ojiepermana-angular-component-accordion.mjs.map +0 -1
  145. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +0 -276
  146. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs.map +0 -1
  147. package/fesm2022/ojiepermana-angular-component-alert.mjs +0 -99
  148. package/fesm2022/ojiepermana-angular-component-alert.mjs.map +0 -1
  149. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +0 -37
  150. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs.map +0 -1
  151. package/fesm2022/ojiepermana-angular-component-avatar.mjs +0 -139
  152. package/fesm2022/ojiepermana-angular-component-avatar.mjs.map +0 -1
  153. package/fesm2022/ojiepermana-angular-component-badge.mjs +0 -50
  154. package/fesm2022/ojiepermana-angular-component-badge.mjs.map +0 -1
  155. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +0 -200
  156. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs.map +0 -1
  157. package/fesm2022/ojiepermana-angular-component-button-group.mjs +0 -103
  158. package/fesm2022/ojiepermana-angular-component-button-group.mjs.map +0 -1
  159. package/fesm2022/ojiepermana-angular-component-button.mjs +0 -68
  160. package/fesm2022/ojiepermana-angular-component-button.mjs.map +0 -1
  161. package/fesm2022/ojiepermana-angular-component-calendar.mjs +0 -88
  162. package/fesm2022/ojiepermana-angular-component-calendar.mjs.map +0 -1
  163. package/fesm2022/ojiepermana-angular-component-card.mjs +0 -152
  164. package/fesm2022/ojiepermana-angular-component-card.mjs.map +0 -1
  165. package/fesm2022/ojiepermana-angular-component-carousel.mjs +0 -334
  166. package/fesm2022/ojiepermana-angular-component-carousel.mjs.map +0 -1
  167. package/fesm2022/ojiepermana-angular-component-chart-area.mjs +0 -6
  168. package/fesm2022/ojiepermana-angular-component-chart-area.mjs.map +0 -1
  169. package/fesm2022/ojiepermana-angular-component-chart-bar.mjs +0 -6
  170. package/fesm2022/ojiepermana-angular-component-chart-bar.mjs.map +0 -1
  171. package/fesm2022/ojiepermana-angular-component-chart-line.mjs +0 -6
  172. package/fesm2022/ojiepermana-angular-component-chart-line.mjs.map +0 -1
  173. package/fesm2022/ojiepermana-angular-component-chart-pie.mjs +0 -6
  174. package/fesm2022/ojiepermana-angular-component-chart-pie.mjs.map +0 -1
  175. package/fesm2022/ojiepermana-angular-component-chart-radar.mjs +0 -6
  176. package/fesm2022/ojiepermana-angular-component-chart-radar.mjs.map +0 -1
  177. package/fesm2022/ojiepermana-angular-component-chart-radial.mjs +0 -6
  178. package/fesm2022/ojiepermana-angular-component-chart-radial.mjs.map +0 -1
  179. package/fesm2022/ojiepermana-angular-component-chart-scatter.mjs +0 -6
  180. package/fesm2022/ojiepermana-angular-component-chart-scatter.mjs.map +0 -1
  181. package/fesm2022/ojiepermana-angular-component-chart.mjs +0 -3925
  182. package/fesm2022/ojiepermana-angular-component-chart.mjs.map +0 -1
  183. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +0 -114
  184. package/fesm2022/ojiepermana-angular-component-checkbox.mjs.map +0 -1
  185. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +0 -124
  186. package/fesm2022/ojiepermana-angular-component-collapsible.mjs.map +0 -1
  187. package/fesm2022/ojiepermana-angular-component-combobox.mjs +0 -272
  188. package/fesm2022/ojiepermana-angular-component-combobox.mjs.map +0 -1
  189. package/fesm2022/ojiepermana-angular-component-command.mjs +0 -293
  190. package/fesm2022/ojiepermana-angular-component-command.mjs.map +0 -1
  191. package/fesm2022/ojiepermana-angular-component-composer.mjs +0 -352
  192. package/fesm2022/ojiepermana-angular-component-composer.mjs.map +0 -1
  193. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +0 -103
  194. package/fesm2022/ojiepermana-angular-component-context-menu.mjs.map +0 -1
  195. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +0 -170
  196. package/fesm2022/ojiepermana-angular-component-date-picker.mjs.map +0 -1
  197. package/fesm2022/ojiepermana-angular-component-dialog.mjs +0 -279
  198. package/fesm2022/ojiepermana-angular-component-dialog.mjs.map +0 -1
  199. package/fesm2022/ojiepermana-angular-component-drawer.mjs +0 -6
  200. package/fesm2022/ojiepermana-angular-component-drawer.mjs.map +0 -1
  201. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +0 -492
  202. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs.map +0 -1
  203. package/fesm2022/ojiepermana-angular-component-editor.mjs +0 -717
  204. package/fesm2022/ojiepermana-angular-component-editor.mjs.map +0 -1
  205. package/fesm2022/ojiepermana-angular-component-empty.mjs +0 -145
  206. package/fesm2022/ojiepermana-angular-component-empty.mjs.map +0 -1
  207. package/fesm2022/ojiepermana-angular-component-form.mjs +0 -366
  208. package/fesm2022/ojiepermana-angular-component-form.mjs.map +0 -1
  209. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +0 -297
  210. package/fesm2022/ojiepermana-angular-component-hover-card.mjs.map +0 -1
  211. package/fesm2022/ojiepermana-angular-component-input-group.mjs +0 -179
  212. package/fesm2022/ojiepermana-angular-component-input-group.mjs.map +0 -1
  213. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +0 -514
  214. package/fesm2022/ojiepermana-angular-component-input-otp.mjs.map +0 -1
  215. package/fesm2022/ojiepermana-angular-component-input.mjs +0 -45
  216. package/fesm2022/ojiepermana-angular-component-input.mjs.map +0 -1
  217. package/fesm2022/ojiepermana-angular-component-item.mjs +0 -264
  218. package/fesm2022/ojiepermana-angular-component-item.mjs.map +0 -1
  219. package/fesm2022/ojiepermana-angular-component-kanban.mjs +0 -314
  220. package/fesm2022/ojiepermana-angular-component-kanban.mjs.map +0 -1
  221. package/fesm2022/ojiepermana-angular-component-kbd.mjs +0 -55
  222. package/fesm2022/ojiepermana-angular-component-kbd.mjs.map +0 -1
  223. package/fesm2022/ojiepermana-angular-component-label.mjs +0 -33
  224. package/fesm2022/ojiepermana-angular-component-label.mjs.map +0 -1
  225. package/fesm2022/ojiepermana-angular-component-menubar.mjs +0 -308
  226. package/fesm2022/ojiepermana-angular-component-menubar.mjs.map +0 -1
  227. package/fesm2022/ojiepermana-angular-component-native-select.mjs +0 -67
  228. package/fesm2022/ojiepermana-angular-component-native-select.mjs.map +0 -1
  229. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +0 -413
  230. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs.map +0 -1
  231. package/fesm2022/ojiepermana-angular-component-pagination.mjs +0 -226
  232. package/fesm2022/ojiepermana-angular-component-pagination.mjs.map +0 -1
  233. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +0 -812
  234. package/fesm2022/ojiepermana-angular-component-pillbox.mjs.map +0 -1
  235. package/fesm2022/ojiepermana-angular-component-popover.mjs +0 -169
  236. package/fesm2022/ojiepermana-angular-component-popover.mjs.map +0 -1
  237. package/fesm2022/ojiepermana-angular-component-progress.mjs +0 -60
  238. package/fesm2022/ojiepermana-angular-component-progress.mjs.map +0 -1
  239. package/fesm2022/ojiepermana-angular-component-radio.mjs +0 -122
  240. package/fesm2022/ojiepermana-angular-component-radio.mjs.map +0 -1
  241. package/fesm2022/ojiepermana-angular-component-resizable.mjs +0 -481
  242. package/fesm2022/ojiepermana-angular-component-resizable.mjs.map +0 -1
  243. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +0 -54
  244. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs.map +0 -1
  245. package/fesm2022/ojiepermana-angular-component-select.mjs +0 -176
  246. package/fesm2022/ojiepermana-angular-component-select.mjs.map +0 -1
  247. package/fesm2022/ojiepermana-angular-component-separator.mjs +0 -37
  248. package/fesm2022/ojiepermana-angular-component-separator.mjs.map +0 -1
  249. package/fesm2022/ojiepermana-angular-component-sheet.mjs +0 -284
  250. package/fesm2022/ojiepermana-angular-component-sheet.mjs.map +0 -1
  251. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +0 -31
  252. package/fesm2022/ojiepermana-angular-component-skeleton.mjs.map +0 -1
  253. package/fesm2022/ojiepermana-angular-component-slider.mjs +0 -423
  254. package/fesm2022/ojiepermana-angular-component-slider.mjs.map +0 -1
  255. package/fesm2022/ojiepermana-angular-component-spinner.mjs +0 -60
  256. package/fesm2022/ojiepermana-angular-component-spinner.mjs.map +0 -1
  257. package/fesm2022/ojiepermana-angular-component-switch.mjs +0 -116
  258. package/fesm2022/ojiepermana-angular-component-switch.mjs.map +0 -1
  259. package/fesm2022/ojiepermana-angular-component-table.mjs +0 -155
  260. package/fesm2022/ojiepermana-angular-component-table.mjs.map +0 -1
  261. package/fesm2022/ojiepermana-angular-component-tabs.mjs +0 -272
  262. package/fesm2022/ojiepermana-angular-component-tabs.mjs.map +0 -1
  263. package/fesm2022/ojiepermana-angular-component-textarea.mjs +0 -39
  264. package/fesm2022/ojiepermana-angular-component-textarea.mjs.map +0 -1
  265. package/fesm2022/ojiepermana-angular-component-timeline.mjs +0 -237
  266. package/fesm2022/ojiepermana-angular-component-timeline.mjs.map +0 -1
  267. package/fesm2022/ojiepermana-angular-component-toast.mjs +0 -71
  268. package/fesm2022/ojiepermana-angular-component-toast.mjs.map +0 -1
  269. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +0 -289
  270. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs.map +0 -1
  271. package/fesm2022/ojiepermana-angular-component-toggle.mjs +0 -82
  272. package/fesm2022/ojiepermana-angular-component-toggle.mjs.map +0 -1
  273. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +0 -354
  274. package/fesm2022/ojiepermana-angular-component-tooltip.mjs.map +0 -1
  275. package/fesm2022/ojiepermana-angular-component-utils.mjs +0 -13
  276. package/fesm2022/ojiepermana-angular-component-utils.mjs.map +0 -1
  277. package/fesm2022/ojiepermana-angular-generator-api.mjs +0 -68
  278. package/fesm2022/ojiepermana-angular-generator-api.mjs.map +0 -1
  279. package/fesm2022/ojiepermana-angular-layout-component.mjs +0 -602
  280. package/fesm2022/ojiepermana-angular-layout-component.mjs.map +0 -1
  281. package/fesm2022/ojiepermana-angular-layout-provider.mjs +0 -21
  282. package/fesm2022/ojiepermana-angular-layout-provider.mjs.map +0 -1
  283. package/fesm2022/ojiepermana-angular-layout-services.mjs +0 -116
  284. package/fesm2022/ojiepermana-angular-layout-services.mjs.map +0 -1
  285. package/fesm2022/ojiepermana-angular-layout-shell.mjs +0 -48
  286. package/fesm2022/ojiepermana-angular-layout-shell.mjs.map +0 -1
  287. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs +0 -30
  288. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs.map +0 -1
  289. package/fesm2022/ojiepermana-angular-layout-token.mjs +0 -33
  290. package/fesm2022/ojiepermana-angular-layout-token.mjs.map +0 -1
  291. package/fesm2022/ojiepermana-angular-layout-type-empty.mjs +0 -49
  292. package/fesm2022/ojiepermana-angular-layout-type-empty.mjs.map +0 -1
  293. package/fesm2022/ojiepermana-angular-layout-type-horizontal.mjs +0 -128
  294. package/fesm2022/ojiepermana-angular-layout-type-horizontal.mjs.map +0 -1
  295. package/fesm2022/ojiepermana-angular-layout-type-vertical.mjs +0 -123
  296. package/fesm2022/ojiepermana-angular-layout-type-vertical.mjs.map +0 -1
  297. package/fesm2022/ojiepermana-angular-layout.mjs +0 -485
  298. package/fesm2022/ojiepermana-angular-layout.mjs.map +0 -1
  299. package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs +0 -334
  300. package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs.map +0 -1
  301. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +0 -63
  302. package/fesm2022/ojiepermana-angular-navigation-icon.mjs.map +0 -1
  303. package/fesm2022/ojiepermana-angular-navigation-item.mjs +0 -559
  304. package/fesm2022/ojiepermana-angular-navigation-item.mjs.map +0 -1
  305. package/fesm2022/ojiepermana-angular-navigation-service.mjs +0 -213
  306. package/fesm2022/ojiepermana-angular-navigation-service.mjs.map +0 -1
  307. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs +0 -401
  308. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs.map +0 -1
  309. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs +0 -670
  310. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs.map +0 -1
  311. package/fesm2022/ojiepermana-angular-navigation-types.mjs +0 -4
  312. package/fesm2022/ojiepermana-angular-navigation-types.mjs.map +0 -1
  313. package/fesm2022/ojiepermana-angular-theme-provider.mjs +0 -35
  314. package/fesm2022/ojiepermana-angular-theme-provider.mjs.map +0 -1
  315. package/fesm2022/ojiepermana-angular-theme-services.mjs +0 -294
  316. package/fesm2022/ojiepermana-angular-theme-services.mjs.map +0 -1
  317. package/fesm2022/ojiepermana-angular-theme-token.mjs +0 -56
  318. package/fesm2022/ojiepermana-angular-theme-token.mjs.map +0 -1
  319. package/fesm2022/ojiepermana-angular-theme.mjs.map +0 -1
  320. package/fesm2022/ojiepermana-angular.mjs.map +0 -1
  321. package/generator/api/README.md +0 -252
  322. package/generator/api/bin/package.json +0 -3
  323. package/generator/api/bin/schematics/init/index.js +0 -90
  324. package/generator/api/bin/schematics/ng-add/index.js +0 -131
  325. package/generator/api/bin/schematics/sdk/index.js +0 -76
  326. package/generator/api/bin/src/config/loader.js +0 -41
  327. package/generator/api/bin/src/config/schema.js +0 -57
  328. package/generator/api/bin/src/emit/client.js +0 -248
  329. package/generator/api/bin/src/emit/metadata.js +0 -295
  330. package/generator/api/bin/src/emit/models.js +0 -106
  331. package/generator/api/bin/src/emit/navigation.js +0 -56
  332. package/generator/api/bin/src/emit/operations.js +0 -122
  333. package/generator/api/bin/src/emit/public-api.js +0 -54
  334. package/generator/api/bin/src/emit/services.js +0 -87
  335. package/generator/api/bin/src/engine.js +0 -65
  336. package/generator/api/bin/src/layout/per-domain.js +0 -359
  337. package/generator/api/bin/src/parser/bundle.js +0 -25
  338. package/generator/api/bin/src/parser/ir.js +0 -320
  339. package/generator/api/bin/src/parser/types.js +0 -7
  340. package/generator/api/bin/src/render/template.js +0 -58
  341. package/generator/api/bin/src/writer/index.js +0 -278
  342. package/generator/api/package.json +0 -4
  343. package/generator/api/schematics/init/schema.json +0 -19
  344. package/generator/api/schematics/ng-add/schema.json +0 -14
  345. package/generator/api/schematics/sdk/schema.json +0 -19
  346. package/generator/api/sdk.config.example.json +0 -24
  347. package/generator/guide/README.md +0 -84
  348. package/generator/guide/bin/package.json +0 -3
  349. package/generator/guide/bin/schematics/build/index.js +0 -36
  350. package/generator/guide/bin/schematics/init/index.js +0 -70
  351. package/generator/guide/bin/src/config/loader.js +0 -50
  352. package/generator/guide/bin/src/config/schema.js +0 -12
  353. package/generator/guide/bin/src/engine/component.js +0 -74
  354. package/generator/guide/bin/src/engine/frontmatter.js +0 -42
  355. package/generator/guide/bin/src/engine/index.js +0 -42
  356. package/generator/guide/bin/src/engine/naming.js +0 -39
  357. package/generator/guide/bin/src/engine/render.js +0 -36
  358. package/generator/guide/bin/src/engine/routes.js +0 -106
  359. package/generator/guide/bin/src/engine/walk.js +0 -35
  360. package/generator/guide/guide.config.example.json +0 -9
  361. package/generator/guide/schematics/build/schema.json +0 -14
  362. package/generator/guide/schematics/init/schema.json +0 -19
  363. package/layout/component/package.json +0 -4
  364. package/layout/package.json +0 -4
  365. package/layout/provider/package.json +0 -4
  366. package/layout/services/package.json +0 -4
  367. package/layout/shell/package.json +0 -4
  368. package/layout/token/directive/package.json +0 -4
  369. package/layout/token/package.json +0 -4
  370. package/layout/type/empty/package.json +0 -4
  371. package/layout/type/horizontal/package.json +0 -4
  372. package/layout/type/vertical/package.json +0 -4
  373. package/navigation/demo-data/package.json +0 -4
  374. package/navigation/icon/package.json +0 -4
  375. package/navigation/item/package.json +0 -4
  376. package/navigation/service/package.json +0 -4
  377. package/navigation/sidebar/package.json +0 -4
  378. package/navigation/topbar/README.md +0 -196
  379. package/navigation/topbar/package.json +0 -4
  380. package/navigation/types/package.json +0 -4
  381. package/theme/README.md +0 -174
  382. package/theme/package.json +0 -4
  383. package/theme/provider/package.json +0 -4
  384. package/theme/services/package.json +0 -4
  385. package/theme/styles/foundation/components.css +0 -81
  386. package/theme/styles/foundation/layers.css +0 -15
  387. package/theme/styles/foundation/tokens.css +0 -55
  388. package/theme/styles/index.css +0 -37
  389. package/theme/styles/integrations/material/autocomplete.css +0 -178
  390. package/theme/styles/integrations/material/button.css +0 -468
  391. package/theme/styles/integrations/material/dialog.css +0 -152
  392. package/theme/styles/integrations/material/select.css +0 -175
  393. package/theme/styles/integrations/material/slide-toggle.css +0 -234
  394. package/theme/styles/integrations/material/slider.css +0 -194
  395. package/theme/styles/integrations/material/tabs.css +0 -229
  396. package/theme/styles/integrations/material.css +0 -264
  397. package/theme/styles/integrations/tailwind.css +0 -114
  398. package/theme/styles/variants/color/amber.css +0 -31
  399. package/theme/styles/variants/color/base.css +0 -36
  400. package/theme/styles/variants/color/blue.css +0 -31
  401. package/theme/styles/variants/color/cyan.css +0 -31
  402. package/theme/styles/variants/color/emerald.css +0 -31
  403. package/theme/styles/variants/color/fuchsia.css +0 -31
  404. package/theme/styles/variants/color/green.css +0 -31
  405. package/theme/styles/variants/color/index.css +0 -22
  406. package/theme/styles/variants/color/indigo.css +0 -31
  407. package/theme/styles/variants/color/lime.css +0 -31
  408. package/theme/styles/variants/color/orange.css +0 -31
  409. package/theme/styles/variants/color/pink.css +0 -31
  410. package/theme/styles/variants/color/purple.css +0 -31
  411. package/theme/styles/variants/color/red.css +0 -31
  412. package/theme/styles/variants/color/rose.css +0 -31
  413. package/theme/styles/variants/color/sky.css +0 -31
  414. package/theme/styles/variants/color/teal.css +0 -31
  415. package/theme/styles/variants/color/violet.css +0 -31
  416. package/theme/styles/variants/color/yellow.css +0 -31
  417. package/theme/styles/variants/mode/dark.css +0 -20
  418. package/theme/styles/variants/mode/index.css +0 -6
  419. package/theme/styles/variants/mode/light.css +0 -24
  420. package/theme/styles/variants/style/brutal.css +0 -50
  421. package/theme/styles/variants/style/default.css +0 -54
  422. package/theme/styles/variants/style/index.css +0 -8
  423. package/theme/styles/variants/style/sharp.css +0 -50
  424. package/theme/styles/variants/style/soft.css +0 -50
  425. package/theme/token/package.json +0 -4
  426. package/types/ojiepermana-angular-component-accordion.d.ts +0 -51
  427. package/types/ojiepermana-angular-component-alert-dialog.d.ts +0 -93
  428. package/types/ojiepermana-angular-component-alert.d.ts +0 -37
  429. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +0 -12
  430. package/types/ojiepermana-angular-component-avatar.d.ts +0 -51
  431. package/types/ojiepermana-angular-component-badge.d.ts +0 -19
  432. package/types/ojiepermana-angular-component-breadcrumb.d.ts +0 -46
  433. package/types/ojiepermana-angular-component-button-group.d.ts +0 -26
  434. package/types/ojiepermana-angular-component-button.d.ts +0 -22
  435. package/types/ojiepermana-angular-component-calendar.d.ts +0 -33
  436. package/types/ojiepermana-angular-component-card.d.ts +0 -60
  437. package/types/ojiepermana-angular-component-carousel.d.ts +0 -86
  438. package/types/ojiepermana-angular-component-chart-area.d.ts +0 -1
  439. package/types/ojiepermana-angular-component-chart-bar.d.ts +0 -1
  440. package/types/ojiepermana-angular-component-chart-line.d.ts +0 -1
  441. package/types/ojiepermana-angular-component-chart-pie.d.ts +0 -1
  442. package/types/ojiepermana-angular-component-chart-radar.d.ts +0 -1
  443. package/types/ojiepermana-angular-component-chart-radial.d.ts +0 -1
  444. package/types/ojiepermana-angular-component-chart-scatter.d.ts +0 -1
  445. package/types/ojiepermana-angular-component-chart.d.ts +0 -1094
  446. package/types/ojiepermana-angular-component-checkbox.d.ts +0 -35
  447. package/types/ojiepermana-angular-component-collapsible.d.ts +0 -42
  448. package/types/ojiepermana-angular-component-combobox.d.ts +0 -50
  449. package/types/ojiepermana-angular-component-command.d.ts +0 -99
  450. package/types/ojiepermana-angular-component-composer.d.ts +0 -90
  451. package/types/ojiepermana-angular-component-context-menu.d.ts +0 -35
  452. package/types/ojiepermana-angular-component-date-picker.d.ts +0 -41
  453. package/types/ojiepermana-angular-component-dialog.d.ts +0 -87
  454. package/types/ojiepermana-angular-component-drawer.d.ts +0 -1
  455. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +0 -137
  456. package/types/ojiepermana-angular-component-editor.d.ts +0 -123
  457. package/types/ojiepermana-angular-component-empty.d.ts +0 -50
  458. package/types/ojiepermana-angular-component-form.d.ts +0 -141
  459. package/types/ojiepermana-angular-component-hover-card.d.ts +0 -74
  460. package/types/ojiepermana-angular-component-input-group.d.ts +0 -51
  461. package/types/ojiepermana-angular-component-input-otp.d.ts +0 -136
  462. package/types/ojiepermana-angular-component-input.d.ts +0 -16
  463. package/types/ojiepermana-angular-component-item.d.ts +0 -88
  464. package/types/ojiepermana-angular-component-kanban.d.ts +0 -70
  465. package/types/ojiepermana-angular-component-kbd.d.ts +0 -16
  466. package/types/ojiepermana-angular-component-label.d.ts +0 -11
  467. package/types/ojiepermana-angular-component-menubar.d.ts +0 -67
  468. package/types/ojiepermana-angular-component-native-select.d.ts +0 -26
  469. package/types/ojiepermana-angular-component-navigation-menu.d.ts +0 -96
  470. package/types/ojiepermana-angular-component-pagination.d.ts +0 -33
  471. package/types/ojiepermana-angular-component-pillbox.d.ts +0 -157
  472. package/types/ojiepermana-angular-component-popover.d.ts +0 -43
  473. package/types/ojiepermana-angular-component-progress.d.ts +0 -17
  474. package/types/ojiepermana-angular-component-radio.d.ts +0 -40
  475. package/types/ojiepermana-angular-component-resizable.d.ts +0 -99
  476. package/types/ojiepermana-angular-component-scroll-area.d.ts +0 -19
  477. package/types/ojiepermana-angular-component-select.d.ts +0 -57
  478. package/types/ojiepermana-angular-component-separator.d.ts +0 -14
  479. package/types/ojiepermana-angular-component-sheet.d.ts +0 -76
  480. package/types/ojiepermana-angular-component-skeleton.d.ts +0 -10
  481. package/types/ojiepermana-angular-component-slider.d.ts +0 -74
  482. package/types/ojiepermana-angular-component-spinner.d.ts +0 -13
  483. package/types/ojiepermana-angular-component-switch.d.ts +0 -40
  484. package/types/ojiepermana-angular-component-table.d.ts +0 -52
  485. package/types/ojiepermana-angular-component-tabs.d.ts +0 -92
  486. package/types/ojiepermana-angular-component-textarea.d.ts +0 -12
  487. package/types/ojiepermana-angular-component-timeline.d.ts +0 -63
  488. package/types/ojiepermana-angular-component-toast.d.ts +0 -38
  489. package/types/ojiepermana-angular-component-toggle-group.d.ts +0 -89
  490. package/types/ojiepermana-angular-component-toggle.d.ts +0 -25
  491. package/types/ojiepermana-angular-component-tooltip.d.ts +0 -89
  492. package/types/ojiepermana-angular-component-utils.d.ts +0 -5
  493. package/types/ojiepermana-angular-generator-api.d.ts +0 -86
  494. package/types/ojiepermana-angular-layout-component.d.ts +0 -205
  495. package/types/ojiepermana-angular-layout-provider.d.ts +0 -6
  496. package/types/ojiepermana-angular-layout-services.d.ts +0 -25
  497. package/types/ojiepermana-angular-layout-shell.d.ts +0 -8
  498. package/types/ojiepermana-angular-layout-token-directive.d.ts +0 -13
  499. package/types/ojiepermana-angular-layout-token.d.ts +0 -36
  500. package/types/ojiepermana-angular-layout-type-empty.d.ts +0 -22
  501. package/types/ojiepermana-angular-layout-type-horizontal.d.ts +0 -36
  502. package/types/ojiepermana-angular-layout-type-vertical.d.ts +0 -38
  503. package/types/ojiepermana-angular-layout.d.ts +0 -164
  504. package/types/ojiepermana-angular-navigation-demo-data.d.ts +0 -5
  505. package/types/ojiepermana-angular-navigation-icon.d.ts +0 -17
  506. package/types/ojiepermana-angular-navigation-item.d.ts +0 -54
  507. package/types/ojiepermana-angular-navigation-service.d.ts +0 -77
  508. package/types/ojiepermana-angular-navigation-sidebar.d.ts +0 -75
  509. package/types/ojiepermana-angular-navigation-topbar.d.ts +0 -74
  510. package/types/ojiepermana-angular-navigation-types.d.ts +0 -135
  511. package/types/ojiepermana-angular-theme-provider.d.ts +0 -11
  512. package/types/ojiepermana-angular-theme-services.d.ts +0 -55
  513. package/types/ojiepermana-angular-theme-token.d.ts +0 -57
@@ -1,320 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildIR = buildIR;
4
- const HTTP_METHODS = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options'];
5
- /**
6
- * Build the Intermediate Representation from a bundled OpenAPI document.
7
- *
8
- * Expectations about input:
9
- * - `$ref` strings in the form `#/components/schemas/<Name>` (or parameters).
10
- * - OpenAPI 3.0.x / 3.1.x / 3.2.x (nullable via `type: ['string', 'null']` or
11
- * `nullable: true`).
12
- */
13
- function buildIR(doc) {
14
- const info = doc.info ?? {};
15
- const servers = Array.isArray(doc.servers)
16
- ? doc.servers.map((s) => ({ url: String(s.url ?? ''), description: s.description }))
17
- : [];
18
- const tags = Array.isArray(doc.tags)
19
- ? doc.tags.map((t) => ({
20
- name: String(t.name),
21
- parent: t.parent,
22
- kind: t.kind,
23
- xIcon: t['x-icon'],
24
- description: t.description,
25
- }))
26
- : [];
27
- const schemas = buildSchemas(doc.components?.schemas);
28
- const operations = buildOperations(doc.paths, doc.components?.parameters);
29
- const security = buildSecuritySchemes(doc.components?.securitySchemes);
30
- return {
31
- title: String(info.title ?? 'API'),
32
- version: String(info.version ?? '0.0.0'),
33
- description: info.description,
34
- servers,
35
- tags,
36
- navigation: buildNavigation(tags),
37
- schemas,
38
- operations,
39
- security,
40
- };
41
- }
42
- // ---------------------------------------------------------------------------
43
- // Schemas
44
- // ---------------------------------------------------------------------------
45
- function buildSchemas(rawSchemas) {
46
- if (!rawSchemas)
47
- return [];
48
- const names = Object.keys(rawSchemas).sort();
49
- return names.map((name) => buildSchema(name, rawSchemas[name]));
50
- }
51
- function buildSchema(name, raw) {
52
- const required = Array.isArray(raw?.required) ? raw.required.slice() : [];
53
- const properties = {};
54
- // allOf — merge inline: fold each `properties` + required lists into the parent.
55
- const parts = Array.isArray(raw?.allOf) ? raw.allOf : [];
56
- const mergedProps = { ...(raw?.properties ?? {}) };
57
- for (const part of parts) {
58
- if (part?.properties)
59
- Object.assign(mergedProps, part.properties);
60
- if (Array.isArray(part?.required)) {
61
- for (const r of part.required)
62
- if (!required.includes(r))
63
- required.push(r);
64
- }
65
- }
66
- for (const [propName, propSchema] of Object.entries(mergedProps)) {
67
- properties[propName] = buildFieldRule(propSchema, required.includes(propName));
68
- }
69
- // Primitive enum schemas → emit as alias.
70
- const primitiveType = resolvePrimitiveType(raw);
71
- if (primitiveType && Array.isArray(raw?.enum)) {
72
- return {
73
- name,
74
- description: raw?.description,
75
- required: [],
76
- properties: {},
77
- enumValues: raw.enum,
78
- };
79
- }
80
- // Array alias schemas.
81
- if (resolvedTypeIs(raw, 'array') && raw?.items) {
82
- const itemRef = refName(raw.items?.$ref);
83
- const itemType = itemRef ? undefined : resolvePrimitiveType(raw.items);
84
- return {
85
- name,
86
- description: raw?.description,
87
- required: [],
88
- properties: {},
89
- arrayItemRef: itemRef ?? undefined,
90
- arrayItemType: itemType ?? undefined,
91
- };
92
- }
93
- return {
94
- name,
95
- description: raw?.description,
96
- required,
97
- properties,
98
- };
99
- }
100
- function buildFieldRule(raw, required) {
101
- const rule = { required };
102
- // $ref → named reference.
103
- const ref = refName(raw?.$ref);
104
- if (ref) {
105
- rule.ref = ref;
106
- return rule;
107
- }
108
- // Array with items.
109
- if (resolvedTypeIs(raw, 'array') && raw?.items) {
110
- rule.type = 'array';
111
- const itemsRef = refName(raw.items?.$ref);
112
- if (itemsRef)
113
- rule.itemsRef = itemsRef;
114
- else
115
- rule.itemsType = resolvePrimitiveType(raw.items) ?? 'unknown';
116
- const itemEnum = raw.items?.enum;
117
- if (Array.isArray(itemEnum))
118
- rule.enumValues = itemEnum;
119
- if (raw.description)
120
- rule.description = raw.description;
121
- rule.nullable = isNullable(raw);
122
- return rule;
123
- }
124
- // Primitive / object.
125
- rule.type = resolvePrimitiveType(raw) ?? 'unknown';
126
- rule.nullable = isNullable(raw);
127
- if (raw?.format)
128
- rule.format = raw.format;
129
- if (raw?.description)
130
- rule.description = raw.description;
131
- if (typeof raw?.minLength === 'number')
132
- rule.minLength = raw.minLength;
133
- if (typeof raw?.maxLength === 'number')
134
- rule.maxLength = raw.maxLength;
135
- if (typeof raw?.minimum === 'number')
136
- rule.minimum = raw.minimum;
137
- if (typeof raw?.maximum === 'number')
138
- rule.maximum = raw.maximum;
139
- if (typeof raw?.pattern === 'string')
140
- rule.pattern = raw.pattern;
141
- if (Array.isArray(raw?.enum))
142
- rule.enumValues = raw.enum;
143
- return rule;
144
- }
145
- function resolvePrimitiveType(raw) {
146
- if (!raw)
147
- return undefined;
148
- const t = raw.type;
149
- if (Array.isArray(t)) {
150
- const nonNull = t.find((x) => x !== 'null');
151
- return nonNull ?? undefined;
152
- }
153
- if (typeof t === 'string')
154
- return t;
155
- return undefined;
156
- }
157
- function resolvedTypeIs(raw, target) {
158
- return resolvePrimitiveType(raw) === target;
159
- }
160
- function isNullable(raw) {
161
- if (raw?.nullable === true)
162
- return true;
163
- const t = raw?.type;
164
- if (Array.isArray(t) && t.includes('null'))
165
- return true;
166
- return false;
167
- }
168
- function refName(ref) {
169
- if (typeof ref !== 'string')
170
- return undefined;
171
- const idx = ref.lastIndexOf('/');
172
- return idx >= 0 ? ref.slice(idx + 1) : ref;
173
- }
174
- // ---------------------------------------------------------------------------
175
- // Operations
176
- // ---------------------------------------------------------------------------
177
- function buildOperations(paths, sharedParams) {
178
- if (!paths)
179
- return [];
180
- const operations = [];
181
- for (const [pathKey, pathItem] of Object.entries(paths)) {
182
- if (!pathItem || typeof pathItem !== 'object')
183
- continue;
184
- const pathLevelParams = Array.isArray(pathItem.parameters) ? pathItem.parameters : [];
185
- for (const method of HTTP_METHODS) {
186
- const op = pathItem[method];
187
- if (!op)
188
- continue;
189
- operations.push(buildOperation(pathKey, method, op, pathLevelParams, sharedParams));
190
- }
191
- }
192
- return operations.sort((a, b) => a.operationId.localeCompare(b.operationId));
193
- }
194
- function buildOperation(path, method, op, pathLevelParams, sharedParams) {
195
- const tags = Array.isArray(op.tags) && op.tags.length ? op.tags.map(String) : ['Default'];
196
- const params = mergeParams(pathLevelParams, op.parameters, sharedParams);
197
- const body = op.requestBody;
198
- const bodySchemaRef = refName(body?.content?.['application/json']?.schema?.$ref) ?? refName(body?.$ref) ?? undefined;
199
- const responses = {};
200
- let successStatus;
201
- let successRef;
202
- for (const [status, resp] of Object.entries(op.responses ?? {})) {
203
- const r = resp;
204
- const ref = refName(r?.content?.['application/json']?.schema?.$ref) ?? refName(r?.$ref) ?? undefined;
205
- responses[status] = ref;
206
- if (!successStatus && status.startsWith('2')) {
207
- successStatus = status;
208
- successRef = ref;
209
- }
210
- }
211
- const securitySchemes = [];
212
- if (Array.isArray(op.security)) {
213
- for (const s of op.security) {
214
- if (s && typeof s === 'object') {
215
- for (const key of Object.keys(s)) {
216
- if (!securitySchemes.includes(key))
217
- securitySchemes.push(key);
218
- }
219
- }
220
- }
221
- }
222
- const requiredPermissions = Array.isArray(op['x-required-permissions'])
223
- ? op['x-required-permissions'].map(String)
224
- : [];
225
- const authorizationNotes = Array.isArray(op['x-authorization-notes'])
226
- ? op['x-authorization-notes'].map(String)
227
- : [];
228
- const operationId = op.operationId ?? synthesizeOperationId(method, path);
229
- return {
230
- operationId,
231
- method,
232
- path,
233
- tag: tags[0],
234
- tags,
235
- summary: op.summary,
236
- description: op.description,
237
- params,
238
- bodySchemaRef,
239
- bodyRequired: body?.required === true,
240
- responses,
241
- successStatus,
242
- successRef,
243
- securitySchemes,
244
- requiredPermissions,
245
- authorizationNotes,
246
- };
247
- }
248
- function mergeParams(pathLevelParams, opParams, sharedParams) {
249
- const all = [...(pathLevelParams ?? []), ...(opParams ?? [])];
250
- const seen = new Set();
251
- const out = [];
252
- for (const raw of all) {
253
- const resolved = resolveParamRef(raw, sharedParams);
254
- if (!resolved?.name || !resolved?.in)
255
- continue;
256
- const key = `${resolved.in}:${resolved.name}`;
257
- if (seen.has(key))
258
- continue;
259
- seen.add(key);
260
- const loc = resolved.in === 'path' || resolved.in === 'query' || resolved.in === 'header' ? resolved.in : 'query';
261
- const rule = buildFieldRule(resolved.schema ?? {}, !!resolved.required);
262
- out.push({
263
- name: resolved.name,
264
- in: loc,
265
- required: !!resolved.required,
266
- rule,
267
- });
268
- }
269
- return out;
270
- }
271
- function resolveParamRef(raw, sharedParams) {
272
- if (!raw)
273
- return raw;
274
- if (typeof raw.$ref !== 'string')
275
- return raw;
276
- const name = refName(raw.$ref);
277
- if (!name || !sharedParams)
278
- return raw;
279
- return sharedParams[name] ?? raw;
280
- }
281
- function synthesizeOperationId(method, path) {
282
- const cleaned = path
283
- .replace(/\/+/g, '/')
284
- .split('/')
285
- .filter(Boolean)
286
- .map((seg) => seg.replace(/^\{/, 'by-').replace(/\}$/, ''))
287
- .join('-');
288
- return `${method}-${cleaned || 'root'}`;
289
- }
290
- // ---------------------------------------------------------------------------
291
- // Security & navigation
292
- // ---------------------------------------------------------------------------
293
- function buildSecuritySchemes(raw) {
294
- if (!raw)
295
- return [];
296
- return Object.entries(raw).map(([name, s]) => ({
297
- name,
298
- type: String(s.type ?? 'unknown'),
299
- scheme: s.scheme,
300
- bearerFormat: s.bearerFormat,
301
- in: s.in,
302
- }));
303
- }
304
- function buildNavigation(tags) {
305
- const byName = new Map();
306
- for (const t of tags) {
307
- byName.set(t.name, { name: t.name, xIcon: t.xIcon, description: t.description, children: [] });
308
- }
309
- const roots = [];
310
- for (const t of tags) {
311
- const node = byName.get(t.name);
312
- if (t.parent && byName.has(t.parent)) {
313
- byName.get(t.parent).children.push(node);
314
- }
315
- else {
316
- roots.push(node);
317
- }
318
- }
319
- return roots;
320
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
- /**
3
- * Intermediate Representation (IR) that emitters consume. Keeping this thin +
4
- * plain-object makes emitters trivial to unit test without pulling in an OpenAPI
5
- * parser in the test path.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,58 +0,0 @@
1
- "use strict";
2
- /**
3
- * Tiny rendering helpers. We use template literals + small utilities rather
4
- * than a template engine to keep the generator dependency-free and the
5
- * emitter output predictable.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.kebabCase = kebabCase;
9
- exports.pascalCase = pascalCase;
10
- exports.camelCase = camelCase;
11
- exports.finalize = finalize;
12
- exports.comment = comment;
13
- exports.joinBlocks = joinBlocks;
14
- /** kebab-case (preserving digits) — matches the naming style in `old/api/`. */
15
- function kebabCase(input) {
16
- return String(input)
17
- .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
18
- .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')
19
- .replace(/[^a-zA-Z0-9]+/g, '-')
20
- .replace(/^-+|-+$/g, '')
21
- .toLowerCase();
22
- }
23
- /** PascalCase — used for class/interface names when sanitizing tags. */
24
- function pascalCase(input) {
25
- return String(input)
26
- .replace(/[^a-zA-Z0-9]+/g, ' ')
27
- .trim()
28
- .split(/\s+/)
29
- .filter(Boolean)
30
- .map((w) => w[0].toUpperCase() + w.slice(1))
31
- .join('');
32
- }
33
- /** camelCase — used for variable / method / fn names. */
34
- function camelCase(input) {
35
- const pc = pascalCase(input);
36
- return pc ? pc[0].toLowerCase() + pc.slice(1) : '';
37
- }
38
- /** Trim trailing whitespace on every line and ensure a single trailing newline. */
39
- function finalize(text) {
40
- const trimmed = text
41
- .split('\n')
42
- .map((line) => line.replace(/\s+$/g, ''))
43
- .join('\n')
44
- .replace(/\n{3,}/g, '\n\n')
45
- .replace(/^\s*\n/, '');
46
- return trimmed.endsWith('\n') ? trimmed : trimmed + '\n';
47
- }
48
- /** Render an indented block-comment (1-line friendly). */
49
- function comment(text) {
50
- if (!text)
51
- return '';
52
- const safe = text.replace(/\*\//g, '*\\/');
53
- return `/** ${safe} */`;
54
- }
55
- /** Join non-empty blocks with a blank line between them. */
56
- function joinBlocks(blocks) {
57
- return blocks.filter(Boolean).join('\n\n');
58
- }
@@ -1,278 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeStandalone = writeStandalone;
4
- exports.writeLibrary = writeLibrary;
5
- exports.writeSecondaryEntrypoint = writeSecondaryEntrypoint;
6
- const node_fs_1 = require("node:fs");
7
- const node_path_1 = require("node:path");
8
- const template_1 = require("../render/template");
9
- const ROOT_ENTRYPOINT = '';
10
- const VIRTUAL_ROOT = '/__sdk__';
11
- /**
12
- * No-op writer for the standalone mode — returns emitted files unchanged. Kept
13
- * as a named function so modes are composable from a single switch at the
14
- * engine layer.
15
- */
16
- function writeStandalone(files) {
17
- return files;
18
- }
19
- /**
20
- * Library mode: add `ng-package.json`, `package.json`, and a top-level README
21
- * so the `output` folder can be built with ng-packagr directly.
22
- */
23
- function writeLibrary(files, ir, target, workspaceRoot, outputDir) {
24
- const normalizedFiles = rewriteCrossEntrypointImports(files, target, workspaceRoot, outputDir);
25
- const ngPackage = {
26
- $schema: toPosixPath((0, node_path_1.relative)(outputDir, (0, node_path_1.resolve)(workspaceRoot, 'node_modules/ng-packagr/ng-package.schema.json'))),
27
- dest: resolveLibraryDestPath(workspaceRoot, outputDir),
28
- lib: { entryFile: 'public-api.ts' },
29
- };
30
- const pkg = {
31
- name: target.packageName,
32
- version: target.packageVersion,
33
- description: `Generated SDK for ${ir.title} ${ir.version}`,
34
- peerDependencies: {
35
- '@angular/common': '>=22.0.0',
36
- '@angular/core': '>=22.0.0',
37
- rxjs: '>=7.8.0',
38
- },
39
- sideEffects: false,
40
- };
41
- return [
42
- ...normalizedFiles,
43
- createNgPackageFile('ng-package.json', ngPackage),
44
- ...createNestedEntrypointNgPackages(normalizedFiles),
45
- {
46
- path: 'package.json',
47
- content: (0, template_1.finalize)(JSON.stringify(pkg, null, 2)),
48
- },
49
- ...createLibraryTsConfigFiles(workspaceRoot, outputDir),
50
- {
51
- path: 'README.md',
52
- content: (0, template_1.finalize)(`# ${target.packageName}\n\nGenerated SDK for **${ir.title}** v${ir.version}.\n\nThis folder was generated by the local SDK generator. Do not edit by hand.\n`),
53
- },
54
- ];
55
- }
56
- /**
57
- * Secondary-entrypoint mode: same file set as standalone, plus a minimal
58
- * `ng-package.json` pointing at `public-api.ts`. Meant to live **inside** an
59
- * existing library (e.g. `projects/angular/sdk-api/`) so ng-packagr picks it
60
- * up automatically as a secondary entrypoint of the parent library.
61
- */
62
- function writeSecondaryEntrypoint(files, _ir, target, workspaceRoot, outputDir) {
63
- const normalizedFiles = rewriteCrossEntrypointImports(files, target, workspaceRoot, outputDir);
64
- const ngPackage = {
65
- lib: { entryFile: 'public-api.ts' },
66
- };
67
- return [
68
- ...normalizedFiles,
69
- createNgPackageFile('ng-package.json', ngPackage),
70
- ...createNestedEntrypointNgPackages(normalizedFiles),
71
- ];
72
- }
73
- function rewriteCrossEntrypointImports(files, target, workspaceRoot, outputDir) {
74
- const entrypointDirs = collectEntrypointDirs(files);
75
- if (entrypointDirs.length <= 1) {
76
- return [...files];
77
- }
78
- const packageImportBase = resolvePackageImportBase(target, workspaceRoot, outputDir);
79
- if (!packageImportBase) {
80
- return [...files];
81
- }
82
- const knownFiles = new Set(files.map((file) => file.path));
83
- return files.map((file) => {
84
- const owner = findEntrypointOwner(file.path, entrypointDirs);
85
- if (owner === ROOT_ENTRYPOINT) {
86
- return file;
87
- }
88
- return {
89
- ...file,
90
- content: file.content.replace(/(from\s+['"])([^'"]+)(['"])/g, (_match, prefix, spec, suffix) => {
91
- const nextSpec = rewriteModuleSpecifier(spec, file.path, owner, entrypointDirs, knownFiles, packageImportBase);
92
- return `${prefix}${nextSpec}${suffix}`;
93
- }),
94
- };
95
- });
96
- }
97
- function rewriteModuleSpecifier(specifier, currentPath, currentOwner, entrypointDirs, knownFiles, packageImportBase) {
98
- if (!specifier.startsWith('./') && !specifier.startsWith('../')) {
99
- return specifier;
100
- }
101
- const targetPath = resolveVirtualFilePath(currentPath, specifier, knownFiles);
102
- if (!targetPath) {
103
- return specifier;
104
- }
105
- const targetOwner = findEntrypointOwner(targetPath, entrypointDirs);
106
- if (targetOwner === currentOwner) {
107
- return specifier;
108
- }
109
- return buildEntrypointImport(packageImportBase, targetOwner);
110
- }
111
- function resolveVirtualFilePath(currentPath, specifier, knownFiles) {
112
- const currentAbs = node_path_1.posix.join(VIRTUAL_ROOT, currentPath);
113
- const resolved = node_path_1.posix.normalize(node_path_1.posix.join((0, node_path_1.dirname)(currentAbs), specifier));
114
- const candidates = [`${resolved}.ts`, `${resolved}/index.ts`, `${resolved}/public-api.ts`, resolved];
115
- for (const candidate of candidates) {
116
- if (!candidate.startsWith(`${VIRTUAL_ROOT}/`)) {
117
- continue;
118
- }
119
- const relativePath = candidate.slice(VIRTUAL_ROOT.length + 1);
120
- if (knownFiles.has(relativePath)) {
121
- return relativePath;
122
- }
123
- }
124
- return undefined;
125
- }
126
- function resolvePackageImportBase(target, workspaceRoot, outputDir) {
127
- if (target.mode === 'library') {
128
- return target.packageName;
129
- }
130
- if (target.mode !== 'secondary-entrypoint') {
131
- return '';
132
- }
133
- return inferSecondaryEntrypointPackageName(workspaceRoot, outputDir, target.packageName);
134
- }
135
- function inferSecondaryEntrypointPackageName(workspaceRoot, outputDir, fallback) {
136
- let currentDir = outputDir;
137
- let nearestPackageDir;
138
- let nearestPackagrDir;
139
- while (isWithinWorkspace(currentDir, workspaceRoot)) {
140
- const packageJsonPath = (0, node_path_1.resolve)(currentDir, 'package.json');
141
- if ((0, node_fs_1.existsSync)(packageJsonPath)) {
142
- nearestPackageDir ??= currentDir;
143
- if ((0, node_fs_1.existsSync)((0, node_path_1.resolve)(currentDir, 'ng-package.json'))) {
144
- nearestPackagrDir = currentDir;
145
- break;
146
- }
147
- }
148
- if (currentDir === workspaceRoot) {
149
- break;
150
- }
151
- const parentDir = (0, node_path_1.dirname)(currentDir);
152
- if (parentDir === currentDir) {
153
- break;
154
- }
155
- currentDir = parentDir;
156
- }
157
- const packageDir = nearestPackagrDir ?? nearestPackageDir;
158
- if (!packageDir) {
159
- return fallback;
160
- }
161
- const packageName = readPackageName(packageDir);
162
- if (!packageName) {
163
- return fallback;
164
- }
165
- const relativeOutput = toPosixPath((0, node_path_1.relative)(packageDir, outputDir)).replace(/^\.\//, '');
166
- if (!relativeOutput || relativeOutput === '.') {
167
- return packageName;
168
- }
169
- return `${packageName}/${relativeOutput}`;
170
- }
171
- function readPackageName(packageDir) {
172
- const packageJsonPath = (0, node_path_1.resolve)(packageDir, 'package.json');
173
- if (!(0, node_fs_1.existsSync)(packageJsonPath)) {
174
- return undefined;
175
- }
176
- const raw = JSON.parse((0, node_fs_1.readFileSync)(packageJsonPath, 'utf8'));
177
- return typeof raw.name === 'string' && raw.name.length > 0 ? raw.name : undefined;
178
- }
179
- function isWithinWorkspace(candidate, workspaceRoot) {
180
- const rel = (0, node_path_1.relative)(workspaceRoot, candidate);
181
- return rel === '' || (!rel.startsWith('..') && !(0, node_path_1.isAbsolute)(rel));
182
- }
183
- function collectEntrypointDirs(files) {
184
- const dirs = new Set();
185
- for (const file of files) {
186
- if (file.path === 'public-api.ts') {
187
- dirs.add(ROOT_ENTRYPOINT);
188
- continue;
189
- }
190
- if (!file.path.endsWith('/public-api.ts')) {
191
- continue;
192
- }
193
- dirs.add(file.path.slice(0, -'/public-api.ts'.length));
194
- }
195
- return [...dirs].sort((left, right) => right.length - left.length || left.localeCompare(right));
196
- }
197
- function findEntrypointOwner(filePath, entrypointDirs) {
198
- for (const entrypointDir of entrypointDirs) {
199
- if (entrypointDir === ROOT_ENTRYPOINT) {
200
- continue;
201
- }
202
- if (filePath === `${entrypointDir}/public-api.ts` || filePath.startsWith(`${entrypointDir}/`)) {
203
- return entrypointDir;
204
- }
205
- }
206
- return ROOT_ENTRYPOINT;
207
- }
208
- function buildEntrypointImport(packageImportBase, entrypointDir) {
209
- return entrypointDir ? `${packageImportBase}/${entrypointDir}` : packageImportBase;
210
- }
211
- function createNestedEntrypointNgPackages(files) {
212
- return collectSecondaryEntrypointDirs(files).map((dir) => createNgPackageFile(`${dir}/ng-package.json`, {
213
- lib: { entryFile: 'public-api.ts' },
214
- }));
215
- }
216
- function collectSecondaryEntrypointDirs(files) {
217
- const dirs = new Set();
218
- for (const file of files) {
219
- if (!file.path.endsWith('/public-api.ts')) {
220
- continue;
221
- }
222
- dirs.add(file.path.slice(0, -'/public-api.ts'.length));
223
- }
224
- return [...dirs].sort();
225
- }
226
- function resolveLibraryDestPath(workspaceRoot, outputDir) {
227
- const outputFolderName = (0, node_path_1.basename)(outputDir) || 'sdk';
228
- return toPosixPath((0, node_path_1.relative)(outputDir, (0, node_path_1.resolve)(workspaceRoot, 'dist', outputFolderName)));
229
- }
230
- function createLibraryTsConfigFiles(workspaceRoot, outputDir) {
231
- const rootTsConfig = toPosixPath((0, node_path_1.relative)(outputDir, (0, node_path_1.resolve)(workspaceRoot, 'tsconfig.json')));
232
- const outDir = toPosixPath((0, node_path_1.relative)(outputDir, (0, node_path_1.resolve)(workspaceRoot, 'out-tsc/lib')));
233
- const distDir = toRecursiveGlob((0, node_path_1.relative)(outputDir, (0, node_path_1.resolve)(workspaceRoot, 'dist')));
234
- const nodeModulesDir = toRecursiveGlob((0, node_path_1.relative)(outputDir, (0, node_path_1.resolve)(workspaceRoot, 'node_modules')));
235
- const tsconfigLib = {
236
- extends: rootTsConfig,
237
- compilerOptions: {
238
- outDir,
239
- declaration: true,
240
- declarationMap: true,
241
- types: [],
242
- },
243
- include: ['public-api.ts', '**/public-api.ts'],
244
- exclude: ['**/*.spec.ts', distDir, nodeModulesDir],
245
- };
246
- const tsconfigLibProd = {
247
- extends: './tsconfig.lib.json',
248
- compilerOptions: {
249
- declarationMap: false,
250
- },
251
- angularCompilerOptions: {
252
- compilationMode: 'partial',
253
- },
254
- };
255
- return [
256
- {
257
- path: 'tsconfig.lib.json',
258
- content: (0, template_1.finalize)(JSON.stringify(tsconfigLib, null, 2)),
259
- },
260
- {
261
- path: 'tsconfig.lib.prod.json',
262
- content: (0, template_1.finalize)(JSON.stringify(tsconfigLibProd, null, 2)),
263
- },
264
- ];
265
- }
266
- function toRecursiveGlob(value) {
267
- const normalized = toPosixPath(value).replace(/\/+$/, '');
268
- return normalized === '.' ? './**' : `${normalized}/**`;
269
- }
270
- function toPosixPath(value) {
271
- return value.split('\\').join('/');
272
- }
273
- function createNgPackageFile(path, content) {
274
- return {
275
- path,
276
- content: (0, template_1.finalize)(JSON.stringify(content, null, 2)),
277
- };
278
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-generator-api.mjs",
3
- "typings": "../../types/ojiepermana-angular-generator-api.d.ts"
4
- }
@@ -1,19 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "SdkInitSchema",
4
- "title": "Initialize SDK generator config",
5
- "type": "object",
6
- "properties": {
7
- "path": {
8
- "type": "string",
9
- "description": "Path (relative to workspace root) where the config file will be created.",
10
- "default": "config/sdk.config.json"
11
- },
12
- "force": {
13
- "type": "boolean",
14
- "description": "Overwrite the file if it already exists.",
15
- "default": false
16
- }
17
- },
18
- "required": []
19
- }