@ojiepermana/angular 22.0.1 → 22.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/README.md +16 -302
  2. package/fesm2022/ojiepermana-angular-chart.mjs +11 -0
  3. package/fesm2022/ojiepermana-angular-chart.mjs.map +1 -0
  4. package/fesm2022/ojiepermana-angular-component.mjs +11 -0
  5. package/fesm2022/ojiepermana-angular-component.mjs.map +1 -0
  6. package/fesm2022/ojiepermana-angular-navigation.mjs +11 -0
  7. package/fesm2022/ojiepermana-angular-navigation.mjs.map +1 -0
  8. package/fesm2022/ojiepermana-angular-sdk.mjs +11 -0
  9. package/fesm2022/ojiepermana-angular-sdk.mjs.map +1 -0
  10. package/fesm2022/ojiepermana-angular-theme.mjs +3 -382
  11. package/fesm2022/ojiepermana-angular-theme.mjs.map +1 -1
  12. package/fesm2022/ojiepermana-angular.mjs +14 -14
  13. package/fesm2022/ojiepermana-angular.mjs.map +1 -1
  14. package/package.json +25 -425
  15. package/types/ojiepermana-angular-chart.d.ts +1 -0
  16. package/types/ojiepermana-angular-component.d.ts +1 -0
  17. package/types/ojiepermana-angular-navigation.d.ts +1 -0
  18. package/types/ojiepermana-angular-sdk.d.ts +1 -0
  19. package/types/ojiepermana-angular-theme.d.ts +1 -116
  20. package/types/ojiepermana-angular.d.ts +5 -3
  21. package/.npmignore +0 -2
  22. package/collection.json +0 -30
  23. package/component/accordion/README.md +0 -195
  24. package/component/accordion/package.json +0 -4
  25. package/component/alert/README.md +0 -182
  26. package/component/alert/package.json +0 -4
  27. package/component/alert-dialog/README.md +0 -239
  28. package/component/alert-dialog/package.json +0 -4
  29. package/component/aspect-ratio/README.md +0 -112
  30. package/component/aspect-ratio/package.json +0 -4
  31. package/component/avatar/README.md +0 -176
  32. package/component/avatar/package.json +0 -4
  33. package/component/badge/README.md +0 -133
  34. package/component/badge/package.json +0 -4
  35. package/component/breadcrumb/README.md +0 -216
  36. package/component/breadcrumb/package.json +0 -4
  37. package/component/button/README.md +0 -139
  38. package/component/button/package.json +0 -4
  39. package/component/button-group/README.md +0 -208
  40. package/component/button-group/package.json +0 -4
  41. package/component/calendar/README.md +0 -132
  42. package/component/calendar/package.json +0 -4
  43. package/component/card/README.md +0 -220
  44. package/component/card/package.json +0 -4
  45. package/component/carousel/README.md +0 -276
  46. package/component/carousel/package.json +0 -4
  47. package/component/chart/README.md +0 -249
  48. package/component/chart/area/package.json +0 -4
  49. package/component/chart/bar/package.json +0 -4
  50. package/component/chart/line/package.json +0 -4
  51. package/component/chart/package.json +0 -4
  52. package/component/chart/pie/package.json +0 -4
  53. package/component/chart/radar/package.json +0 -4
  54. package/component/chart/radial/package.json +0 -4
  55. package/component/chart/scatter/package.json +0 -4
  56. package/component/checkbox/README.md +0 -149
  57. package/component/checkbox/package.json +0 -4
  58. package/component/collapsible/README.md +0 -195
  59. package/component/collapsible/package.json +0 -4
  60. package/component/combobox/README.md +0 -198
  61. package/component/combobox/package.json +0 -4
  62. package/component/command/README.md +0 -275
  63. package/component/command/package.json +0 -4
  64. package/component/composer/README.md +0 -235
  65. package/component/composer/package.json +0 -4
  66. package/component/context-menu/README.md +0 -267
  67. package/component/context-menu/package.json +0 -4
  68. package/component/date-picker/README.md +0 -177
  69. package/component/date-picker/package.json +0 -4
  70. package/component/dialog/README.md +0 -237
  71. package/component/dialog/package.json +0 -4
  72. package/component/drawer/README.md +0 -145
  73. package/component/drawer/package.json +0 -4
  74. package/component/dropdown-menu/README.md +0 -311
  75. package/component/dropdown-menu/package.json +0 -4
  76. package/component/editor/README.md +0 -136
  77. package/component/editor/package.json +0 -4
  78. package/component/empty/README.md +0 -183
  79. package/component/empty/package.json +0 -4
  80. package/component/form/README.md +0 -210
  81. package/component/form/package.json +0 -4
  82. package/component/hover-card/README.md +0 -146
  83. package/component/hover-card/package.json +0 -4
  84. package/component/input/README.md +0 -159
  85. package/component/input/package.json +0 -4
  86. package/component/input-group/README.md +0 -239
  87. package/component/input-group/package.json +0 -4
  88. package/component/input-otp/README.md +0 -278
  89. package/component/input-otp/package.json +0 -4
  90. package/component/item/README.md +0 -247
  91. package/component/item/package.json +0 -4
  92. package/component/kanban/README.md +0 -81
  93. package/component/kanban/package.json +0 -4
  94. package/component/kbd/README.md +0 -139
  95. package/component/kbd/package.json +0 -4
  96. package/component/label/README.md +0 -136
  97. package/component/label/package.json +0 -4
  98. package/component/menubar/README.md +0 -269
  99. package/component/menubar/package.json +0 -4
  100. package/component/native-select/README.md +0 -176
  101. package/component/native-select/package.json +0 -4
  102. package/component/navigation-menu/README.md +0 -160
  103. package/component/navigation-menu/package.json +0 -4
  104. package/component/pagination/README.md +0 -144
  105. package/component/pagination/package.json +0 -4
  106. package/component/pillbox/README.md +0 -67
  107. package/component/pillbox/package.json +0 -4
  108. package/component/popover/README.md +0 -43
  109. package/component/popover/package.json +0 -4
  110. package/component/progress/README.md +0 -160
  111. package/component/progress/package.json +0 -4
  112. package/component/radio/README.md +0 -209
  113. package/component/radio/package.json +0 -4
  114. package/component/resizable/README.md +0 -168
  115. package/component/resizable/package.json +0 -4
  116. package/component/scroll-area/README.md +0 -143
  117. package/component/scroll-area/package.json +0 -4
  118. package/component/select/README.md +0 -174
  119. package/component/select/package.json +0 -4
  120. package/component/separator/README.md +0 -170
  121. package/component/separator/package.json +0 -4
  122. package/component/sheet/README.md +0 -183
  123. package/component/sheet/package.json +0 -4
  124. package/component/skeleton/README.md +0 -158
  125. package/component/skeleton/package.json +0 -4
  126. package/component/slider/README.md +0 -207
  127. package/component/slider/package.json +0 -4
  128. package/component/spinner/README.md +0 -160
  129. package/component/spinner/package.json +0 -4
  130. package/component/switch/README.md +0 -166
  131. package/component/switch/package.json +0 -4
  132. package/component/table/README.md +0 -291
  133. package/component/table/package.json +0 -4
  134. package/component/tabs/README.md +0 -219
  135. package/component/tabs/package.json +0 -4
  136. package/component/textarea/README.md +0 -154
  137. package/component/textarea/package.json +0 -4
  138. package/component/timeline/README.md +0 -94
  139. package/component/timeline/package.json +0 -4
  140. package/component/toast/README.md +0 -321
  141. package/component/toast/package.json +0 -4
  142. package/component/toggle/README.md +0 -131
  143. package/component/toggle/package.json +0 -4
  144. package/component/toggle-group/README.md +0 -206
  145. package/component/toggle-group/package.json +0 -4
  146. package/component/tooltip/README.md +0 -211
  147. package/component/tooltip/package.json +0 -4
  148. package/component/utils/package.json +0 -4
  149. package/fesm2022/ojiepermana-angular-component-accordion.mjs +0 -189
  150. package/fesm2022/ojiepermana-angular-component-accordion.mjs.map +0 -1
  151. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +0 -276
  152. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs.map +0 -1
  153. package/fesm2022/ojiepermana-angular-component-alert.mjs +0 -99
  154. package/fesm2022/ojiepermana-angular-component-alert.mjs.map +0 -1
  155. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +0 -37
  156. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs.map +0 -1
  157. package/fesm2022/ojiepermana-angular-component-avatar.mjs +0 -139
  158. package/fesm2022/ojiepermana-angular-component-avatar.mjs.map +0 -1
  159. package/fesm2022/ojiepermana-angular-component-badge.mjs +0 -50
  160. package/fesm2022/ojiepermana-angular-component-badge.mjs.map +0 -1
  161. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +0 -200
  162. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs.map +0 -1
  163. package/fesm2022/ojiepermana-angular-component-button-group.mjs +0 -103
  164. package/fesm2022/ojiepermana-angular-component-button-group.mjs.map +0 -1
  165. package/fesm2022/ojiepermana-angular-component-button.mjs +0 -68
  166. package/fesm2022/ojiepermana-angular-component-button.mjs.map +0 -1
  167. package/fesm2022/ojiepermana-angular-component-calendar.mjs +0 -88
  168. package/fesm2022/ojiepermana-angular-component-calendar.mjs.map +0 -1
  169. package/fesm2022/ojiepermana-angular-component-card.mjs +0 -152
  170. package/fesm2022/ojiepermana-angular-component-card.mjs.map +0 -1
  171. package/fesm2022/ojiepermana-angular-component-carousel.mjs +0 -334
  172. package/fesm2022/ojiepermana-angular-component-carousel.mjs.map +0 -1
  173. package/fesm2022/ojiepermana-angular-component-chart-area.mjs +0 -6
  174. package/fesm2022/ojiepermana-angular-component-chart-area.mjs.map +0 -1
  175. package/fesm2022/ojiepermana-angular-component-chart-bar.mjs +0 -6
  176. package/fesm2022/ojiepermana-angular-component-chart-bar.mjs.map +0 -1
  177. package/fesm2022/ojiepermana-angular-component-chart-line.mjs +0 -6
  178. package/fesm2022/ojiepermana-angular-component-chart-line.mjs.map +0 -1
  179. package/fesm2022/ojiepermana-angular-component-chart-pie.mjs +0 -6
  180. package/fesm2022/ojiepermana-angular-component-chart-pie.mjs.map +0 -1
  181. package/fesm2022/ojiepermana-angular-component-chart-radar.mjs +0 -6
  182. package/fesm2022/ojiepermana-angular-component-chart-radar.mjs.map +0 -1
  183. package/fesm2022/ojiepermana-angular-component-chart-radial.mjs +0 -6
  184. package/fesm2022/ojiepermana-angular-component-chart-radial.mjs.map +0 -1
  185. package/fesm2022/ojiepermana-angular-component-chart-scatter.mjs +0 -6
  186. package/fesm2022/ojiepermana-angular-component-chart-scatter.mjs.map +0 -1
  187. package/fesm2022/ojiepermana-angular-component-chart.mjs +0 -3925
  188. package/fesm2022/ojiepermana-angular-component-chart.mjs.map +0 -1
  189. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +0 -114
  190. package/fesm2022/ojiepermana-angular-component-checkbox.mjs.map +0 -1
  191. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +0 -124
  192. package/fesm2022/ojiepermana-angular-component-collapsible.mjs.map +0 -1
  193. package/fesm2022/ojiepermana-angular-component-combobox.mjs +0 -272
  194. package/fesm2022/ojiepermana-angular-component-combobox.mjs.map +0 -1
  195. package/fesm2022/ojiepermana-angular-component-command.mjs +0 -293
  196. package/fesm2022/ojiepermana-angular-component-command.mjs.map +0 -1
  197. package/fesm2022/ojiepermana-angular-component-composer.mjs +0 -352
  198. package/fesm2022/ojiepermana-angular-component-composer.mjs.map +0 -1
  199. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +0 -103
  200. package/fesm2022/ojiepermana-angular-component-context-menu.mjs.map +0 -1
  201. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +0 -170
  202. package/fesm2022/ojiepermana-angular-component-date-picker.mjs.map +0 -1
  203. package/fesm2022/ojiepermana-angular-component-dialog.mjs +0 -279
  204. package/fesm2022/ojiepermana-angular-component-dialog.mjs.map +0 -1
  205. package/fesm2022/ojiepermana-angular-component-drawer.mjs +0 -6
  206. package/fesm2022/ojiepermana-angular-component-drawer.mjs.map +0 -1
  207. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +0 -492
  208. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs.map +0 -1
  209. package/fesm2022/ojiepermana-angular-component-editor.mjs +0 -717
  210. package/fesm2022/ojiepermana-angular-component-editor.mjs.map +0 -1
  211. package/fesm2022/ojiepermana-angular-component-empty.mjs +0 -145
  212. package/fesm2022/ojiepermana-angular-component-empty.mjs.map +0 -1
  213. package/fesm2022/ojiepermana-angular-component-form.mjs +0 -366
  214. package/fesm2022/ojiepermana-angular-component-form.mjs.map +0 -1
  215. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +0 -297
  216. package/fesm2022/ojiepermana-angular-component-hover-card.mjs.map +0 -1
  217. package/fesm2022/ojiepermana-angular-component-input-group.mjs +0 -179
  218. package/fesm2022/ojiepermana-angular-component-input-group.mjs.map +0 -1
  219. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +0 -514
  220. package/fesm2022/ojiepermana-angular-component-input-otp.mjs.map +0 -1
  221. package/fesm2022/ojiepermana-angular-component-input.mjs +0 -45
  222. package/fesm2022/ojiepermana-angular-component-input.mjs.map +0 -1
  223. package/fesm2022/ojiepermana-angular-component-item.mjs +0 -264
  224. package/fesm2022/ojiepermana-angular-component-item.mjs.map +0 -1
  225. package/fesm2022/ojiepermana-angular-component-kanban.mjs +0 -314
  226. package/fesm2022/ojiepermana-angular-component-kanban.mjs.map +0 -1
  227. package/fesm2022/ojiepermana-angular-component-kbd.mjs +0 -55
  228. package/fesm2022/ojiepermana-angular-component-kbd.mjs.map +0 -1
  229. package/fesm2022/ojiepermana-angular-component-label.mjs +0 -33
  230. package/fesm2022/ojiepermana-angular-component-label.mjs.map +0 -1
  231. package/fesm2022/ojiepermana-angular-component-menubar.mjs +0 -308
  232. package/fesm2022/ojiepermana-angular-component-menubar.mjs.map +0 -1
  233. package/fesm2022/ojiepermana-angular-component-native-select.mjs +0 -67
  234. package/fesm2022/ojiepermana-angular-component-native-select.mjs.map +0 -1
  235. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +0 -413
  236. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs.map +0 -1
  237. package/fesm2022/ojiepermana-angular-component-pagination.mjs +0 -226
  238. package/fesm2022/ojiepermana-angular-component-pagination.mjs.map +0 -1
  239. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +0 -812
  240. package/fesm2022/ojiepermana-angular-component-pillbox.mjs.map +0 -1
  241. package/fesm2022/ojiepermana-angular-component-popover.mjs +0 -169
  242. package/fesm2022/ojiepermana-angular-component-popover.mjs.map +0 -1
  243. package/fesm2022/ojiepermana-angular-component-progress.mjs +0 -60
  244. package/fesm2022/ojiepermana-angular-component-progress.mjs.map +0 -1
  245. package/fesm2022/ojiepermana-angular-component-radio.mjs +0 -122
  246. package/fesm2022/ojiepermana-angular-component-radio.mjs.map +0 -1
  247. package/fesm2022/ojiepermana-angular-component-resizable.mjs +0 -481
  248. package/fesm2022/ojiepermana-angular-component-resizable.mjs.map +0 -1
  249. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +0 -54
  250. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs.map +0 -1
  251. package/fesm2022/ojiepermana-angular-component-select.mjs +0 -176
  252. package/fesm2022/ojiepermana-angular-component-select.mjs.map +0 -1
  253. package/fesm2022/ojiepermana-angular-component-separator.mjs +0 -37
  254. package/fesm2022/ojiepermana-angular-component-separator.mjs.map +0 -1
  255. package/fesm2022/ojiepermana-angular-component-sheet.mjs +0 -284
  256. package/fesm2022/ojiepermana-angular-component-sheet.mjs.map +0 -1
  257. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +0 -31
  258. package/fesm2022/ojiepermana-angular-component-skeleton.mjs.map +0 -1
  259. package/fesm2022/ojiepermana-angular-component-slider.mjs +0 -423
  260. package/fesm2022/ojiepermana-angular-component-slider.mjs.map +0 -1
  261. package/fesm2022/ojiepermana-angular-component-spinner.mjs +0 -60
  262. package/fesm2022/ojiepermana-angular-component-spinner.mjs.map +0 -1
  263. package/fesm2022/ojiepermana-angular-component-switch.mjs +0 -116
  264. package/fesm2022/ojiepermana-angular-component-switch.mjs.map +0 -1
  265. package/fesm2022/ojiepermana-angular-component-table.mjs +0 -155
  266. package/fesm2022/ojiepermana-angular-component-table.mjs.map +0 -1
  267. package/fesm2022/ojiepermana-angular-component-tabs.mjs +0 -272
  268. package/fesm2022/ojiepermana-angular-component-tabs.mjs.map +0 -1
  269. package/fesm2022/ojiepermana-angular-component-textarea.mjs +0 -39
  270. package/fesm2022/ojiepermana-angular-component-textarea.mjs.map +0 -1
  271. package/fesm2022/ojiepermana-angular-component-timeline.mjs +0 -237
  272. package/fesm2022/ojiepermana-angular-component-timeline.mjs.map +0 -1
  273. package/fesm2022/ojiepermana-angular-component-toast.mjs +0 -71
  274. package/fesm2022/ojiepermana-angular-component-toast.mjs.map +0 -1
  275. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +0 -289
  276. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs.map +0 -1
  277. package/fesm2022/ojiepermana-angular-component-toggle.mjs +0 -82
  278. package/fesm2022/ojiepermana-angular-component-toggle.mjs.map +0 -1
  279. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +0 -354
  280. package/fesm2022/ojiepermana-angular-component-tooltip.mjs.map +0 -1
  281. package/fesm2022/ojiepermana-angular-component-utils.mjs +0 -13
  282. package/fesm2022/ojiepermana-angular-component-utils.mjs.map +0 -1
  283. package/fesm2022/ojiepermana-angular-generator-api.mjs +0 -68
  284. package/fesm2022/ojiepermana-angular-generator-api.mjs.map +0 -1
  285. package/fesm2022/ojiepermana-angular-layout-component.mjs +0 -602
  286. package/fesm2022/ojiepermana-angular-layout-component.mjs.map +0 -1
  287. package/fesm2022/ojiepermana-angular-layout-provider.mjs +0 -21
  288. package/fesm2022/ojiepermana-angular-layout-provider.mjs.map +0 -1
  289. package/fesm2022/ojiepermana-angular-layout-services.mjs +0 -116
  290. package/fesm2022/ojiepermana-angular-layout-services.mjs.map +0 -1
  291. package/fesm2022/ojiepermana-angular-layout-shell.mjs +0 -48
  292. package/fesm2022/ojiepermana-angular-layout-shell.mjs.map +0 -1
  293. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs +0 -30
  294. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs.map +0 -1
  295. package/fesm2022/ojiepermana-angular-layout-token.mjs +0 -33
  296. package/fesm2022/ojiepermana-angular-layout-token.mjs.map +0 -1
  297. package/fesm2022/ojiepermana-angular-layout-type-empty.mjs +0 -49
  298. package/fesm2022/ojiepermana-angular-layout-type-empty.mjs.map +0 -1
  299. package/fesm2022/ojiepermana-angular-layout-type-horizontal.mjs +0 -128
  300. package/fesm2022/ojiepermana-angular-layout-type-horizontal.mjs.map +0 -1
  301. package/fesm2022/ojiepermana-angular-layout-type-vertical.mjs +0 -123
  302. package/fesm2022/ojiepermana-angular-layout-type-vertical.mjs.map +0 -1
  303. package/fesm2022/ojiepermana-angular-layout.mjs +0 -485
  304. package/fesm2022/ojiepermana-angular-layout.mjs.map +0 -1
  305. package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs +0 -334
  306. package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs.map +0 -1
  307. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +0 -63
  308. package/fesm2022/ojiepermana-angular-navigation-icon.mjs.map +0 -1
  309. package/fesm2022/ojiepermana-angular-navigation-item.mjs +0 -559
  310. package/fesm2022/ojiepermana-angular-navigation-item.mjs.map +0 -1
  311. package/fesm2022/ojiepermana-angular-navigation-service.mjs +0 -213
  312. package/fesm2022/ojiepermana-angular-navigation-service.mjs.map +0 -1
  313. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs +0 -401
  314. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs.map +0 -1
  315. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs +0 -670
  316. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs.map +0 -1
  317. package/fesm2022/ojiepermana-angular-navigation-types.mjs +0 -4
  318. package/fesm2022/ojiepermana-angular-navigation-types.mjs.map +0 -1
  319. package/fesm2022/ojiepermana-angular-theme-provider.mjs +0 -35
  320. package/fesm2022/ojiepermana-angular-theme-provider.mjs.map +0 -1
  321. package/fesm2022/ojiepermana-angular-theme-services.mjs +0 -294
  322. package/fesm2022/ojiepermana-angular-theme-services.mjs.map +0 -1
  323. package/fesm2022/ojiepermana-angular-theme-token.mjs +0 -56
  324. package/fesm2022/ojiepermana-angular-theme-token.mjs.map +0 -1
  325. package/generator/api/README.md +0 -252
  326. package/generator/api/bin/package.json +0 -3
  327. package/generator/api/bin/schematics/init/index.js +0 -90
  328. package/generator/api/bin/schematics/ng-add/index.js +0 -131
  329. package/generator/api/bin/schematics/sdk/index.js +0 -76
  330. package/generator/api/bin/src/config/loader.js +0 -41
  331. package/generator/api/bin/src/config/schema.js +0 -57
  332. package/generator/api/bin/src/emit/client.js +0 -248
  333. package/generator/api/bin/src/emit/metadata.js +0 -295
  334. package/generator/api/bin/src/emit/models.js +0 -106
  335. package/generator/api/bin/src/emit/navigation.js +0 -56
  336. package/generator/api/bin/src/emit/operations.js +0 -122
  337. package/generator/api/bin/src/emit/public-api.js +0 -54
  338. package/generator/api/bin/src/emit/services.js +0 -87
  339. package/generator/api/bin/src/engine.js +0 -65
  340. package/generator/api/bin/src/layout/per-domain.js +0 -359
  341. package/generator/api/bin/src/parser/bundle.js +0 -25
  342. package/generator/api/bin/src/parser/ir.js +0 -320
  343. package/generator/api/bin/src/parser/types.js +0 -7
  344. package/generator/api/bin/src/render/template.js +0 -58
  345. package/generator/api/bin/src/writer/index.js +0 -278
  346. package/generator/api/package.json +0 -4
  347. package/generator/api/schematics/init/schema.json +0 -19
  348. package/generator/api/schematics/ng-add/schema.json +0 -14
  349. package/generator/api/schematics/sdk/schema.json +0 -19
  350. package/generator/api/sdk.config.example.json +0 -24
  351. package/generator/guide/README.md +0 -84
  352. package/generator/guide/bin/package.json +0 -3
  353. package/generator/guide/bin/schematics/build/index.js +0 -36
  354. package/generator/guide/bin/schematics/init/index.js +0 -70
  355. package/generator/guide/bin/src/config/loader.js +0 -50
  356. package/generator/guide/bin/src/config/schema.js +0 -12
  357. package/generator/guide/bin/src/engine/component.js +0 -74
  358. package/generator/guide/bin/src/engine/frontmatter.js +0 -42
  359. package/generator/guide/bin/src/engine/index.js +0 -42
  360. package/generator/guide/bin/src/engine/naming.js +0 -39
  361. package/generator/guide/bin/src/engine/render.js +0 -36
  362. package/generator/guide/bin/src/engine/routes.js +0 -106
  363. package/generator/guide/bin/src/engine/walk.js +0 -35
  364. package/generator/guide/guide.config.example.json +0 -9
  365. package/generator/guide/schematics/build/schema.json +0 -14
  366. package/generator/guide/schematics/init/schema.json +0 -19
  367. package/layout/component/package.json +0 -4
  368. package/layout/package.json +0 -4
  369. package/layout/provider/package.json +0 -4
  370. package/layout/services/package.json +0 -4
  371. package/layout/shell/package.json +0 -4
  372. package/layout/token/directive/package.json +0 -4
  373. package/layout/token/package.json +0 -4
  374. package/layout/type/empty/package.json +0 -4
  375. package/layout/type/horizontal/package.json +0 -4
  376. package/layout/type/vertical/package.json +0 -4
  377. package/navigation/demo-data/package.json +0 -4
  378. package/navigation/icon/package.json +0 -4
  379. package/navigation/item/package.json +0 -4
  380. package/navigation/service/package.json +0 -4
  381. package/navigation/sidebar/package.json +0 -4
  382. package/navigation/topbar/README.md +0 -196
  383. package/navigation/topbar/package.json +0 -4
  384. package/navigation/types/package.json +0 -4
  385. package/theme/README.md +0 -174
  386. package/theme/package.json +0 -4
  387. package/theme/provider/package.json +0 -4
  388. package/theme/services/package.json +0 -4
  389. package/theme/styles/foundation/components.css +0 -81
  390. package/theme/styles/foundation/layers.css +0 -15
  391. package/theme/styles/foundation/tokens.css +0 -55
  392. package/theme/styles/index.css +0 -37
  393. package/theme/styles/integrations/material/autocomplete.css +0 -178
  394. package/theme/styles/integrations/material/button.css +0 -468
  395. package/theme/styles/integrations/material/dialog.css +0 -152
  396. package/theme/styles/integrations/material/select.css +0 -175
  397. package/theme/styles/integrations/material/slide-toggle.css +0 -234
  398. package/theme/styles/integrations/material/slider.css +0 -194
  399. package/theme/styles/integrations/material/tabs.css +0 -229
  400. package/theme/styles/integrations/material.css +0 -264
  401. package/theme/styles/integrations/tailwind.css +0 -114
  402. package/theme/styles/variants/color/amber.css +0 -31
  403. package/theme/styles/variants/color/base.css +0 -36
  404. package/theme/styles/variants/color/blue.css +0 -31
  405. package/theme/styles/variants/color/cyan.css +0 -31
  406. package/theme/styles/variants/color/emerald.css +0 -31
  407. package/theme/styles/variants/color/fuchsia.css +0 -31
  408. package/theme/styles/variants/color/green.css +0 -31
  409. package/theme/styles/variants/color/index.css +0 -22
  410. package/theme/styles/variants/color/indigo.css +0 -31
  411. package/theme/styles/variants/color/lime.css +0 -31
  412. package/theme/styles/variants/color/orange.css +0 -31
  413. package/theme/styles/variants/color/pink.css +0 -31
  414. package/theme/styles/variants/color/purple.css +0 -31
  415. package/theme/styles/variants/color/red.css +0 -31
  416. package/theme/styles/variants/color/rose.css +0 -31
  417. package/theme/styles/variants/color/sky.css +0 -31
  418. package/theme/styles/variants/color/teal.css +0 -31
  419. package/theme/styles/variants/color/violet.css +0 -31
  420. package/theme/styles/variants/color/yellow.css +0 -31
  421. package/theme/styles/variants/mode/dark.css +0 -20
  422. package/theme/styles/variants/mode/index.css +0 -6
  423. package/theme/styles/variants/mode/light.css +0 -24
  424. package/theme/styles/variants/style/brutal.css +0 -50
  425. package/theme/styles/variants/style/default.css +0 -54
  426. package/theme/styles/variants/style/index.css +0 -8
  427. package/theme/styles/variants/style/sharp.css +0 -50
  428. package/theme/styles/variants/style/soft.css +0 -50
  429. package/theme/token/package.json +0 -4
  430. package/types/ojiepermana-angular-component-accordion.d.ts +0 -51
  431. package/types/ojiepermana-angular-component-alert-dialog.d.ts +0 -93
  432. package/types/ojiepermana-angular-component-alert.d.ts +0 -37
  433. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +0 -12
  434. package/types/ojiepermana-angular-component-avatar.d.ts +0 -51
  435. package/types/ojiepermana-angular-component-badge.d.ts +0 -19
  436. package/types/ojiepermana-angular-component-breadcrumb.d.ts +0 -46
  437. package/types/ojiepermana-angular-component-button-group.d.ts +0 -26
  438. package/types/ojiepermana-angular-component-button.d.ts +0 -22
  439. package/types/ojiepermana-angular-component-calendar.d.ts +0 -33
  440. package/types/ojiepermana-angular-component-card.d.ts +0 -60
  441. package/types/ojiepermana-angular-component-carousel.d.ts +0 -86
  442. package/types/ojiepermana-angular-component-chart-area.d.ts +0 -1
  443. package/types/ojiepermana-angular-component-chart-bar.d.ts +0 -1
  444. package/types/ojiepermana-angular-component-chart-line.d.ts +0 -1
  445. package/types/ojiepermana-angular-component-chart-pie.d.ts +0 -1
  446. package/types/ojiepermana-angular-component-chart-radar.d.ts +0 -1
  447. package/types/ojiepermana-angular-component-chart-radial.d.ts +0 -1
  448. package/types/ojiepermana-angular-component-chart-scatter.d.ts +0 -1
  449. package/types/ojiepermana-angular-component-chart.d.ts +0 -1094
  450. package/types/ojiepermana-angular-component-checkbox.d.ts +0 -35
  451. package/types/ojiepermana-angular-component-collapsible.d.ts +0 -42
  452. package/types/ojiepermana-angular-component-combobox.d.ts +0 -50
  453. package/types/ojiepermana-angular-component-command.d.ts +0 -99
  454. package/types/ojiepermana-angular-component-composer.d.ts +0 -90
  455. package/types/ojiepermana-angular-component-context-menu.d.ts +0 -35
  456. package/types/ojiepermana-angular-component-date-picker.d.ts +0 -41
  457. package/types/ojiepermana-angular-component-dialog.d.ts +0 -87
  458. package/types/ojiepermana-angular-component-drawer.d.ts +0 -1
  459. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +0 -137
  460. package/types/ojiepermana-angular-component-editor.d.ts +0 -123
  461. package/types/ojiepermana-angular-component-empty.d.ts +0 -50
  462. package/types/ojiepermana-angular-component-form.d.ts +0 -141
  463. package/types/ojiepermana-angular-component-hover-card.d.ts +0 -74
  464. package/types/ojiepermana-angular-component-input-group.d.ts +0 -51
  465. package/types/ojiepermana-angular-component-input-otp.d.ts +0 -136
  466. package/types/ojiepermana-angular-component-input.d.ts +0 -16
  467. package/types/ojiepermana-angular-component-item.d.ts +0 -88
  468. package/types/ojiepermana-angular-component-kanban.d.ts +0 -70
  469. package/types/ojiepermana-angular-component-kbd.d.ts +0 -16
  470. package/types/ojiepermana-angular-component-label.d.ts +0 -11
  471. package/types/ojiepermana-angular-component-menubar.d.ts +0 -67
  472. package/types/ojiepermana-angular-component-native-select.d.ts +0 -26
  473. package/types/ojiepermana-angular-component-navigation-menu.d.ts +0 -96
  474. package/types/ojiepermana-angular-component-pagination.d.ts +0 -33
  475. package/types/ojiepermana-angular-component-pillbox.d.ts +0 -157
  476. package/types/ojiepermana-angular-component-popover.d.ts +0 -43
  477. package/types/ojiepermana-angular-component-progress.d.ts +0 -17
  478. package/types/ojiepermana-angular-component-radio.d.ts +0 -40
  479. package/types/ojiepermana-angular-component-resizable.d.ts +0 -99
  480. package/types/ojiepermana-angular-component-scroll-area.d.ts +0 -19
  481. package/types/ojiepermana-angular-component-select.d.ts +0 -57
  482. package/types/ojiepermana-angular-component-separator.d.ts +0 -14
  483. package/types/ojiepermana-angular-component-sheet.d.ts +0 -76
  484. package/types/ojiepermana-angular-component-skeleton.d.ts +0 -10
  485. package/types/ojiepermana-angular-component-slider.d.ts +0 -74
  486. package/types/ojiepermana-angular-component-spinner.d.ts +0 -13
  487. package/types/ojiepermana-angular-component-switch.d.ts +0 -40
  488. package/types/ojiepermana-angular-component-table.d.ts +0 -52
  489. package/types/ojiepermana-angular-component-tabs.d.ts +0 -92
  490. package/types/ojiepermana-angular-component-textarea.d.ts +0 -12
  491. package/types/ojiepermana-angular-component-timeline.d.ts +0 -63
  492. package/types/ojiepermana-angular-component-toast.d.ts +0 -38
  493. package/types/ojiepermana-angular-component-toggle-group.d.ts +0 -89
  494. package/types/ojiepermana-angular-component-toggle.d.ts +0 -25
  495. package/types/ojiepermana-angular-component-tooltip.d.ts +0 -89
  496. package/types/ojiepermana-angular-component-utils.d.ts +0 -5
  497. package/types/ojiepermana-angular-generator-api.d.ts +0 -86
  498. package/types/ojiepermana-angular-layout-component.d.ts +0 -205
  499. package/types/ojiepermana-angular-layout-provider.d.ts +0 -6
  500. package/types/ojiepermana-angular-layout-services.d.ts +0 -25
  501. package/types/ojiepermana-angular-layout-shell.d.ts +0 -8
  502. package/types/ojiepermana-angular-layout-token-directive.d.ts +0 -13
  503. package/types/ojiepermana-angular-layout-token.d.ts +0 -36
  504. package/types/ojiepermana-angular-layout-type-empty.d.ts +0 -22
  505. package/types/ojiepermana-angular-layout-type-horizontal.d.ts +0 -36
  506. package/types/ojiepermana-angular-layout-type-vertical.d.ts +0 -38
  507. package/types/ojiepermana-angular-layout.d.ts +0 -164
  508. package/types/ojiepermana-angular-navigation-demo-data.d.ts +0 -5
  509. package/types/ojiepermana-angular-navigation-icon.d.ts +0 -17
  510. package/types/ojiepermana-angular-navigation-item.d.ts +0 -54
  511. package/types/ojiepermana-angular-navigation-service.d.ts +0 -77
  512. package/types/ojiepermana-angular-navigation-sidebar.d.ts +0 -75
  513. package/types/ojiepermana-angular-navigation-topbar.d.ts +0 -74
  514. package/types/ojiepermana-angular-navigation-types.d.ts +0 -135
  515. package/types/ojiepermana-angular-theme-provider.d.ts +0 -11
  516. package/types/ojiepermana-angular-theme-services.d.ts +0 -55
  517. package/types/ojiepermana-angular-theme-token.d.ts +0 -57
@@ -1,168 +0,0 @@
1
- # Resizable
2
-
3
- Accessible resizable panel groups and layouts with pointer and keyboard support.
4
-
5
- Use Resizable for split views, workspace layouts, drill-in dashboards, inspector panes, and settings screens where users should control how much space each pane receives.
6
-
7
- ## Import
8
-
9
- ```ts
10
- import {
11
- ResizableHandleComponent,
12
- ResizablePanelComponent,
13
- ResizablePanelGroupComponent,
14
- } from '@ojiepermana/angular/component/resizable';
15
- ```
16
-
17
- ## Composition
18
-
19
- The Angular structure mirrors the shadcn composition while using Angular selectors and standalone imports.
20
-
21
- ```text
22
- ui-resizable-panel-group
23
- ├── ui-resizable-panel
24
- ├── ui-resizable-handle
25
- └── ui-resizable-panel
26
- ```
27
-
28
- ## Basic usage
29
-
30
- Use `ui-resizable-panel-group` as the root, place `ui-resizable-panel` elements around each separator, and insert `ui-resizable-handle` between adjacent panels.
31
-
32
- ```html
33
- <ui-resizable-panel-group orientation="horizontal" class="h-[200px] max-w-lg rounded-lg border border-border">
34
- <ui-resizable-panel defaultSize="35%">
35
- <div class="flex h-full items-center justify-center p-6">Navigation</div>
36
- </ui-resizable-panel>
37
-
38
- <ui-resizable-handle aria-label="Resize navigation"></ui-resizable-handle>
39
-
40
- <ui-resizable-panel defaultSize="65%">
41
- <div class="flex h-full items-center justify-center p-6">Content</div>
42
- </ui-resizable-panel>
43
- </ui-resizable-panel-group>
44
- ```
45
-
46
- ## Common patterns
47
-
48
- ### Nested workspace layout
49
-
50
- Nested groups work well for mail, support, or analytics layouts where a secondary area also needs its own split.
51
-
52
- ```html
53
- <ui-resizable-panel-group orientation="horizontal" class="h-[220px] rounded-lg border border-border">
54
- <ui-resizable-panel defaultSize="50%">
55
- <div class="flex h-full items-center justify-center p-6">Threads</div>
56
- </ui-resizable-panel>
57
-
58
- <ui-resizable-handle withHandle aria-label="Resize thread list"></ui-resizable-handle>
59
-
60
- <ui-resizable-panel defaultSize="50%">
61
- <ui-resizable-panel-group orientation="vertical" class="h-full">
62
- <ui-resizable-panel defaultSize="28%">
63
- <div class="flex h-full items-center justify-center p-6">Summary</div>
64
- </ui-resizable-panel>
65
- <ui-resizable-handle withHandle aria-label="Resize summary"></ui-resizable-handle>
66
- <ui-resizable-panel defaultSize="72%">
67
- <div class="flex h-full items-center justify-center p-6">Details</div>
68
- </ui-resizable-panel>
69
- </ui-resizable-panel-group>
70
- </ui-resizable-panel>
71
- </ui-resizable-panel-group>
72
- ```
73
-
74
- ### Vertical resizing
75
-
76
- Use `orientation="vertical"` when panes stack top-to-bottom.
77
-
78
- ```html
79
- <ui-resizable-panel-group orientation="vertical" class="h-[220px] max-w-sm rounded-lg border border-border">
80
- <ui-resizable-panel defaultSize="25%">...</ui-resizable-panel>
81
- <ui-resizable-handle aria-label="Resize header"></ui-resizable-handle>
82
- <ui-resizable-panel defaultSize="75%">...</ui-resizable-panel>
83
- </ui-resizable-panel-group>
84
- ```
85
-
86
- ### Visible handle
87
-
88
- Add `withHandle` when the splitter should show a grab affordance.
89
-
90
- ```html
91
- <ui-resizable-handle withHandle aria-label="Resize sidebar"></ui-resizable-handle>
92
- ```
93
-
94
- ### Size constraints
95
-
96
- Use `minSize` and `maxSize` to keep navigation, preview, or inspector panes within useful bounds.
97
-
98
- ```html
99
- <ui-resizable-panel defaultSize="30%" minSize="20%" maxSize="40%">...</ui-resizable-panel>
100
- ```
101
-
102
- ### RTL
103
-
104
- Set `dir="rtl"` on `ui-resizable-panel-group` or an ancestor when the layout should follow right-to-left direction. Pointer and arrow-key resizing adapt to the computed direction.
105
-
106
- ```html
107
- <ui-resizable-panel-group dir="rtl" orientation="horizontal" class="h-[200px] rounded-lg border border-border">
108
- <ui-resizable-panel defaultSize="50%">...</ui-resizable-panel>
109
- <ui-resizable-handle withHandle aria-label="تغيير حجم القائمة"></ui-resizable-handle>
110
- <ui-resizable-panel defaultSize="50%">...</ui-resizable-panel>
111
- </ui-resizable-panel-group>
112
- ```
113
-
114
- ## API reference
115
-
116
- ### `ResizablePanelGroupComponent`
117
-
118
- | Input | Type | Default |
119
- | ------------- | ---------------------------- | -------------- |
120
- | `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` |
121
- | `class` | `string` | `''` |
122
-
123
- ### `ResizablePanelComponent`
124
-
125
- | Input | Type | Default |
126
- | ------------- | -------------------------- | -------------- |
127
- | `defaultSize` | `string \| number \| null` | `null` |
128
- | `minSize` | `string \| number` | `'10%'` |
129
- | `maxSize` | `string \| number` | `'90%'` |
130
- | `id` | `string \| null` | auto-generated |
131
- | `class` | `string` | `''` |
132
-
133
- ### `ResizableHandleComponent`
134
-
135
- | Input | Type | Default |
136
- | ------------ | ---------------- | ---------------- |
137
- | `withHandle` | `boolean` | `false` |
138
- | `aria-label` | `string \| null` | `'Resize panel'` |
139
- | `class` | `string` | `''` |
140
-
141
- ## Styling and theming
142
-
143
- Pass `class` to the group, panel, or handle to tune height, width, backgrounds, borders, and embedded layouts.
144
-
145
- The primitives use the shared theme tokens, so utilities such as `border-border`, `bg-card`, `bg-muted/40`, `text-foreground`, and `focus-visible:ring-ring` work as expected.
146
-
147
- ## Accessibility
148
-
149
- - Each handle is a focusable `separator` with `aria-controls`, `aria-valuenow`, `aria-valuemin`, and `aria-valuemax`.
150
- - Provide a clear `aria-label` for each handle when the surrounding pane label is not already obvious from context.
151
- - Panels stay in normal page flow, which keeps nested forms and content accessible without extra portals or overlays.
152
-
153
- ## Keyboard interactions
154
-
155
- - Arrow keys resize the adjacent panes.
156
- - `Home` moves the primary pane to its minimum allowed size.
157
- - `End` moves the primary pane to its maximum allowed size.
158
- - `Enter` collapses the primary pane to its minimum and restores the previous size on the next press.
159
-
160
- ## Angular notes
161
-
162
- - The API follows the shadcn `orientation` plus percent-size model, but does not require React or `react-resizable-panels`.
163
- - `defaultSize`, `minSize`, and `maxSize` accept either percentage strings such as `'25%'` or numeric percentages such as `25`.
164
- - Custom element hosts are explicitly block-level flex items so nested groups and dashboard panes size correctly inside Angular templates.
165
-
166
- ## Source parity
167
-
168
- This Angular implementation follows the shadcn Resizable composition and examples while translating them to standalone component imports, Angular selectors, and a signal-driven internal layout model.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-resizable.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-resizable.d.ts"
4
- }
@@ -1,143 +0,0 @@
1
- # Scroll Area
2
-
3
- Native scroll viewport with token-styled scrollbars for constrained lists,
4
- horizontal galleries, and RTL content. It maps the shadcn Scroll Area pattern to
5
- Angular while keeping scrolling browser-native.
6
-
7
- ## Import
8
-
9
- ```ts
10
- import { ScrollAreaComponent } from '@ojiepermana/angular/component/scroll-area';
11
- ```
12
-
13
- Import composed primitives separately when the content needs them:
14
-
15
- ```ts
16
- import { ScrollAreaComponent } from '@ojiepermana/angular/component/scroll-area';
17
- import { SeparatorComponent } from '@ojiepermana/angular/component/separator';
18
- ```
19
-
20
- ## Usage
21
-
22
- Give the host a stable height or width, then place padding on inner content when
23
- the scrollbar should stay flush with the border.
24
-
25
- ```html
26
- <ui-scroll-area class="h-72 w-48 rounded-md border border-border" viewportAriaLabel="Release tags">
27
- <div class="p-4">
28
- <h4 class="mb-4 text-sm font-medium leading-none">Tags</h4>
29
- @for (tag of tags; track tag) {
30
- <div class="text-sm">{{ tag }}</div>
31
- <ui-separator class="my-2" />
32
- }
33
- </div>
34
- </ui-scroll-area>
35
- ```
36
-
37
- ## Common Patterns
38
-
39
- ### Basic List
40
-
41
- ```html
42
- <ui-scroll-area class="h-64 w-56 rounded-md border border-border" viewportAriaLabel="Activity log">
43
- <ol class="space-y-3 p-4 text-sm">
44
- @for (event of events; track event.id) {
45
- <li>{{ event.label }}</li>
46
- }
47
- </ol>
48
- </ui-scroll-area>
49
- ```
50
-
51
- ### Horizontal Content
52
-
53
- ```html
54
- <ui-scroll-area class="w-full max-w-md rounded-md border border-border" viewportAriaLabel="Artwork gallery">
55
- <div class="flex w-max gap-4 p-4">
56
- @for (artwork of artworks; track artwork.id; let index = $index) {
57
- <figure class="shrink-0">
58
- <img
59
- [ngSrc]="artwork.image"
60
- [alt]="artwork.alt"
61
- [priority]="index === 0"
62
- width="300"
63
- height="400"
64
- class="aspect-3/4 h-64 w-48 rounded-md object-cover" />
65
- <figcaption class="pt-2 text-xs text-muted-foreground">{{ artwork.caption }}</figcaption>
66
- </figure>
67
- }
68
- </div>
69
- </ui-scroll-area>
70
- ```
71
-
72
- ### RTL Content
73
-
74
- ```html
75
- <ui-scroll-area
76
- dir="rtl"
77
- lang="ar"
78
- class="h-72 w-48 rounded-md border border-border text-right"
79
- viewportAriaLabel="قائمة العلامات">
80
- <div class="p-4">...</div>
81
- </ui-scroll-area>
82
- ```
83
-
84
- ## API Reference
85
-
86
- | Input | Type | Default | Description |
87
- | ------------------- | ---------------- | ------- | --------------------------------------------------------------------------------------------- |
88
- | `class` | `string` | `''` | Classes applied to the custom-element host. Use this for size, border, radius, and placement. |
89
- | `viewportClass` | `string` | `''` | Classes merged onto the native scroll viewport for axis control, whitespace, or overflow. |
90
- | `viewportAriaLabel` | `string \| null` | `null` | Adds an accessible label and exposes the viewport as a named region. |
91
- | `viewportTabIndex` | `number` | `0` | Keeps the scroll viewport keyboard-focusable. Use `-1` only when focusable children suffice. |
92
-
93
- ## Styling and Theming
94
-
95
- The host is block-level, relatively positioned, and overflow-hidden. The inner
96
- viewport uses native `overflow: auto`, `scrollbar-width: thin` for Firefox, and
97
- WebKit scrollbar pseudo-elements for Chromium/Safari.
98
-
99
- Tokens consumed:
100
-
101
- - `--border` for the default scrollbar thumb.
102
- - `--muted-foreground` for the hover thumb fallback.
103
- - `--ring` for keyboard focus indication.
104
-
105
- Pass `class` for host sizing and borders, and `viewportClass` when the viewport
106
- itself needs adjustments such as `whitespace-nowrap`, custom padding, or axis
107
- constraints.
108
-
109
- ## Accessibility
110
-
111
- The component keeps native wheel, touch, momentum, and keyboard scrolling. The
112
- viewport is focusable by default with `tabindex="0"`, so keyboard users can
113
- scroll overflowing content even when there are no focusable descendants.
114
-
115
- Use `viewportAriaLabel` when the scrollable region needs a spoken name. When a
116
- label is present, the viewport is exposed as `role="region"`. Keep long lists in
117
- logical DOM order and avoid hiding important content behind custom-only pointer
118
- controls.
119
-
120
- ## Keyboard Interactions
121
-
122
- When the viewport has focus, the browser handles scrolling keys:
123
-
124
- - Arrow keys move in the matching direction.
125
- - Page Up and Page Down scroll by a larger step.
126
- - Home and End jump to the start or end where supported.
127
- - Space follows the browser's scroll behavior for the focused region.
128
-
129
- ## Angular Notes
130
-
131
- `ScrollAreaComponent` is standalone and has no provider setup. Use Angular
132
- `@for` with stable track expressions for long content. For static artwork inside
133
- horizontal scroll examples, import `NgOptimizedImage` and use `ngSrc`.
134
-
135
- The component intentionally does not add a child `ScrollBar` directive. Native
136
- scrollbars are styled by CSS and remain visible only when the content overflows.
137
-
138
- ## Source Parity
139
-
140
- The shadcn Scroll Area docs show `ScrollArea` plus a `ScrollBar` part. This
141
- Angular implementation preserves the same usage goals, examples, RTL guidance,
142
- and themed scrollbar appearance while mapping `ScrollBar` to browser-native
143
- scrollbars instead of a separate decorative child component.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-scroll-area.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-scroll-area.d.ts"
4
- }
@@ -1,174 +0,0 @@
1
- # Select
2
-
3
- Material-backed custom select with shadcn styling for overlay-driven single or multiple choice.
4
-
5
- ## Import
6
-
7
- ```ts
8
- import { FormsModule } from '@angular/forms';
9
- import { OptionComponent, SelectComponent } from '@your-scope/angular/component/select';
10
- ```
11
-
12
- ## Composition
13
-
14
- `ui-select` owns the trigger, overlay, disabled state, and common ARIA passthrough.
15
- Project `ui-option` children into it for the actual choices.
16
-
17
- For grouped menus, the current Angular mapping uses `MatOptgroup` from
18
- `@angular/material/core` inside `ui-select` rather than publishing separate
19
- `SelectGroup`, `SelectLabel`, or `SelectSeparator` wrappers.
20
-
21
- ```text
22
- ui-select
23
- ├── ui-option
24
- ├── ui-option
25
- └── mat-optgroup (optional grouping bridge)
26
- ├── ui-option
27
- └── ui-option
28
- ```
29
-
30
- ## Basic Usage
31
-
32
- ```html
33
- <ui-select class="block w-full max-w-xs" placeholder="Select a plan" [(ngModel)]="plan" aria-label="Plan">
34
- <ui-option value="free">Free</ui-option>
35
- <ui-option value="pro">Pro</ui-option>
36
- <ui-option value="enterprise">Enterprise</ui-option>
37
- </ui-select>
38
- ```
39
-
40
- ## Common Patterns
41
-
42
- ### Grouped options
43
-
44
- ```ts
45
- import { MatOptgroup } from '@angular/material/core';
46
- ```
47
-
48
- ```html
49
- <ui-select class="block w-full max-w-sm" placeholder="Select produce" [(ngModel)]="produce" aria-label="Produce">
50
- <mat-optgroup label="Fruits">
51
- <ui-option value="apple">Apple</ui-option>
52
- <ui-option value="banana">Banana</ui-option>
53
- <ui-option value="blueberry">Blueberry</ui-option>
54
- </mat-optgroup>
55
-
56
- <mat-optgroup label="Vegetables">
57
- <ui-option value="carrot">Carrot</ui-option>
58
- <ui-option value="broccoli">Broccoli</ui-option>
59
- <ui-option value="spinach">Spinach</ui-option>
60
- </mat-optgroup>
61
- </ui-select>
62
- ```
63
-
64
- ### Disabled trigger
65
-
66
- ```html
67
- <ui-select placeholder="Disabled" disabled aria-label="Disabled plan">
68
- <ui-option value="free">Free</ui-option>
69
- <ui-option value="pro">Pro</ui-option>
70
- <ui-option value="enterprise">Enterprise</ui-option>
71
- </ui-select>
72
- ```
73
-
74
- ### Scrollable overlay
75
-
76
- Long lists scroll automatically inside the Material overlay. You do not need a
77
- separate input for that behavior.
78
-
79
- ```html
80
- <ui-select class="block w-full max-w-md" placeholder="Select a timezone" [(ngModel)]="timezone" aria-label="Timezone">
81
- <mat-optgroup label="North America">
82
- <ui-option value="est">Eastern Standard Time</ui-option>
83
- <ui-option value="cst">Central Standard Time</ui-option>
84
- <ui-option value="mst">Mountain Standard Time</ui-option>
85
- <ui-option value="pst">Pacific Standard Time</ui-option>
86
- </mat-optgroup>
87
-
88
- <mat-optgroup label="Europe & Africa">
89
- <ui-option value="gmt">Greenwich Mean Time</ui-option>
90
- <ui-option value="cet">Central European Time</ui-option>
91
- <ui-option value="eet">Eastern European Time</ui-option>
92
- </mat-optgroup>
93
- </ui-select>
94
- ```
95
-
96
- ### Helper and error text
97
-
98
- The wrapper accepts `aria-describedby`, so helper or error text can live next to
99
- the trigger instead of inside it.
100
-
101
- ```html
102
- <ui-select
103
- class="block w-full max-w-sm"
104
- placeholder="Select department"
105
- aria-label="Department"
106
- aria-describedby="department-error"
107
- [formControl]="departmentControl"
108
- required>
109
- <ui-option value="engineering">Engineering</ui-option>
110
- <ui-option value="sales">Sales</ui-option>
111
- <ui-option value="operations">Operations</ui-option>
112
- </ui-select>
113
-
114
- <p id="department-error" class="text-sm font-medium text-destructive">Select a department before continuing.</p>
115
- ```
116
-
117
- ### Multiple selection
118
-
119
- ```html
120
- <ui-select multiple [(ngModel)]="interests" aria-label="Interests">
121
- @for (i of all; track i) {
122
- <ui-option [value]="i">{{ i }}</ui-option>
123
- }
124
- </ui-select>
125
- ```
126
-
127
- ## API Reference
128
-
129
- | Primitive | Selector | Inputs | Outputs |
130
- | --------------------- | -------------- | --------------------------------------------------------------------------------------------------------------- | ----------------------------- |
131
- | `SelectComponent` | `ui-select` | `placeholder`, `disabled`, `multiple`, `required`, `aria-label`, `aria-labelledby`, `aria-describedby`, `class` | `valueChange`, `openedChange` |
132
- | `OptionComponent` | `ui-option` | `value`, `disabled`, `class` | none |
133
- | `MatOptgroup` mapping | `mat-optgroup` | `label`, `disabled` | none |
134
-
135
- Public methods on `SelectComponent`: `open()`, `close()`, `focus()`.
136
-
137
- ## Styling and Theming
138
-
139
- The component inherits Angular Material overlay behavior but applies the local
140
- shadcn-style bridge tokens through `select.component.css`.
141
-
142
- - The trigger uses the local input, ring, radius, and muted-foreground tokens.
143
- - The overlay panel keeps `panelClass="ui-select-panel"` so the shared Material
144
- bridge layer can restyle the menu surface and options.
145
- - Group labels come from Angular Material `mat-optgroup`, so grouped menus inherit
146
- Material spacing while still picking up the surrounding theme tokens.
147
-
148
- ## Accessibility
149
-
150
- Built on `mat-select`, which exposes the listbox/combobox interaction contract.
151
-
152
- - Provide an accessible name with surrounding copy or `aria-label`/`aria-labelledby`.
153
- - Use `aria-describedby` when helper or validation text is rendered next to the trigger.
154
- - Group options only when the categories make the list easier to scan.
155
-
156
- ## Keyboard Interactions
157
-
158
- - `Enter`, `Space`, or `Alt+ArrowDown` opens the trigger.
159
- - Arrow keys move through the open option list, and Material typeahead jumps to matching labels.
160
- - `Enter` or `Space` confirms the active option, and `Escape` closes the panel.
161
-
162
- ## Angular Notes
163
-
164
- - `ui-select` is intentionally a thin Angular wrapper over `mat-select` rather than a one-to-one Radix port.
165
- - Grouped menus currently rely on `MatOptgroup` from `@angular/material/core`.
166
- - If you want browser-native pickers, semantic `optgroup` nodes, or mobile-first behavior, use `select[ui-native-select]` instead.
167
-
168
- ## Source Parity
169
-
170
- This Angular slice follows the shadcn Select information architecture while staying honest about the local API.
171
-
172
- - The public entrypoint exposes `ui-select` and `ui-option` instead of separate `SelectTrigger`, `SelectContent`, `SelectGroup`, and `SelectItem` components.
173
- - Group labels map to Angular Material `mat-optgroup`; there is no published `SelectSeparator` wrapper today.
174
- - Overlay positioning follows Angular Material, so the wrapper does not currently expose the shadcn/Radix `position="item-aligned" | "popper"` switch.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-select.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-select.d.ts"
4
- }
@@ -1,170 +0,0 @@
1
- # Separator
2
-
3
- Visually or semantically separates content. Use Separator for subtle section
4
- breaks, split navigation rows, compact menu metadata, and stacked definition
5
- lists.
6
-
7
- ## Import
8
-
9
- ```ts
10
- import { SeparatorComponent } from '@ojiepermana/angular/component/separator';
11
- ```
12
-
13
- ## Basic usage
14
-
15
- Use the default separator for purely visual breaks. When the divider carries
16
- structure that assistive technology should announce, set
17
- `[decorative]="false"`.
18
-
19
- ```html
20
- <ui-separator class="my-4" /> <ui-separator [decorative]="false" class="my-4" />
21
- ```
22
-
23
- ## Common patterns
24
-
25
- ### Preview card
26
-
27
- This mirrors the upstream shadcn hero example: title block, separator, then the
28
- supporting description.
29
-
30
- ```html
31
- <div class="flex w-full max-w-sm flex-col gap-4 rounded-xl border border-border bg-card/40 p-5 text-sm">
32
- <div class="flex flex-col gap-1.5">
33
- <div class="leading-none font-medium">shadcn/ui</div>
34
- <div class="text-muted-foreground">The Foundation for your Design System</div>
35
- </div>
36
- <ui-separator />
37
- <div class="text-muted-foreground">
38
- A set of beautifully designed components that you can customize, extend, and build on.
39
- </div>
40
- </div>
41
- ```
42
-
43
- ### Vertical row
44
-
45
- Use `orientation="vertical"` when the separator sits inside a horizontal flex
46
- row. Give the host an explicit height, or inherit it from a parent with defined
47
- cross-axis size.
48
-
49
- ```html
50
- <div class="flex h-5 items-center gap-4 text-sm">
51
- <div>Blog</div>
52
- <ui-separator orientation="vertical" class="h-5" />
53
- <div>Docs</div>
54
- <ui-separator orientation="vertical" class="h-5" />
55
- <div>Source</div>
56
- </div>
57
- ```
58
-
59
- ### Menu metadata
60
-
61
- Vertical separators work well between compact description groups.
62
-
63
- ```html
64
- <div class="flex w-full max-w-2xl items-center gap-2 text-sm md:gap-4">
65
- <div class="flex flex-col gap-1">
66
- <span class="font-medium">Settings</span>
67
- <span class="text-xs text-muted-foreground">Manage preferences</span>
68
- </div>
69
- <ui-separator orientation="vertical" class="h-10" />
70
- <div class="flex flex-col gap-1">
71
- <span class="font-medium">Account</span>
72
- <span class="text-xs text-muted-foreground">Profile &amp; security</span>
73
- </div>
74
- <ui-separator orientation="vertical" class="hidden h-10 md:block" />
75
- <div class="hidden flex-col gap-1 md:flex">
76
- <span class="font-medium">Help</span>
77
- <span class="text-xs text-muted-foreground">Support &amp; docs</span>
78
- </div>
79
- </div>
80
- ```
81
-
82
- ### List rows
83
-
84
- Horizontal separators are the lightest-weight way to split dense stacked rows.
85
-
86
- ```html
87
- <div class="flex w-full max-w-sm flex-col gap-2 text-sm">
88
- <dl class="flex items-center justify-between gap-4">
89
- <dt class="font-medium">Item 1</dt>
90
- <dd class="text-muted-foreground">Value 1</dd>
91
- </dl>
92
- <ui-separator />
93
- <dl class="flex items-center justify-between gap-4">
94
- <dt class="font-medium">Item 2</dt>
95
- <dd class="text-muted-foreground">Value 2</dd>
96
- </dl>
97
- <ui-separator />
98
- <dl class="flex items-center justify-between gap-4">
99
- <dt class="font-medium">Item 3</dt>
100
- <dd class="text-muted-foreground">Value 3</dd>
101
- </dl>
102
- </div>
103
- ```
104
-
105
- ### RTL
106
-
107
- The separator itself does not need an RTL-specific API. Set `dir="rtl"` on the
108
- surrounding container and translate neighboring content.
109
-
110
- ```html
111
- <section
112
- dir="rtl"
113
- lang="ar"
114
- class="flex w-full max-w-sm flex-col gap-4 rounded-xl border border-border bg-card/40 p-5 text-right text-sm">
115
- <div class="flex flex-col gap-1.5">
116
- <div class="leading-none font-medium">shadcn/ui</div>
117
- <div class="text-muted-foreground">الأساس لنظام التصميم الخاص بك</div>
118
- </div>
119
- <ui-separator />
120
- <div class="text-muted-foreground">مجموعة من المكونات المصممة بشكل جميل يمكنك تخصيصها وتوسيعها والبناء عليها.</div>
121
- </section>
122
- ```
123
-
124
- ## API reference
125
-
126
- | Input | Type | Default | Description |
127
- | ------------- | ---------------------------- | -------------- | -------------------------------------------------------------- |
128
- | `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Axis of the divider. |
129
- | `decorative` | `boolean` | `true` | When `false`, sets `role="separator"` plus `aria-orientation`. |
130
- | `class` | `string` | `''` | Width, height, spacing, and visibility utilities. |
131
-
132
- Native host attributes such as `dir`, `data-*`, and `id` still pass through to
133
- the custom element host.
134
-
135
- ## Styling and theming
136
-
137
- Tokens consumed:
138
-
139
- - `bg-border` for the rule itself.
140
-
141
- Horizontal mode applies `h-px w-full`. Vertical mode applies `h-full w-px`.
142
- The host renders as a block-level custom element so width and height utilities
143
- behave predictably on the separator itself.
144
-
145
- ## Accessibility
146
-
147
- - Separators are decorative by default and render with `role="none"`.
148
- - When the divider carries structure, set `[decorative]="false"` so assistive
149
- technology sees a real `separator` with the correct `aria-orientation`.
150
- - Keep accessible names on the surrounding content; separators themselves do not
151
- require labels.
152
-
153
- ## Keyboard interactions
154
-
155
- Separator is not interactive and has no keyboard behavior of its own.
156
-
157
- ## Angular notes
158
-
159
- - Because `ui-separator` is a custom element, vertical examples need a height
160
- source from the parent or the host `class` input.
161
- - The block-level host class is intentional. It ensures horizontal separators
162
- honor `w-full` and other layout utilities that would otherwise be unreliable
163
- on an inline custom element.
164
-
165
- ## Source parity
166
-
167
- This Angular implementation follows the shadcn separator preview plus the
168
- vertical, menu, list, and RTL examples. It adds Angular-specific guidance for
169
- semantic separators and for the custom-element host layout behavior needed to
170
- match the upstream visuals.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-separator.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-separator.d.ts"
4
- }