@ojiepermana/angular 22.0.1 → 22.0.29

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