@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,249 +0,0 @@
1
- # Chart
2
-
3
- Angular chart primitives and chart families inspired by shadcn Chart.
4
-
5
- In this repository, shadcn's single Chart page maps to the dedicated `/ui/chart/*` demo route group so each chart family can keep focused, production-like examples without forcing everything into one `/ui/shadcn/chart` page.
6
-
7
- Use Chart for dashboards, KPI cards, trend comparisons, radial summaries, and interactive data views where one shared config should drive labels, colors, legends, and tooltip copy.
8
-
9
- ## Installation
10
-
11
- ```bash
12
- bun add @ojiepermana/angular
13
- npm install @ojiepermana/angular
14
- ```
15
-
16
- ## Import
17
-
18
- Import shared primitives from the chart root entrypoint, then import the concrete chart family from its granular subpath.
19
-
20
- ```ts
21
- import {
22
- ChartAxisX,
23
- ChartAxisY,
24
- ChartContainer,
25
- ChartGrid,
26
- ChartLegend,
27
- ChartTooltip,
28
- type ChartConfig,
29
- } from '@ojiepermana/angular/component/chart';
30
- import { BarChart } from '@ojiepermana/angular/component/chart/bar';
31
- ```
32
-
33
- ### Supported chart entrypoints
34
-
35
- | Import path | Selector | Best for |
36
- | ---------------------------------------------- | ------------------ | ----------------------------------------------------------------- |
37
- | `@ojiepermana/angular/component/chart/bar` | `ui-bar-chart` | grouped, stacked, horizontal, active, and mixed-color bar layouts |
38
- | `@ojiepermana/angular/component/chart/line` | `ui-line-chart` | trends, comparisons, and zoomable time-series lines |
39
- | `@ojiepermana/angular/component/chart/area` | `ui-area-chart` | filled trend bands, stacked areas, and expanded percent views |
40
- | `@ojiepermana/angular/component/chart/pie` | `ui-pie-chart` | part-to-whole slices and donut charts |
41
- | `@ojiepermana/angular/component/chart/radar` | `ui-radar-chart` | multi-axis performance comparisons |
42
- | `@ojiepermana/angular/component/chart/radial` | `ui-radial-chart` | progress rings, radial comparisons, and center-metric summaries |
43
- | `@ojiepermana/angular/component/chart/scatter` | `ui-scatter-chart` | XY correlation plots and point clouds |
44
-
45
- ## Composition
46
-
47
- The Angular structure keeps the same high-level idea as shadcn Chart: define a shared chart config once, then compose a specific chart type with optional grid, axis, tooltip, legend, and center content.
48
-
49
- ```text
50
- ui-chart-container
51
- ├── ui-bar-chart | ui-line-chart | ui-area-chart | ui-scatter-chart
52
- │ ├── svg:g[ui-chart-grid]
53
- │ ├── svg:g[ui-chart-axis-x]
54
- │ ├── svg:g[ui-chart-axis-y]
55
- │ └── svg:g[ui-chart-crosshair] / svg:g[ui-chart-brush] (optional)
56
- ├── ui-pie-chart | ui-radial-chart | ui-radar-chart
57
- │ └── ui-pie-center | ui-radial-center (optional)
58
- ├── ui-chart-tooltip
59
- ├── ui-chart-legend
60
- └── ui-chart-zoom-controls (optional)
61
- ```
62
-
63
- All child primitives read dimensions, series metadata, and scoped color tokens from `ui-chart-container`.
64
-
65
- ## Basic usage
66
-
67
- Start with a readonly `ChartConfig`, keep the dataset in any shape that makes sense for your feature, and map the chart to the relevant keys.
68
-
69
- ```ts
70
- const trafficChartConfig = {
71
- desktop: { label: 'Desktop', color: 'var(--chart-1)' },
72
- mobile: { label: 'Mobile', color: 'var(--chart-2)' },
73
- } satisfies ChartConfig;
74
-
75
- const trafficData = [
76
- { month: 'January', desktop: 186, mobile: 80 },
77
- { month: 'February', desktop: 305, mobile: 200 },
78
- { month: 'March', desktop: 237, mobile: 120 },
79
- { month: 'April', desktop: 73, mobile: 190 },
80
- { month: 'May', desktop: 209, mobile: 130 },
81
- { month: 'June', desktop: 214, mobile: 140 },
82
- ];
83
- ```
84
-
85
- ```html
86
- <div class="w-full max-w-3xl">
87
- <ui-chart-container [config]="trafficChartConfig" chartId="traffic-overview">
88
- <ui-bar-chart [data]="trafficData" xKey="month">
89
- <svg:g ui-chart-grid></svg:g>
90
- <svg:g ui-chart-axis-x></svg:g>
91
- <svg:g ui-chart-axis-y></svg:g>
92
- </ui-bar-chart>
93
- <ui-chart-tooltip [data]="trafficData" xKey="month" />
94
- <ui-chart-legend />
95
- </ui-chart-container>
96
- </div>
97
- ```
98
-
99
- ## Common patterns
100
-
101
- ### First chart flow
102
-
103
- The closest Angular equivalent to the upstream shadcn walkthrough is:
104
-
105
- 1. Define your dataset.
106
- 2. Define `ChartConfig` so labels and colors stay decoupled from the raw data.
107
- 3. Wrap the chart in `ui-chart-container`.
108
- 4. Add `svg:g[ui-chart-grid]`, axis directives, `ui-chart-tooltip`, and `ui-chart-legend` only where they add value.
109
-
110
- This keeps the chart family focused while still letting the shared primitives manage the common UI pieces.
111
-
112
- ### Swapping chart families
113
-
114
- The same `ChartConfig` can back multiple chart families. In most cases you only swap the concrete chart import and the family-specific inputs.
115
-
116
- ```ts
117
- import { AreaChart } from '@ojiepermana/angular/component/chart/area';
118
- import { LineChart } from '@ojiepermana/angular/component/chart/line';
119
- ```
120
-
121
- - `ui-line-chart` adds inputs such as `curve`, `showDots`, and `showValueLabels`.
122
- - `ui-area-chart` adds `stacked`, `expanded`, `gradient`, and `curve`.
123
- - `ui-bar-chart` adds `orientation`, `variant`, `colorKey`, `activeKey`, and `activeValue`.
124
-
125
- ### Pie and radial summaries
126
-
127
- For donut, pie, and radial progress layouts, use `nameKey` plus `valueKey` instead of `xKey`.
128
-
129
- ```html
130
- <ui-chart-container [config]="browserConfig" aspect="aspect-square">
131
- <ui-pie-chart
132
- [data]="browserData"
133
- nameKey="browser"
134
- valueKey="visitors"
135
- [seriesKeys]="browserSeriesKeys"
136
- [innerRadius]="64">
137
- </ui-pie-chart>
138
- <ui-chart-tooltip [data]="browserData" xKey="browser" valueKey="visitors" indicator="dot" />
139
- <ui-chart-legend />
140
- </ui-chart-container>
141
- ```
142
-
143
- ### Tooltip formatting
144
-
145
- `ui-chart-tooltip` is where most presentational customization lives.
146
-
147
- ```html
148
- <ui-chart-tooltip
149
- [data]="activityData"
150
- xKey="date"
151
- indicator="line"
152
- labelKey="views"
153
- [labelFormatter]="longDateFormatter"
154
- [formatter]="compactNumberFormatter" />
155
- ```
156
-
157
- Use `valueKey` for single-value radial and pie datasets, `hideLabel` when the card already provides the label context, and `indicator="none"` when you want a copy-first tooltip layout.
158
-
159
- ### Per-row colors and active emphasis
160
-
161
- Use `colorKey` when the dataset itself carries a color token such as `fill`, and use `activeKey` plus `activeValue` when one category should be visually emphasized without rewriting the whole series config.
162
-
163
- ## API reference
164
-
165
- ### `ChartContainer`
166
-
167
- | Input | Type | Default |
168
- | --------- | ---------------- | ---------------- |
169
- | `config` | `ChartConfig` | — |
170
- | `aspect` | `string` | `'aspect-video'` |
171
- | `chartId` | `string \| null` | auto-generated |
172
-
173
- `ChartConfig` is a readonly record of series keys to labels, icons, colors, or theme-aware light/dark color maps.
174
-
175
- ```ts
176
- type ChartConfig = Readonly<
177
- Record<
178
- string,
179
- {
180
- label?: string;
181
- icon?: Type<unknown>;
182
- color?: string;
183
- theme?: Readonly<Record<'light' | 'dark', string>>;
184
- }
185
- >
186
- >;
187
- ```
188
-
189
- ### Shared primitives
190
-
191
- | Part | Key inputs | Notes |
192
- | ------------------------ | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
193
- | `svg:g[ui-chart-grid]` | none | Adds cartesian grid lines behind bar, line, and area charts. |
194
- | `svg:g[ui-chart-axis-x]` | `tickCount`, `tickLine`, `tickFormat` | Categorical axis for cartesian layouts. |
195
- | `svg:g[ui-chart-axis-y]` | `tickCount`, `tickLine`, `tickFormat` | Numeric axis for cartesian layouts. |
196
- | `ui-chart-tooltip` | `data`, `xKey`, `valueKey`, `indicator`, `label`, `labelKey`, `labelFormatter`, `formatter`, `hideLabel` | Handles default tooltip layout plus custom template projection. |
197
- | `ui-chart-legend` | none | Renders toggle buttons for visible series. |
198
- | `ui-chart-zoom-controls` | none | Pair with zoomable line and scatter views. |
199
- | `ui-pie-center` | projected content | Centers labels or KPIs inside pie layouts. |
200
- | `ui-radial-center` | projected content | Centers labels or KPIs inside radial layouts. |
201
-
202
- ### Chart families
203
-
204
- | Selector | Key inputs |
205
- | ------------------ | --------------------------------------------------------------------------------------------------- |
206
- | `ui-bar-chart` | `data`, `xKey`, `orientation`, `variant`, `colorKey`, `activeKey`, `activeValue`, `showValueLabels` |
207
- | `ui-line-chart` | `data`, `xKey`, `curve`, `showDots`, `dotRadius`, `showValueLabels` |
208
- | `ui-area-chart` | `data`, `xKey`, `stacked`, `expanded`, `gradient`, `curve` |
209
- | `ui-pie-chart` | `data`, `nameKey`, `valueKey`, `seriesKeys`, `innerRadius`, `activeIndex`, `activeOffset` |
210
- | `ui-radar-chart` | `data`, `axisKey`, `curve`, `levels`, `grid`, `showLabels`, `showDots` |
211
- | `ui-radial-chart` | `data`, `nameKey`, `valueKey`, `seriesKeys`, `maxValue`, `showTrack`, `showValueLabels` |
212
- | `ui-scatter-chart` | `data`, `xKey`, `yKey`, `sizeKey`, `seriesKey`, `xDomain`, `yDomain` |
213
-
214
- ## Styling and theming
215
-
216
- - Prefer CSS variables such as `var(--chart-1)` and `var(--chart-2)` in `ChartConfig`. This matches the current shadcn guidance and the theme tokens shipped by this library.
217
- - `ui-chart-container` scopes generated `--color-<series>` variables to the chart instance, so tooltip rows, legends, and series shapes stay aligned.
218
- - Use `theme: { light, dark }` on a series config entry when the chart needs different values per color scheme.
219
- - Keep the parent container responsible for width, and use the `aspect` input when the default `aspect-video` does not match the layout.
220
- - Use `colorKey` only when the dataset should override per-series colors with a row-specific token such as `fill`.
221
-
222
- ## Accessibility
223
-
224
- - Chart hosts expose an `aria-label` summary describing the chart type, category count, and visible series.
225
- - Interactive marks such as bars, dots, and slices are keyboard focusable where the layout supports activation.
226
- - `ui-chart-tooltip` includes a polite live region so changing categories can be announced to assistive technology.
227
- - `ui-chart-legend` uses native buttons with `aria-pressed` to reflect hidden and visible series state.
228
- - Keep surrounding card copy descriptive so the chart has enough context when read outside its visual layout.
229
-
230
- ## Keyboard interactions
231
-
232
- - `Tab` reaches interactive bars, dots, slices, and legend toggle buttons.
233
- - `Enter` and `Space` trigger the same click behavior as pointer activation on interactive marks.
234
- - Focusing a supported data mark updates the shared active point so tooltip content stays reachable without hover.
235
-
236
- ## Angular notes
237
-
238
- - Keep chart config objects readonly and signal-friendly. A top-level `const` or signal-backed computed config works well.
239
- - Every chart family must live inside `ui-chart-container`; that container provides dimensions, series visibility state, and scoped color variables to descendants.
240
- - Use an explicit `chartId` when multiple charts of the same family appear on one page or when tests need a stable selector.
241
- - The local shadcn mapping for Chart lives in the dedicated `/ui/chart` overview route with focused family demos under `/ui/chart/*`.
242
-
243
- ## Source parity
244
-
245
- This Angular package follows the shadcn Chart information architecture and theming concepts, but it does not mirror the React API one-to-one.
246
-
247
- - shadcn uses Recharts components directly and layers `ChartTooltipContent` and `ChartLegendContent` around them.
248
- - This Angular library ships standalone chart families plus shared primitives, so you compose `ui-chart-container`, the relevant `ui-*-chart`, `ui-chart-tooltip`, and `ui-chart-legend` instead of wiring Recharts JSX.
249
- - The dedicated `/ui/chart/*` route group is the intentional local mapping for shadcn Chart in this repo; no duplicate `/ui/shadcn/chart` page is required.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../../fesm2022/ojiepermana-angular-component-chart-area.mjs",
3
- "typings": "../../../types/ojiepermana-angular-component-chart-area.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../../fesm2022/ojiepermana-angular-component-chart-bar.mjs",
3
- "typings": "../../../types/ojiepermana-angular-component-chart-bar.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../../fesm2022/ojiepermana-angular-component-chart-line.mjs",
3
- "typings": "../../../types/ojiepermana-angular-component-chart-line.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-chart.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-chart.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../../fesm2022/ojiepermana-angular-component-chart-pie.mjs",
3
- "typings": "../../../types/ojiepermana-angular-component-chart-pie.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../../fesm2022/ojiepermana-angular-component-chart-radar.mjs",
3
- "typings": "../../../types/ojiepermana-angular-component-chart-radar.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../../fesm2022/ojiepermana-angular-component-chart-radial.mjs",
3
- "typings": "../../../types/ojiepermana-angular-component-chart-radial.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../../fesm2022/ojiepermana-angular-component-chart-scatter.mjs",
3
- "typings": "../../../types/ojiepermana-angular-component-chart-scatter.d.ts"
4
- }
@@ -1,149 +0,0 @@
1
- # Checkbox
2
-
3
- A shadcn-style checkbox primitive built on Angular Material's `mat-checkbox`, with full `ControlValueAccessor` support for `ngModel` and reactive forms.
4
-
5
- ## Import
6
-
7
- ```ts
8
- import { CheckboxComponent } from '@ojiepermana/angular/component/checkbox';
9
- import { LabelComponent } from '@ojiepermana/angular/component/label';
10
- ```
11
-
12
- ## Usage
13
-
14
- Wrap the control and copy in `label[ui-label]` when the text should toggle the checkbox. This is the closest Angular equivalent to the upstream shadcn `Field` + `FieldLabel` composition.
15
-
16
- ```html
17
- <label ui-label class="flex items-start gap-3">
18
- <ui-checkbox [(ngModel)]="accepted" name="terms-checkbox" class="mt-0.5" />
19
- <span class="grid gap-1 leading-none">
20
- <span>Accept terms and conditions</span>
21
- <span class="text-sm font-normal leading-5 text-muted-foreground">
22
- By clicking this checkbox, you agree to the terms.
23
- </span>
24
- </span>
25
- </label>
26
- ```
27
-
28
- Reactive forms continue to work through the component's value accessor.
29
-
30
- ```html
31
- <ui-checkbox [formControl]="form.controls.marketingOptIn" aria-label="Receive product updates" />
32
- ```
33
-
34
- ## Common patterns
35
-
36
- ### Controlled checked state
37
-
38
- Use `checkedChange` when the parent owns the signal and you want to keep the checkbox controlled without wrapping a form model.
39
-
40
- ```ts
41
- const marketingOptIn = signal(false);
42
- ```
43
-
44
- ```html
45
- <ui-checkbox
46
- [ngModel]="marketingOptIn()"
47
- (checkedChange)="marketingOptIn.set($event)"
48
- aria-label="Receive product updates" />
49
- ```
50
-
51
- ### Invalid state
52
-
53
- Forward `aria-invalid="true"` to switch the control into the destructive invalid treatment.
54
-
55
- ```html
56
- <label ui-label class="flex items-start gap-3 text-destructive">
57
- <ui-checkbox aria-invalid="true" name="terms-checkbox-invalid" class="mt-0.5" />
58
- <span class="grid gap-1 leading-none">
59
- <span>Accept terms and conditions</span>
60
- <span class="text-sm font-normal leading-5 text-muted-foreground">
61
- Choose this before continuing to checkout.
62
- </span>
63
- </span>
64
- </label>
65
- ```
66
-
67
- ### Grouped preferences
68
-
69
- Use a semantic `fieldset` for a checkbox list.
70
-
71
- ```html
72
- <fieldset class="space-y-3">
73
- <legend class="text-sm font-semibold">Show these items on the desktop:</legend>
74
- @for (item of groupOptions; track item.id) {
75
- <label ui-label class="flex items-start gap-3">
76
- <ui-checkbox
77
- [ngModel]="desktopItems().has(item.id)"
78
- (checkedChange)="toggleDesktopItem(item.id, $event)"
79
- [name]="item.id"
80
- class="mt-0.5" />
81
- <span class="font-normal">{{ item.label }}</span>
82
- </label>
83
- }
84
- </fieldset>
85
- ```
86
-
87
- ### Table row selection
88
-
89
- Use `indeterminate` for the select-all checkbox and set `data-state="selected"` on the selected row so the table highlight stays in sync.
90
-
91
- ```html
92
- <ui-checkbox
93
- [ngModel]="selectAll()"
94
- [indeterminate]="someRowsSelected()"
95
- aria-label="Select all team members"
96
- (checkedChange)="handleSelectAll($event)" />
97
- ```
98
-
99
- ## API reference
100
-
101
- | Input | Type | Default | Notes |
102
- | ------------------ | --------------------------- | -------------- | ------------------------------------------------------------------------ |
103
- | `id` | `string` | auto-generated | Forwarded to Angular Material; the native input id becomes `<id>-input`. |
104
- | `name` | `string \| null` | `null` | Forwarded to the native checkbox input. |
105
- | `indeterminate` | `boolean` | `false` | Useful for select-all patterns. |
106
- | `required` | `boolean` | `false` | Forwarded to the native input. |
107
- | `aria-label` | `string \| null` | `null` | Use for icon-only or table selection checkboxes. |
108
- | `aria-describedby` | `string \| null` | `null` | Links helper or error text outside the checkbox. |
109
- | `aria-labelledby` | `string \| null` | `null` | Alternative to projected text or wrapper labels. |
110
- | `aria-invalid` | `boolean \| string \| null` | `null` | Switches the control into the destructive invalid treatment. |
111
- | `class` | `string` | `''` | Adds utility classes to the wrapped Material checkbox host. |
112
-
113
- | Output | Payload |
114
- | --------------- | --------- |
115
- | `checkedChange` | `boolean` |
116
-
117
- Public method: `focus()`.
118
-
119
- ## Styling and theming
120
-
121
- The component uses a Material bridge so Angular Material's structural markup is restyled through the library theme tokens.
122
-
123
- - Default borders and icon color use the shared `input` and `primary` tokens.
124
- - `aria-invalid="true"` switches the control to the `destructive` token set.
125
- - Pass spacing or alignment utilities through the `class` input when the checkbox needs to align with multi-line content.
126
-
127
- Extra visual adjustments belong in `checkbox.component.css` inside the library.
128
-
129
- ## Accessibility
130
-
131
- - Always give the checkbox an accessible name via wrapper label text, projected content, `aria-label`, or `aria-labelledby`.
132
- - Use `aria-describedby` to connect helper or error text rendered outside the checkbox.
133
- - Use `indeterminate` for tri-state list headers and table select-all behavior.
134
- - `required` and `name` are forwarded to the underlying native input.
135
-
136
- ## Keyboard interactions
137
-
138
- - `Tab` moves focus to the checkbox in DOM order.
139
- - `Space` toggles the checked state.
140
-
141
- ## Angular notes
142
-
143
- - `ngModel`, reactive forms, and `checkedChange` all work with the same primitive.
144
- - When you pass `id`, Angular Material derives the native input id as `<id>-input`; wrapper labels or `aria-labelledby` are usually the simplest Angular pattern.
145
- - Projected text still works if you prefer `<ui-checkbox>Accept</ui-checkbox>` for compact markup.
146
-
147
- ## Source parity
148
-
149
- This Angular implementation follows the shadcn Checkbox examples while mapping the upstream `Field` helpers to Angular-native label wrappers, `fieldset` composition, semantic table rows, and signal-friendly state handling.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-checkbox.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-checkbox.d.ts"
4
- }
@@ -1,195 +0,0 @@
1
- # Collapsible
2
-
3
- Displays an interactive disclosure region that expands and collapses inline content.
4
-
5
- Use Collapsible for settings drawers, detail rows, compact status cards, and nested explorers where content should stay in the same document flow.
6
-
7
- ## Import
8
-
9
- ```ts
10
- import {
11
- CollapsibleComponent,
12
- CollapsibleContentComponent,
13
- CollapsibleTriggerDirective,
14
- } from '@ojiepermana/angular/component/collapsible';
15
- ```
16
-
17
- ## Composition
18
-
19
- The Angular composition follows the shadcn and Radix structure while using a root component, a trigger directive on a native button, and a content component.
20
-
21
- ```text
22
- ui-collapsible
23
- ├── button[ui-collapsible-trigger]
24
- └── ui-collapsible-content
25
- ```
26
-
27
- ## Basic usage
28
-
29
- Bind `[(open)]` when the parent should control the disclosure state or seed a default open panel.
30
-
31
- ```ts
32
- readonly detailsOpen = signal(false);
33
- ```
34
-
35
- ```html
36
- <ui-collapsible [(open)]="detailsOpen" class="w-full max-w-md rounded-lg border border-border p-3">
37
- <button
38
- ui-collapsible-trigger
39
- class="inline-flex w-full items-center justify-between gap-2 text-left text-sm font-medium">
40
- Can I use this in my project?
41
- <span aria-hidden="true">+</span>
42
- </button>
43
-
44
- <ui-collapsible-content class="pt-3 text-sm text-muted-foreground">
45
- Yes. The trigger and content follow the disclosure ARIA pattern and stay in normal layout flow.
46
- </ui-collapsible-content>
47
- </ui-collapsible>
48
- ```
49
-
50
- ## Common patterns
51
-
52
- ### Controlled state
53
-
54
- Use a signal boolean with `[(open)]` when another control needs to observe or update the open state.
55
-
56
- ```ts
57
- readonly isOpen = signal(false);
58
-
59
- toggleFromElsewhere(): void {
60
- this.isOpen.update((value) => !value);
61
- }
62
- ```
63
-
64
- ### Button composition
65
-
66
- `button[ui-collapsible-trigger]` is a directive, so it can compose with the local button primitive on the same element.
67
-
68
- ```html
69
- <ui-collapsible [(open)]="basicOpen" class="rounded-md border border-border p-2">
70
- <button ui-button ui-collapsible-trigger variant="ghost" class="w-full justify-between px-2">
71
- Product details
72
- <svg aria-hidden="true" class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
73
- <polyline points="6 9 12 15 18 9" />
74
- </svg>
75
- </button>
76
-
77
- <ui-collapsible-content class="px-2 pb-2 pt-1 text-sm text-muted-foreground">
78
- This panel can reveal additional details without leaving the page.
79
- </ui-collapsible-content>
80
- </ui-collapsible>
81
- ```
82
-
83
- ### Settings drawer
84
-
85
- Wrap the trigger and content inside a card-like surface when the disclosure belongs to a small settings editor.
86
-
87
- ```html
88
- <ui-collapsible [(open)]="settingsOpen" class="rounded-lg border border-border p-4">
89
- <div class="flex items-start gap-3">
90
- <div class="grid flex-1 grid-cols-2 gap-2">
91
- <input ui-input placeholder="Radius X" />
92
- <input ui-input placeholder="Radius Y" />
93
- <ui-collapsible-content class="col-span-full grid grid-cols-2 gap-2 pt-0">
94
- <input ui-input placeholder="Blur" />
95
- <input ui-input placeholder="Spread" />
96
- </ui-collapsible-content>
97
- </div>
98
-
99
- <button ui-button ui-collapsible-trigger variant="outline" size="icon" aria-label="Toggle advanced fields">
100
- <span aria-hidden="true">...</span>
101
- </button>
102
- </div>
103
- </ui-collapsible>
104
- ```
105
-
106
- ### Nested file tree
107
-
108
- Nested `ui-collapsible` roots work well for compact explorers and outline views.
109
-
110
- ```html
111
- <ui-collapsible [(open)]="componentsOpen">
112
- <button ui-collapsible-trigger class="inline-flex items-center gap-2 text-sm font-medium">components</button>
113
-
114
- <ui-collapsible-content class="ml-5 mt-2 flex flex-col gap-1">
115
- <ui-collapsible [(open)]="uiOpen">
116
- <button ui-collapsible-trigger class="inline-flex items-center gap-2 text-sm font-medium">ui</button>
117
- <ui-collapsible-content class="ml-5 mt-2 flex flex-col gap-1 text-sm text-muted-foreground">
118
- <span>button.ts</span>
119
- <span>collapsible.ts</span>
120
- </ui-collapsible-content>
121
- </ui-collapsible>
122
- </ui-collapsible-content>
123
- </ui-collapsible>
124
- ```
125
-
126
- ### RTL
127
-
128
- For right-to-left interfaces, set `dir="rtl"` on a wrapping container or the collapsible root.
129
-
130
- ```html
131
- <section dir="rtl" lang="ar" class="max-w-md text-right">
132
- <ui-collapsible [(open)]="rtlOpen" class="flex flex-col gap-2">
133
- <button ui-collapsible-trigger class="inline-flex items-center justify-between gap-2 text-sm font-medium">
134
- تبديل التفاصيل
135
- </button>
136
- <ui-collapsible-content class="flex flex-col gap-2 text-sm">
137
- <div class="rounded-md border border-border px-4 py-2">عنوان الشحن</div>
138
- <div class="rounded-md border border-border px-4 py-2">2x سماعات الاستوديو</div>
139
- </ui-collapsible-content>
140
- </ui-collapsible>
141
- </section>
142
- ```
143
-
144
- ## API reference
145
-
146
- ### `CollapsibleComponent`
147
-
148
- | Input | Type | Default |
149
- | -------------- | --------- | ------- |
150
- | `open` (model) | `boolean` | `false` |
151
- | `disabled` | `boolean` | `false` |
152
- | `class` | `string` | `''` |
153
-
154
- ### `CollapsibleContentComponent`
155
-
156
- | Input | Type | Default |
157
- | ------------ | --------- | ------- |
158
- | `forceMount` | `boolean` | `false` |
159
- | `class` | `string` | `''` |
160
-
161
- ### Parts
162
-
163
- - `button[ui-collapsible-trigger]` is the interactive control. It manages `aria-expanded`, `aria-controls`, `data-state`, and root toggling.
164
- - `ui-collapsible-content` is the panel region. It applies `role="region"`, `aria-labelledby`, `data-state`, and optional persistent projection via `forceMount`.
165
- - Lower-level behavior follows the Radix Collapsible model: <https://www.radix-ui.com/primitives/docs/components/collapsible#api-reference>.
166
-
167
- ## Styling and theming
168
-
169
- Pass `class` to the root or content, and use the native `class` attribute on the trigger button. The root and content expose `data-state="open" | "closed"` so surrounding styles or transitions can react to the current disclosure state.
170
-
171
- Use theme tokens such as `border-border`, `bg-card`, `text-muted-foreground`, and spacing utilities to match the rest of the library.
172
-
173
- ## Accessibility
174
-
175
- - The primitive follows the disclosure WAI-ARIA pattern.
176
- - Trigger is a native button, so Enter and Space work without extra key handling.
177
- - Trigger receives `aria-controls` and `aria-expanded`; content receives `role="region"` and `aria-labelledby`.
178
- - `disabled` keeps the control visible while preventing interaction.
179
-
180
- ## Keyboard interactions
181
-
182
- - `Enter` toggles the collapsible.
183
- - `Space` toggles the collapsible.
184
- - Tab order follows the DOM order of the trigger and any focusable controls inside the content.
185
-
186
- ## Angular notes
187
-
188
- - `[(open)]` is the Angular equivalent of shadcn's `open` and `onOpenChange` props.
189
- - `button[ui-collapsible-trigger]` is a directive, not a component, so it can compose with `button[ui-button]` on the same element.
190
- - `forceMount` keeps projected content rendered even when the panel is closed, which is useful for measuring or animating content without re-creating it.
191
- - The local API intentionally does not add an `asChild` prop; Angular composition is handled through selectors and host directives instead.
192
-
193
- ## Source parity
194
-
195
- This Angular implementation follows the shadcn Collapsible structure and examples while translating the API to standalone Angular imports, signal-backed state, button-directive composition, and Angular-friendly RTL guidance.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-collapsible.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-collapsible.d.ts"
4
- }