@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,311 +0,0 @@
1
- # Dropdown Menu
2
-
3
- Accessible menu rendered in a CDK overlay with keyboard navigation (arrow keys,
4
- Home/End, type-ahead, Escape).
5
-
6
- This Angular implementation follows the shadcn Dropdown Menu information architecture while mapping the React root
7
- component to an explicit trigger directive and projected menu template.
8
-
9
- ## Import
10
-
11
- ```ts
12
- import {
13
- MenuCheckboxItemComponent,
14
- MenuTriggerDirective,
15
- MenuContentDirective,
16
- MenuGroupComponent,
17
- MenuSurfaceComponent,
18
- MenuItemComponent,
19
- MenuRadioGroupComponent,
20
- MenuRadioItemComponent,
21
- MenuSeparatorComponent,
22
- MenuLabelComponent,
23
- MenuShortcutComponent,
24
- } from '@ojiepermana/angular/component/dropdown-menu';
25
- ```
26
-
27
- ## Usage
28
-
29
- ```html
30
- <button
31
- ui-button
32
- type="button"
33
- variant="outline"
34
- #accountTrigger="uiMenuTrigger"
35
- [uiMenuTrigger]="menu"
36
- side="bottom"
37
- align="end">
38
- Open
39
- </button>
40
-
41
- <ng-template uiMenuContent #menu="uiMenuContent">
42
- <ui-menu-surface class="w-56">
43
- <ui-menu-group>
44
- <ui-menu-label>My account</ui-menu-label>
45
- <button ui-menu-item type="button" (selected)="onProfile(); accountTrigger.close()">
46
- Profile
47
- <span ui-menu-shortcut>⌘P</span>
48
- </button>
49
- <button ui-menu-item type="button" (selected)="onSettings(); accountTrigger.close()">Settings</button>
50
- </ui-menu-group>
51
- <ui-menu-separator />
52
- <ui-menu-group>
53
- <button ui-menu-item type="button" disabled>Disabled</button>
54
- <button ui-menu-item type="button" variant="destructive" (selected)="onSignOut(); accountTrigger.close()">
55
- Sign out
56
- </button>
57
- </ui-menu-group>
58
- </ui-menu-surface>
59
- </ng-template>
60
- ```
61
-
62
- Use the trigger export when a standard command row should dismiss the overlay. Checkbox and radio rows can stay open so
63
- the user can adjust multiple settings in one pass.
64
-
65
- ## Composition
66
-
67
- ```text
68
- button[ui-button][uiMenuTrigger]
69
- └── ng-template[uiMenuContent]
70
- └── ui-menu-surface
71
- ├── ui-menu-group
72
- │ ├── ui-menu-label
73
- │ ├── button[ui-menu-item]
74
- │ └── button[ui-menu-item][uiMenuTrigger]
75
- │ └── ng-template[uiMenuContent]
76
- │ └── ui-menu-surface
77
- ├── ui-menu-separator
78
- ├── button[ui-menu-checkbox-item]
79
- └── ui-menu-radio-group
80
- └── button[ui-menu-radio-item]
81
- ```
82
-
83
- ## Common patterns
84
-
85
- ### Basic account menu
86
-
87
- ```html
88
- <button ui-button type="button" variant="outline" #menuTrigger="uiMenuTrigger" [uiMenuTrigger]="menu">Open</button>
89
-
90
- <ng-template uiMenuContent #menu="uiMenuContent">
91
- <ui-menu-surface class="w-56">
92
- <ui-menu-group>
93
- <ui-menu-label>My Account</ui-menu-label>
94
- <button ui-menu-item type="button" (selected)="menuTrigger.close()">Profile</button>
95
- <button ui-menu-item type="button" (selected)="menuTrigger.close()">Billing</button>
96
- <button ui-menu-item type="button" (selected)="menuTrigger.close()">Settings</button>
97
- </ui-menu-group>
98
- <ui-menu-separator />
99
- <ui-menu-group>
100
- <button ui-menu-item type="button" (selected)="menuTrigger.close()">GitHub</button>
101
- <button ui-menu-item type="button" (selected)="menuTrigger.close()">Support</button>
102
- <button ui-menu-item type="button" [disabled]="true">API</button>
103
- </ui-menu-group>
104
- </ui-menu-surface>
105
- </ng-template>
106
- ```
107
-
108
- ### Submenu
109
-
110
- Map shadcn `DropdownMenuSub` to `uiMenuTrigger` on a `button[ui-menu-item]`.
111
-
112
- ```html
113
- <ng-template uiMenuContent #inviteUsersMenu="uiMenuContent">
114
- <ui-menu-surface class="w-48">
115
- <button ui-menu-item type="button">Email</button>
116
- <button ui-menu-item type="button">Message</button>
117
- <button ui-menu-item type="button">Calendar invite</button>
118
- </ui-menu-surface>
119
- </ng-template>
120
-
121
- <ui-menu-surface class="w-56">
122
- <ui-menu-group>
123
- <button ui-menu-item type="button">Team</button>
124
- <button ui-menu-item type="button" [uiMenuTrigger]="inviteUsersMenu" side="right" align="start">
125
- Invite users
126
- <span class="ml-auto text-xs text-muted-foreground">›</span>
127
- </button>
128
- </ui-menu-group>
129
- </ui-menu-surface>
130
- ```
131
-
132
- ### Checkboxes
133
-
134
- Use checkbox rows when the menu exposes independent toggles.
135
-
136
- ```ts
137
- const showStatusBar = signal(true);
138
- const showActivityBar = signal(false);
139
- const showPanel = signal(false);
140
- ```
141
-
142
- ```html
143
- <ui-menu-surface class="w-44">
144
- <ui-menu-group>
145
- <ui-menu-label>Appearance</ui-menu-label>
146
- <button ui-menu-checkbox-item type="button" [(checked)]="showStatusBar">Status Bar</button>
147
- <button ui-menu-checkbox-item type="button" [(checked)]="showActivityBar">Activity Bar</button>
148
- <button ui-menu-checkbox-item type="button" [(checked)]="showPanel">Panel</button>
149
- </ui-menu-group>
150
- </ui-menu-surface>
151
- ```
152
-
153
- ### Radio group
154
-
155
- Use a radio group for one exclusive choice.
156
-
157
- ```ts
158
- const panelPosition = signal<'top' | 'bottom' | 'right'>('bottom');
159
- ```
160
-
161
- ```html
162
- <ui-menu-surface class="w-44">
163
- <ui-menu-label [inset]="true">Panel Position</ui-menu-label>
164
- <ui-menu-radio-group [(value)]="panelPosition">
165
- <button ui-menu-radio-item type="button" value="top">Top</button>
166
- <button ui-menu-radio-item type="button" value="bottom">Bottom</button>
167
- <button ui-menu-radio-item type="button" value="right">Right</button>
168
- </ui-menu-radio-group>
169
- </ui-menu-surface>
170
- ```
171
-
172
- ### Shortcuts and icons
173
-
174
- Project shortcut text and inline icons directly into the row content.
175
-
176
- ```html
177
- <ui-menu-surface class="w-56">
178
- <button ui-menu-item type="button">
179
- <svg aria-hidden="true" class="size-4" viewBox="0 0 24 24">...</svg>
180
- Profile
181
- <span ui-menu-shortcut>⇧⌘P</span>
182
- </button>
183
- <button ui-menu-item type="button">
184
- <svg aria-hidden="true" class="size-4" viewBox="0 0 24 24">...</svg>
185
- Billing
186
- <span ui-menu-shortcut>⌘B</span>
187
- </button>
188
- </ui-menu-surface>
189
- ```
190
-
191
- ### Avatar trigger composition
192
-
193
- Also import the avatar entrypoint when the trigger should be an account avatar.
194
-
195
- ```ts
196
- import { AvatarComponent, AvatarFallbackComponent, AvatarImageComponent } from '@ojiepermana/angular/component/avatar';
197
- ```
198
-
199
- ```html
200
- <button
201
- ui-button
202
- type="button"
203
- variant="ghost"
204
- size="icon"
205
- class="h-10 w-10 rounded-full p-0"
206
- [uiMenuTrigger]="accountMenu"
207
- align="end">
208
- <ui-avatar>
209
- <ui-avatar-image src="https://github.com/shadcn.png" alt="Ada Lovelace" />
210
- <ui-avatar-fallback>AL</ui-avatar-fallback>
211
- </ui-avatar>
212
- </button>
213
- ```
214
-
215
- ### RTL
216
-
217
- Set `dir="rtl"` and `lang` on the surface, and prefer `side="left"` when nested content should open toward the visual
218
- start edge.
219
-
220
- ```html
221
- <ng-template uiMenuContent #rtlAccountMenu="uiMenuContent">
222
- <ui-menu-surface dir="rtl" lang="ar" class="w-44 text-right">
223
- <button ui-menu-item type="button">الملف الشخصي</button>
224
- <button ui-menu-item type="button">الفوترة</button>
225
- </ui-menu-surface>
226
- </ng-template>
227
-
228
- <ui-menu-surface dir="rtl" lang="ar" class="w-56 text-right">
229
- <button ui-menu-item type="button" [uiMenuTrigger]="rtlAccountMenu" side="left" align="start">
230
- الحساب
231
- <span class="mr-auto text-xs text-muted-foreground">‹</span>
232
- </button>
233
- </ui-menu-surface>
234
- ```
235
-
236
- ## API
237
-
238
- ### `[uiMenuTrigger]`
239
-
240
- | Input | Type | Default |
241
- | --------------- | ---------------------------------------- | ---------- |
242
- | `uiMenuTrigger` | `MenuContentDirective` | _required_ |
243
- | `side` | `'top' \| 'right' \| 'bottom' \| 'left'` | `'bottom'` |
244
- | `align` | `'start' \| 'center' \| 'end'` | `'start'` |
245
- | `disabled` | `boolean` | `false` |
246
-
247
- Output: `openedChange: boolean`. Methods: `open()`, `close()`, `toggle()`.
248
-
249
- ### `ng-template[uiMenuContent]`
250
-
251
- Projected template wrapper for the menu surface that is consumed by `[uiMenuTrigger]`.
252
-
253
- ### `ui-menu-surface`
254
-
255
- Container with `role="menu"` and arrow key navigation wired through
256
- `FocusKeyManager` (wrapping + type-ahead). Emits `closeRequested` on Tab.
257
-
258
- ### `ui-menu-item`
259
-
260
- `role="menuitem"`. Inputs: `disabled`, `inset`, `class`. Output: `selected`.
261
-
262
- ### `ui-menu-checkbox-item`
263
-
264
- `role="menuitemcheckbox"`. Inputs: `[(checked)]`, `disabled`, `variant`, `class`.
265
-
266
- ### `ui-menu-radio-group` and `ui-menu-radio-item`
267
-
268
- Use `[(value)]` on the group and `value` on each radio row. Radio items expose `role="menuitemradio"`.
269
-
270
- ### Auxiliary
271
-
272
- - `ui-menu-group` → structural wrapper with `role="group"`.
273
- - `ui-menu-separator` → `role="separator"`.
274
- - `ui-menu-label` — non-interactive label row.
275
- - `ui-menu-shortcut` — right-aligned shortcut badge.
276
-
277
- ## Styling and theming
278
-
279
- Pass `class` to the surface or individual rows to control width, spacing, and emphasis. Borders and separators use the
280
- shared theme border tokens, destructive rows use the destructive palette, and projected icons inherit the current text
281
- color.
282
-
283
- ## Accessibility
284
-
285
- - Trigger: `aria-haspopup="menu"`, `aria-expanded` reflects state.
286
- - Surface: `role="menu"`, items receive `role="menuitem"`, disabled items get
287
- `aria-disabled="true"`.
288
- - Checkbox and radio items expose `aria-checked` semantics through the relevant menuitem roles.
289
- - Close on outside click, Escape, or Tab. Focus returns to the trigger.
290
-
291
- ## Keyboard interactions
292
-
293
- - Enter, Space, and ArrowDown on the trigger open the menu.
294
- - Arrow Up and Arrow Down move between enabled rows; Home and End jump to the first or last row.
295
- - Typeahead matches the row label text.
296
- - Enter and Space activate the focused row.
297
-
298
- ## Angular notes
299
-
300
- - There is no React-style `DropdownMenu` root component; the root behavior is handled by `uiMenuTrigger` and
301
- `ng-template[uiMenuContent]`.
302
- - Reuse `uiMenuTrigger` on `button[ui-menu-item]` when you need a submenu.
303
- - Standard command rows can dismiss the overlay explicitly through a `#menuTrigger="uiMenuTrigger"` template reference,
304
- while checkbox and radio rows can stay open for multi-step preference changes.
305
-
306
- ## Source parity
307
-
308
- This Angular entrypoint keeps the main shadcn dropdown-menu patterns: grouped commands, shortcuts, icons, nested menus,
309
- checkbox items, radio groups, avatar triggers, destructive rows, and RTL guidance. The shadcn page includes additional
310
- permutations such as checkbox-icons, radio-icons, and a very large complex menu; the local demos cover the same
311
- primitives through representative compositions instead of duplicating every permutation one-to-one.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-dropdown-menu.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-dropdown-menu.d.ts"
4
- }
@@ -1,136 +0,0 @@
1
- # Editor
2
-
3
- Rich text editor shell with an accessible toolbar, configurable toolbar items, contenteditable form control support, and shadcn-style tokens.
4
-
5
- This component is conceptually inspired by Flux Editor. It does not bundle Tiptap or Flux JavaScript; instead, it provides a lightweight Angular primitive that applications can compose, bind, and extend.
6
-
7
- ## Import
8
-
9
- ```ts
10
- import { FormsModule } from '@angular/forms';
11
- import {
12
- EditorButtonComponent,
13
- EditorComponent,
14
- EditorContentComponent,
15
- EditorSeparatorComponent,
16
- EditorSpacerComponent,
17
- EditorToolbarComponent,
18
- } from '@ojiepermana/angular/component/editor';
19
- ```
20
-
21
- ## Usage
22
-
23
- ```html
24
- <ui-editor>
25
- <ui-editor-toolbar items="heading | bold italic underline | align ~ undo redo" />
26
- <ui-editor-content placeholder="Write something..." aria-label="Article body">
27
- <h3>What's changed</h3>
28
- <p>Draft release notes, article copy, or support responses here.</p>
29
- </ui-editor-content>
30
- </ui-editor>
31
- ```
32
-
33
- ## Forms
34
-
35
- `ui-editor-content` implements `ControlValueAccessor`, so it can bind to Angular forms as an HTML string.
36
-
37
- ```html
38
- <ui-editor>
39
- <ui-editor-toolbar />
40
- <ui-editor-content [(ngModel)]="content" name="content" aria-label="Article body" />
41
- </ui-editor>
42
- ```
43
-
44
- Sanitize persisted HTML at the application boundary before rendering it elsewhere.
45
-
46
- ## Toolbar Items
47
-
48
- The toolbar accepts a space-separated `items` string. Use `|` for a separator and `~` for a spacer.
49
-
50
- ```html
51
- <ui-editor-toolbar items="heading | bold italic strike underline | bullet ordered blockquote link align ~ undo redo" />
52
- ```
53
-
54
- Supported item names:
55
-
56
- | Item | Behavior |
57
- | ------------- | ---------------------------------------------------- |
58
- | `heading` | Text, heading 1, heading 2, and heading 3 selector. |
59
- | `bold` | Bold formatting. |
60
- | `italic` | Italic formatting. |
61
- | `strike` | Strikethrough formatting. |
62
- | `underline` | Underline formatting. |
63
- | `bullet` | Bulleted list. |
64
- | `ordered` | Numbered list. |
65
- | `blockquote` | Block quote block. |
66
- | `subscript` | Subscript formatting. |
67
- | `superscript` | Superscript formatting. |
68
- | `highlight` | Highlight selected text. |
69
- | `link` | Create a placeholder link for the current selection. |
70
- | `code` | Code block. |
71
- | `align` | Left, center, and right alignment selector. |
72
- | `undo` | Undo last edit. |
73
- | `redo` | Redo last edit. |
74
-
75
- ## Custom Toolbar
76
-
77
- Pass `items=""` and project custom toolbar controls.
78
-
79
- ```html
80
- <ui-editor>
81
- <ui-editor-toolbar items="">
82
- <button ui-editor-button command="bold" aria-label="Bold">B</button>
83
- <button ui-editor-button command="italic" aria-label="Italic">I</button>
84
- <ui-editor-separator />
85
- <button ui-editor-button command="highlight" aria-label="Highlight">H</button>
86
- <ui-editor-spacer />
87
- <button ui-editor-button command="undo" aria-label="Undo">
88
- <svg
89
- aria-hidden="true"
90
- class="size-4"
91
- viewBox="0 0 24 24"
92
- fill="none"
93
- stroke="currentColor"
94
- stroke-width="1.75"
95
- stroke-linecap="round"
96
- stroke-linejoin="round">
97
- <path d="M9 14 4 9l5-5" />
98
- <path d="M4 9h10a6 6 0 0 1 0 12h-2" />
99
- </svg>
100
- </button>
101
- </ui-editor-toolbar>
102
- <ui-editor-content aria-label="Custom editor" />
103
- </ui-editor>
104
- ```
105
-
106
- ## Keyboard Shortcuts
107
-
108
- | Action | Shortcut |
109
- | ------------- | ----------------- |
110
- | Bold | Cmd/Ctrl+B |
111
- | Italic | Cmd/Ctrl+I |
112
- | Underline | Cmd/Ctrl+U |
113
- | Strikethrough | Cmd/Ctrl+Shift+X |
114
- | Ordered list | Cmd/Ctrl+Shift+7 |
115
- | Bulleted list | Cmd/Ctrl+Shift+8 |
116
- | Heading 1-3 | Cmd/Ctrl+Alt+1..3 |
117
- | Undo | Cmd/Ctrl+Z |
118
- | Redo | Cmd/Ctrl+Shift+Z |
119
-
120
- ## Styling
121
-
122
- The editor uses `border-input`, `bg-background`, `ring-ring`, `text-foreground`, `text-muted-foreground`, and `bg-muted` tokens. Pass sizing classes directly to the content slot when adjusting height.
123
-
124
- ```html
125
- <ui-editor>
126
- <ui-editor-toolbar />
127
- <ui-editor-content class="min-h-30 max-h-60" aria-label="Compact editor" />
128
- </ui-editor>
129
- ```
130
-
131
- ## Accessibility
132
-
133
- - `ui-editor-toolbar` renders `role="toolbar"`.
134
- - `ui-editor-content` renders `role="textbox"` and `aria-multiline="true"`.
135
- - Provide a clear `aria-label` for each editor content surface.
136
- - Give terse or icon-only custom toolbar buttons an explicit `aria-label`.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-editor.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-editor.d.ts"
4
- }
@@ -1,183 +0,0 @@
1
- # Empty
2
-
3
- Displays a reusable empty state with header, media, title, description, and content slots.
4
-
5
- Use Empty for onboarding gaps, no-results screens, no-notification panels, and 404-like recovery surfaces that need a clear next action.
6
-
7
- ## Import
8
-
9
- ```ts
10
- import {
11
- EmptyComponent,
12
- EmptyContentComponent,
13
- EmptyDescriptionComponent,
14
- EmptyHeaderComponent,
15
- EmptyMediaComponent,
16
- EmptyTitleComponent,
17
- } from '@ojiepermana/angular/component/empty';
18
- import { ButtonComponent } from '@ojiepermana/angular/component/button';
19
- ```
20
-
21
- ## Composition
22
-
23
- The Angular structure follows the shadcn Empty information architecture while keeping actions on native buttons and anchors.
24
-
25
- ```text
26
- ui-empty
27
- ├── ui-empty-header
28
- │ ├── ui-empty-media
29
- │ ├── ui-empty-title
30
- │ └── ui-empty-description
31
- └── ui-empty-content
32
- ```
33
-
34
- ## Basic usage
35
-
36
- ```html
37
- <ui-empty class="max-w-xl rounded-2xl border border-border bg-card/40">
38
- <ui-empty-header>
39
- <ui-empty-media variant="icon">
40
- <svg aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
41
- <path d="M12 6v12" />
42
- <path d="M6 12h12" />
43
- </svg>
44
- </ui-empty-media>
45
- <ui-empty-title>No projects yet</ui-empty-title>
46
- <ui-empty-description>
47
- You have not created any projects yet. Start by creating a new project or importing an existing one.
48
- </ui-empty-description>
49
- </ui-empty-header>
50
-
51
- <ui-empty-content class="sm:flex-row">
52
- <button ui-button type="button">Create project</button>
53
- <button ui-button type="button" variant="outline">Import project</button>
54
- </ui-empty-content>
55
-
56
- <a ui-button href="/docs/getting-started" variant="link" class="text-muted-foreground">Learn more</a>
57
- </ui-empty>
58
- ```
59
-
60
- ## Common patterns
61
-
62
- ### Outline shell
63
-
64
- Use border utilities on the root when the empty state should read like an inset card or dashboard panel.
65
-
66
- ```html
67
- <ui-empty class="rounded-2xl border border-dashed border-border">
68
- <ui-empty-header>
69
- <ui-empty-media variant="icon">...</ui-empty-media>
70
- <ui-empty-title>Cloud storage empty</ui-empty-title>
71
- <ui-empty-description>Upload files to your cloud storage to access them anywhere.</ui-empty-description>
72
- </ui-empty-header>
73
- <ui-empty-content>
74
- <button ui-button type="button" variant="outline" size="sm">Upload files</button>
75
- </ui-empty-content>
76
- </ui-empty>
77
- ```
78
-
79
- ### Avatar media
80
-
81
- Leave `ui-empty-media` on the default variant when projecting an avatar, avatar group, or any other custom artwork.
82
-
83
- ```html
84
- <ui-empty>
85
- <ui-empty-header>
86
- <ui-empty-media>
87
- <ui-avatar class="size-12">
88
- <ui-avatar-image src="https://github.com/shadcn.png" alt="shadcn" />
89
- <ui-avatar-fallback>CN</ui-avatar-fallback>
90
- </ui-avatar>
91
- </ui-empty-media>
92
- <ui-empty-title>User offline</ui-empty-title>
93
- <ui-empty-description>Leave a message and they will be notified when they come back online.</ui-empty-description>
94
- </ui-empty-header>
95
- <ui-empty-content>
96
- <button ui-button type="button" size="sm">Leave message</button>
97
- </ui-empty-content>
98
- </ui-empty>
99
- ```
100
-
101
- ### Input group recovery
102
-
103
- Compose `ui-empty-content` with the existing input-group primitives when the empty state should immediately guide recovery or search.
104
-
105
- ```html
106
- <ui-empty class="max-w-xl rounded-2xl border border-border">
107
- <ui-empty-header>
108
- <ui-empty-title>404 - Not found</ui-empty-title>
109
- <ui-empty-description>
110
- The page you are looking for does not exist. Try searching for what you need below.
111
- </ui-empty-description>
112
- </ui-empty-header>
113
- <ui-empty-content class="max-w-md">
114
- <ui-input-group class="w-full">
115
- <input ui-input-group-input aria-label="Search pages" placeholder="Try searching for pages..." />
116
- <ui-input-group-addon>
117
- <span aria-hidden="true">⌕</span>
118
- </ui-input-group-addon>
119
- <ui-input-group-addon align="inline-end">
120
- <span
121
- aria-hidden="true"
122
- class="inline-flex h-6 items-center rounded-md border border-border bg-background px-2 font-mono text-[11px] font-medium text-foreground shadow-sm">
123
- /
124
- </span>
125
- </ui-input-group-addon>
126
- </ui-input-group>
127
- </ui-empty-content>
128
- </ui-empty>
129
- ```
130
-
131
- ## API reference
132
-
133
- ### `EmptyComponent`
134
-
135
- | Input | Type | Default |
136
- | ------- | -------- | ------- |
137
- | `class` | `string` | `''` |
138
-
139
- ### `EmptyMediaComponent`
140
-
141
- | Input | Type | Default |
142
- | --------- | --------------------- | ----------- |
143
- | `variant` | `'default' \| 'icon'` | `'default'` |
144
- | `class` | `string` | `''` |
145
-
146
- ### Parts
147
-
148
- - `ui-empty-header` centers the media, title, and description stack.
149
- - `ui-empty-title` provides the primary heading.
150
- - `ui-empty-description` renders supporting copy with muted foreground color.
151
- - `ui-empty-content` groups actions, inputs, or recovery affordances under the header.
152
-
153
- All Empty parts also accept a `class` input.
154
-
155
- ## Styling and theming
156
-
157
- The primitive keeps styling neutral by default: the root controls spacing and alignment, while visual shells such as borders, gradients, and muted backgrounds are layered through `class`.
158
-
159
- `ui-empty-media` uses `border-border` and `bg-muted/40` for the icon variant so the icon chip matches the rest of the theme without inheriting text color for borders.
160
-
161
- Use `class` on the root or parts to add panel borders, gradient backgrounds, tighter widths, or horizontal action layouts.
162
-
163
- ## Accessibility
164
-
165
- - Keep the title and description visible so the empty state communicates both the missing content and the next step.
166
- - Put actions on native `<button>` or `<a ui-button>` hosts instead of faking interactivity with generic elements.
167
- - Mark decorative icons inside `ui-empty-media` as `aria-hidden="true"` unless the icon itself provides unique meaning.
168
-
169
- ## Keyboard interactions
170
-
171
- - The Empty primitives themselves are passive layout containers and do not enter the tab order.
172
- - Projected buttons, anchors, and inputs keep their native Tab, Enter, and Space behavior.
173
- - When `ui-empty-content` contains an input group, the control remains first in the DOM so tab order stays predictable.
174
-
175
- ## Angular notes
176
-
177
- - `ui-empty` is a reusable content primitive, not the same surface as `@ojiepermana/angular/layout/empty`, which remains a route-shell layout.
178
- - The link action from the upstream shadcn preview maps cleanly to `<a ui-button variant="link">` in Angular.
179
- - Project any custom artwork into `ui-empty-media`; only the `icon` variant applies a circular icon shell.
180
-
181
- ## Source parity
182
-
183
- This Angular implementation follows the shadcn Empty page structure, examples, and API reference while translating React composition to Angular selectors and keeping page-shell layout concerns separate from the reusable empty-state primitive.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-empty.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-empty.d.ts"
4
- }