@ojiepermana/angular 22.0.1 → 22.0.27

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 (517) hide show
  1. package/README.md +16 -302
  2. package/fesm2022/ojiepermana-angular-chart.mjs +11 -0
  3. package/fesm2022/ojiepermana-angular-chart.mjs.map +1 -0
  4. package/fesm2022/ojiepermana-angular-component.mjs +11 -0
  5. package/fesm2022/ojiepermana-angular-component.mjs.map +1 -0
  6. package/fesm2022/ojiepermana-angular-navigation.mjs +11 -0
  7. package/fesm2022/ojiepermana-angular-navigation.mjs.map +1 -0
  8. package/fesm2022/ojiepermana-angular-sdk.mjs +11 -0
  9. package/fesm2022/ojiepermana-angular-sdk.mjs.map +1 -0
  10. package/fesm2022/ojiepermana-angular-theme.mjs +3 -382
  11. package/fesm2022/ojiepermana-angular-theme.mjs.map +1 -1
  12. package/fesm2022/ojiepermana-angular.mjs +14 -14
  13. package/fesm2022/ojiepermana-angular.mjs.map +1 -1
  14. package/package.json +25 -425
  15. package/types/ojiepermana-angular-chart.d.ts +1 -0
  16. package/types/ojiepermana-angular-component.d.ts +1 -0
  17. package/types/ojiepermana-angular-navigation.d.ts +1 -0
  18. package/types/ojiepermana-angular-sdk.d.ts +1 -0
  19. package/types/ojiepermana-angular-theme.d.ts +1 -116
  20. package/types/ojiepermana-angular.d.ts +5 -3
  21. package/.npmignore +0 -2
  22. package/collection.json +0 -30
  23. package/component/accordion/README.md +0 -195
  24. package/component/accordion/package.json +0 -4
  25. package/component/alert/README.md +0 -182
  26. package/component/alert/package.json +0 -4
  27. package/component/alert-dialog/README.md +0 -239
  28. package/component/alert-dialog/package.json +0 -4
  29. package/component/aspect-ratio/README.md +0 -112
  30. package/component/aspect-ratio/package.json +0 -4
  31. package/component/avatar/README.md +0 -176
  32. package/component/avatar/package.json +0 -4
  33. package/component/badge/README.md +0 -133
  34. package/component/badge/package.json +0 -4
  35. package/component/breadcrumb/README.md +0 -216
  36. package/component/breadcrumb/package.json +0 -4
  37. package/component/button/README.md +0 -139
  38. package/component/button/package.json +0 -4
  39. package/component/button-group/README.md +0 -208
  40. package/component/button-group/package.json +0 -4
  41. package/component/calendar/README.md +0 -132
  42. package/component/calendar/package.json +0 -4
  43. package/component/card/README.md +0 -220
  44. package/component/card/package.json +0 -4
  45. package/component/carousel/README.md +0 -276
  46. package/component/carousel/package.json +0 -4
  47. package/component/chart/README.md +0 -249
  48. package/component/chart/area/package.json +0 -4
  49. package/component/chart/bar/package.json +0 -4
  50. package/component/chart/line/package.json +0 -4
  51. package/component/chart/package.json +0 -4
  52. package/component/chart/pie/package.json +0 -4
  53. package/component/chart/radar/package.json +0 -4
  54. package/component/chart/radial/package.json +0 -4
  55. package/component/chart/scatter/package.json +0 -4
  56. package/component/checkbox/README.md +0 -149
  57. package/component/checkbox/package.json +0 -4
  58. package/component/collapsible/README.md +0 -195
  59. package/component/collapsible/package.json +0 -4
  60. package/component/combobox/README.md +0 -198
  61. package/component/combobox/package.json +0 -4
  62. package/component/command/README.md +0 -275
  63. package/component/command/package.json +0 -4
  64. package/component/composer/README.md +0 -235
  65. package/component/composer/package.json +0 -4
  66. package/component/context-menu/README.md +0 -267
  67. package/component/context-menu/package.json +0 -4
  68. package/component/date-picker/README.md +0 -177
  69. package/component/date-picker/package.json +0 -4
  70. package/component/dialog/README.md +0 -237
  71. package/component/dialog/package.json +0 -4
  72. package/component/drawer/README.md +0 -145
  73. package/component/drawer/package.json +0 -4
  74. package/component/dropdown-menu/README.md +0 -311
  75. package/component/dropdown-menu/package.json +0 -4
  76. package/component/editor/README.md +0 -136
  77. package/component/editor/package.json +0 -4
  78. package/component/empty/README.md +0 -183
  79. package/component/empty/package.json +0 -4
  80. package/component/form/README.md +0 -210
  81. package/component/form/package.json +0 -4
  82. package/component/hover-card/README.md +0 -146
  83. package/component/hover-card/package.json +0 -4
  84. package/component/input/README.md +0 -159
  85. package/component/input/package.json +0 -4
  86. package/component/input-group/README.md +0 -239
  87. package/component/input-group/package.json +0 -4
  88. package/component/input-otp/README.md +0 -278
  89. package/component/input-otp/package.json +0 -4
  90. package/component/item/README.md +0 -247
  91. package/component/item/package.json +0 -4
  92. package/component/kanban/README.md +0 -81
  93. package/component/kanban/package.json +0 -4
  94. package/component/kbd/README.md +0 -139
  95. package/component/kbd/package.json +0 -4
  96. package/component/label/README.md +0 -136
  97. package/component/label/package.json +0 -4
  98. package/component/menubar/README.md +0 -269
  99. package/component/menubar/package.json +0 -4
  100. package/component/native-select/README.md +0 -176
  101. package/component/native-select/package.json +0 -4
  102. package/component/navigation-menu/README.md +0 -160
  103. package/component/navigation-menu/package.json +0 -4
  104. package/component/pagination/README.md +0 -144
  105. package/component/pagination/package.json +0 -4
  106. package/component/pillbox/README.md +0 -67
  107. package/component/pillbox/package.json +0 -4
  108. package/component/popover/README.md +0 -43
  109. package/component/popover/package.json +0 -4
  110. package/component/progress/README.md +0 -160
  111. package/component/progress/package.json +0 -4
  112. package/component/radio/README.md +0 -209
  113. package/component/radio/package.json +0 -4
  114. package/component/resizable/README.md +0 -168
  115. package/component/resizable/package.json +0 -4
  116. package/component/scroll-area/README.md +0 -143
  117. package/component/scroll-area/package.json +0 -4
  118. package/component/select/README.md +0 -174
  119. package/component/select/package.json +0 -4
  120. package/component/separator/README.md +0 -170
  121. package/component/separator/package.json +0 -4
  122. package/component/sheet/README.md +0 -183
  123. package/component/sheet/package.json +0 -4
  124. package/component/skeleton/README.md +0 -158
  125. package/component/skeleton/package.json +0 -4
  126. package/component/slider/README.md +0 -207
  127. package/component/slider/package.json +0 -4
  128. package/component/spinner/README.md +0 -160
  129. package/component/spinner/package.json +0 -4
  130. package/component/switch/README.md +0 -166
  131. package/component/switch/package.json +0 -4
  132. package/component/table/README.md +0 -291
  133. package/component/table/package.json +0 -4
  134. package/component/tabs/README.md +0 -219
  135. package/component/tabs/package.json +0 -4
  136. package/component/textarea/README.md +0 -154
  137. package/component/textarea/package.json +0 -4
  138. package/component/timeline/README.md +0 -94
  139. package/component/timeline/package.json +0 -4
  140. package/component/toast/README.md +0 -321
  141. package/component/toast/package.json +0 -4
  142. package/component/toggle/README.md +0 -131
  143. package/component/toggle/package.json +0 -4
  144. package/component/toggle-group/README.md +0 -206
  145. package/component/toggle-group/package.json +0 -4
  146. package/component/tooltip/README.md +0 -211
  147. package/component/tooltip/package.json +0 -4
  148. package/component/utils/package.json +0 -4
  149. package/fesm2022/ojiepermana-angular-component-accordion.mjs +0 -189
  150. package/fesm2022/ojiepermana-angular-component-accordion.mjs.map +0 -1
  151. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +0 -276
  152. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs.map +0 -1
  153. package/fesm2022/ojiepermana-angular-component-alert.mjs +0 -99
  154. package/fesm2022/ojiepermana-angular-component-alert.mjs.map +0 -1
  155. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +0 -37
  156. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs.map +0 -1
  157. package/fesm2022/ojiepermana-angular-component-avatar.mjs +0 -139
  158. package/fesm2022/ojiepermana-angular-component-avatar.mjs.map +0 -1
  159. package/fesm2022/ojiepermana-angular-component-badge.mjs +0 -50
  160. package/fesm2022/ojiepermana-angular-component-badge.mjs.map +0 -1
  161. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +0 -200
  162. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs.map +0 -1
  163. package/fesm2022/ojiepermana-angular-component-button-group.mjs +0 -103
  164. package/fesm2022/ojiepermana-angular-component-button-group.mjs.map +0 -1
  165. package/fesm2022/ojiepermana-angular-component-button.mjs +0 -68
  166. package/fesm2022/ojiepermana-angular-component-button.mjs.map +0 -1
  167. package/fesm2022/ojiepermana-angular-component-calendar.mjs +0 -88
  168. package/fesm2022/ojiepermana-angular-component-calendar.mjs.map +0 -1
  169. package/fesm2022/ojiepermana-angular-component-card.mjs +0 -152
  170. package/fesm2022/ojiepermana-angular-component-card.mjs.map +0 -1
  171. package/fesm2022/ojiepermana-angular-component-carousel.mjs +0 -334
  172. package/fesm2022/ojiepermana-angular-component-carousel.mjs.map +0 -1
  173. package/fesm2022/ojiepermana-angular-component-chart-area.mjs +0 -6
  174. package/fesm2022/ojiepermana-angular-component-chart-area.mjs.map +0 -1
  175. package/fesm2022/ojiepermana-angular-component-chart-bar.mjs +0 -6
  176. package/fesm2022/ojiepermana-angular-component-chart-bar.mjs.map +0 -1
  177. package/fesm2022/ojiepermana-angular-component-chart-line.mjs +0 -6
  178. package/fesm2022/ojiepermana-angular-component-chart-line.mjs.map +0 -1
  179. package/fesm2022/ojiepermana-angular-component-chart-pie.mjs +0 -6
  180. package/fesm2022/ojiepermana-angular-component-chart-pie.mjs.map +0 -1
  181. package/fesm2022/ojiepermana-angular-component-chart-radar.mjs +0 -6
  182. package/fesm2022/ojiepermana-angular-component-chart-radar.mjs.map +0 -1
  183. package/fesm2022/ojiepermana-angular-component-chart-radial.mjs +0 -6
  184. package/fesm2022/ojiepermana-angular-component-chart-radial.mjs.map +0 -1
  185. package/fesm2022/ojiepermana-angular-component-chart-scatter.mjs +0 -6
  186. package/fesm2022/ojiepermana-angular-component-chart-scatter.mjs.map +0 -1
  187. package/fesm2022/ojiepermana-angular-component-chart.mjs +0 -3925
  188. package/fesm2022/ojiepermana-angular-component-chart.mjs.map +0 -1
  189. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +0 -114
  190. package/fesm2022/ojiepermana-angular-component-checkbox.mjs.map +0 -1
  191. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +0 -124
  192. package/fesm2022/ojiepermana-angular-component-collapsible.mjs.map +0 -1
  193. package/fesm2022/ojiepermana-angular-component-combobox.mjs +0 -272
  194. package/fesm2022/ojiepermana-angular-component-combobox.mjs.map +0 -1
  195. package/fesm2022/ojiepermana-angular-component-command.mjs +0 -293
  196. package/fesm2022/ojiepermana-angular-component-command.mjs.map +0 -1
  197. package/fesm2022/ojiepermana-angular-component-composer.mjs +0 -352
  198. package/fesm2022/ojiepermana-angular-component-composer.mjs.map +0 -1
  199. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +0 -103
  200. package/fesm2022/ojiepermana-angular-component-context-menu.mjs.map +0 -1
  201. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +0 -170
  202. package/fesm2022/ojiepermana-angular-component-date-picker.mjs.map +0 -1
  203. package/fesm2022/ojiepermana-angular-component-dialog.mjs +0 -279
  204. package/fesm2022/ojiepermana-angular-component-dialog.mjs.map +0 -1
  205. package/fesm2022/ojiepermana-angular-component-drawer.mjs +0 -6
  206. package/fesm2022/ojiepermana-angular-component-drawer.mjs.map +0 -1
  207. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +0 -492
  208. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs.map +0 -1
  209. package/fesm2022/ojiepermana-angular-component-editor.mjs +0 -717
  210. package/fesm2022/ojiepermana-angular-component-editor.mjs.map +0 -1
  211. package/fesm2022/ojiepermana-angular-component-empty.mjs +0 -145
  212. package/fesm2022/ojiepermana-angular-component-empty.mjs.map +0 -1
  213. package/fesm2022/ojiepermana-angular-component-form.mjs +0 -366
  214. package/fesm2022/ojiepermana-angular-component-form.mjs.map +0 -1
  215. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +0 -297
  216. package/fesm2022/ojiepermana-angular-component-hover-card.mjs.map +0 -1
  217. package/fesm2022/ojiepermana-angular-component-input-group.mjs +0 -179
  218. package/fesm2022/ojiepermana-angular-component-input-group.mjs.map +0 -1
  219. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +0 -514
  220. package/fesm2022/ojiepermana-angular-component-input-otp.mjs.map +0 -1
  221. package/fesm2022/ojiepermana-angular-component-input.mjs +0 -45
  222. package/fesm2022/ojiepermana-angular-component-input.mjs.map +0 -1
  223. package/fesm2022/ojiepermana-angular-component-item.mjs +0 -264
  224. package/fesm2022/ojiepermana-angular-component-item.mjs.map +0 -1
  225. package/fesm2022/ojiepermana-angular-component-kanban.mjs +0 -314
  226. package/fesm2022/ojiepermana-angular-component-kanban.mjs.map +0 -1
  227. package/fesm2022/ojiepermana-angular-component-kbd.mjs +0 -55
  228. package/fesm2022/ojiepermana-angular-component-kbd.mjs.map +0 -1
  229. package/fesm2022/ojiepermana-angular-component-label.mjs +0 -33
  230. package/fesm2022/ojiepermana-angular-component-label.mjs.map +0 -1
  231. package/fesm2022/ojiepermana-angular-component-menubar.mjs +0 -308
  232. package/fesm2022/ojiepermana-angular-component-menubar.mjs.map +0 -1
  233. package/fesm2022/ojiepermana-angular-component-native-select.mjs +0 -67
  234. package/fesm2022/ojiepermana-angular-component-native-select.mjs.map +0 -1
  235. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +0 -413
  236. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs.map +0 -1
  237. package/fesm2022/ojiepermana-angular-component-pagination.mjs +0 -226
  238. package/fesm2022/ojiepermana-angular-component-pagination.mjs.map +0 -1
  239. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +0 -812
  240. package/fesm2022/ojiepermana-angular-component-pillbox.mjs.map +0 -1
  241. package/fesm2022/ojiepermana-angular-component-popover.mjs +0 -169
  242. package/fesm2022/ojiepermana-angular-component-popover.mjs.map +0 -1
  243. package/fesm2022/ojiepermana-angular-component-progress.mjs +0 -60
  244. package/fesm2022/ojiepermana-angular-component-progress.mjs.map +0 -1
  245. package/fesm2022/ojiepermana-angular-component-radio.mjs +0 -122
  246. package/fesm2022/ojiepermana-angular-component-radio.mjs.map +0 -1
  247. package/fesm2022/ojiepermana-angular-component-resizable.mjs +0 -481
  248. package/fesm2022/ojiepermana-angular-component-resizable.mjs.map +0 -1
  249. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +0 -54
  250. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs.map +0 -1
  251. package/fesm2022/ojiepermana-angular-component-select.mjs +0 -176
  252. package/fesm2022/ojiepermana-angular-component-select.mjs.map +0 -1
  253. package/fesm2022/ojiepermana-angular-component-separator.mjs +0 -37
  254. package/fesm2022/ojiepermana-angular-component-separator.mjs.map +0 -1
  255. package/fesm2022/ojiepermana-angular-component-sheet.mjs +0 -284
  256. package/fesm2022/ojiepermana-angular-component-sheet.mjs.map +0 -1
  257. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +0 -31
  258. package/fesm2022/ojiepermana-angular-component-skeleton.mjs.map +0 -1
  259. package/fesm2022/ojiepermana-angular-component-slider.mjs +0 -423
  260. package/fesm2022/ojiepermana-angular-component-slider.mjs.map +0 -1
  261. package/fesm2022/ojiepermana-angular-component-spinner.mjs +0 -60
  262. package/fesm2022/ojiepermana-angular-component-spinner.mjs.map +0 -1
  263. package/fesm2022/ojiepermana-angular-component-switch.mjs +0 -116
  264. package/fesm2022/ojiepermana-angular-component-switch.mjs.map +0 -1
  265. package/fesm2022/ojiepermana-angular-component-table.mjs +0 -155
  266. package/fesm2022/ojiepermana-angular-component-table.mjs.map +0 -1
  267. package/fesm2022/ojiepermana-angular-component-tabs.mjs +0 -272
  268. package/fesm2022/ojiepermana-angular-component-tabs.mjs.map +0 -1
  269. package/fesm2022/ojiepermana-angular-component-textarea.mjs +0 -39
  270. package/fesm2022/ojiepermana-angular-component-textarea.mjs.map +0 -1
  271. package/fesm2022/ojiepermana-angular-component-timeline.mjs +0 -237
  272. package/fesm2022/ojiepermana-angular-component-timeline.mjs.map +0 -1
  273. package/fesm2022/ojiepermana-angular-component-toast.mjs +0 -71
  274. package/fesm2022/ojiepermana-angular-component-toast.mjs.map +0 -1
  275. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +0 -289
  276. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs.map +0 -1
  277. package/fesm2022/ojiepermana-angular-component-toggle.mjs +0 -82
  278. package/fesm2022/ojiepermana-angular-component-toggle.mjs.map +0 -1
  279. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +0 -354
  280. package/fesm2022/ojiepermana-angular-component-tooltip.mjs.map +0 -1
  281. package/fesm2022/ojiepermana-angular-component-utils.mjs +0 -13
  282. package/fesm2022/ojiepermana-angular-component-utils.mjs.map +0 -1
  283. package/fesm2022/ojiepermana-angular-generator-api.mjs +0 -68
  284. package/fesm2022/ojiepermana-angular-generator-api.mjs.map +0 -1
  285. package/fesm2022/ojiepermana-angular-layout-component.mjs +0 -602
  286. package/fesm2022/ojiepermana-angular-layout-component.mjs.map +0 -1
  287. package/fesm2022/ojiepermana-angular-layout-provider.mjs +0 -21
  288. package/fesm2022/ojiepermana-angular-layout-provider.mjs.map +0 -1
  289. package/fesm2022/ojiepermana-angular-layout-services.mjs +0 -116
  290. package/fesm2022/ojiepermana-angular-layout-services.mjs.map +0 -1
  291. package/fesm2022/ojiepermana-angular-layout-shell.mjs +0 -48
  292. package/fesm2022/ojiepermana-angular-layout-shell.mjs.map +0 -1
  293. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs +0 -30
  294. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs.map +0 -1
  295. package/fesm2022/ojiepermana-angular-layout-token.mjs +0 -33
  296. package/fesm2022/ojiepermana-angular-layout-token.mjs.map +0 -1
  297. package/fesm2022/ojiepermana-angular-layout-type-empty.mjs +0 -49
  298. package/fesm2022/ojiepermana-angular-layout-type-empty.mjs.map +0 -1
  299. package/fesm2022/ojiepermana-angular-layout-type-horizontal.mjs +0 -128
  300. package/fesm2022/ojiepermana-angular-layout-type-horizontal.mjs.map +0 -1
  301. package/fesm2022/ojiepermana-angular-layout-type-vertical.mjs +0 -123
  302. package/fesm2022/ojiepermana-angular-layout-type-vertical.mjs.map +0 -1
  303. package/fesm2022/ojiepermana-angular-layout.mjs +0 -485
  304. package/fesm2022/ojiepermana-angular-layout.mjs.map +0 -1
  305. package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs +0 -334
  306. package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs.map +0 -1
  307. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +0 -63
  308. package/fesm2022/ojiepermana-angular-navigation-icon.mjs.map +0 -1
  309. package/fesm2022/ojiepermana-angular-navigation-item.mjs +0 -559
  310. package/fesm2022/ojiepermana-angular-navigation-item.mjs.map +0 -1
  311. package/fesm2022/ojiepermana-angular-navigation-service.mjs +0 -213
  312. package/fesm2022/ojiepermana-angular-navigation-service.mjs.map +0 -1
  313. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs +0 -401
  314. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs.map +0 -1
  315. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs +0 -670
  316. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs.map +0 -1
  317. package/fesm2022/ojiepermana-angular-navigation-types.mjs +0 -4
  318. package/fesm2022/ojiepermana-angular-navigation-types.mjs.map +0 -1
  319. package/fesm2022/ojiepermana-angular-theme-provider.mjs +0 -35
  320. package/fesm2022/ojiepermana-angular-theme-provider.mjs.map +0 -1
  321. package/fesm2022/ojiepermana-angular-theme-services.mjs +0 -294
  322. package/fesm2022/ojiepermana-angular-theme-services.mjs.map +0 -1
  323. package/fesm2022/ojiepermana-angular-theme-token.mjs +0 -56
  324. package/fesm2022/ojiepermana-angular-theme-token.mjs.map +0 -1
  325. package/generator/api/README.md +0 -252
  326. package/generator/api/bin/package.json +0 -3
  327. package/generator/api/bin/schematics/init/index.js +0 -90
  328. package/generator/api/bin/schematics/ng-add/index.js +0 -131
  329. package/generator/api/bin/schematics/sdk/index.js +0 -76
  330. package/generator/api/bin/src/config/loader.js +0 -41
  331. package/generator/api/bin/src/config/schema.js +0 -57
  332. package/generator/api/bin/src/emit/client.js +0 -248
  333. package/generator/api/bin/src/emit/metadata.js +0 -295
  334. package/generator/api/bin/src/emit/models.js +0 -106
  335. package/generator/api/bin/src/emit/navigation.js +0 -56
  336. package/generator/api/bin/src/emit/operations.js +0 -122
  337. package/generator/api/bin/src/emit/public-api.js +0 -54
  338. package/generator/api/bin/src/emit/services.js +0 -87
  339. package/generator/api/bin/src/engine.js +0 -65
  340. package/generator/api/bin/src/layout/per-domain.js +0 -359
  341. package/generator/api/bin/src/parser/bundle.js +0 -25
  342. package/generator/api/bin/src/parser/ir.js +0 -320
  343. package/generator/api/bin/src/parser/types.js +0 -7
  344. package/generator/api/bin/src/render/template.js +0 -58
  345. package/generator/api/bin/src/writer/index.js +0 -278
  346. package/generator/api/package.json +0 -4
  347. package/generator/api/schematics/init/schema.json +0 -19
  348. package/generator/api/schematics/ng-add/schema.json +0 -14
  349. package/generator/api/schematics/sdk/schema.json +0 -19
  350. package/generator/api/sdk.config.example.json +0 -24
  351. package/generator/guide/README.md +0 -84
  352. package/generator/guide/bin/package.json +0 -3
  353. package/generator/guide/bin/schematics/build/index.js +0 -36
  354. package/generator/guide/bin/schematics/init/index.js +0 -70
  355. package/generator/guide/bin/src/config/loader.js +0 -50
  356. package/generator/guide/bin/src/config/schema.js +0 -12
  357. package/generator/guide/bin/src/engine/component.js +0 -74
  358. package/generator/guide/bin/src/engine/frontmatter.js +0 -42
  359. package/generator/guide/bin/src/engine/index.js +0 -42
  360. package/generator/guide/bin/src/engine/naming.js +0 -39
  361. package/generator/guide/bin/src/engine/render.js +0 -36
  362. package/generator/guide/bin/src/engine/routes.js +0 -106
  363. package/generator/guide/bin/src/engine/walk.js +0 -35
  364. package/generator/guide/guide.config.example.json +0 -9
  365. package/generator/guide/schematics/build/schema.json +0 -14
  366. package/generator/guide/schematics/init/schema.json +0 -19
  367. package/layout/component/package.json +0 -4
  368. package/layout/package.json +0 -4
  369. package/layout/provider/package.json +0 -4
  370. package/layout/services/package.json +0 -4
  371. package/layout/shell/package.json +0 -4
  372. package/layout/token/directive/package.json +0 -4
  373. package/layout/token/package.json +0 -4
  374. package/layout/type/empty/package.json +0 -4
  375. package/layout/type/horizontal/package.json +0 -4
  376. package/layout/type/vertical/package.json +0 -4
  377. package/navigation/demo-data/package.json +0 -4
  378. package/navigation/icon/package.json +0 -4
  379. package/navigation/item/package.json +0 -4
  380. package/navigation/service/package.json +0 -4
  381. package/navigation/sidebar/package.json +0 -4
  382. package/navigation/topbar/README.md +0 -196
  383. package/navigation/topbar/package.json +0 -4
  384. package/navigation/types/package.json +0 -4
  385. package/theme/README.md +0 -174
  386. package/theme/package.json +0 -4
  387. package/theme/provider/package.json +0 -4
  388. package/theme/services/package.json +0 -4
  389. package/theme/styles/foundation/components.css +0 -81
  390. package/theme/styles/foundation/layers.css +0 -15
  391. package/theme/styles/foundation/tokens.css +0 -55
  392. package/theme/styles/index.css +0 -37
  393. package/theme/styles/integrations/material/autocomplete.css +0 -178
  394. package/theme/styles/integrations/material/button.css +0 -468
  395. package/theme/styles/integrations/material/dialog.css +0 -152
  396. package/theme/styles/integrations/material/select.css +0 -175
  397. package/theme/styles/integrations/material/slide-toggle.css +0 -234
  398. package/theme/styles/integrations/material/slider.css +0 -194
  399. package/theme/styles/integrations/material/tabs.css +0 -229
  400. package/theme/styles/integrations/material.css +0 -264
  401. package/theme/styles/integrations/tailwind.css +0 -114
  402. package/theme/styles/variants/color/amber.css +0 -31
  403. package/theme/styles/variants/color/base.css +0 -36
  404. package/theme/styles/variants/color/blue.css +0 -31
  405. package/theme/styles/variants/color/cyan.css +0 -31
  406. package/theme/styles/variants/color/emerald.css +0 -31
  407. package/theme/styles/variants/color/fuchsia.css +0 -31
  408. package/theme/styles/variants/color/green.css +0 -31
  409. package/theme/styles/variants/color/index.css +0 -22
  410. package/theme/styles/variants/color/indigo.css +0 -31
  411. package/theme/styles/variants/color/lime.css +0 -31
  412. package/theme/styles/variants/color/orange.css +0 -31
  413. package/theme/styles/variants/color/pink.css +0 -31
  414. package/theme/styles/variants/color/purple.css +0 -31
  415. package/theme/styles/variants/color/red.css +0 -31
  416. package/theme/styles/variants/color/rose.css +0 -31
  417. package/theme/styles/variants/color/sky.css +0 -31
  418. package/theme/styles/variants/color/teal.css +0 -31
  419. package/theme/styles/variants/color/violet.css +0 -31
  420. package/theme/styles/variants/color/yellow.css +0 -31
  421. package/theme/styles/variants/mode/dark.css +0 -20
  422. package/theme/styles/variants/mode/index.css +0 -6
  423. package/theme/styles/variants/mode/light.css +0 -24
  424. package/theme/styles/variants/style/brutal.css +0 -50
  425. package/theme/styles/variants/style/default.css +0 -54
  426. package/theme/styles/variants/style/index.css +0 -8
  427. package/theme/styles/variants/style/sharp.css +0 -50
  428. package/theme/styles/variants/style/soft.css +0 -50
  429. package/theme/token/package.json +0 -4
  430. package/types/ojiepermana-angular-component-accordion.d.ts +0 -51
  431. package/types/ojiepermana-angular-component-alert-dialog.d.ts +0 -93
  432. package/types/ojiepermana-angular-component-alert.d.ts +0 -37
  433. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +0 -12
  434. package/types/ojiepermana-angular-component-avatar.d.ts +0 -51
  435. package/types/ojiepermana-angular-component-badge.d.ts +0 -19
  436. package/types/ojiepermana-angular-component-breadcrumb.d.ts +0 -46
  437. package/types/ojiepermana-angular-component-button-group.d.ts +0 -26
  438. package/types/ojiepermana-angular-component-button.d.ts +0 -22
  439. package/types/ojiepermana-angular-component-calendar.d.ts +0 -33
  440. package/types/ojiepermana-angular-component-card.d.ts +0 -60
  441. package/types/ojiepermana-angular-component-carousel.d.ts +0 -86
  442. package/types/ojiepermana-angular-component-chart-area.d.ts +0 -1
  443. package/types/ojiepermana-angular-component-chart-bar.d.ts +0 -1
  444. package/types/ojiepermana-angular-component-chart-line.d.ts +0 -1
  445. package/types/ojiepermana-angular-component-chart-pie.d.ts +0 -1
  446. package/types/ojiepermana-angular-component-chart-radar.d.ts +0 -1
  447. package/types/ojiepermana-angular-component-chart-radial.d.ts +0 -1
  448. package/types/ojiepermana-angular-component-chart-scatter.d.ts +0 -1
  449. package/types/ojiepermana-angular-component-chart.d.ts +0 -1094
  450. package/types/ojiepermana-angular-component-checkbox.d.ts +0 -35
  451. package/types/ojiepermana-angular-component-collapsible.d.ts +0 -42
  452. package/types/ojiepermana-angular-component-combobox.d.ts +0 -50
  453. package/types/ojiepermana-angular-component-command.d.ts +0 -99
  454. package/types/ojiepermana-angular-component-composer.d.ts +0 -90
  455. package/types/ojiepermana-angular-component-context-menu.d.ts +0 -35
  456. package/types/ojiepermana-angular-component-date-picker.d.ts +0 -41
  457. package/types/ojiepermana-angular-component-dialog.d.ts +0 -87
  458. package/types/ojiepermana-angular-component-drawer.d.ts +0 -1
  459. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +0 -137
  460. package/types/ojiepermana-angular-component-editor.d.ts +0 -123
  461. package/types/ojiepermana-angular-component-empty.d.ts +0 -50
  462. package/types/ojiepermana-angular-component-form.d.ts +0 -141
  463. package/types/ojiepermana-angular-component-hover-card.d.ts +0 -74
  464. package/types/ojiepermana-angular-component-input-group.d.ts +0 -51
  465. package/types/ojiepermana-angular-component-input-otp.d.ts +0 -136
  466. package/types/ojiepermana-angular-component-input.d.ts +0 -16
  467. package/types/ojiepermana-angular-component-item.d.ts +0 -88
  468. package/types/ojiepermana-angular-component-kanban.d.ts +0 -70
  469. package/types/ojiepermana-angular-component-kbd.d.ts +0 -16
  470. package/types/ojiepermana-angular-component-label.d.ts +0 -11
  471. package/types/ojiepermana-angular-component-menubar.d.ts +0 -67
  472. package/types/ojiepermana-angular-component-native-select.d.ts +0 -26
  473. package/types/ojiepermana-angular-component-navigation-menu.d.ts +0 -96
  474. package/types/ojiepermana-angular-component-pagination.d.ts +0 -33
  475. package/types/ojiepermana-angular-component-pillbox.d.ts +0 -157
  476. package/types/ojiepermana-angular-component-popover.d.ts +0 -43
  477. package/types/ojiepermana-angular-component-progress.d.ts +0 -17
  478. package/types/ojiepermana-angular-component-radio.d.ts +0 -40
  479. package/types/ojiepermana-angular-component-resizable.d.ts +0 -99
  480. package/types/ojiepermana-angular-component-scroll-area.d.ts +0 -19
  481. package/types/ojiepermana-angular-component-select.d.ts +0 -57
  482. package/types/ojiepermana-angular-component-separator.d.ts +0 -14
  483. package/types/ojiepermana-angular-component-sheet.d.ts +0 -76
  484. package/types/ojiepermana-angular-component-skeleton.d.ts +0 -10
  485. package/types/ojiepermana-angular-component-slider.d.ts +0 -74
  486. package/types/ojiepermana-angular-component-spinner.d.ts +0 -13
  487. package/types/ojiepermana-angular-component-switch.d.ts +0 -40
  488. package/types/ojiepermana-angular-component-table.d.ts +0 -52
  489. package/types/ojiepermana-angular-component-tabs.d.ts +0 -92
  490. package/types/ojiepermana-angular-component-textarea.d.ts +0 -12
  491. package/types/ojiepermana-angular-component-timeline.d.ts +0 -63
  492. package/types/ojiepermana-angular-component-toast.d.ts +0 -38
  493. package/types/ojiepermana-angular-component-toggle-group.d.ts +0 -89
  494. package/types/ojiepermana-angular-component-toggle.d.ts +0 -25
  495. package/types/ojiepermana-angular-component-tooltip.d.ts +0 -89
  496. package/types/ojiepermana-angular-component-utils.d.ts +0 -5
  497. package/types/ojiepermana-angular-generator-api.d.ts +0 -86
  498. package/types/ojiepermana-angular-layout-component.d.ts +0 -205
  499. package/types/ojiepermana-angular-layout-provider.d.ts +0 -6
  500. package/types/ojiepermana-angular-layout-services.d.ts +0 -25
  501. package/types/ojiepermana-angular-layout-shell.d.ts +0 -8
  502. package/types/ojiepermana-angular-layout-token-directive.d.ts +0 -13
  503. package/types/ojiepermana-angular-layout-token.d.ts +0 -36
  504. package/types/ojiepermana-angular-layout-type-empty.d.ts +0 -22
  505. package/types/ojiepermana-angular-layout-type-horizontal.d.ts +0 -36
  506. package/types/ojiepermana-angular-layout-type-vertical.d.ts +0 -38
  507. package/types/ojiepermana-angular-layout.d.ts +0 -164
  508. package/types/ojiepermana-angular-navigation-demo-data.d.ts +0 -5
  509. package/types/ojiepermana-angular-navigation-icon.d.ts +0 -17
  510. package/types/ojiepermana-angular-navigation-item.d.ts +0 -54
  511. package/types/ojiepermana-angular-navigation-service.d.ts +0 -77
  512. package/types/ojiepermana-angular-navigation-sidebar.d.ts +0 -75
  513. package/types/ojiepermana-angular-navigation-topbar.d.ts +0 -74
  514. package/types/ojiepermana-angular-navigation-types.d.ts +0 -135
  515. package/types/ojiepermana-angular-theme-provider.d.ts +0 -11
  516. package/types/ojiepermana-angular-theme-services.d.ts +0 -55
  517. 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
- }