@ojiepermana/angular 22.0.1 → 22.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/README.md +61 -311
  2. package/fesm2022/ojiepermana-angular-chart.mjs +10 -0
  3. package/fesm2022/ojiepermana-angular-component.mjs +10 -0
  4. package/fesm2022/ojiepermana-angular-navigation.mjs +10 -0
  5. package/fesm2022/ojiepermana-angular-sdk.mjs +10 -0
  6. package/fesm2022/ojiepermana-angular-theme.mjs +4 -384
  7. package/fesm2022/ojiepermana-angular.mjs +15 -16
  8. package/package.json +25 -425
  9. package/types/ojiepermana-angular-chart.d.ts +1 -0
  10. package/types/ojiepermana-angular-component.d.ts +1 -0
  11. package/types/ojiepermana-angular-navigation.d.ts +1 -0
  12. package/types/ojiepermana-angular-sdk.d.ts +1 -0
  13. package/types/ojiepermana-angular-theme.d.ts +1 -116
  14. package/types/ojiepermana-angular.d.ts +5 -3
  15. package/.npmignore +0 -2
  16. package/collection.json +0 -30
  17. package/component/accordion/README.md +0 -195
  18. package/component/accordion/package.json +0 -4
  19. package/component/alert/README.md +0 -182
  20. package/component/alert/package.json +0 -4
  21. package/component/alert-dialog/README.md +0 -239
  22. package/component/alert-dialog/package.json +0 -4
  23. package/component/aspect-ratio/README.md +0 -112
  24. package/component/aspect-ratio/package.json +0 -4
  25. package/component/avatar/README.md +0 -176
  26. package/component/avatar/package.json +0 -4
  27. package/component/badge/README.md +0 -133
  28. package/component/badge/package.json +0 -4
  29. package/component/breadcrumb/README.md +0 -216
  30. package/component/breadcrumb/package.json +0 -4
  31. package/component/button/README.md +0 -139
  32. package/component/button/package.json +0 -4
  33. package/component/button-group/README.md +0 -208
  34. package/component/button-group/package.json +0 -4
  35. package/component/calendar/README.md +0 -132
  36. package/component/calendar/package.json +0 -4
  37. package/component/card/README.md +0 -220
  38. package/component/card/package.json +0 -4
  39. package/component/carousel/README.md +0 -276
  40. package/component/carousel/package.json +0 -4
  41. package/component/chart/README.md +0 -249
  42. package/component/chart/area/package.json +0 -4
  43. package/component/chart/bar/package.json +0 -4
  44. package/component/chart/line/package.json +0 -4
  45. package/component/chart/package.json +0 -4
  46. package/component/chart/pie/package.json +0 -4
  47. package/component/chart/radar/package.json +0 -4
  48. package/component/chart/radial/package.json +0 -4
  49. package/component/chart/scatter/package.json +0 -4
  50. package/component/checkbox/README.md +0 -149
  51. package/component/checkbox/package.json +0 -4
  52. package/component/collapsible/README.md +0 -195
  53. package/component/collapsible/package.json +0 -4
  54. package/component/combobox/README.md +0 -198
  55. package/component/combobox/package.json +0 -4
  56. package/component/command/README.md +0 -275
  57. package/component/command/package.json +0 -4
  58. package/component/composer/README.md +0 -235
  59. package/component/composer/package.json +0 -4
  60. package/component/context-menu/README.md +0 -267
  61. package/component/context-menu/package.json +0 -4
  62. package/component/date-picker/README.md +0 -177
  63. package/component/date-picker/package.json +0 -4
  64. package/component/dialog/README.md +0 -237
  65. package/component/dialog/package.json +0 -4
  66. package/component/drawer/README.md +0 -145
  67. package/component/drawer/package.json +0 -4
  68. package/component/dropdown-menu/README.md +0 -311
  69. package/component/dropdown-menu/package.json +0 -4
  70. package/component/editor/README.md +0 -136
  71. package/component/editor/package.json +0 -4
  72. package/component/empty/README.md +0 -183
  73. package/component/empty/package.json +0 -4
  74. package/component/form/README.md +0 -210
  75. package/component/form/package.json +0 -4
  76. package/component/hover-card/README.md +0 -146
  77. package/component/hover-card/package.json +0 -4
  78. package/component/input/README.md +0 -159
  79. package/component/input/package.json +0 -4
  80. package/component/input-group/README.md +0 -239
  81. package/component/input-group/package.json +0 -4
  82. package/component/input-otp/README.md +0 -278
  83. package/component/input-otp/package.json +0 -4
  84. package/component/item/README.md +0 -247
  85. package/component/item/package.json +0 -4
  86. package/component/kanban/README.md +0 -81
  87. package/component/kanban/package.json +0 -4
  88. package/component/kbd/README.md +0 -139
  89. package/component/kbd/package.json +0 -4
  90. package/component/label/README.md +0 -136
  91. package/component/label/package.json +0 -4
  92. package/component/menubar/README.md +0 -269
  93. package/component/menubar/package.json +0 -4
  94. package/component/native-select/README.md +0 -176
  95. package/component/native-select/package.json +0 -4
  96. package/component/navigation-menu/README.md +0 -160
  97. package/component/navigation-menu/package.json +0 -4
  98. package/component/pagination/README.md +0 -144
  99. package/component/pagination/package.json +0 -4
  100. package/component/pillbox/README.md +0 -67
  101. package/component/pillbox/package.json +0 -4
  102. package/component/popover/README.md +0 -43
  103. package/component/popover/package.json +0 -4
  104. package/component/progress/README.md +0 -160
  105. package/component/progress/package.json +0 -4
  106. package/component/radio/README.md +0 -209
  107. package/component/radio/package.json +0 -4
  108. package/component/resizable/README.md +0 -168
  109. package/component/resizable/package.json +0 -4
  110. package/component/scroll-area/README.md +0 -143
  111. package/component/scroll-area/package.json +0 -4
  112. package/component/select/README.md +0 -174
  113. package/component/select/package.json +0 -4
  114. package/component/separator/README.md +0 -170
  115. package/component/separator/package.json +0 -4
  116. package/component/sheet/README.md +0 -183
  117. package/component/sheet/package.json +0 -4
  118. package/component/skeleton/README.md +0 -158
  119. package/component/skeleton/package.json +0 -4
  120. package/component/slider/README.md +0 -207
  121. package/component/slider/package.json +0 -4
  122. package/component/spinner/README.md +0 -160
  123. package/component/spinner/package.json +0 -4
  124. package/component/switch/README.md +0 -166
  125. package/component/switch/package.json +0 -4
  126. package/component/table/README.md +0 -291
  127. package/component/table/package.json +0 -4
  128. package/component/tabs/README.md +0 -219
  129. package/component/tabs/package.json +0 -4
  130. package/component/textarea/README.md +0 -154
  131. package/component/textarea/package.json +0 -4
  132. package/component/timeline/README.md +0 -94
  133. package/component/timeline/package.json +0 -4
  134. package/component/toast/README.md +0 -321
  135. package/component/toast/package.json +0 -4
  136. package/component/toggle/README.md +0 -131
  137. package/component/toggle/package.json +0 -4
  138. package/component/toggle-group/README.md +0 -206
  139. package/component/toggle-group/package.json +0 -4
  140. package/component/tooltip/README.md +0 -211
  141. package/component/tooltip/package.json +0 -4
  142. package/component/utils/package.json +0 -4
  143. package/fesm2022/ojiepermana-angular-component-accordion.mjs +0 -189
  144. package/fesm2022/ojiepermana-angular-component-accordion.mjs.map +0 -1
  145. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +0 -276
  146. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs.map +0 -1
  147. package/fesm2022/ojiepermana-angular-component-alert.mjs +0 -99
  148. package/fesm2022/ojiepermana-angular-component-alert.mjs.map +0 -1
  149. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +0 -37
  150. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs.map +0 -1
  151. package/fesm2022/ojiepermana-angular-component-avatar.mjs +0 -139
  152. package/fesm2022/ojiepermana-angular-component-avatar.mjs.map +0 -1
  153. package/fesm2022/ojiepermana-angular-component-badge.mjs +0 -50
  154. package/fesm2022/ojiepermana-angular-component-badge.mjs.map +0 -1
  155. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +0 -200
  156. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs.map +0 -1
  157. package/fesm2022/ojiepermana-angular-component-button-group.mjs +0 -103
  158. package/fesm2022/ojiepermana-angular-component-button-group.mjs.map +0 -1
  159. package/fesm2022/ojiepermana-angular-component-button.mjs +0 -68
  160. package/fesm2022/ojiepermana-angular-component-button.mjs.map +0 -1
  161. package/fesm2022/ojiepermana-angular-component-calendar.mjs +0 -88
  162. package/fesm2022/ojiepermana-angular-component-calendar.mjs.map +0 -1
  163. package/fesm2022/ojiepermana-angular-component-card.mjs +0 -152
  164. package/fesm2022/ojiepermana-angular-component-card.mjs.map +0 -1
  165. package/fesm2022/ojiepermana-angular-component-carousel.mjs +0 -334
  166. package/fesm2022/ojiepermana-angular-component-carousel.mjs.map +0 -1
  167. package/fesm2022/ojiepermana-angular-component-chart-area.mjs +0 -6
  168. package/fesm2022/ojiepermana-angular-component-chart-area.mjs.map +0 -1
  169. package/fesm2022/ojiepermana-angular-component-chart-bar.mjs +0 -6
  170. package/fesm2022/ojiepermana-angular-component-chart-bar.mjs.map +0 -1
  171. package/fesm2022/ojiepermana-angular-component-chart-line.mjs +0 -6
  172. package/fesm2022/ojiepermana-angular-component-chart-line.mjs.map +0 -1
  173. package/fesm2022/ojiepermana-angular-component-chart-pie.mjs +0 -6
  174. package/fesm2022/ojiepermana-angular-component-chart-pie.mjs.map +0 -1
  175. package/fesm2022/ojiepermana-angular-component-chart-radar.mjs +0 -6
  176. package/fesm2022/ojiepermana-angular-component-chart-radar.mjs.map +0 -1
  177. package/fesm2022/ojiepermana-angular-component-chart-radial.mjs +0 -6
  178. package/fesm2022/ojiepermana-angular-component-chart-radial.mjs.map +0 -1
  179. package/fesm2022/ojiepermana-angular-component-chart-scatter.mjs +0 -6
  180. package/fesm2022/ojiepermana-angular-component-chart-scatter.mjs.map +0 -1
  181. package/fesm2022/ojiepermana-angular-component-chart.mjs +0 -3925
  182. package/fesm2022/ojiepermana-angular-component-chart.mjs.map +0 -1
  183. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +0 -114
  184. package/fesm2022/ojiepermana-angular-component-checkbox.mjs.map +0 -1
  185. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +0 -124
  186. package/fesm2022/ojiepermana-angular-component-collapsible.mjs.map +0 -1
  187. package/fesm2022/ojiepermana-angular-component-combobox.mjs +0 -272
  188. package/fesm2022/ojiepermana-angular-component-combobox.mjs.map +0 -1
  189. package/fesm2022/ojiepermana-angular-component-command.mjs +0 -293
  190. package/fesm2022/ojiepermana-angular-component-command.mjs.map +0 -1
  191. package/fesm2022/ojiepermana-angular-component-composer.mjs +0 -352
  192. package/fesm2022/ojiepermana-angular-component-composer.mjs.map +0 -1
  193. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +0 -103
  194. package/fesm2022/ojiepermana-angular-component-context-menu.mjs.map +0 -1
  195. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +0 -170
  196. package/fesm2022/ojiepermana-angular-component-date-picker.mjs.map +0 -1
  197. package/fesm2022/ojiepermana-angular-component-dialog.mjs +0 -279
  198. package/fesm2022/ojiepermana-angular-component-dialog.mjs.map +0 -1
  199. package/fesm2022/ojiepermana-angular-component-drawer.mjs +0 -6
  200. package/fesm2022/ojiepermana-angular-component-drawer.mjs.map +0 -1
  201. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +0 -492
  202. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs.map +0 -1
  203. package/fesm2022/ojiepermana-angular-component-editor.mjs +0 -717
  204. package/fesm2022/ojiepermana-angular-component-editor.mjs.map +0 -1
  205. package/fesm2022/ojiepermana-angular-component-empty.mjs +0 -145
  206. package/fesm2022/ojiepermana-angular-component-empty.mjs.map +0 -1
  207. package/fesm2022/ojiepermana-angular-component-form.mjs +0 -366
  208. package/fesm2022/ojiepermana-angular-component-form.mjs.map +0 -1
  209. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +0 -297
  210. package/fesm2022/ojiepermana-angular-component-hover-card.mjs.map +0 -1
  211. package/fesm2022/ojiepermana-angular-component-input-group.mjs +0 -179
  212. package/fesm2022/ojiepermana-angular-component-input-group.mjs.map +0 -1
  213. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +0 -514
  214. package/fesm2022/ojiepermana-angular-component-input-otp.mjs.map +0 -1
  215. package/fesm2022/ojiepermana-angular-component-input.mjs +0 -45
  216. package/fesm2022/ojiepermana-angular-component-input.mjs.map +0 -1
  217. package/fesm2022/ojiepermana-angular-component-item.mjs +0 -264
  218. package/fesm2022/ojiepermana-angular-component-item.mjs.map +0 -1
  219. package/fesm2022/ojiepermana-angular-component-kanban.mjs +0 -314
  220. package/fesm2022/ojiepermana-angular-component-kanban.mjs.map +0 -1
  221. package/fesm2022/ojiepermana-angular-component-kbd.mjs +0 -55
  222. package/fesm2022/ojiepermana-angular-component-kbd.mjs.map +0 -1
  223. package/fesm2022/ojiepermana-angular-component-label.mjs +0 -33
  224. package/fesm2022/ojiepermana-angular-component-label.mjs.map +0 -1
  225. package/fesm2022/ojiepermana-angular-component-menubar.mjs +0 -308
  226. package/fesm2022/ojiepermana-angular-component-menubar.mjs.map +0 -1
  227. package/fesm2022/ojiepermana-angular-component-native-select.mjs +0 -67
  228. package/fesm2022/ojiepermana-angular-component-native-select.mjs.map +0 -1
  229. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +0 -413
  230. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs.map +0 -1
  231. package/fesm2022/ojiepermana-angular-component-pagination.mjs +0 -226
  232. package/fesm2022/ojiepermana-angular-component-pagination.mjs.map +0 -1
  233. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +0 -812
  234. package/fesm2022/ojiepermana-angular-component-pillbox.mjs.map +0 -1
  235. package/fesm2022/ojiepermana-angular-component-popover.mjs +0 -169
  236. package/fesm2022/ojiepermana-angular-component-popover.mjs.map +0 -1
  237. package/fesm2022/ojiepermana-angular-component-progress.mjs +0 -60
  238. package/fesm2022/ojiepermana-angular-component-progress.mjs.map +0 -1
  239. package/fesm2022/ojiepermana-angular-component-radio.mjs +0 -122
  240. package/fesm2022/ojiepermana-angular-component-radio.mjs.map +0 -1
  241. package/fesm2022/ojiepermana-angular-component-resizable.mjs +0 -481
  242. package/fesm2022/ojiepermana-angular-component-resizable.mjs.map +0 -1
  243. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +0 -54
  244. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs.map +0 -1
  245. package/fesm2022/ojiepermana-angular-component-select.mjs +0 -176
  246. package/fesm2022/ojiepermana-angular-component-select.mjs.map +0 -1
  247. package/fesm2022/ojiepermana-angular-component-separator.mjs +0 -37
  248. package/fesm2022/ojiepermana-angular-component-separator.mjs.map +0 -1
  249. package/fesm2022/ojiepermana-angular-component-sheet.mjs +0 -284
  250. package/fesm2022/ojiepermana-angular-component-sheet.mjs.map +0 -1
  251. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +0 -31
  252. package/fesm2022/ojiepermana-angular-component-skeleton.mjs.map +0 -1
  253. package/fesm2022/ojiepermana-angular-component-slider.mjs +0 -423
  254. package/fesm2022/ojiepermana-angular-component-slider.mjs.map +0 -1
  255. package/fesm2022/ojiepermana-angular-component-spinner.mjs +0 -60
  256. package/fesm2022/ojiepermana-angular-component-spinner.mjs.map +0 -1
  257. package/fesm2022/ojiepermana-angular-component-switch.mjs +0 -116
  258. package/fesm2022/ojiepermana-angular-component-switch.mjs.map +0 -1
  259. package/fesm2022/ojiepermana-angular-component-table.mjs +0 -155
  260. package/fesm2022/ojiepermana-angular-component-table.mjs.map +0 -1
  261. package/fesm2022/ojiepermana-angular-component-tabs.mjs +0 -272
  262. package/fesm2022/ojiepermana-angular-component-tabs.mjs.map +0 -1
  263. package/fesm2022/ojiepermana-angular-component-textarea.mjs +0 -39
  264. package/fesm2022/ojiepermana-angular-component-textarea.mjs.map +0 -1
  265. package/fesm2022/ojiepermana-angular-component-timeline.mjs +0 -237
  266. package/fesm2022/ojiepermana-angular-component-timeline.mjs.map +0 -1
  267. package/fesm2022/ojiepermana-angular-component-toast.mjs +0 -71
  268. package/fesm2022/ojiepermana-angular-component-toast.mjs.map +0 -1
  269. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +0 -289
  270. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs.map +0 -1
  271. package/fesm2022/ojiepermana-angular-component-toggle.mjs +0 -82
  272. package/fesm2022/ojiepermana-angular-component-toggle.mjs.map +0 -1
  273. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +0 -354
  274. package/fesm2022/ojiepermana-angular-component-tooltip.mjs.map +0 -1
  275. package/fesm2022/ojiepermana-angular-component-utils.mjs +0 -13
  276. package/fesm2022/ojiepermana-angular-component-utils.mjs.map +0 -1
  277. package/fesm2022/ojiepermana-angular-generator-api.mjs +0 -68
  278. package/fesm2022/ojiepermana-angular-generator-api.mjs.map +0 -1
  279. package/fesm2022/ojiepermana-angular-layout-component.mjs +0 -602
  280. package/fesm2022/ojiepermana-angular-layout-component.mjs.map +0 -1
  281. package/fesm2022/ojiepermana-angular-layout-provider.mjs +0 -21
  282. package/fesm2022/ojiepermana-angular-layout-provider.mjs.map +0 -1
  283. package/fesm2022/ojiepermana-angular-layout-services.mjs +0 -116
  284. package/fesm2022/ojiepermana-angular-layout-services.mjs.map +0 -1
  285. package/fesm2022/ojiepermana-angular-layout-shell.mjs +0 -48
  286. package/fesm2022/ojiepermana-angular-layout-shell.mjs.map +0 -1
  287. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs +0 -30
  288. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs.map +0 -1
  289. package/fesm2022/ojiepermana-angular-layout-token.mjs +0 -33
  290. package/fesm2022/ojiepermana-angular-layout-token.mjs.map +0 -1
  291. package/fesm2022/ojiepermana-angular-layout-type-empty.mjs +0 -49
  292. package/fesm2022/ojiepermana-angular-layout-type-empty.mjs.map +0 -1
  293. package/fesm2022/ojiepermana-angular-layout-type-horizontal.mjs +0 -128
  294. package/fesm2022/ojiepermana-angular-layout-type-horizontal.mjs.map +0 -1
  295. package/fesm2022/ojiepermana-angular-layout-type-vertical.mjs +0 -123
  296. package/fesm2022/ojiepermana-angular-layout-type-vertical.mjs.map +0 -1
  297. package/fesm2022/ojiepermana-angular-layout.mjs +0 -485
  298. package/fesm2022/ojiepermana-angular-layout.mjs.map +0 -1
  299. package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs +0 -334
  300. package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs.map +0 -1
  301. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +0 -63
  302. package/fesm2022/ojiepermana-angular-navigation-icon.mjs.map +0 -1
  303. package/fesm2022/ojiepermana-angular-navigation-item.mjs +0 -559
  304. package/fesm2022/ojiepermana-angular-navigation-item.mjs.map +0 -1
  305. package/fesm2022/ojiepermana-angular-navigation-service.mjs +0 -213
  306. package/fesm2022/ojiepermana-angular-navigation-service.mjs.map +0 -1
  307. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs +0 -401
  308. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs.map +0 -1
  309. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs +0 -670
  310. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs.map +0 -1
  311. package/fesm2022/ojiepermana-angular-navigation-types.mjs +0 -4
  312. package/fesm2022/ojiepermana-angular-navigation-types.mjs.map +0 -1
  313. package/fesm2022/ojiepermana-angular-theme-provider.mjs +0 -35
  314. package/fesm2022/ojiepermana-angular-theme-provider.mjs.map +0 -1
  315. package/fesm2022/ojiepermana-angular-theme-services.mjs +0 -294
  316. package/fesm2022/ojiepermana-angular-theme-services.mjs.map +0 -1
  317. package/fesm2022/ojiepermana-angular-theme-token.mjs +0 -56
  318. package/fesm2022/ojiepermana-angular-theme-token.mjs.map +0 -1
  319. package/fesm2022/ojiepermana-angular-theme.mjs.map +0 -1
  320. package/fesm2022/ojiepermana-angular.mjs.map +0 -1
  321. package/generator/api/README.md +0 -252
  322. package/generator/api/bin/package.json +0 -3
  323. package/generator/api/bin/schematics/init/index.js +0 -90
  324. package/generator/api/bin/schematics/ng-add/index.js +0 -131
  325. package/generator/api/bin/schematics/sdk/index.js +0 -76
  326. package/generator/api/bin/src/config/loader.js +0 -41
  327. package/generator/api/bin/src/config/schema.js +0 -57
  328. package/generator/api/bin/src/emit/client.js +0 -248
  329. package/generator/api/bin/src/emit/metadata.js +0 -295
  330. package/generator/api/bin/src/emit/models.js +0 -106
  331. package/generator/api/bin/src/emit/navigation.js +0 -56
  332. package/generator/api/bin/src/emit/operations.js +0 -122
  333. package/generator/api/bin/src/emit/public-api.js +0 -54
  334. package/generator/api/bin/src/emit/services.js +0 -87
  335. package/generator/api/bin/src/engine.js +0 -65
  336. package/generator/api/bin/src/layout/per-domain.js +0 -359
  337. package/generator/api/bin/src/parser/bundle.js +0 -25
  338. package/generator/api/bin/src/parser/ir.js +0 -320
  339. package/generator/api/bin/src/parser/types.js +0 -7
  340. package/generator/api/bin/src/render/template.js +0 -58
  341. package/generator/api/bin/src/writer/index.js +0 -278
  342. package/generator/api/package.json +0 -4
  343. package/generator/api/schematics/init/schema.json +0 -19
  344. package/generator/api/schematics/ng-add/schema.json +0 -14
  345. package/generator/api/schematics/sdk/schema.json +0 -19
  346. package/generator/api/sdk.config.example.json +0 -24
  347. package/generator/guide/README.md +0 -84
  348. package/generator/guide/bin/package.json +0 -3
  349. package/generator/guide/bin/schematics/build/index.js +0 -36
  350. package/generator/guide/bin/schematics/init/index.js +0 -70
  351. package/generator/guide/bin/src/config/loader.js +0 -50
  352. package/generator/guide/bin/src/config/schema.js +0 -12
  353. package/generator/guide/bin/src/engine/component.js +0 -74
  354. package/generator/guide/bin/src/engine/frontmatter.js +0 -42
  355. package/generator/guide/bin/src/engine/index.js +0 -42
  356. package/generator/guide/bin/src/engine/naming.js +0 -39
  357. package/generator/guide/bin/src/engine/render.js +0 -36
  358. package/generator/guide/bin/src/engine/routes.js +0 -106
  359. package/generator/guide/bin/src/engine/walk.js +0 -35
  360. package/generator/guide/guide.config.example.json +0 -9
  361. package/generator/guide/schematics/build/schema.json +0 -14
  362. package/generator/guide/schematics/init/schema.json +0 -19
  363. package/layout/component/package.json +0 -4
  364. package/layout/package.json +0 -4
  365. package/layout/provider/package.json +0 -4
  366. package/layout/services/package.json +0 -4
  367. package/layout/shell/package.json +0 -4
  368. package/layout/token/directive/package.json +0 -4
  369. package/layout/token/package.json +0 -4
  370. package/layout/type/empty/package.json +0 -4
  371. package/layout/type/horizontal/package.json +0 -4
  372. package/layout/type/vertical/package.json +0 -4
  373. package/navigation/demo-data/package.json +0 -4
  374. package/navigation/icon/package.json +0 -4
  375. package/navigation/item/package.json +0 -4
  376. package/navigation/service/package.json +0 -4
  377. package/navigation/sidebar/package.json +0 -4
  378. package/navigation/topbar/README.md +0 -196
  379. package/navigation/topbar/package.json +0 -4
  380. package/navigation/types/package.json +0 -4
  381. package/theme/README.md +0 -174
  382. package/theme/package.json +0 -4
  383. package/theme/provider/package.json +0 -4
  384. package/theme/services/package.json +0 -4
  385. package/theme/styles/foundation/components.css +0 -81
  386. package/theme/styles/foundation/layers.css +0 -15
  387. package/theme/styles/foundation/tokens.css +0 -55
  388. package/theme/styles/index.css +0 -37
  389. package/theme/styles/integrations/material/autocomplete.css +0 -178
  390. package/theme/styles/integrations/material/button.css +0 -468
  391. package/theme/styles/integrations/material/dialog.css +0 -152
  392. package/theme/styles/integrations/material/select.css +0 -175
  393. package/theme/styles/integrations/material/slide-toggle.css +0 -234
  394. package/theme/styles/integrations/material/slider.css +0 -194
  395. package/theme/styles/integrations/material/tabs.css +0 -229
  396. package/theme/styles/integrations/material.css +0 -264
  397. package/theme/styles/integrations/tailwind.css +0 -114
  398. package/theme/styles/variants/color/amber.css +0 -31
  399. package/theme/styles/variants/color/base.css +0 -36
  400. package/theme/styles/variants/color/blue.css +0 -31
  401. package/theme/styles/variants/color/cyan.css +0 -31
  402. package/theme/styles/variants/color/emerald.css +0 -31
  403. package/theme/styles/variants/color/fuchsia.css +0 -31
  404. package/theme/styles/variants/color/green.css +0 -31
  405. package/theme/styles/variants/color/index.css +0 -22
  406. package/theme/styles/variants/color/indigo.css +0 -31
  407. package/theme/styles/variants/color/lime.css +0 -31
  408. package/theme/styles/variants/color/orange.css +0 -31
  409. package/theme/styles/variants/color/pink.css +0 -31
  410. package/theme/styles/variants/color/purple.css +0 -31
  411. package/theme/styles/variants/color/red.css +0 -31
  412. package/theme/styles/variants/color/rose.css +0 -31
  413. package/theme/styles/variants/color/sky.css +0 -31
  414. package/theme/styles/variants/color/teal.css +0 -31
  415. package/theme/styles/variants/color/violet.css +0 -31
  416. package/theme/styles/variants/color/yellow.css +0 -31
  417. package/theme/styles/variants/mode/dark.css +0 -20
  418. package/theme/styles/variants/mode/index.css +0 -6
  419. package/theme/styles/variants/mode/light.css +0 -24
  420. package/theme/styles/variants/style/brutal.css +0 -50
  421. package/theme/styles/variants/style/default.css +0 -54
  422. package/theme/styles/variants/style/index.css +0 -8
  423. package/theme/styles/variants/style/sharp.css +0 -50
  424. package/theme/styles/variants/style/soft.css +0 -50
  425. package/theme/token/package.json +0 -4
  426. package/types/ojiepermana-angular-component-accordion.d.ts +0 -51
  427. package/types/ojiepermana-angular-component-alert-dialog.d.ts +0 -93
  428. package/types/ojiepermana-angular-component-alert.d.ts +0 -37
  429. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +0 -12
  430. package/types/ojiepermana-angular-component-avatar.d.ts +0 -51
  431. package/types/ojiepermana-angular-component-badge.d.ts +0 -19
  432. package/types/ojiepermana-angular-component-breadcrumb.d.ts +0 -46
  433. package/types/ojiepermana-angular-component-button-group.d.ts +0 -26
  434. package/types/ojiepermana-angular-component-button.d.ts +0 -22
  435. package/types/ojiepermana-angular-component-calendar.d.ts +0 -33
  436. package/types/ojiepermana-angular-component-card.d.ts +0 -60
  437. package/types/ojiepermana-angular-component-carousel.d.ts +0 -86
  438. package/types/ojiepermana-angular-component-chart-area.d.ts +0 -1
  439. package/types/ojiepermana-angular-component-chart-bar.d.ts +0 -1
  440. package/types/ojiepermana-angular-component-chart-line.d.ts +0 -1
  441. package/types/ojiepermana-angular-component-chart-pie.d.ts +0 -1
  442. package/types/ojiepermana-angular-component-chart-radar.d.ts +0 -1
  443. package/types/ojiepermana-angular-component-chart-radial.d.ts +0 -1
  444. package/types/ojiepermana-angular-component-chart-scatter.d.ts +0 -1
  445. package/types/ojiepermana-angular-component-chart.d.ts +0 -1094
  446. package/types/ojiepermana-angular-component-checkbox.d.ts +0 -35
  447. package/types/ojiepermana-angular-component-collapsible.d.ts +0 -42
  448. package/types/ojiepermana-angular-component-combobox.d.ts +0 -50
  449. package/types/ojiepermana-angular-component-command.d.ts +0 -99
  450. package/types/ojiepermana-angular-component-composer.d.ts +0 -90
  451. package/types/ojiepermana-angular-component-context-menu.d.ts +0 -35
  452. package/types/ojiepermana-angular-component-date-picker.d.ts +0 -41
  453. package/types/ojiepermana-angular-component-dialog.d.ts +0 -87
  454. package/types/ojiepermana-angular-component-drawer.d.ts +0 -1
  455. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +0 -137
  456. package/types/ojiepermana-angular-component-editor.d.ts +0 -123
  457. package/types/ojiepermana-angular-component-empty.d.ts +0 -50
  458. package/types/ojiepermana-angular-component-form.d.ts +0 -141
  459. package/types/ojiepermana-angular-component-hover-card.d.ts +0 -74
  460. package/types/ojiepermana-angular-component-input-group.d.ts +0 -51
  461. package/types/ojiepermana-angular-component-input-otp.d.ts +0 -136
  462. package/types/ojiepermana-angular-component-input.d.ts +0 -16
  463. package/types/ojiepermana-angular-component-item.d.ts +0 -88
  464. package/types/ojiepermana-angular-component-kanban.d.ts +0 -70
  465. package/types/ojiepermana-angular-component-kbd.d.ts +0 -16
  466. package/types/ojiepermana-angular-component-label.d.ts +0 -11
  467. package/types/ojiepermana-angular-component-menubar.d.ts +0 -67
  468. package/types/ojiepermana-angular-component-native-select.d.ts +0 -26
  469. package/types/ojiepermana-angular-component-navigation-menu.d.ts +0 -96
  470. package/types/ojiepermana-angular-component-pagination.d.ts +0 -33
  471. package/types/ojiepermana-angular-component-pillbox.d.ts +0 -157
  472. package/types/ojiepermana-angular-component-popover.d.ts +0 -43
  473. package/types/ojiepermana-angular-component-progress.d.ts +0 -17
  474. package/types/ojiepermana-angular-component-radio.d.ts +0 -40
  475. package/types/ojiepermana-angular-component-resizable.d.ts +0 -99
  476. package/types/ojiepermana-angular-component-scroll-area.d.ts +0 -19
  477. package/types/ojiepermana-angular-component-select.d.ts +0 -57
  478. package/types/ojiepermana-angular-component-separator.d.ts +0 -14
  479. package/types/ojiepermana-angular-component-sheet.d.ts +0 -76
  480. package/types/ojiepermana-angular-component-skeleton.d.ts +0 -10
  481. package/types/ojiepermana-angular-component-slider.d.ts +0 -74
  482. package/types/ojiepermana-angular-component-spinner.d.ts +0 -13
  483. package/types/ojiepermana-angular-component-switch.d.ts +0 -40
  484. package/types/ojiepermana-angular-component-table.d.ts +0 -52
  485. package/types/ojiepermana-angular-component-tabs.d.ts +0 -92
  486. package/types/ojiepermana-angular-component-textarea.d.ts +0 -12
  487. package/types/ojiepermana-angular-component-timeline.d.ts +0 -63
  488. package/types/ojiepermana-angular-component-toast.d.ts +0 -38
  489. package/types/ojiepermana-angular-component-toggle-group.d.ts +0 -89
  490. package/types/ojiepermana-angular-component-toggle.d.ts +0 -25
  491. package/types/ojiepermana-angular-component-tooltip.d.ts +0 -89
  492. package/types/ojiepermana-angular-component-utils.d.ts +0 -5
  493. package/types/ojiepermana-angular-generator-api.d.ts +0 -86
  494. package/types/ojiepermana-angular-layout-component.d.ts +0 -205
  495. package/types/ojiepermana-angular-layout-provider.d.ts +0 -6
  496. package/types/ojiepermana-angular-layout-services.d.ts +0 -25
  497. package/types/ojiepermana-angular-layout-shell.d.ts +0 -8
  498. package/types/ojiepermana-angular-layout-token-directive.d.ts +0 -13
  499. package/types/ojiepermana-angular-layout-token.d.ts +0 -36
  500. package/types/ojiepermana-angular-layout-type-empty.d.ts +0 -22
  501. package/types/ojiepermana-angular-layout-type-horizontal.d.ts +0 -36
  502. package/types/ojiepermana-angular-layout-type-vertical.d.ts +0 -38
  503. package/types/ojiepermana-angular-layout.d.ts +0 -164
  504. package/types/ojiepermana-angular-navigation-demo-data.d.ts +0 -5
  505. package/types/ojiepermana-angular-navigation-icon.d.ts +0 -17
  506. package/types/ojiepermana-angular-navigation-item.d.ts +0 -54
  507. package/types/ojiepermana-angular-navigation-service.d.ts +0 -77
  508. package/types/ojiepermana-angular-navigation-sidebar.d.ts +0 -75
  509. package/types/ojiepermana-angular-navigation-topbar.d.ts +0 -74
  510. package/types/ojiepermana-angular-navigation-types.d.ts +0 -135
  511. package/types/ojiepermana-angular-theme-provider.d.ts +0 -11
  512. package/types/ojiepermana-angular-theme-services.d.ts +0 -55
  513. package/types/ojiepermana-angular-theme-token.d.ts +0 -57
@@ -1,670 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, ViewContainerRef, ElementRef, DestroyRef, input, computed, signal, viewChild, effect, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { RouterLink, RouterLinkActive } from '@angular/router';
4
- import { Overlay } from '@angular/cdk/overlay';
5
- import { TemplatePortal } from '@angular/cdk/portal';
6
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
- import { merge } from 'rxjs';
8
- import { filter } from 'rxjs/operators';
9
- import { UiNavIconComponent } from '@ojiepermana/angular/navigation/icon';
10
- import { UiNavItemComponent } from '@ojiepermana/angular/navigation/item';
11
- import { NavigationService, DEFAULT_NAVIGATION_ID } from '@ojiepermana/angular/navigation/service';
12
-
13
- /**
14
- * Horizontal navigation (topbar) — shadcn-styled.
15
- */
16
- class TopbarComponent {
17
- nav = inject(NavigationService);
18
- overlay = inject(Overlay);
19
- vcr = inject(ViewContainerRef);
20
- host = inject(ElementRef);
21
- destroyRef = inject(DestroyRef);
22
- items = input([], /* @ts-ignore */
23
- ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
24
- /** Registry key di `NavigationService`. Default `'main'`. */
25
- navigationId = input(DEFAULT_NAVIGATION_ID, /* @ts-ignore */
26
- ...(ngDevMode ? [{ debugName: "navigationId" }] : /* istanbul ignore next */ []));
27
- variant = input('default', /* @ts-ignore */
28
- ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
29
- ariaLabel = input('Primary', /* @ts-ignore */
30
- ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
31
- class = input('', /* @ts-ignore */
32
- ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
33
- /** Auto-register `items` ke `NavigationService` agar `activeTrail` bekerja. */
34
- autoRegister = input(true, /* @ts-ignore */
35
- ...(ngDevMode ? [{ debugName: "autoRegister" }] : /* istanbul ignore next */ []));
36
- /** Tampilkan hamburger di `< md` yang men-toggle mobile drawer sidebar. */
37
- showHamburger = input(true, /* @ts-ignore */
38
- ...(ngDevMode ? [{ debugName: "showHamburger" }] : /* istanbul ignore next */ []));
39
- hamburgerLabel = input('Open navigation', /* @ts-ignore */
40
- ...(ngDevMode ? [{ debugName: "hamburgerLabel" }] : /* istanbul ignore next */ []));
41
- mobileOpen = this.nav.mobileOpen;
42
- isFlyout = computed(() => this.variant() === 'flyout', /* @ts-ignore */
43
- ...(ngDevMode ? [{ debugName: "isFlyout" }] : /* istanbul ignore next */ []));
44
- exactMatch = {
45
- exact: true,
46
- paths: 'exact',
47
- queryParams: 'exact',
48
- fragment: 'exact',
49
- matrixParams: 'exact',
50
- };
51
- inexactMatch = {
52
- exact: false,
53
- paths: 'subset',
54
- queryParams: 'subset',
55
- fragment: 'ignored',
56
- matrixParams: 'ignored',
57
- };
58
- /** Resolved items: input jika disediakan, fallback ke registry NavigationService. */
59
- resolvedItems = computed(() => {
60
- const explicit = this.items();
61
- return explicit.length > 0 ? explicit : this.nav.getItems(this.navigationId())();
62
- }, /* @ts-ignore */
63
- ...(ngDevMode ? [{ debugName: "resolvedItems" }] : /* istanbul ignore next */ []));
64
- openId = signal(null, /* @ts-ignore */
65
- ...(ngDevMode ? [{ debugName: "openId" }] : /* istanbul ignore next */ []));
66
- active = null;
67
- dropdownTpl = viewChild.required('dropdownTpl');
68
- constructor() {
69
- effect(() => {
70
- const explicit = this.items();
71
- if (this.autoRegister() && explicit.length > 0)
72
- this.nav.registerItems(this.navigationId(), explicit);
73
- });
74
- this.destroyRef.onDestroy(() => this.closeAll());
75
- }
76
- hostClasses = computed(() => {
77
- return ['sticky top-0 z-20 flex h-11 w-full items-center', this.class()].join(' ');
78
- }, /* @ts-ignore */
79
- ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
80
- endSlotClasses = computed(() => {
81
- const base = ['flex h-full shrink-0 items-center justify-end gap-2 overflow-hidden'];
82
- base.push('[&>[topbar-end]]:flex', '[&>[topbar-end]]:min-w-0', '[&>[topbar-end]]:max-w-full', '[&>[topbar-end]]:items-center', '[&>[topbar-end]]:justify-end', '[&>[topbar-end]]:gap-2', '[&>[topbar-end]>*]:w-auto', '[&>[topbar-end]>*]:max-w-full', '[&>[topbar-end]>*]:justify-end', '[&>[topbar-end]>*]:gap-0', '[&>[topbar-end]>*]:px-2', '[&>[topbar-end]>*>*:first-child]:ml-auto', '[&>[topbar-end]>*>*:nth-child(n+2)]:hidden');
83
- return base.join(' ');
84
- }, /* @ts-ignore */
85
- ...(ngDevMode ? [{ debugName: "endSlotClasses" }] : /* istanbul ignore next */ []));
86
- asBasic(i) {
87
- return i;
88
- }
89
- asCollapsable(i) {
90
- return i;
91
- }
92
- asGroup(i) {
93
- return i;
94
- }
95
- panelClasses(item) {
96
- const classes = [
97
- 'rounded-xl border border-border bg-background/95 p-2 text-foreground shadow-xl backdrop-blur supports-[backdrop-filter]:bg-background/90',
98
- ];
99
- if (this.isFlyout()) {
100
- classes.push(item.children.length >= 4 ? 'w-[min(92vw,42rem)]' : 'w-[min(92vw,28rem)]');
101
- }
102
- else {
103
- classes.push('min-w-56');
104
- }
105
- return classes.join(' ');
106
- }
107
- panelGridClasses(item) {
108
- const classes = ['grid gap-2'];
109
- if (item.children.length >= 4) {
110
- classes.push('md:grid-cols-2');
111
- }
112
- return classes.join(' ');
113
- }
114
- flyoutItemClasses(active) {
115
- return [
116
- 'block rounded-lg border border-transparent px-4 py-3 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
117
- active ? 'border-border bg-accent/50 text-foreground' : 'hover:bg-accent/50 hover:text-accent-foreground',
118
- ].join(' ');
119
- }
120
- isItemActive(id) {
121
- return this.nav.isActive(id);
122
- }
123
- runMenuAction(item) {
124
- item.action?.(item);
125
- this.closeAll();
126
- }
127
- toggleMobile() {
128
- this.nav.toggleMobile();
129
- }
130
- toggleDropdown(trigger, item) {
131
- if (this.openId() === item.id)
132
- this.closeAll();
133
- else
134
- this.openDropdown(trigger, item);
135
- }
136
- openDropdown(trigger, item) {
137
- if (this.openId() === item.id)
138
- return;
139
- this.closeAll();
140
- this.attach(trigger, item, this.dropdownTpl());
141
- }
142
- attach(trigger, item, tpl) {
143
- const strategy = this.overlay
144
- .position()
145
- .flexibleConnectedTo(trigger)
146
- .withFlexibleDimensions(false)
147
- .withPush(false)
148
- .withPositions([
149
- {
150
- originX: 'start',
151
- originY: 'bottom',
152
- overlayX: 'start',
153
- overlayY: 'top',
154
- offsetY: 4,
155
- },
156
- {
157
- originX: 'start',
158
- originY: 'top',
159
- overlayX: 'start',
160
- overlayY: 'bottom',
161
- offsetY: -4,
162
- },
163
- ]);
164
- const ref = this.overlay.create({
165
- positionStrategy: strategy,
166
- scrollStrategy: this.overlay.scrollStrategies.reposition(),
167
- hasBackdrop: true,
168
- backdropClass: 'cdk-overlay-transparent-backdrop',
169
- panelClass: ['ui-dropdown-panel'],
170
- });
171
- const portal = new TemplatePortal(tpl, this.vcr, { $implicit: item });
172
- ref.attach(portal);
173
- this.active = { ref, id: item.id ?? '' };
174
- this.openId.set(item.id ?? null);
175
- merge(ref.backdropClick(), ref.keydownEvents().pipe(filter((e) => e.key === 'Escape')))
176
- .pipe(takeUntilDestroyed(this.destroyRef))
177
- .subscribe(() => {
178
- this.closeAll();
179
- trigger.focus();
180
- });
181
- }
182
- closeAll() {
183
- if (this.active) {
184
- this.active.ref.dispose();
185
- this.active = null;
186
- }
187
- this.openId.set(null);
188
- }
189
- /** Menubar keyboard navigation: ArrowLeft/Right antar trigger, Home/End, ArrowDown fokus panel. */
190
- onMenubarKeydown(event) {
191
- const key = event.key;
192
- const root = this.host.nativeElement;
193
- const triggers = Array.from(root.querySelectorAll('ul[role="menubar"] [role="menuitem"]')).filter((el) => !el.hasAttribute('disabled'));
194
- if (triggers.length === 0)
195
- return;
196
- const currentIndex = triggers.indexOf(document.activeElement);
197
- if (key === 'ArrowDown' && currentIndex !== -1) {
198
- event.preventDefault();
199
- // Jika open, fokus item pertama panel; jika belum, focus tetap (panel akan dibuka via click/mouseenter).
200
- queueMicrotask(() => this.focusFirstInPanel());
201
- return;
202
- }
203
- if (key !== 'ArrowLeft' && key !== 'ArrowRight' && key !== 'Home' && key !== 'End')
204
- return;
205
- let nextIndex = currentIndex;
206
- if (key === 'ArrowRight')
207
- nextIndex = (currentIndex + 1 + triggers.length) % triggers.length;
208
- else if (key === 'ArrowLeft')
209
- nextIndex = (currentIndex - 1 + triggers.length) % triggers.length;
210
- else if (key === 'Home')
211
- nextIndex = 0;
212
- else if (key === 'End')
213
- nextIndex = triggers.length - 1;
214
- if (nextIndex !== currentIndex && triggers[nextIndex]) {
215
- event.preventDefault();
216
- triggers[nextIndex].focus();
217
- }
218
- }
219
- /** Arrow-key navigation dalam dropdown panel. */
220
- onPanelKeydown(event) {
221
- const key = event.key;
222
- if (key !== 'ArrowDown' &&
223
- key !== 'ArrowUp' &&
224
- key !== 'ArrowLeft' &&
225
- key !== 'ArrowRight' &&
226
- key !== 'Home' &&
227
- key !== 'End')
228
- return;
229
- const panel = this.active?.ref.overlayElement;
230
- if (!panel)
231
- return;
232
- const items = this.collectPanelFocusables(panel);
233
- if (items.length === 0)
234
- return;
235
- const currentIndex = items.indexOf(document.activeElement);
236
- let nextIndex = currentIndex;
237
- if (key === 'ArrowDown' || key === 'ArrowRight')
238
- nextIndex = (currentIndex + 1 + items.length) % items.length;
239
- else if (key === 'ArrowUp' || key === 'ArrowLeft')
240
- nextIndex = (currentIndex - 1 + items.length) % items.length;
241
- else if (key === 'Home')
242
- nextIndex = 0;
243
- else if (key === 'End')
244
- nextIndex = items.length - 1;
245
- if (nextIndex !== currentIndex && items[nextIndex]) {
246
- event.preventDefault();
247
- items[nextIndex].focus();
248
- }
249
- }
250
- collectPanelFocusables(root) {
251
- return Array.from(root.querySelectorAll('a[href], button:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter((el) => el.offsetParent !== null || el.getClientRects().length > 0);
252
- }
253
- focusFirstInPanel() {
254
- const panel = this.active?.ref.overlayElement;
255
- if (!panel)
256
- return;
257
- const items = this.collectPanelFocusables(panel);
258
- items[0]?.focus();
259
- }
260
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
261
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: TopbarComponent, isStandalone: true, selector: "topbar", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, navigationId: { classPropertyName: "navigationId", publicName: "navigationId", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, autoRegister: { classPropertyName: "autoRegister", publicName: "autoRegister", isSignal: true, isRequired: false, transformFunction: null }, showHamburger: { classPropertyName: "showHamburger", publicName: "showHamburger", isSignal: true, isRequired: false, transformFunction: null }, hamburgerLabel: { classPropertyName: "hamburgerLabel", publicName: "hamburgerLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "navigation" }, properties: { "attr.aria-label": "ariaLabel()", "class": "hostClasses()", "attr.data-variant": "variant()" } }, viewQueries: [{ propertyName: "dropdownTpl", first: true, predicate: ["dropdownTpl"], descendants: true, isSignal: true }], ngImport: i0, template: `
262
- <div class="flex h-full w-full items-center gap-3 px-1">
263
- <div data-topbar-slot="start" class="flex shrink-0 items-center gap-2">
264
- @if (showHamburger()) {
265
- <button
266
- type="button"
267
- class="inline-flex h-9 w-9 items-center justify-center rounded-md text-foreground/80 hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring md:hidden"
268
- [attr.aria-label]="hamburgerLabel()"
269
- [attr.aria-expanded]="mobileOpen()"
270
- (click)="toggleMobile()">
271
- <ui-nav-icon name="menu" [size]="18" />
272
- </button>
273
- }
274
- <ng-content select="[topbar-start]" />
275
- </div>
276
-
277
- <div data-topbar-slot="nav" class="flex min-w-0 flex-1 items-center justify-center">
278
- <ul
279
- class="flex min-w-0 flex-1 items-center justify-center gap-1"
280
- role="menubar"
281
- (keydown)="onMenubarKeydown($event)">
282
- @for (item of resolvedItems(); track item.id) {
283
- <li role="none" class="relative">
284
- @switch (item.type) {
285
- @case ('basic') {
286
- @let basic = asBasic(item);
287
- <a
288
- role="menuitem"
289
- class="ui-nav-text inline-flex items-center gap-2 rounded-md px-3 py-2 text-foreground/80 hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring aria-[current=page]:text-primary"
290
- [routerLink]="basic.link"
291
- routerLinkActive
292
- #rla="routerLinkActive"
293
- [class.text-primary]="rla.isActive"
294
- [attr.aria-current]="rla.isActive ? 'page' : null"
295
- [target]="basic.target ?? undefined">
296
- @if (basic.icon) {
297
- <ui-nav-icon [name]="basic.icon" [size]="18" />
298
- }
299
- <span>{{ basic.title }}</span>
300
- </a>
301
- }
302
- @case ('collapsable') {
303
- @let col = asCollapsable(item);
304
- <button
305
- #trigger
306
- type="button"
307
- role="menuitem"
308
- class="ui-nav-text inline-flex items-center gap-2 rounded-md px-3 py-2 text-foreground/80 hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
309
- [class.text-primary]="isItemActive(col.id)"
310
- [attr.aria-expanded]="openId() === col.id"
311
- [attr.aria-haspopup]="'menu'"
312
- (click)="toggleDropdown(trigger, item)"
313
- (mouseenter)="openDropdown(trigger, item)">
314
- @if (col.icon) {
315
- <ui-nav-icon [name]="col.icon" [size]="18" />
316
- }
317
- <span>{{ col.title }}</span>
318
- <ui-nav-icon name="expand_more" [size]="18" />
319
- </button>
320
- }
321
- @case ('group') {
322
- @let group = asGroup(item);
323
- <button
324
- #trigger
325
- type="button"
326
- role="menuitem"
327
- class="ui-nav-text inline-flex items-center gap-2 rounded-md px-3 py-2 text-foreground/80 hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
328
- [class.text-primary]="isItemActive(group.id)"
329
- [attr.aria-expanded]="openId() === group.id"
330
- [attr.aria-haspopup]="'menu'"
331
- (click)="toggleDropdown(trigger, item)"
332
- (mouseenter)="openDropdown(trigger, item)">
333
- @if (group.icon) {
334
- <ui-nav-icon [name]="group.icon" [size]="18" />
335
- }
336
- <span>{{ group.title }}</span>
337
- <ui-nav-icon name="expand_more" [size]="18" />
338
- </button>
339
- }
340
- @default {
341
- <span class="ui-nav-heading px-3 py-2 text-muted-foreground">
342
- {{ item.title }}
343
- </span>
344
- }
345
- }
346
- </li>
347
- }
348
- </ul>
349
- </div>
350
-
351
- <div data-topbar-slot="end" [class]="endSlotClasses()">
352
- <ng-content select="[topbar-end]" />
353
- </div>
354
- </div>
355
-
356
- <!-- Dropdown template -->
357
- <ng-template #dropdownTpl let-item>
358
- <div role="menu" [class]="panelClasses(item)" (keydown)="onPanelKeydown($event)">
359
- @if (isFlyout()) {
360
- <div [class]="panelGridClasses(item)">
361
- @for (child of item.children; track child.id) {
362
- @switch (child.type) {
363
- @case ('basic') {
364
- @let basic = asBasic(child);
365
- @if (basic.link && !basic.externalLink) {
366
- <a
367
- role="menuitem"
368
- [class]="flyoutItemClasses(rla.isActive)"
369
- [routerLink]="basic.link"
370
- [queryParams]="basic.queryParams"
371
- [queryParamsHandling]="basic.queryParamsHandling ?? null"
372
- [fragment]="basic.fragment ?? undefined"
373
- [preserveFragment]="basic.preserveFragment ?? false"
374
- [target]="basic.target ?? undefined"
375
- routerLinkActive
376
- #rla="routerLinkActive"
377
- [routerLinkActiveOptions]="
378
- basic.isActiveMatchOptions ?? (basic.exactMatch ? exactMatch : inexactMatch)
379
- "
380
- [attr.aria-current]="rla.isActive ? 'page' : null"
381
- (click)="closeAll()">
382
- <div class="flex items-start gap-3">
383
- @if (basic.icon) {
384
- <span
385
- class="mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-border bg-muted/40 text-foreground">
386
- <ui-nav-icon [name]="basic.icon" [size]="18" />
387
- </span>
388
- }
389
- <div class="min-w-0 space-y-1">
390
- <div class="font-medium leading-none text-foreground">{{ basic.title }}</div>
391
- @if (basic.subtitle) {
392
- <p class="line-clamp-2 text-sm leading-5 text-muted-foreground">{{ basic.subtitle }}</p>
393
- }
394
- </div>
395
- </div>
396
- </a>
397
- } @else if (basic.link && basic.externalLink) {
398
- <a
399
- role="menuitem"
400
- [class]="flyoutItemClasses(false)"
401
- [attr.href]="basic.link"
402
- [attr.target]="basic.target ?? '_blank'"
403
- rel="noopener noreferrer"
404
- (click)="closeAll()">
405
- <div class="flex items-start gap-3">
406
- @if (basic.icon) {
407
- <span
408
- class="mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-border bg-muted/40 text-foreground">
409
- <ui-nav-icon [name]="basic.icon" [size]="18" />
410
- </span>
411
- }
412
- <div class="min-w-0 space-y-1">
413
- <div class="font-medium leading-none text-foreground">{{ basic.title }}</div>
414
- @if (basic.subtitle) {
415
- <p class="line-clamp-2 text-sm leading-5 text-muted-foreground">{{ basic.subtitle }}</p>
416
- }
417
- </div>
418
- </div>
419
- </a>
420
- } @else {
421
- <button type="button" [class]="flyoutItemClasses(false)" (click)="runMenuAction(basic)">
422
- <div class="flex items-start gap-3 text-left">
423
- @if (basic.icon) {
424
- <span
425
- class="mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-border bg-muted/40 text-foreground">
426
- <ui-nav-icon [name]="basic.icon" [size]="18" />
427
- </span>
428
- }
429
- <div class="min-w-0 space-y-1">
430
- <div class="font-medium leading-none text-foreground">{{ basic.title }}</div>
431
- @if (basic.subtitle) {
432
- <p class="line-clamp-2 text-sm leading-5 text-muted-foreground">{{ basic.subtitle }}</p>
433
- }
434
- </div>
435
- </div>
436
- </button>
437
- }
438
- }
439
- @default {
440
- <div class="md:col-span-2">
441
- <ui-nav-item [item]="child" />
442
- </div>
443
- }
444
- }
445
- }
446
- </div>
447
- } @else {
448
- @for (child of item.children; track child.id) {
449
- <ui-nav-item [item]="child" />
450
- }
451
- }
452
- </div>
453
- </ng-template>
454
- `, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: UiNavIconComponent, selector: "ui-nav-icon", inputs: ["name", "class", "size"] }, { kind: "component", type: UiNavItemComponent, selector: "ui-nav-item", inputs: ["item", "level", "compact", "railConnector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
455
- }
456
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TopbarComponent, decorators: [{
457
- type: Component,
458
- args: [{
459
- selector: 'topbar',
460
- changeDetection: ChangeDetectionStrategy.OnPush,
461
- imports: [RouterLink, RouterLinkActive, UiNavIconComponent, UiNavItemComponent],
462
- host: {
463
- role: 'navigation',
464
- '[attr.aria-label]': 'ariaLabel()',
465
- '[class]': 'hostClasses()',
466
- '[attr.data-variant]': 'variant()',
467
- },
468
- template: `
469
- <div class="flex h-full w-full items-center gap-3 px-1">
470
- <div data-topbar-slot="start" class="flex shrink-0 items-center gap-2">
471
- @if (showHamburger()) {
472
- <button
473
- type="button"
474
- class="inline-flex h-9 w-9 items-center justify-center rounded-md text-foreground/80 hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring md:hidden"
475
- [attr.aria-label]="hamburgerLabel()"
476
- [attr.aria-expanded]="mobileOpen()"
477
- (click)="toggleMobile()">
478
- <ui-nav-icon name="menu" [size]="18" />
479
- </button>
480
- }
481
- <ng-content select="[topbar-start]" />
482
- </div>
483
-
484
- <div data-topbar-slot="nav" class="flex min-w-0 flex-1 items-center justify-center">
485
- <ul
486
- class="flex min-w-0 flex-1 items-center justify-center gap-1"
487
- role="menubar"
488
- (keydown)="onMenubarKeydown($event)">
489
- @for (item of resolvedItems(); track item.id) {
490
- <li role="none" class="relative">
491
- @switch (item.type) {
492
- @case ('basic') {
493
- @let basic = asBasic(item);
494
- <a
495
- role="menuitem"
496
- class="ui-nav-text inline-flex items-center gap-2 rounded-md px-3 py-2 text-foreground/80 hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring aria-[current=page]:text-primary"
497
- [routerLink]="basic.link"
498
- routerLinkActive
499
- #rla="routerLinkActive"
500
- [class.text-primary]="rla.isActive"
501
- [attr.aria-current]="rla.isActive ? 'page' : null"
502
- [target]="basic.target ?? undefined">
503
- @if (basic.icon) {
504
- <ui-nav-icon [name]="basic.icon" [size]="18" />
505
- }
506
- <span>{{ basic.title }}</span>
507
- </a>
508
- }
509
- @case ('collapsable') {
510
- @let col = asCollapsable(item);
511
- <button
512
- #trigger
513
- type="button"
514
- role="menuitem"
515
- class="ui-nav-text inline-flex items-center gap-2 rounded-md px-3 py-2 text-foreground/80 hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
516
- [class.text-primary]="isItemActive(col.id)"
517
- [attr.aria-expanded]="openId() === col.id"
518
- [attr.aria-haspopup]="'menu'"
519
- (click)="toggleDropdown(trigger, item)"
520
- (mouseenter)="openDropdown(trigger, item)">
521
- @if (col.icon) {
522
- <ui-nav-icon [name]="col.icon" [size]="18" />
523
- }
524
- <span>{{ col.title }}</span>
525
- <ui-nav-icon name="expand_more" [size]="18" />
526
- </button>
527
- }
528
- @case ('group') {
529
- @let group = asGroup(item);
530
- <button
531
- #trigger
532
- type="button"
533
- role="menuitem"
534
- class="ui-nav-text inline-flex items-center gap-2 rounded-md px-3 py-2 text-foreground/80 hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
535
- [class.text-primary]="isItemActive(group.id)"
536
- [attr.aria-expanded]="openId() === group.id"
537
- [attr.aria-haspopup]="'menu'"
538
- (click)="toggleDropdown(trigger, item)"
539
- (mouseenter)="openDropdown(trigger, item)">
540
- @if (group.icon) {
541
- <ui-nav-icon [name]="group.icon" [size]="18" />
542
- }
543
- <span>{{ group.title }}</span>
544
- <ui-nav-icon name="expand_more" [size]="18" />
545
- </button>
546
- }
547
- @default {
548
- <span class="ui-nav-heading px-3 py-2 text-muted-foreground">
549
- {{ item.title }}
550
- </span>
551
- }
552
- }
553
- </li>
554
- }
555
- </ul>
556
- </div>
557
-
558
- <div data-topbar-slot="end" [class]="endSlotClasses()">
559
- <ng-content select="[topbar-end]" />
560
- </div>
561
- </div>
562
-
563
- <!-- Dropdown template -->
564
- <ng-template #dropdownTpl let-item>
565
- <div role="menu" [class]="panelClasses(item)" (keydown)="onPanelKeydown($event)">
566
- @if (isFlyout()) {
567
- <div [class]="panelGridClasses(item)">
568
- @for (child of item.children; track child.id) {
569
- @switch (child.type) {
570
- @case ('basic') {
571
- @let basic = asBasic(child);
572
- @if (basic.link && !basic.externalLink) {
573
- <a
574
- role="menuitem"
575
- [class]="flyoutItemClasses(rla.isActive)"
576
- [routerLink]="basic.link"
577
- [queryParams]="basic.queryParams"
578
- [queryParamsHandling]="basic.queryParamsHandling ?? null"
579
- [fragment]="basic.fragment ?? undefined"
580
- [preserveFragment]="basic.preserveFragment ?? false"
581
- [target]="basic.target ?? undefined"
582
- routerLinkActive
583
- #rla="routerLinkActive"
584
- [routerLinkActiveOptions]="
585
- basic.isActiveMatchOptions ?? (basic.exactMatch ? exactMatch : inexactMatch)
586
- "
587
- [attr.aria-current]="rla.isActive ? 'page' : null"
588
- (click)="closeAll()">
589
- <div class="flex items-start gap-3">
590
- @if (basic.icon) {
591
- <span
592
- class="mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-border bg-muted/40 text-foreground">
593
- <ui-nav-icon [name]="basic.icon" [size]="18" />
594
- </span>
595
- }
596
- <div class="min-w-0 space-y-1">
597
- <div class="font-medium leading-none text-foreground">{{ basic.title }}</div>
598
- @if (basic.subtitle) {
599
- <p class="line-clamp-2 text-sm leading-5 text-muted-foreground">{{ basic.subtitle }}</p>
600
- }
601
- </div>
602
- </div>
603
- </a>
604
- } @else if (basic.link && basic.externalLink) {
605
- <a
606
- role="menuitem"
607
- [class]="flyoutItemClasses(false)"
608
- [attr.href]="basic.link"
609
- [attr.target]="basic.target ?? '_blank'"
610
- rel="noopener noreferrer"
611
- (click)="closeAll()">
612
- <div class="flex items-start gap-3">
613
- @if (basic.icon) {
614
- <span
615
- class="mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-border bg-muted/40 text-foreground">
616
- <ui-nav-icon [name]="basic.icon" [size]="18" />
617
- </span>
618
- }
619
- <div class="min-w-0 space-y-1">
620
- <div class="font-medium leading-none text-foreground">{{ basic.title }}</div>
621
- @if (basic.subtitle) {
622
- <p class="line-clamp-2 text-sm leading-5 text-muted-foreground">{{ basic.subtitle }}</p>
623
- }
624
- </div>
625
- </div>
626
- </a>
627
- } @else {
628
- <button type="button" [class]="flyoutItemClasses(false)" (click)="runMenuAction(basic)">
629
- <div class="flex items-start gap-3 text-left">
630
- @if (basic.icon) {
631
- <span
632
- class="mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-border bg-muted/40 text-foreground">
633
- <ui-nav-icon [name]="basic.icon" [size]="18" />
634
- </span>
635
- }
636
- <div class="min-w-0 space-y-1">
637
- <div class="font-medium leading-none text-foreground">{{ basic.title }}</div>
638
- @if (basic.subtitle) {
639
- <p class="line-clamp-2 text-sm leading-5 text-muted-foreground">{{ basic.subtitle }}</p>
640
- }
641
- </div>
642
- </div>
643
- </button>
644
- }
645
- }
646
- @default {
647
- <div class="md:col-span-2">
648
- <ui-nav-item [item]="child" />
649
- </div>
650
- }
651
- }
652
- }
653
- </div>
654
- } @else {
655
- @for (child of item.children; track child.id) {
656
- <ui-nav-item [item]="child" />
657
- }
658
- }
659
- </div>
660
- </ng-template>
661
- `,
662
- }]
663
- }], ctorParameters: () => [], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], navigationId: [{ type: i0.Input, args: [{ isSignal: true, alias: "navigationId", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], autoRegister: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoRegister", required: false }] }], showHamburger: [{ type: i0.Input, args: [{ isSignal: true, alias: "showHamburger", required: false }] }], hamburgerLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hamburgerLabel", required: false }] }], dropdownTpl: [{ type: i0.ViewChild, args: ['dropdownTpl', { isSignal: true }] }] } });
664
-
665
- /**
666
- * Generated bundle index. Do not edit.
667
- */
668
-
669
- export { TopbarComponent };
670
- //# sourceMappingURL=ojiepermana-angular-navigation-topbar.mjs.map