@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,220 +0,0 @@
1
- # Card
2
-
3
- Displays a card with header, content, footer, an optional header action, and a compact size variant.
4
-
5
- Use Card for login panels, billing summaries, media/event highlights, and other grouped surfaces that need a clear title plus supporting actions.
6
-
7
- ## Import
8
-
9
- ```ts
10
- import {
11
- CardActionComponent,
12
- CardComponent,
13
- CardContentComponent,
14
- CardDescriptionComponent,
15
- CardFooterComponent,
16
- CardHeaderComponent,
17
- CardTitleComponent,
18
- } from '@ojiepermana/angular/component/card';
19
- ```
20
-
21
- ## Composition
22
-
23
- The Angular structure matches the current shadcn card hierarchy while using Angular selectors.
24
-
25
- ```text
26
- ui-card
27
- ├── ui-card-header
28
- │ ├── ui-card-title
29
- │ ├── ui-card-description
30
- │ └── ui-card-action
31
- ├── ui-card-content
32
- └── ui-card-footer
33
- ```
34
-
35
- ## Basic usage
36
-
37
- ```html
38
- <ui-card class="w-full max-w-sm">
39
- <ui-card-header>
40
- <ui-card-title>Card Title</ui-card-title>
41
- <ui-card-description>Card Description</ui-card-description>
42
- <ui-card-action>
43
- <button ui-button variant="link" size="sm">Action</button>
44
- </ui-card-action>
45
- </ui-card-header>
46
-
47
- <ui-card-content>
48
- <p>Card Content</p>
49
- </ui-card-content>
50
-
51
- <ui-card-footer>
52
- <p>Card Footer</p>
53
- </ui-card-footer>
54
- </ui-card>
55
- ```
56
-
57
- ## Common patterns
58
-
59
- ### Login card
60
-
61
- The current shadcn preview uses the card as a login surface. In Angular, compose the card with button, input, and label primitives directly.
62
-
63
- ```html
64
- <ui-card class="w-full max-w-sm">
65
- <ui-card-header>
66
- <ui-card-title>Login to your account</ui-card-title>
67
- <ui-card-description>Enter your email below to login to your account</ui-card-description>
68
- <ui-card-action>
69
- <button ui-button variant="link" size="sm">Sign Up</button>
70
- </ui-card-action>
71
- </ui-card-header>
72
-
73
- <ui-card-content>
74
- <form class="grid gap-6">
75
- <div class="grid gap-2">
76
- <label ui-label for="email">Email</label>
77
- <input ui-input id="email" type="email" placeholder="m@example.com" required />
78
- </div>
79
-
80
- <div class="grid gap-2">
81
- <div class="flex items-center">
82
- <label ui-label for="password">Password</label>
83
- <a href="#forgot-password" class="ms-auto inline-block text-sm underline-offset-4 hover:underline">
84
- Forgot your password?
85
- </a>
86
- </div>
87
- <input ui-input id="password" type="password" required />
88
- </div>
89
- </form>
90
- </ui-card-content>
91
-
92
- <ui-card-footer class="flex-col gap-2">
93
- <button ui-button class="w-full">Login</button>
94
- <button ui-button variant="outline" class="w-full">Login with Google</button>
95
- </ui-card-footer>
96
- </ui-card>
97
- ```
98
-
99
- ### Small size
100
-
101
- Use `size="sm"` on the root card when the surface should feel denser. The compact size cascades to header spacing, content padding, footer padding, and heading/body typography.
102
-
103
- ```html
104
- <ui-card size="sm" class="w-full max-w-sm">
105
- <ui-card-header>
106
- <ui-card-title>Small Card</ui-card-title>
107
- <ui-card-description>This card uses the small size variant.</ui-card-description>
108
- </ui-card-header>
109
- <ui-card-content>
110
- <p class="text-sm text-muted-foreground">Compact spacing for dense dashboards or inset panels.</p>
111
- </ui-card-content>
112
- <ui-card-footer>
113
- <button ui-button variant="outline" size="sm" class="w-full">Action</button>
114
- </ui-card-footer>
115
- </ui-card>
116
- ```
117
-
118
- ### Image card
119
-
120
- Add media before the header when the card introduces an event, article, or campaign. `ui-card-action` still sits in the top-right of the header and can host a badge or button.
121
-
122
- ```html
123
- <ui-card class="relative w-full max-w-sm overflow-hidden">
124
- <div aria-hidden="true" class="pointer-events-none absolute inset-x-0 top-0 z-30 aspect-video bg-black/35"></div>
125
- <img
126
- src="https://avatar.vercel.sh/shadcn1"
127
- alt="Event cover"
128
- class="relative z-20 aspect-video w-full object-cover brightness-75 grayscale" />
129
-
130
- <ui-card-header>
131
- <ui-card-action>
132
- <ui-badge variant="secondary">Featured</ui-badge>
133
- </ui-card-action>
134
- <ui-card-title>Design systems meetup</ui-card-title>
135
- <ui-card-description> A practical talk on component APIs, accessibility, and shipping faster. </ui-card-description>
136
- </ui-card-header>
137
-
138
- <ui-card-footer>
139
- <button ui-button class="w-full">View event</button>
140
- </ui-card-footer>
141
- </ui-card>
142
- ```
143
-
144
- ### RTL
145
-
146
- Set `dir="rtl"` on the card host or a wrapper when the surrounding interface runs right to left. The composition stays the same.
147
-
148
- ```html
149
- <ui-card dir="rtl" lang="ar" class="w-full max-w-sm text-right">
150
- <ui-card-header>
151
- <ui-card-title>تسجيل الدخول إلى حسابك</ui-card-title>
152
- <ui-card-description>أدخل بريدك الإلكتروني أدناه لتسجيل الدخول إلى حسابك</ui-card-description>
153
- <ui-card-action>
154
- <button ui-button variant="link" size="sm">إنشاء حساب</button>
155
- </ui-card-action>
156
- </ui-card-header>
157
- <ui-card-content>
158
- <!-- same form fields as the login example -->
159
- </ui-card-content>
160
- <ui-card-footer class="flex-col gap-2">
161
- <button ui-button class="w-full">تسجيل الدخول</button>
162
- <button ui-button variant="outline" class="w-full">تسجيل الدخول باستخدام Google</button>
163
- </ui-card-footer>
164
- </ui-card>
165
- ```
166
-
167
- ## API reference
168
-
169
- ### `CardComponent`
170
-
171
- | Input | Type | Default |
172
- | ------- | ------------------- | ----------- |
173
- | `size` | `"default" \| "sm"` | `'default'` |
174
- | `class` | `string` | `''` |
175
-
176
- The selected size is also exposed on the host as `data-size`, which can be used for styling overrides.
177
-
178
- ### Parts
179
-
180
- | Part | Selector | Notes |
181
- | -------------------------- | --------------------- | ----------------------------------------------------------------- |
182
- | `CardHeaderComponent` | `ui-card-header` | Header grid that places `ui-card-action` in the top-right corner. |
183
- | `CardTitleComponent` | `ui-card-title` | Primary heading for the card. |
184
- | `CardDescriptionComponent` | `ui-card-description` | Supporting text under the title. |
185
- | `CardActionComponent` | `ui-card-action` | Optional slot for badges, links, or buttons in the header. |
186
- | `CardContentComponent` | `ui-card-content` | Main body area. |
187
- | `CardFooterComponent` | `ui-card-footer` | Bottom action row or secondary metadata. |
188
-
189
- All card parts also accept a `class` input.
190
-
191
- ## Styling and theming
192
-
193
- The root card uses the shared theme tokens `border-border`, `bg-card`, and `text-card-foreground` plus `shadow-sm`.
194
-
195
- Pass `class` to the root or any part to layer width, layout, spacing, media overflow, or custom action alignment without changing the primitive structure.
196
-
197
- The `size` input is the primary spacing control. Switching to `sm` reduces header spacing, content/footer padding, and title/description typography together.
198
-
199
- ## Accessibility
200
-
201
- - Keep the card root non-interactive. Put clicks on native buttons or anchors inside the card.
202
- - Label every form field inside `ui-card-content`.
203
- - Provide meaningful alt text for media cards unless the image is purely decorative.
204
- - Do not rely on the card border or shadow alone to communicate state.
205
-
206
- ## Keyboard interactions
207
-
208
- - The card primitives themselves are passive layout containers and do not enter the tab order.
209
- - Buttons, anchors, and inputs projected into the card keep their native Tab, Enter, and Space behavior.
210
- - `ui-card-action` does not alter focus order; it only positions header content visually.
211
-
212
- ## Angular notes
213
-
214
- - `size` is declared only on `ui-card` and cascades to descendant part spacing and typography.
215
- - `ui-card-action` is the Angular equivalent of the current shadcn `CardAction` slot.
216
- - The login and RTL examples compose `ButtonComponent`, `InputComponent`, and `LabelComponent` directly with the card primitives.
217
-
218
- ## Source parity
219
-
220
- This Angular implementation follows the current shadcn card docs, including `CardAction`, `size="sm"`, media cards, and the RTL login example, while translating the structure to Angular selectors and native controls.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-card.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-card.d.ts"
4
- }
@@ -1,276 +0,0 @@
1
- # Carousel
2
-
3
- A carousel with motion, drag gestures, keyboard navigation, and Embla-powered slide state.
4
-
5
- Use Carousel for image galleries, card reels, onboarding panels, and compact item pickers where adjacent content should be discoverable without leaving the current view.
6
-
7
- ## Import
8
-
9
- ```ts
10
- import {
11
- CarouselComponent,
12
- CarouselContentComponent,
13
- CarouselItemComponent,
14
- CarouselNextComponent,
15
- CarouselPreviousComponent,
16
- type CarouselApi,
17
- type CarouselOptions,
18
- } from '@ojiepermana/angular/component/carousel';
19
- ```
20
-
21
- ## Usage
22
-
23
- Compose the carousel from a root, content track, items, and optional previous/next buttons.
24
-
25
- ```html
26
- <ui-carousel class="w-full max-w-xs">
27
- <ui-carousel-content>
28
- <ui-carousel-item>...</ui-carousel-item>
29
- <ui-carousel-item>...</ui-carousel-item>
30
- <ui-carousel-item>...</ui-carousel-item>
31
- </ui-carousel-content>
32
- <button ui-carousel-previous></button>
33
- <button ui-carousel-next></button>
34
- </ui-carousel>
35
- ```
36
-
37
- ## Composition
38
-
39
- ```text
40
- ui-carousel
41
- ├── ui-carousel-content
42
- │ ├── ui-carousel-item
43
- │ └── ui-carousel-item
44
- ├── button[ui-carousel-previous]
45
- └── button[ui-carousel-next]
46
- ```
47
-
48
- ## Common patterns
49
-
50
- ### Card slides
51
-
52
- ```html
53
- <ui-carousel class="mx-auto w-full max-w-xs">
54
- <ui-carousel-content>
55
- @for (slide of slides; track slide.id) {
56
- <ui-carousel-item [ariaLabel]="slide.label">
57
- <div class="p-1">
58
- <ui-card>
59
- <ui-card-content class="flex aspect-square items-center justify-center p-6">
60
- <span class="text-4xl font-semibold">{{ slide.value }}</span>
61
- </ui-card-content>
62
- </ui-card>
63
- </div>
64
- </ui-carousel-item>
65
- }
66
- </ui-carousel-content>
67
- <button ui-carousel-previous></button>
68
- <button ui-carousel-next></button>
69
- </ui-carousel>
70
- ```
71
-
72
- ### Sizes
73
-
74
- Use basis utilities on each `ui-carousel-item` when multiple slides should be partially visible.
75
-
76
- ```ts
77
- readonly startOptions: CarouselOptions = { align: 'start' };
78
- ```
79
-
80
- ```html
81
- <ui-carousel [opts]="startOptions" class="w-full max-w-sm">
82
- <ui-carousel-content>
83
- <ui-carousel-item class="basis-1/2 lg:basis-1/3">...</ui-carousel-item>
84
- <ui-carousel-item class="basis-1/2 lg:basis-1/3">...</ui-carousel-item>
85
- <ui-carousel-item class="basis-1/2 lg:basis-1/3">...</ui-carousel-item>
86
- </ui-carousel-content>
87
- </ui-carousel>
88
- ```
89
-
90
- ### Spacing
91
-
92
- Match shadcn spacing by pairing a negative margin on `ui-carousel-content` with padding on `ui-carousel-item`.
93
-
94
- ```html
95
- <ui-carousel class="w-full max-w-sm">
96
- <ui-carousel-content class="-ml-2 md:-ml-4">
97
- <ui-carousel-item class="basis-1/2 pl-2 md:pl-4 lg:basis-1/3">...</ui-carousel-item>
98
- <ui-carousel-item class="basis-1/2 pl-2 md:pl-4 lg:basis-1/3">...</ui-carousel-item>
99
- <ui-carousel-item class="basis-1/2 pl-2 md:pl-4 lg:basis-1/3">...</ui-carousel-item>
100
- </ui-carousel-content>
101
- </ui-carousel>
102
- ```
103
-
104
- ### Vertical orientation
105
-
106
- Set `orientation="vertical"` and give the content viewport a height so Embla can measure the track.
107
-
108
- ```ts
109
- readonly verticalOptions: CarouselOptions = { align: 'start' };
110
- ```
111
-
112
- ```html
113
- <ui-carousel orientation="vertical" [opts]="verticalOptions" class="w-full max-w-xs">
114
- <ui-carousel-content class="-mt-1 h-67.5">
115
- <ui-carousel-item class="basis-1/2 pt-1">...</ui-carousel-item>
116
- <ui-carousel-item class="basis-1/2 pt-1">...</ui-carousel-item>
117
- <ui-carousel-item class="basis-1/2 pt-1">...</ui-carousel-item>
118
- </ui-carousel-content>
119
- </ui-carousel>
120
- ```
121
-
122
- ### Options
123
-
124
- Pass Embla options through `[opts]`. Keep the object as a class property so Angular does not create a new object every change detection pass.
125
-
126
- ```ts
127
- readonly loopOptions: CarouselOptions = {
128
- align: 'start',
129
- loop: true,
130
- };
131
- ```
132
-
133
- ```html
134
- <ui-carousel [opts]="loopOptions">
135
- <ui-carousel-content>
136
- <ui-carousel-item>...</ui-carousel-item>
137
- <ui-carousel-item>...</ui-carousel-item>
138
- <ui-carousel-item>...</ui-carousel-item>
139
- </ui-carousel-content>
140
- </ui-carousel>
141
- ```
142
-
143
- ### API and events
144
-
145
- The root component exposes `selectedIndex`, `slideCount`, `canScrollPrev`, and `canScrollNext` as signals. Use a template reference for simple status UI.
146
-
147
- ```html
148
- <ui-carousel #carouselRef class="w-full max-w-xs">
149
- <ui-carousel-content>
150
- <ui-carousel-item>...</ui-carousel-item>
151
- <ui-carousel-item>...</ui-carousel-item>
152
- <ui-carousel-item>...</ui-carousel-item>
153
- </ui-carousel-content>
154
- </ui-carousel>
155
-
156
- <p>Slide {{ carouselRef.selectedIndex() + 1 }} of {{ carouselRef.slideCount() }}</p>
157
- ```
158
-
159
- Use `(apiReady)` when you need the lower-level Embla API.
160
-
161
- ```ts
162
- connectCarousel(api: CarouselApi): void {
163
- api.on('select', () => {
164
- this.currentSlide.set(api.selectedScrollSnap() + 1);
165
- });
166
- }
167
- ```
168
-
169
- ```html
170
- <ui-carousel (apiReady)="connectCarousel($event)"> ... </ui-carousel>
171
- ```
172
-
173
- ### Plugins
174
-
175
- Optional Embla plugins are passed through `[plugins]`. Install plugin packages separately.
176
-
177
- ```ts
178
- import Autoplay from 'embla-carousel-autoplay';
179
-
180
- readonly plugins = [Autoplay({ delay: 2000 })];
181
- ```
182
-
183
- ```html
184
- <ui-carousel [plugins]="plugins">
185
- <ui-carousel-content>
186
- <ui-carousel-item>...</ui-carousel-item>
187
- </ui-carousel-content>
188
- </ui-carousel>
189
- ```
190
-
191
- ### RTL
192
-
193
- Set both `dir="rtl"` and `opts.direction` so layout direction and Embla motion agree.
194
-
195
- ```ts
196
- readonly rtlOptions: CarouselOptions = { direction: 'rtl' };
197
- ```
198
-
199
- ```html
200
- <section dir="rtl">
201
- <ui-carousel dir="rtl" [opts]="rtlOptions" class="w-full max-w-xs">
202
- <ui-carousel-content>
203
- <ui-carousel-item>...</ui-carousel-item>
204
- <ui-carousel-item>...</ui-carousel-item>
205
- <ui-carousel-item>...</ui-carousel-item>
206
- </ui-carousel-content>
207
- <button ui-carousel-previous class="rtl:rotate-180"></button>
208
- <button ui-carousel-next class="rtl:rotate-180"></button>
209
- </ui-carousel>
210
- </section>
211
- ```
212
-
213
- ## API reference
214
-
215
- ### `CarouselComponent`
216
-
217
- | Input or output | Type | Default |
218
- | --------------- | ---------------------------- | ---------------------------------------------- |
219
- | `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` |
220
- | `opts` | `CarouselOptions` | `{}` |
221
- | `plugins` | `readonly CarouselPlugin[]` | `[]` |
222
- | `keyboard` | `boolean` | `true` |
223
- | `label` | `string` | `'Carousel'` |
224
- | `class` | `string` | `''` |
225
- | `apiReady` | `CarouselApi` output | emitted after Embla initializes |
226
- | `apiChange` | `CarouselApi \| null` output | emitted when Embla initializes or is destroyed |
227
-
228
- ### Root signals
229
-
230
- | Signal | Type |
231
- | --------------- | ----------------- |
232
- | `selectedIndex` | `Signal<number>` |
233
- | `slideCount` | `Signal<number>` |
234
- | `canScrollPrev` | `Signal<boolean>` |
235
- | `canScrollNext` | `Signal<boolean>` |
236
-
237
- ### Parts
238
-
239
- | Part | Inputs |
240
- | ------------------------------ | -------------------- |
241
- | `ui-carousel-content` | `class` |
242
- | `ui-carousel-item` | `ariaLabel`, `class` |
243
- | `button[ui-carousel-previous]` | `label`, `class` |
244
- | `button[ui-carousel-next]` | `label`, `class` |
245
-
246
- ## Styling and theming
247
-
248
- The primitive follows the shadcn layout recipe: root is `relative`, content owns the overflow-hidden viewport, and items are `basis-full` by default. Pass `class` to tune width, item basis, spacing, and control placement.
249
-
250
- Use theme-aware classes such as `border-border`, `bg-card`, `text-foreground`, `bg-background`, `hover:bg-accent`, and `focus-visible:ring-ring` for custom slide and control styling.
251
-
252
- ## Accessibility
253
-
254
- - The root renders as a labelled `region` with `aria-roledescription="carousel"`.
255
- - Previous and next controls are native buttons with descriptive labels and disabled states.
256
- - Each item renders as a `group` with `aria-roledescription="slide"`; pass `ariaLabel` when the slide needs an explicit spoken label.
257
- - Keep interactive controls inside slides reachable by normal tab order and avoid hiding focus outlines.
258
-
259
- ## Keyboard interactions
260
-
261
- - The root is focusable when `keyboard` is `true`.
262
- - Horizontal carousels use ArrowLeft and ArrowRight to move between slides.
263
- - Vertical carousels use ArrowUp and ArrowDown to move between slides.
264
- - Home moves to the first slide and End moves to the last slide.
265
- - Previous and next buttons also support native Enter and Space activation.
266
-
267
- ## Angular notes
268
-
269
- - This implementation uses vanilla Embla Carousel rather than `embla-carousel-react`.
270
- - Embla initializes only in the browser, so server rendering can produce the static slide markup without touching the DOM API.
271
- - `orientation` controls Embla axis; if `opts.axis` is provided, the Angular `orientation` input wins.
272
- - Define `opts` and `plugins` as class properties to avoid unnecessary Embla reinitialization.
273
-
274
- ## Source parity
275
-
276
- This Angular implementation follows the shadcn Carousel anatomy, options, API, events, plugins, and RTL guidance while translating React props into Angular inputs, outputs, signals, and standalone component imports.
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../../fesm2022/ojiepermana-angular-component-carousel.mjs",
3
- "typings": "../../types/ojiepermana-angular-component-carousel.d.ts"
4
- }