@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,144 +0,0 @@
1
- # Pagination
2
-
3
- Compact page navigation with previous and next controls, windowed page numbers, optional icon-only mode, and localized labels.
4
-
5
- Use Pagination when a feature page needs to move through a paged API result, a dense table footer, or a navigable list of routes or guides.
6
-
7
- ## Import
8
-
9
- ```ts
10
- import { PaginationComponent } from '@ojiepermana/angular/component/pagination';
11
- ```
12
-
13
- ## Structure
14
-
15
- The Angular package intentionally wraps the shadcn multi-part composition in a single standalone primitive.
16
-
17
- ```text
18
- ui-pagination
19
- ├── previous button
20
- ├── page buttons and ellipsis
21
- └── next button
22
- ```
23
-
24
- ## Basic usage
25
-
26
- Bind `[(page)]` to a signal and keep your collection, router state, or server request outside the primitive.
27
-
28
- ```html
29
- <ui-pagination [(page)]="currentPage" [total]="totalPages" [siblingCount]="1" (pageChange)="load($event)" />
30
- ```
31
-
32
- ## Common patterns
33
-
34
- ### Navigation data
35
-
36
- Keep the rendered collection in sync with the pager through `computed()`.
37
-
38
- ```ts
39
- const navigationPage = signal(1);
40
- const pageSize = 4;
41
-
42
- const navigationItems = [
43
- { title: 'Introduction', route: '/docs/introduction' },
44
- { title: 'Accordion', route: '/ui/shadcn/accordion' },
45
- { title: 'Button', route: '/ui/shadcn/button' },
46
- { title: 'Input', route: '/ui/shadcn/input' },
47
- // ...more items
48
- ];
49
-
50
- const totalPages = Math.ceil(navigationItems.length / pageSize);
51
- const visibleItems = computed(() => {
52
- const start = (navigationPage() - 1) * pageSize;
53
- return navigationItems.slice(start, start + pageSize);
54
- });
55
- ```
56
-
57
- ### Icons only
58
-
59
- Hide page numbers and visible labels when the pager sits next to a dense table or feed footer.
60
-
61
- ```html
62
- <ui-pagination
63
- [(page)]="compactPage"
64
- [total]="9"
65
- [showPageNumbers]="false"
66
- previousText=""
67
- nextText=""
68
- class="mx-0 w-auto" />
69
- ```
70
-
71
- ### RTL and translated labels
72
-
73
- Translate the previous and next text and provide a page formatter when locale-specific numerals should appear.
74
-
75
- ```ts
76
- const arabicDigits = ['٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩'];
77
- const toArabicNumerals = (page: number): string =>
78
- page
79
- .toString()
80
- .split('')
81
- .map((digit) => arabicDigits[Number(digit)] ?? digit)
82
- .join('');
83
- ```
84
-
85
- ```html
86
- <section dir="rtl" lang="ar" class="text-right">
87
- <ui-pagination
88
- [(page)]="rtlPage"
89
- [total]="7"
90
- previousText="السابق"
91
- nextText="التالي"
92
- previousAriaLabel="الانتقال إلى الصفحة السابقة"
93
- nextAriaLabel="الانتقال إلى الصفحة التالية"
94
- [formatPageLabel]="toArabicNumerals" />
95
- </section>
96
- ```
97
-
98
- ## API reference
99
-
100
- | Input | Type | Default | Description |
101
- | ------------------- | -------------------------- | ------------------------- | ---------------------------------------------------------------------- |
102
- | `page` (model) | `number` | `1` | Two-way bound current page. |
103
- | `total` | `number` | `1` | Total number of pages available. |
104
- | `siblingCount` | `number` | `1` | Page buttons shown on either side of the active page. |
105
- | `showPageNumbers` | `boolean` | `true` | Hide numbered page buttons for compact previous and next only layouts. |
106
- | `previousText` | `string` | `'Previous'` | Visible previous label. Set to an empty string for icon-only mode. |
107
- | `nextText` | `string` | `'Next'` | Visible next label. Set to an empty string for icon-only mode. |
108
- | `previousAriaLabel` | `string` | `'Go to previous page'` | Accessible name for the previous button. |
109
- | `nextAriaLabel` | `string` | `'Go to next page'` | Accessible name for the next button. |
110
- | `formatPageLabel` | `(page: number) => string` | `page => page.toString()` | Formats the rendered page label. |
111
- | `class` | `string` | `''` | Extra container classes. |
112
-
113
- | Output | Payload | Description |
114
- | ------------ | -------- | ---------------------------------------------------- |
115
- | `pageChange` | `number` | Emits the next page number after a user interaction. |
116
-
117
- ## Styling and theming
118
-
119
- Pagination reuses `buttonVariants`, so the previous and next controls plus numbered page buttons inherit the same shape, focus ring, and theme tokens as the Button primitive.
120
-
121
- Pass `class` to adjust width and alignment, for example `mx-0 w-auto` in a table footer or `justify-start` when the pager should align to the left edge of a card.
122
-
123
- ## Accessibility
124
-
125
- - The root renders as `<nav role="navigation" aria-label="pagination">`.
126
- - The active page is marked with `aria-current="page"`.
127
- - Previous and next disable natively at the start and end of the available range.
128
- - Ellipses are `aria-hidden="true"`.
129
- - When visible text is removed for icon-only mode, keep meaningful aria labels on the previous and next buttons.
130
-
131
- ## Keyboard interactions
132
-
133
- - Tab moves focus through the previous button, page buttons, and next button in DOM order.
134
- - Enter and Space activate the focused button through native button semantics.
135
-
136
- ## Angular notes
137
-
138
- - Keep the paged collection outside the component and derive the visible slice with `computed()`.
139
- - Import `PaginationComponent` into the standalone feature component that renders the pager.
140
- - `showPageNumbers`, `previousText`, `nextText`, and `formatPageLabel` are deliberate Angular-specific conveniences that cover the upstream icon-only and RTL guidance without exposing React-style child parts.
141
-
142
- ## Source parity
143
-
144
- shadcn documents Pagination as several composable parts such as `PaginationLink`, `PaginationPrevious`, and `PaginationNext`. This Angular implementation intentionally collapses that structure into one primitive so route-driven and data-driven pagination can be wired quickly while still matching the upstream previous, next, ellipsis, compact, and RTL behavior.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-pagination.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-pagination.d.ts"
4
- }
@@ -1,67 +0,0 @@
1
- # Pillbox
2
-
3
- Multi-value selection primitives inspired by Flux Pillbox and implemented with local shadcn-style Angular patterns.
4
-
5
- ## Import
6
-
7
- ```ts
8
- import {
9
- PillboxComponent,
10
- PillboxOptionComponent,
11
- PillboxOptionCreateComponent,
12
- PillboxOptionEmptyComponent,
13
- PillboxSelectedDirective,
14
- } from '@ojiepermana/angular/component/pillbox';
15
- ```
16
-
17
- ## Usage
18
-
19
- ```html
20
- <ui-pillbox multiple placeholder="Choose tags..." [(ngModel)]="selectedTags">
21
- <ui-pillbox-option value="design">Design</ui-pillbox-option>
22
- <ui-pillbox-option value="development">Development</ui-pillbox-option>
23
- <ui-pillbox-option value="marketing">Marketing</ui-pillbox-option>
24
- </ui-pillbox>
25
- ```
26
-
27
- ## Composition
28
-
29
- - `ui-pillbox` owns the trigger, selected pills, search state, option filtering, and form control integration.
30
- - `ui-pillbox-option` projects the visible option content and stores the option value.
31
- - `ng-template[uiPillboxSelected]` customizes the rendered selected pill content for an option.
32
- - `ui-pillbox-option-create` emits create requests when the search query is long enough and does not match an existing option.
33
- - `ui-pillbox-option-empty` customizes empty and loading messages.
34
-
35
- ## Inputs
36
-
37
- ### PillboxComponent
38
-
39
- | Input | Type | Default | Description |
40
- | ------------------- | ------------------------- | --------------------- | -------------------------------------------------------------------------- |
41
- | `placeholder` | `string` | `'Choose options...'` | Text shown when nothing is selected. |
42
- | `searchPlaceholder` | `string` | `'Search...'` | Placeholder for the dropdown search input. |
43
- | `size` | `'default' \| 'sm'` | `'default'` | Trigger and pill density. |
44
- | `variant` | `'default' \| 'combobox'` | `'default'` | Use `combobox` to place the search input directly in the trigger. |
45
- | `multiple` | `boolean` | `false` | Emits an array of selected values when enabled. |
46
- | `searchable` | `boolean` | `false` | Adds a search input to the dropdown for the default variant. |
47
- | `filter` | `boolean` | `true` | Enables client-side filtering. Disable it for backend-driven option lists. |
48
- | `clearable` | `boolean` | `true` | Shows a clear-all control when values are selected. |
49
- | `disabled` | `boolean` | `false` | Prevents interaction. |
50
- | `invalid` | `boolean` | `false` | Applies error styling and `aria-invalid`. |
51
- | `loading` | `boolean` | `false` | Shows loading copy through the empty option when no options match. |
52
-
53
- ## Events
54
-
55
- | Output | Payload | Description |
56
- | -------------- | --------- | ------------------------------------------------------------------------- |
57
- | `valueChange` | `unknown` | Emits the selected array for `multiple` mode or a single value otherwise. |
58
- | `searchChange` | `string` | Emits whenever the search query changes. |
59
- | `create` | `string` | Emits the current query from `ui-pillbox-option-create`. |
60
- | `openedChange` | `boolean` | Emits when the option list opens or closes. |
61
-
62
- ## Accessibility
63
-
64
- - Use a visible label or `aria-label`/`aria-labelledby` on `ui-pillbox`.
65
- - Use `multiple` when binding to an array of values.
66
- - Provide readable option labels; set `label` or `selectedLabel` when custom option content is not textual.
67
- - Keep create actions explicit and validate new values in the owning form or backend.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-pillbox.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-pillbox.d.ts"
4
- }
@@ -1,43 +0,0 @@
1
- # Popover
2
-
3
- Anchored floating panel with CDK overlay. Click the trigger to toggle.
4
-
5
- ## Import
6
-
7
- ```ts
8
- import { PopoverTriggerDirective, PopoverContentDirective } from '@ojiepermana/angular/component/popover';
9
- ```
10
-
11
- ## Usage
12
-
13
- ```html
14
- <button ui-button [uiPopoverTrigger]="content" side="bottom" align="start">Open</button>
15
-
16
- <ng-template uiPopoverContent #content="uiPopoverContent">
17
- <div class="w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md">Popover body</div>
18
- </ng-template>
19
- ```
20
-
21
- ## API
22
-
23
- ### `PopoverTriggerDirective` (`[uiPopoverTrigger]`)
24
-
25
- | Input | Type | Default |
26
- | ------------------ | ---------------------------------------- | ---------- |
27
- | `uiPopoverTrigger` | `PopoverContentDirective` | — |
28
- | `side` | `'top' \| 'right' \| 'bottom' \| 'left'` | `'bottom'` |
29
- | `align` | `'start' \| 'center' \| 'end'` | `'center'` |
30
- | `disabled` | `boolean` | `false` |
31
-
32
- Exposes `isOpen()` signal. Trigger automatically sets `aria-haspopup="dialog"`
33
- and `aria-expanded` on the host.
34
-
35
- ### `PopoverContentDirective` (`ng-template[uiPopoverContent]`)
36
-
37
- Marker directive that exposes the template via `exportAs="uiPopoverContent"`.
38
-
39
- ## Accessibility
40
-
41
- - Close on `Escape`.
42
- - Close on backdrop click.
43
- - Trigger reflects state via `aria-expanded` and `aria-haspopup`.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-popover.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-popover.d.ts"
4
- }
@@ -1,160 +0,0 @@
1
- # Progress
2
-
3
- Displays an indicator showing the completion progress of a task, typically as a
4
- slim passive progress bar.
5
-
6
- Use Progress for uploads, background jobs, onboarding steps, and other cases
7
- where the user should understand status without directly interacting with the
8
- bar itself.
9
-
10
- ## Import
11
-
12
- ```ts
13
- import { ProgressComponent } from '@ojiepermana/angular/component/progress';
14
- ```
15
-
16
- For the visible label and slider-driven examples below, also import the existing
17
- label and slider entrypoints:
18
-
19
- ```ts
20
- import { LabelComponent } from '@ojiepermana/angular/component/label';
21
- import { SliderComponent } from '@ojiepermana/angular/component/slider';
22
- ```
23
-
24
- ## Basic usage
25
-
26
- Provide an accessible name directly when the bar stands on its own.
27
-
28
- ```html
29
- <ui-progress [value]="33" aria-label="Upload progress" class="w-full max-w-sm" />
30
- ```
31
-
32
- ## Common patterns
33
-
34
- ### Visible label row
35
-
36
- The current shadcn Radix docs place Progress inside a Field layout with a
37
- visible label and percentage. In Angular, keep the visible copy outside the
38
- bar and connect it with `aria-labelledby`.
39
-
40
- ```html
41
- <ui-label id="progress-upload-label" class="mb-2 flex items-center gap-3">
42
- <span>Upload progress</span>
43
- <span class="ms-auto text-muted-foreground">66%</span>
44
- </ui-label>
45
-
46
- <ui-progress [value]="66" aria-labelledby="progress-upload-label" class="w-full max-w-sm" />
47
- ```
48
-
49
- Use `aria-labelledby` here instead of `label[for]`, because `ui-progress` is a
50
- custom element with `role="progressbar"`, not a native labelable form control.
51
-
52
- ### Controlled progress
53
-
54
- Keep the progress bar passive and let surrounding controls own the interaction.
55
- The built-in range slider directive works well for the same pattern shown in the
56
- upstream docs.
57
-
58
- ```ts
59
- const controlledValue = signal(50);
60
-
61
- <ui-label id="progress-controlled-label" class="mb-2 flex items-center gap-3">
62
- <span>Upload progress</span>
63
- <span class="ms-auto text-muted-foreground">{{ controlledValue() }}%</span>
64
- </ui-label>
65
-
66
- <ui-progress [value]="controlledValue()" aria-labelledby="progress-controlled-label" class="w-full" />
67
-
68
- <ui-label for="progress-controlled-slider" class="mb-2 block">Adjust progress</ui-label>
69
- <input
70
- id="progress-controlled-slider"
71
- type="range"
72
- ui-slider
73
- min="0"
74
- max="100"
75
- step="1"
76
- [value]="controlledValue()"
77
- (input)="onControlledInput($event)" />
78
- ```
79
-
80
- ### Indeterminate loading
81
-
82
- Switch to `indeterminate` when work is running but no stable percentage is
83
- available yet.
84
-
85
- ```html
86
- <ui-progress [indeterminate]="true" aria-label="Loading deployment" class="w-full max-w-sm" />
87
- ```
88
-
89
- ### RTL
90
-
91
- Follow the upstream guidance by setting `dir="rtl"` on the surrounding
92
- container and flipping the bar with `rtl:rotate-180`.
93
-
94
- ```html
95
- <section dir="rtl" lang="ar" class="w-full max-w-sm text-right">
96
- <ui-label id="progress-rtl-label" class="mb-2 flex items-center gap-3">
97
- <span>تقدم الرفع</span>
98
- <span class="ms-auto text-muted-foreground">٦٦%</span>
99
- </ui-label>
100
-
101
- <ui-progress [value]="66" aria-labelledby="progress-rtl-label" class="w-full rtl:rotate-180" />
102
- </section>
103
- ```
104
-
105
- ## API reference
106
-
107
- | Input | Type | Default |
108
- | ----------------- | ---------------- | ------- |
109
- | `value` | `number \| null` | `0` |
110
- | `max` | `number` | `100` |
111
- | `indeterminate` | `boolean` | `false` |
112
- | `aria-label` | `string \| null` | `null` |
113
- | `aria-labelledby` | `string \| null` | `null` |
114
- | `class` | `string` | `''` |
115
-
116
- Native host attributes such as `id`, `dir`, and `data-*` still pass through to
117
- the rendered custom element and can be used for surrounding composition.
118
-
119
- ## Styling and theming
120
-
121
- Tokens consumed:
122
-
123
- - `--secondary` for the track.
124
- - `--primary` for the indicator.
125
-
126
- Use the `class` input for width and layout utilities such as `w-full`,
127
- `max-w-sm`, or `rtl:rotate-180`. Indeterminate state is animated via a CSS
128
- keyframe that respects `prefers-reduced-motion`.
129
-
130
- ## Accessibility
131
-
132
- - Host is `role="progressbar"`.
133
- - Determinate mode sets `aria-valuemin="0"`, `aria-valuemax="max"`, and
134
- `aria-valuenow="clamped value"`.
135
- - Indeterminate mode omits `aria-valuenow` and adds `data-state="indeterminate"`.
136
- - Always provide an accessible name via `aria-label` or `aria-labelledby`.
137
- - If visible label text already exists on the page, connect it with
138
- `aria-labelledby` instead of relying on native label semantics.
139
-
140
- ## Keyboard interactions
141
-
142
- Progress is passive and not focusable by default. Any keyboard interaction
143
- belongs to surrounding controls such as the slider used in the controlled
144
- example.
145
-
146
- ## Angular notes
147
-
148
- - Keep Progress focused on status display. Do not nest buttons or other
149
- interactive controls inside the bar.
150
- - Drive determinate state from signals, reactive forms, or any other existing
151
- Angular state source.
152
- - For visible label rows, `ui-label` is a good lightweight companion, but plain
153
- text with the right ARIA wiring works too.
154
-
155
- ## Source parity
156
-
157
- This Angular implementation follows the shadcn Radix progress examples while
158
- translating `Field` and `FieldLabel` to ordinary Angular markup plus explicit
159
- ARIA wiring. The controlled example reuses the existing range slider directive,
160
- and the RTL pattern matches the upstream `rtl:rotate-180` approach.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-progress.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-progress.d.ts"
4
- }
@@ -1,209 +0,0 @@
1
- # Radio Group
2
-
3
- Accessible exclusive-choice control composed from `ui-radio-group` and `ui-radio`.
4
-
5
- ## Import
6
-
7
- ```ts
8
- import {
9
- FormContentComponent,
10
- FormDescriptionComponent,
11
- FormFieldComponent,
12
- FormFieldsetComponent,
13
- FormLegendComponent,
14
- FormTitleComponent,
15
- } from '@ojiepermana/angular/component/form';
16
- import { LabelComponent } from '@ojiepermana/angular/component/label';
17
- import { RadioComponent, RadioGroupComponent } from '@ojiepermana/angular/component/radio';
18
- ```
19
-
20
- ## Composition
21
-
22
- The upstream shadcn `RadioGroup` examples map to the existing Angular radio and form primitives.
23
-
24
- ```text
25
- ui-radio-group
26
- ├── label[ui-label]
27
- │ ├── ui-radio
28
- │ └── ui-form-content
29
- │ ├── ui-form-title
30
- │ └── p[ui-form-description]
31
- └── label[ui-label]
32
- ├── ui-radio
33
- └── copy or ui-form-content
34
- ```
35
-
36
- ## Basic Usage
37
-
38
- Use `ui-radio-group` as the value owner and wrap each option in `label[ui-label]` when the whole row should toggle the radio.
39
-
40
- ```html
41
- <ui-radio-group name="density" [(ngModel)]="density" class="w-fit">
42
- <label ui-label class="flex items-center gap-3">
43
- <ui-radio value="default" />
44
- <span>Default</span>
45
- </label>
46
- <label ui-label class="flex items-center gap-3">
47
- <ui-radio value="comfortable" />
48
- <span>Comfortable</span>
49
- </label>
50
- <label ui-label class="flex items-center gap-3">
51
- <ui-radio value="compact" />
52
- <span>Compact</span>
53
- </label>
54
- </ui-radio-group>
55
- ```
56
-
57
- Reactive forms also work because the group implements `ControlValueAccessor`.
58
-
59
- ## Common Patterns
60
-
61
- ### Descriptive rows
62
-
63
- Map the shadcn `Field` and `FieldContent` helpers to `ui-form-field` and `ui-form-content`.
64
-
65
- ```html
66
- <ui-radio-group name="density" [(ngModel)]="density" class="w-full max-w-md">
67
- <label ui-label class="block rounded-xl border border-border bg-card/40 p-4">
68
- <ui-form-field orientation="horizontal" class="gap-4">
69
- <ui-radio value="default" />
70
- <ui-form-content>
71
- <ui-form-title>Default</ui-form-title>
72
- <p ui-form-description>Standard spacing for most use cases.</p>
73
- </ui-form-content>
74
- </ui-form-field>
75
- </label>
76
- </ui-radio-group>
77
- ```
78
-
79
- ### Choice cards
80
-
81
- Wrap each plan card in `label[ui-label]` so the full surface toggles the choice.
82
-
83
- ```html
84
- <ui-radio-group name="plan" [(ngModel)]="selectedPlan" class="w-full max-w-md">
85
- <label ui-label class="block rounded-xl border border-border bg-card/40 p-4">
86
- <ui-form-field orientation="horizontal" class="items-start gap-4">
87
- <ui-form-content>
88
- <ui-form-title>Pro</ui-form-title>
89
- <p ui-form-description>For growing businesses.</p>
90
- </ui-form-content>
91
- <ui-radio value="pro" />
92
- </ui-form-field>
93
- </label>
94
- </ui-radio-group>
95
- ```
96
-
97
- ### Semantic fieldsets
98
-
99
- Use a real fieldset and legend when the radio list answers one grouped question.
100
-
101
- ```html
102
- <fieldset ui-form-fieldset class="max-w-md rounded-xl border border-border bg-card/40 p-5">
103
- <legend ui-form-legend variant="label">Subscription plan</legend>
104
- <p class="text-sm leading-6 text-muted-foreground">Yearly and lifetime plans offer significant savings.</p>
105
-
106
- <ui-radio-group name="subscription-plan" [(ngModel)]="subscriptionPlan" class="mt-4">
107
- <label ui-label class="block rounded-lg border border-border/70 bg-background/80 p-3">
108
- <ui-form-field orientation="horizontal" class="gap-4">
109
- <ui-radio value="monthly" />
110
- <ui-form-content>
111
- <ui-form-title>Monthly ($9.99/month)</ui-form-title>
112
- </ui-form-content>
113
- </ui-form-field>
114
- </label>
115
- </ui-radio-group>
116
- </fieldset>
117
- ```
118
-
119
- ### Validation and helper text
120
-
121
- Forward helper and error relationships from the group when the descriptive copy sits outside the individual items.
122
-
123
- ```html
124
- <ui-form-field invalid class="max-w-md rounded-xl border border-destructive/40 bg-destructive/5 p-5">
125
- <ui-form-title>Notification Preferences</ui-form-title>
126
- <p id="notification-help" class="text-sm leading-6 text-muted-foreground">
127
- Choose how you want to receive notifications.
128
- </p>
129
-
130
- <ui-radio-group
131
- name="notification-preferences"
132
- [(ngModel)]="notificationPreference"
133
- aria-describedby="notification-help notification-error"
134
- aria-invalid="true">
135
- <label ui-label class="block rounded-lg border border-destructive/40 bg-background/80 p-3">
136
- <ui-form-field orientation="horizontal" class="gap-4">
137
- <ui-radio value="email" />
138
- <ui-form-content>
139
- <ui-form-title>Email only</ui-form-title>
140
- </ui-form-content>
141
- </ui-form-field>
142
- </label>
143
- </ui-radio-group>
144
-
145
- <p id="notification-error" class="text-sm font-medium text-destructive">
146
- Select one delivery channel before saving notification settings.
147
- </p>
148
- </ui-form-field>
149
- ```
150
-
151
- ## API Reference
152
-
153
- ### `RadioGroupComponent`
154
-
155
- | Input | Type | Default | Notes |
156
- | ------------------ | ---------------------------- | ------------ | ------------------------------------------------------------ |
157
- | `name` | `string` | `''` | Forwarded to the underlying Material radio group. |
158
- | `orientation` | `'horizontal' \| 'vertical'` | `'vertical'` | Switches between stacked rows and inline columns. |
159
- | `aria-label` | `string \| null` | `null` | Use when the group needs an explicit accessible name. |
160
- | `aria-labelledby` | `string \| null` | `null` | Alternative to `aria-label` for external group headings. |
161
- | `aria-describedby` | `string \| null` | `null` | Connects helper or error text outside the group. |
162
- | `aria-invalid` | `boolean \| string \| null` | `null` | Marks the group invalid for validation-driven presentations. |
163
- | `class` | `string` | `''` | Adds utility classes to the wrapped group host. |
164
-
165
- | Output | Payload |
166
- | ------------- | -------- |
167
- | `valueChange` | `string` |
168
-
169
- Public method: `focus()`.
170
-
171
- ### `RadioComponent`
172
-
173
- | Input | Type | Default |
174
- | ---------- | --------- | ------- |
175
- | `value` | `string` | — |
176
- | `disabled` | `boolean` | `false` |
177
- | `class` | `string` | `''` |
178
-
179
- ## Styling and Theming
180
-
181
- The radio primitives wrap Angular Material's structural radio markup and restyle it through the shared theme tokens.
182
-
183
- - The selected dot uses the `primary` token.
184
- - Unselected outlines use the `input` token rather than current text color.
185
- - The group uses CSS grid; horizontal orientation flips to `grid-flow-col auto-cols-max`.
186
- - Card-style layouts and invalid treatments are best handled by surrounding `label[ui-label]` and `ui-form-field` composition.
187
-
188
- ## Accessibility
189
-
190
- - Use a real `fieldset` and `legend` when the radio list answers one grouped question.
191
- - Wrap each option in `label[ui-label]` when the whole row or card should toggle the control.
192
- - Use `aria-describedby` on `ui-radio-group` to connect helper or error text rendered outside the option rows.
193
- - Use `aria-invalid` on `ui-radio-group` when validation fails and the group should be announced as invalid.
194
-
195
- ## Keyboard Interactions
196
-
197
- - `Tab` moves focus to the selected item or first enabled item in the group.
198
- - Arrow keys move between options using Angular Material's radio-group behavior.
199
- - `Space` selects the focused option.
200
-
201
- ## Angular Notes
202
-
203
- - `ui-radio-group` owns the selected value and works with both `ngModel` and reactive forms.
204
- - `ui-radio` represents only the selectable item; visible copy usually lives beside it in a wrapper label or `ui-form-content` block.
205
- - The shadcn `Field` family maps to the existing `form` entrypoint rather than a separate radio-specific helper package.
206
-
207
- ## Source Parity
208
-
209
- This Angular implementation follows the same high-value shadcn radio-group examples: descriptive rows, choice cards, semantic fieldsets, disabled states, invalid messaging, and RTL. The deliberate difference is the use of the existing `form` and `label` primitives instead of introducing a separate runtime `Field` API.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-radio.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-radio.d.ts"
4
- }