@ojiepermana/angular 22.1.11 → 22.1.12

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 (340) hide show
  1. package/README.md +32 -26
  2. package/chart/README.md +272 -0
  3. package/component/README.md +89 -0
  4. package/component/accordion/README.md +195 -0
  5. package/component/alert/README.md +184 -0
  6. package/component/alert-dialog/README.md +255 -0
  7. package/component/aspect-ratio/README.md +116 -0
  8. package/component/avatar/README.md +182 -0
  9. package/component/badge/README.md +143 -0
  10. package/component/breadcrumb/README.md +223 -0
  11. package/component/button/README.md +141 -0
  12. package/component/button-group/README.md +214 -0
  13. package/component/calendar/README.md +137 -0
  14. package/component/card/README.md +232 -0
  15. package/component/carousel/README.md +276 -0
  16. package/component/checkbox/README.md +153 -0
  17. package/component/collapsible/README.md +216 -0
  18. package/component/combobox/README.md +202 -0
  19. package/component/command/README.md +287 -0
  20. package/component/composer/README.md +241 -0
  21. package/component/context-menu/README.md +268 -0
  22. package/component/date-picker/README.md +202 -0
  23. package/component/dialog/README.md +276 -0
  24. package/component/drawer/README.md +147 -0
  25. package/component/dropdown-menu/README.md +336 -0
  26. package/component/editor/README.md +152 -0
  27. package/component/empty/README.md +193 -0
  28. package/component/form/README.md +216 -0
  29. package/component/hover-card/README.md +150 -0
  30. package/component/icon/README.md +25 -0
  31. package/component/input/README.md +160 -0
  32. package/component/input-group/README.md +245 -0
  33. package/component/input-otp/README.md +331 -0
  34. package/component/item/README.md +254 -0
  35. package/component/kanban/README.md +81 -0
  36. package/component/kbd/README.md +141 -0
  37. package/component/label/README.md +137 -0
  38. package/component/menubar/README.md +270 -0
  39. package/component/native-select/README.md +176 -0
  40. package/component/navigation-menu/README.md +165 -0
  41. package/component/pagination/README.md +151 -0
  42. package/component/pillbox/README.md +68 -0
  43. package/component/popover/README.md +54 -0
  44. package/component/progress/README.md +160 -0
  45. package/component/radio/README.md +212 -0
  46. package/component/resizable/README.md +178 -0
  47. package/component/scroll-area/README.md +150 -0
  48. package/component/select/README.md +228 -0
  49. package/component/separator/README.md +175 -0
  50. package/component/sheet/README.md +190 -0
  51. package/component/skeleton/README.md +158 -0
  52. package/component/slider/README.md +207 -0
  53. package/component/spinner/README.md +160 -0
  54. package/component/switch/README.md +170 -0
  55. package/component/table/README.md +292 -0
  56. package/component/tabs/README.md +220 -0
  57. package/component/textarea/README.md +169 -0
  58. package/component/timeline/README.md +94 -0
  59. package/component/toast/README.md +173 -0
  60. package/component/toggle/README.md +133 -0
  61. package/component/toggle-group/README.md +234 -0
  62. package/component/tooltip/README.md +230 -0
  63. package/fesm2022/ojiepermana-angular-chart-area.mjs +289 -3
  64. package/fesm2022/ojiepermana-angular-chart-bar.mjs +722 -3
  65. package/fesm2022/ojiepermana-angular-chart-core.mjs +1482 -3
  66. package/fesm2022/ojiepermana-angular-chart-line.mjs +294 -3
  67. package/fesm2022/ojiepermana-angular-chart-pie.mjs +291 -3
  68. package/fesm2022/ojiepermana-angular-chart-primitives.mjs +1301 -3
  69. package/fesm2022/ojiepermana-angular-chart-radar.mjs +421 -3
  70. package/fesm2022/ojiepermana-angular-chart-radial.mjs +295 -3
  71. package/fesm2022/ojiepermana-angular-chart-scatter.mjs +306 -3
  72. package/fesm2022/ojiepermana-angular-chart.mjs +12 -3
  73. package/fesm2022/ojiepermana-angular-component-accordion.mjs +267 -3
  74. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +359 -3
  75. package/fesm2022/ojiepermana-angular-component-alert.mjs +101 -3
  76. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +31 -3
  77. package/fesm2022/ojiepermana-angular-component-avatar.mjs +139 -3
  78. package/fesm2022/ojiepermana-angular-component-badge.mjs +57 -3
  79. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +192 -3
  80. package/fesm2022/ojiepermana-angular-component-button-group.mjs +95 -3
  81. package/fesm2022/ojiepermana-angular-component-button.mjs +73 -3
  82. package/fesm2022/ojiepermana-angular-component-calendar.mjs +718 -3
  83. package/fesm2022/ojiepermana-angular-component-card.mjs +167 -3
  84. package/fesm2022/ojiepermana-angular-component-carousel.mjs +326 -3
  85. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +190 -3
  86. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +117 -3
  87. package/fesm2022/ojiepermana-angular-component-combobox.mjs +327 -3
  88. package/fesm2022/ojiepermana-angular-component-command.mjs +351 -3
  89. package/fesm2022/ojiepermana-angular-component-composer.mjs +359 -3
  90. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +158 -3
  91. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +482 -3
  92. package/fesm2022/ojiepermana-angular-component-dialog.mjs +400 -3
  93. package/fesm2022/ojiepermana-angular-component-drawer.mjs +1 -3
  94. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +689 -3
  95. package/fesm2022/ojiepermana-angular-component-editor.mjs +511 -3
  96. package/fesm2022/ojiepermana-angular-component-empty.mjs +134 -3
  97. package/fesm2022/ojiepermana-angular-component-form.mjs +438 -3
  98. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +273 -3
  99. package/fesm2022/ojiepermana-angular-component-icon.mjs +139 -3
  100. package/fesm2022/ojiepermana-angular-component-input-group.mjs +176 -3
  101. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +550 -3
  102. package/fesm2022/ojiepermana-angular-component-input.mjs +52 -3
  103. package/fesm2022/ojiepermana-angular-component-item.mjs +264 -3
  104. package/fesm2022/ojiepermana-angular-component-kanban.mjs +310 -3
  105. package/fesm2022/ojiepermana-angular-component-kbd.mjs +48 -3
  106. package/fesm2022/ojiepermana-angular-component-label.mjs +27 -3
  107. package/fesm2022/ojiepermana-angular-component-menubar.mjs +327 -3
  108. package/fesm2022/ojiepermana-angular-component-native-select.mjs +62 -3
  109. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +378 -3
  110. package/fesm2022/ojiepermana-angular-component-pagination.mjs +238 -3
  111. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +999 -3
  112. package/fesm2022/ojiepermana-angular-component-popover.mjs +201 -3
  113. package/fesm2022/ojiepermana-angular-component-progress.mjs +57 -3
  114. package/fesm2022/ojiepermana-angular-component-radio.mjs +180 -3
  115. package/fesm2022/ojiepermana-angular-component-resizable.mjs +493 -3
  116. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +51 -3
  117. package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +227 -3
  118. package/fesm2022/ojiepermana-angular-component-select.mjs +609 -3
  119. package/fesm2022/ojiepermana-angular-component-separator.mjs +31 -3
  120. package/fesm2022/ojiepermana-angular-component-sheet.mjs +407 -3
  121. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +25 -3
  122. package/fesm2022/ojiepermana-angular-component-slider.mjs +456 -3
  123. package/fesm2022/ojiepermana-angular-component-spinner.mjs +56 -3
  124. package/fesm2022/ojiepermana-angular-component-switch.mjs +145 -3
  125. package/fesm2022/ojiepermana-angular-component-table.mjs +155 -3
  126. package/fesm2022/ojiepermana-angular-component-tabs.mjs +315 -3
  127. package/fesm2022/ojiepermana-angular-component-textarea.mjs +46 -3
  128. package/fesm2022/ojiepermana-angular-component-timeline.mjs +237 -3
  129. package/fesm2022/ojiepermana-angular-component-toast.mjs +241 -3
  130. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +290 -3
  131. package/fesm2022/ojiepermana-angular-component-toggle.mjs +76 -3
  132. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +519 -3
  133. package/fesm2022/ojiepermana-angular-component-utils-core.mjs +310 -3
  134. package/fesm2022/ojiepermana-angular-component-utils-overlay.mjs +62 -3
  135. package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +34 -3
  136. package/fesm2022/ojiepermana-angular-component-utils.mjs +3 -2
  137. package/fesm2022/ojiepermana-angular-component.mjs +4 -4
  138. package/fesm2022/ojiepermana-angular-navigation-core.mjs +21 -3
  139. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +20 -3
  140. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-CDBxQ8rk.mjs +91 -0
  141. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DBQHdvGa.mjs +512 -0
  142. package/fesm2022/ojiepermana-angular-navigation-navigation-entry-grid.component-Cd-jh6tg.mjs +623 -0
  143. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BCGvhoYj.mjs +404 -0
  144. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-Dk_03e-6.mjs +466 -0
  145. package/fesm2022/ojiepermana-angular-navigation-ojiepermana-angular-navigation-DNKU6viC.mjs +2642 -0
  146. package/fesm2022/ojiepermana-angular-navigation-service.mjs +725 -3
  147. package/fesm2022/ojiepermana-angular-navigation-types.mjs +65 -4
  148. package/fesm2022/ojiepermana-angular-navigation.mjs +4 -10
  149. package/fesm2022/ojiepermana-angular-sdk.mjs +204 -4
  150. package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +1387 -3
  151. package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +331 -3
  152. package/fesm2022/ojiepermana-angular-theme-layout-types.mjs +45 -4
  153. package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +1044 -3
  154. package/fesm2022/ojiepermana-angular-theme-layout.mjs +729 -3
  155. package/fesm2022/ojiepermana-angular-theme-page-core.mjs +381 -3
  156. package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +267 -3
  157. package/fesm2022/ojiepermana-angular-theme-page-root.mjs +361 -3
  158. package/fesm2022/ojiepermana-angular-theme-page-side.mjs +198 -3
  159. package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +110 -3
  160. package/fesm2022/ojiepermana-angular-theme-page.mjs +7 -2
  161. package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +338 -3
  162. package/fesm2022/ojiepermana-angular-theme-shell-types.mjs +160 -4
  163. package/fesm2022/ojiepermana-angular-theme-shell.mjs +811 -3
  164. package/fesm2022/ojiepermana-angular-theme-styles.mjs +783 -3
  165. package/fesm2022/ojiepermana-angular-theme.mjs +4 -4
  166. package/fesm2022/ojiepermana-angular.mjs +6 -11
  167. package/navigation/README.md +374 -0
  168. package/package.json +81 -20
  169. package/sdk/README.md +212 -0
  170. package/sdk/schematics/collection.json +20 -0
  171. package/sdk/schematics/init/index.js +83 -0
  172. package/sdk/schematics/init/schema.json +19 -0
  173. package/sdk/schematics/ng-add/index.js +147 -0
  174. package/sdk/schematics/ng-add/schema.json +14 -0
  175. package/sdk/schematics/package.json +3 -0
  176. package/sdk/schematics/sdk/index.js +175 -0
  177. package/sdk/schematics/sdk/schema.json +19 -0
  178. package/sdk/sdk.config.example.json +24 -0
  179. package/sdk/src/config/loader.js +43 -0
  180. package/sdk/src/config/schema.js +59 -0
  181. package/sdk/src/emit/client.js +251 -0
  182. package/sdk/src/emit/metadata.js +310 -0
  183. package/sdk/src/emit/models.js +104 -0
  184. package/sdk/src/emit/navigation.js +56 -0
  185. package/sdk/src/emit/operations.js +118 -0
  186. package/sdk/src/emit/public-api.js +54 -0
  187. package/sdk/src/emit/services.js +110 -0
  188. package/sdk/src/engine.js +67 -0
  189. package/sdk/src/layout/per-domain.js +360 -0
  190. package/sdk/src/package.json +3 -0
  191. package/sdk/src/parser/bundle.js +25 -0
  192. package/sdk/src/parser/ir.js +429 -0
  193. package/sdk/src/parser/types.js +7 -0
  194. package/sdk/src/render/template.js +152 -0
  195. package/sdk/src/writer/index.js +286 -0
  196. package/theme/README.md +126 -0
  197. package/theme/component/settings/README.md +135 -0
  198. package/theme/layout/README.md +539 -0
  199. package/theme/page/README.md +453 -0
  200. package/theme/shell/README.md +340 -0
  201. package/theme/styles/README.md +178 -0
  202. package/theme/styles/css/base/components.css +553 -0
  203. package/theme/styles/css/base/index.css +14 -0
  204. package/theme/styles/css/base/package.css +9 -0
  205. package/theme/styles/css/base/prefers-dark.css +86 -0
  206. package/theme/styles/css/base/print.css +62 -0
  207. package/theme/styles/css/base/status.css +38 -0
  208. package/theme/styles/css/base/tailwind.css +165 -0
  209. package/theme/styles/css/base/theme.css +373 -0
  210. package/theme/styles/css/base/tokens.css +361 -0
  211. package/theme/styles/css/color/amber.css +72 -0
  212. package/theme/styles/css/color/blue.css +72 -0
  213. package/theme/styles/css/color/brand.css +38 -0
  214. package/theme/styles/css/color/cyan.css +72 -0
  215. package/theme/styles/css/color/emerald.css +72 -0
  216. package/theme/styles/css/color/fuchsia.css +72 -0
  217. package/theme/styles/css/color/green.css +72 -0
  218. package/theme/styles/css/color/index.css +19 -0
  219. package/theme/styles/css/color/indigo.css +72 -0
  220. package/theme/styles/css/color/lime.css +72 -0
  221. package/theme/styles/css/color/orange.css +72 -0
  222. package/theme/styles/css/color/pink.css +72 -0
  223. package/theme/styles/css/color/purple.css +72 -0
  224. package/theme/styles/css/color/red.css +72 -0
  225. package/theme/styles/css/color/rose.css +72 -0
  226. package/theme/styles/css/color/sky.css +72 -0
  227. package/theme/styles/css/color/teal.css +72 -0
  228. package/theme/styles/css/color/violet.css +72 -0
  229. package/theme/styles/css/color/yellow.css +72 -0
  230. package/theme/styles/css/index.css +18 -0
  231. package/theme/styles/css/neutral/gray.css +63 -0
  232. package/theme/styles/css/neutral/index.css +11 -0
  233. package/theme/styles/css/neutral/mauve.css +63 -0
  234. package/theme/styles/css/neutral/mist.css +63 -0
  235. package/theme/styles/css/neutral/neutral.css +63 -0
  236. package/theme/styles/css/neutral/olive.css +63 -0
  237. package/theme/styles/css/neutral/slate.css +63 -0
  238. package/theme/styles/css/neutral/stone.css +63 -0
  239. package/theme/styles/css/neutral/taupe.css +63 -0
  240. package/theme/styles/css/neutral/zinc.css +63 -0
  241. package/theme/styles/css/radius/index.css +30 -0
  242. package/theme/styles/css/space/index.css +20 -0
  243. package/types/ojiepermana-angular-chart-area.d.ts +76 -1
  244. package/types/ojiepermana-angular-chart-bar.d.ts +201 -1
  245. package/types/ojiepermana-angular-chart-core.d.ts +811 -1
  246. package/types/ojiepermana-angular-chart-line.d.ts +75 -1
  247. package/types/ojiepermana-angular-chart-pie.d.ts +131 -1
  248. package/types/ojiepermana-angular-chart-primitives.d.ts +291 -1
  249. package/types/ojiepermana-angular-chart-radar.d.ts +116 -1
  250. package/types/ojiepermana-angular-chart-radial.d.ts +116 -1
  251. package/types/ojiepermana-angular-chart-scatter.d.ts +125 -1
  252. package/types/ojiepermana-angular-chart.d.ts +2 -1
  253. package/types/ojiepermana-angular-component-accordion.d.ts +85 -1
  254. package/types/ojiepermana-angular-component-alert-dialog.d.ts +140 -1
  255. package/types/ojiepermana-angular-component-alert.d.ts +42 -1
  256. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +12 -1
  257. package/types/ojiepermana-angular-component-avatar.d.ts +56 -1
  258. package/types/ojiepermana-angular-component-badge.d.ts +24 -1
  259. package/types/ojiepermana-angular-component-breadcrumb.d.ts +46 -1
  260. package/types/ojiepermana-angular-component-button-group.d.ts +26 -1
  261. package/types/ojiepermana-angular-component-button.d.ts +27 -1
  262. package/types/ojiepermana-angular-component-calendar.d.ts +111 -1
  263. package/types/ojiepermana-angular-component-card.d.ts +69 -1
  264. package/types/ojiepermana-angular-component-carousel.d.ts +86 -1
  265. package/types/ojiepermana-angular-component-checkbox.d.ts +42 -1
  266. package/types/ojiepermana-angular-component-collapsible.d.ts +42 -1
  267. package/types/ojiepermana-angular-component-combobox.d.ts +60 -1
  268. package/types/ojiepermana-angular-component-command.d.ts +130 -1
  269. package/types/ojiepermana-angular-component-composer.d.ts +90 -1
  270. package/types/ojiepermana-angular-component-context-menu.d.ts +54 -1
  271. package/types/ojiepermana-angular-component-date-picker.d.ts +109 -1
  272. package/types/ojiepermana-angular-component-dialog.d.ts +136 -1
  273. package/types/ojiepermana-angular-component-drawer.d.ts +1 -1
  274. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +248 -1
  275. package/types/ojiepermana-angular-component-editor.d.ts +135 -1
  276. package/types/ojiepermana-angular-component-empty.d.ts +50 -1
  277. package/types/ojiepermana-angular-component-form.d.ts +159 -1
  278. package/types/ojiepermana-angular-component-hover-card.d.ts +75 -1
  279. package/types/ojiepermana-angular-component-icon.d.ts +89 -1
  280. package/types/ojiepermana-angular-component-input-group.d.ts +51 -1
  281. package/types/ojiepermana-angular-component-input-otp.d.ts +155 -1
  282. package/types/ojiepermana-angular-component-input.d.ts +21 -1
  283. package/types/ojiepermana-angular-component-item.d.ts +93 -1
  284. package/types/ojiepermana-angular-component-kanban.d.ts +70 -1
  285. package/types/ojiepermana-angular-component-kbd.d.ts +16 -1
  286. package/types/ojiepermana-angular-component-label.d.ts +11 -1
  287. package/types/ojiepermana-angular-component-menubar.d.ts +93 -1
  288. package/types/ojiepermana-angular-component-native-select.d.ts +26 -1
  289. package/types/ojiepermana-angular-component-navigation-menu.d.ts +104 -1
  290. package/types/ojiepermana-angular-component-pagination.d.ts +33 -1
  291. package/types/ojiepermana-angular-component-pillbox.d.ts +222 -1
  292. package/types/ojiepermana-angular-component-popover.d.ts +66 -1
  293. package/types/ojiepermana-angular-component-progress.d.ts +17 -1
  294. package/types/ojiepermana-angular-component-radio.d.ts +60 -1
  295. package/types/ojiepermana-angular-component-resizable.d.ts +117 -1
  296. package/types/ojiepermana-angular-component-scroll-area.d.ts +19 -1
  297. package/types/ojiepermana-angular-component-segmented-control.d.ts +58 -1
  298. package/types/ojiepermana-angular-component-select.d.ts +122 -1
  299. package/types/ojiepermana-angular-component-separator.d.ts +14 -1
  300. package/types/ojiepermana-angular-component-sheet.d.ts +130 -1
  301. package/types/ojiepermana-angular-component-skeleton.d.ts +10 -1
  302. package/types/ojiepermana-angular-component-slider.d.ts +83 -1
  303. package/types/ojiepermana-angular-component-spinner.d.ts +13 -1
  304. package/types/ojiepermana-angular-component-switch.d.ts +44 -1
  305. package/types/ojiepermana-angular-component-table.d.ts +57 -1
  306. package/types/ojiepermana-angular-component-tabs.d.ts +124 -1
  307. package/types/ojiepermana-angular-component-textarea.d.ts +17 -1
  308. package/types/ojiepermana-angular-component-timeline.d.ts +64 -1
  309. package/types/ojiepermana-angular-component-toast.d.ts +64 -1
  310. package/types/ojiepermana-angular-component-toggle-group.d.ts +90 -1
  311. package/types/ojiepermana-angular-component-toggle.d.ts +25 -1
  312. package/types/ojiepermana-angular-component-tooltip.d.ts +143 -1
  313. package/types/ojiepermana-angular-component-utils-core.d.ts +184 -1
  314. package/types/ojiepermana-angular-component-utils-overlay.d.ts +21 -1
  315. package/types/ojiepermana-angular-component-utils-scale.d.ts +19 -1
  316. package/types/ojiepermana-angular-component-utils.d.ts +2 -1
  317. package/types/ojiepermana-angular-component.d.ts +2 -1
  318. package/types/ojiepermana-angular-navigation-core.d.ts +59 -1
  319. package/types/ojiepermana-angular-navigation-icon.d.ts +12 -1
  320. package/types/ojiepermana-angular-navigation-service.d.ts +116 -1
  321. package/types/ojiepermana-angular-navigation-types.d.ts +144 -1
  322. package/types/ojiepermana-angular-navigation.d.ts +507 -1
  323. package/types/ojiepermana-angular-sdk.d.ts +89 -1
  324. package/types/ojiepermana-angular-theme-component-settings.d.ts +154 -1
  325. package/types/ojiepermana-angular-theme-layout-services.d.ts +147 -1
  326. package/types/ojiepermana-angular-theme-layout-types.d.ts +40 -1
  327. package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +299 -1
  328. package/types/ojiepermana-angular-theme-layout.d.ts +129 -1
  329. package/types/ojiepermana-angular-theme-page-core.d.ts +157 -1
  330. package/types/ojiepermana-angular-theme-page-filter.d.ts +77 -1
  331. package/types/ojiepermana-angular-theme-page-root.d.ts +88 -1
  332. package/types/ojiepermana-angular-theme-page-side.d.ts +50 -1
  333. package/types/ojiepermana-angular-theme-page-slots.d.ts +40 -1
  334. package/types/ojiepermana-angular-theme-page.d.ts +5 -1
  335. package/types/ojiepermana-angular-theme-shell-services.d.ts +193 -1
  336. package/types/ojiepermana-angular-theme-shell-types.d.ts +105 -1
  337. package/types/ojiepermana-angular-theme-shell.d.ts +100 -1
  338. package/types/ojiepermana-angular-theme-styles.d.ts +319 -1
  339. package/types/ojiepermana-angular-theme.d.ts +2 -1
  340. package/types/ojiepermana-angular.d.ts +5 -5
@@ -1 +1,507 @@
1
- export * from '@ojiepermana/angular-navigation';
1
+ import * as _ojiepermana_angular_navigation from '@ojiepermana/angular/navigation';
2
+ import * as _angular_core from '@angular/core';
3
+ import { Signal, TemplateRef } from '@angular/core';
4
+ import { NavigationIconDirective } from '@ojiepermana/angular/navigation/icon';
5
+ export { NavigationIconDirective } from '@ojiepermana/angular/navigation/icon';
6
+ import { NavigationOrientation, NavigationType, NavigationPosition, NavigationDockbarMode, NavigationDockbarRouteContext, NavigationBadgeContext, NavigationAppearance, NavigationFlyoutIconPosition, NavigationFlyoutTriggerVariant, NavigationState, NavigationItem, NavigationCollapseTree, NavigationSelection, NavigationBadgeSource, NavigationNormalizedItem, NavigationResolvedRouteContext, NavigationIconContext, NavigationVerticalPosition, NavigationHorizontalPosition } from '@ojiepermana/angular/navigation/types';
7
+ export { NAVIGATION_DOCKBAR_FALLBACK_ICON, NavigationActionHandler, NavigationAppearance, NavigationBadgeAriaLabel, NavigationBadgeContext, NavigationBadgeCount, NavigationBadgeSource, NavigationBadgeValueSource, NavigationCollapseTree, NavigationDockbarMode, NavigationDockbarRouteConfig, NavigationDockbarRouteContext, NavigationFlyoutIconPosition, NavigationFlyoutTriggerVariant, NavigationHorizontalPosition, NavigationHorizontalType, NavigationIconContext, NavigationItem, NavigationItemBadge, NavigationItemClasses, NavigationItemType, NavigationLink, NavigationNormalizedItem, NavigationNormalizedItemType, NavigationOrientation, NavigationPosition, NavigationRegisterInput, NavigationResolvedRouteContext, NavigationRouteData, NavigationSelection, NavigationState, NavigationType, NavigationVerticalPosition, NavigationVerticalType, NavigationVisibilityHandler, formatNavigationBadgeCount, normalizeUiNavItems } from '@ojiepermana/angular/navigation/types';
8
+ export * from '@ojiepermana/angular/navigation/core';
9
+
10
+ /**
11
+ * Konfigurasi yang didaftarkan komponen type (`<NavigationSidebar>`,
12
+ * `<NavigationDockbar>`, `<NavigationNavbar>`, `<NavigationFlyout>`) ke
13
+ * `<Navigation>` induknya. Satu `<Navigation>` hanya boleh memuat satu
14
+ * type hidup pada satu waktu.
15
+ */
16
+ interface NavigationTypeConfig {
17
+ readonly orientation: NavigationOrientation;
18
+ readonly type: NavigationType;
19
+ readonly position?: Signal<NavigationPosition | null>;
20
+ readonly collapsed?: Signal<boolean | null>;
21
+ readonly dockbarMode?: Signal<NavigationDockbarMode | null>;
22
+ /** Opt-in route context dan registry badge khusus dockbar. */
23
+ readonly dockbarRouteContext?: Signal<NavigationDockbarRouteContext | null>;
24
+ readonly dockbarBadgeContext?: Signal<NavigationBadgeContext>;
25
+ /** Header route bawaan hanya terlihat bila consumer tidak memproyeksikan header sendiri. */
26
+ readonly dockbarRouteHeaderVisible?: Signal<boolean>;
27
+ /** Template footer aside dockbar (slot `ng-template[NavigationAsideFooter]`). */
28
+ readonly dockbarAsideFooter?: Signal<TemplateRef<unknown> | null>;
29
+ readonly sidebarCollapse?: Signal<boolean>;
30
+ readonly previewExpanded?: Signal<boolean>;
31
+ readonly typeStyle?: Signal<NavigationAppearance>;
32
+ readonly flyoutLabel?: Signal<string>;
33
+ /** Nama Material Symbols untuk trigger flyout; `null` = tanpa ikon (label saja). */
34
+ readonly flyoutIcon?: Signal<string | null>;
35
+ /** Trigger flyout hanya ikon — label pindah ke aria-label/title. */
36
+ readonly flyoutIconOnly?: Signal<boolean>;
37
+ /** Penempatan ikon relatif terhadap label trigger flyout. */
38
+ readonly flyoutIconPosition?: Signal<NavigationFlyoutIconPosition>;
39
+ /** Bentuk visual tombol trigger flyout: `button` (pil) | `link` | `plain` (ghost). */
40
+ readonly flyoutTriggerVariant?: Signal<NavigationFlyoutTriggerVariant>;
41
+ /** Trigger flyout mengambang (`fixed`) alih-alih mengalir di dalam bar/div. */
42
+ readonly flyoutTriggerFloating?: Signal<boolean>;
43
+ /** Panel floating menutup dari batas atas viewport dan memakai lebar viewport penuh. */
44
+ readonly flyoutPanelViewport?: Signal<boolean>;
45
+ /** Kelas Tailwind tambahan untuk host trigger flyout (posisi pojok floating / override wrapper). */
46
+ readonly flyoutTriggerClass?: Signal<string>;
47
+ /** Kelas tambahan khusus tombol trigger flyout. */
48
+ readonly flyoutTriggerButtonClass?: Signal<string>;
49
+ }
50
+
51
+ interface NavigationShellContext {
52
+ readonly state: Signal<NavigationState>;
53
+ readonly displayState: Signal<NavigationState>;
54
+ readonly collapseEnabled: Signal<boolean>;
55
+ toggleCollapsed(): void;
56
+ }
57
+
58
+ interface NavigationDockbarRouteHeaderState {
59
+ readonly activeEntry: NavigationNormalizedItem | null;
60
+ readonly panelGroup: NavigationNormalizedItem | null;
61
+ readonly icon: string;
62
+ readonly label: string;
63
+ readonly badge: NavigationBadgeSource | null;
64
+ readonly badgeClass: string;
65
+ readonly iconContext: NavigationIconContext;
66
+ }
67
+ /**
68
+ * Container navigasi deklaratif. Type ditentukan oleh komponen anak:
69
+ *
70
+ * ```html
71
+ * <Navigation id="main" [data]="items">
72
+ * <NavigationSidebar>
73
+ * <NavigationHeader>…</NavigationHeader>
74
+ * <NavigationContent />
75
+ * <NavigationFooter>…</NavigationFooter>
76
+ * </NavigationSidebar>
77
+ * </Navigation>
78
+ * ```
79
+ *
80
+ * Header dan footer opsional; `NavigationContent` selalu dirender oleh
81
+ * type (default otomatis bila tidak diproyeksikan).
82
+ */
83
+ declare class NavigationContainerComponent implements NavigationShellContext {
84
+ readonly navId: _angular_core.InputSignal<string>;
85
+ /** Id data publik dapat dipisahkan dari id state. Berguna untuk mirror mobile tanpa berbagi persistence state. */
86
+ readonly dataId: _angular_core.InputSignal<string | null>;
87
+ readonly data: _angular_core.InputSignal<readonly NavigationItem[]>;
88
+ readonly ariaLabel: _angular_core.InputSignal<string>;
89
+ readonly compact: _angular_core.InputSignal<boolean>;
90
+ readonly collapseTree: _angular_core.InputSignal<NavigationCollapseTree>;
91
+ readonly class: _angular_core.InputSignal<string>;
92
+ readonly itemClass: _angular_core.InputSignal<string>;
93
+ /** Kelas Tailwind untuk container `<li>` group horizontal (flyout tab / navbar group). */
94
+ readonly groupClass: _angular_core.InputSignal<string>;
95
+ readonly activeIds: _angular_core.InputSignal<ReadonlySet<string> | readonly string[] | null>;
96
+ readonly activeUrl: _angular_core.InputSignal<string | null>;
97
+ readonly openedIds: _angular_core.ModelSignal<readonly string[]>;
98
+ readonly itemSelected: _angular_core.OutputEmitterRef<NavigationSelection>;
99
+ private readonly nav;
100
+ private readonly routeContextAdapter;
101
+ private readonly activatedRoute;
102
+ private readonly dataOwner;
103
+ private readonly hoverPreviewExpanded;
104
+ /**
105
+ * Keyboard twin of the hover preview: a collapsed rail hides the children of
106
+ * every collapsible, so without this the only way into a nested route is a
107
+ * pointer hovering the rail.
108
+ */
109
+ private readonly focusPreviewExpanded;
110
+ /** Konfigurasi type aktif yang didaftarkan wrapper anak (sidebar/dockbar/navbar/flyout). */
111
+ private readonly typeConfig;
112
+ private readonly orientationPreference;
113
+ private readonly typePreference;
114
+ private readonly positionPreference;
115
+ private readonly collapsedPreference;
116
+ private readonly dockbarModePreference;
117
+ private readonly dockbarRouteContextPreference;
118
+ readonly dockbarBadgeContext: _angular_core.Signal<Readonly<Record<string, NavigationBadgeSource>>>;
119
+ readonly dockbarRouteHeaderVisible: _angular_core.Signal<boolean>;
120
+ /** Template footer aside dockbar dari slot `ng-template[NavigationAsideFooter]`. */
121
+ readonly dockbarAsideFooter: _angular_core.Signal<_angular_core.TemplateRef<unknown> | null>;
122
+ private readonly sidebarCollapse;
123
+ private readonly previewExpanded;
124
+ readonly typeStyle: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationAppearance>;
125
+ readonly flyoutLabel: _angular_core.Signal<string>;
126
+ readonly flyoutIcon: _angular_core.Signal<string | null>;
127
+ readonly flyoutIconOnly: _angular_core.Signal<boolean>;
128
+ readonly flyoutIconPosition: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationFlyoutIconPosition>;
129
+ readonly flyoutTriggerVariant: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationFlyoutTriggerVariant>;
130
+ readonly flyoutTriggerFloating: _angular_core.Signal<boolean>;
131
+ readonly flyoutPanelViewport: _angular_core.Signal<boolean>;
132
+ readonly flyoutTriggerClass: _angular_core.Signal<string>;
133
+ readonly flyoutTriggerButtonClass: _angular_core.Signal<string>;
134
+ private readonly controller;
135
+ readonly iconTemplate: _angular_core.Signal<NavigationIconDirective | undefined>;
136
+ readonly normalizedItems: _angular_core.Signal<readonly NavigationNormalizedItem[]>;
137
+ readonly resolvedState: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationState>;
138
+ readonly activeIdSet: _angular_core.Signal<ReadonlySet<string>>;
139
+ readonly dockbarRouteEnabled: _angular_core.Signal<boolean>;
140
+ readonly dockbarResolvedRouteContext: _angular_core.Signal<NavigationResolvedRouteContext>;
141
+ readonly dockbarActiveRouteEntry: _angular_core.Signal<NavigationNormalizedItem | null>;
142
+ readonly dockbarResolvedActiveIds: _angular_core.Signal<ReadonlySet<string>>;
143
+ readonly dockbarActiveRoutePanelGroup: _angular_core.Signal<NavigationNormalizedItem | null>;
144
+ readonly dockbarRouteHeader: _angular_core.Signal<NavigationDockbarRouteHeaderState | null>;
145
+ readonly dockbarRailItems: _angular_core.Signal<readonly NavigationNormalizedItem[]>;
146
+ readonly dockbarAsideId: _angular_core.Signal<string>;
147
+ readonly dockbarOpenGroup: _angular_core.Signal<NavigationNormalizedItem | null>;
148
+ readonly dockbarActiveRoutePanelExpanded: _angular_core.Signal<boolean>;
149
+ readonly previewRailExpanded: _angular_core.Signal<boolean>;
150
+ readonly previewRailOffset: _angular_core.Signal<"calc(var(--layout-sidebar-width) - var(--layout-sidebar-collapsed-width))" | "0px">;
151
+ readonly displayState: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationState>;
152
+ readonly dockbarAsideOpen: _angular_core.Signal<boolean>;
153
+ readonly collapseEnabled: _angular_core.Signal<boolean>;
154
+ /** Kelas shell yang dipakai host komponen type (eks `div` shell internal). */
155
+ readonly shellClasses: _angular_core.Signal<string>;
156
+ readonly state: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationState>;
157
+ readonly resolvedDataId: _angular_core.Signal<string>;
158
+ protected readonly hostClasses: _angular_core.Signal<string>;
159
+ constructor();
160
+ /**
161
+ * Dipanggil komponen type saat dibuat. Satu `<Navigation>` hanya boleh
162
+ * memuat satu type hidup — pendaftaran ganda dianggap salah konfigurasi.
163
+ */
164
+ registerType(config: NavigationTypeConfig): void;
165
+ unregisterType(config: NavigationTypeConfig): void;
166
+ toggleCollapsed(): void;
167
+ toggleDockbarActiveRoutePanel(): void;
168
+ closeDockbarPanel(): boolean;
169
+ restoreDockbarRoutePanel(): void;
170
+ protected setHoverPreview(value: boolean): void;
171
+ protected setFocusPreview(value: boolean, event?: FocusEvent): void;
172
+ private dockbarRouteConfig;
173
+ private cleanString;
174
+ private safeId;
175
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationContainerComponent, never>;
176
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationContainerComponent, "Navigation", never, { "navId": { "alias": "id"; "required": false; "isSignal": true; }; "dataId": { "alias": "data-id"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "collapseTree": { "alias": "collapse-tree"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "itemClass": { "alias": "itemClass"; "required": false; "isSignal": true; }; "groupClass": { "alias": "nav-group-class"; "required": false; "isSignal": true; }; "activeIds": { "alias": "activeIds"; "required": false; "isSignal": true; }; "activeUrl": { "alias": "activeUrl"; "required": false; "isSignal": true; }; "openedIds": { "alias": "openedIds"; "required": false; "isSignal": true; }; }, { "openedIds": "openedIdsChange"; "itemSelected": "itemSelected"; }, ["iconTemplate"], ["*"], true, never>;
177
+ }
178
+
179
+ /**
180
+ * Area konten navigasi: merender daftar item sesuai type aktif dari
181
+ * `<Navigation>` induk. Selalu hadir di setiap type — komponen type
182
+ * merender default-nya bila consumer tidak memproyeksikan `<NavigationContent />`.
183
+ */
184
+ declare class NavigationContentComponent {
185
+ protected readonly container: NavigationContainerComponent;
186
+ readonly class: _angular_core.InputSignal<string>;
187
+ protected readonly hostClasses: _angular_core.Signal<string>;
188
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationContentComponent, never>;
189
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationContentComponent, "NavigationContent", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["NavigationHeader", "NavigationFooter"], true, never>;
190
+ }
191
+
192
+ declare class NavigationFooterComponent {
193
+ private readonly shell;
194
+ readonly class: _angular_core.InputSignal<string>;
195
+ protected readonly isHorizontal: _angular_core.Signal<boolean>;
196
+ protected readonly displayCollapsed: _angular_core.Signal<boolean>;
197
+ /**
198
+ * Baris isi footer. Saat collapsed/dockbar (vertical) isi (inisial user) dipusatkan
199
+ * di tengah rail agar simetris dengan `NavigationHeader` dan ikon nav-item; selain
200
+ * itu rata kiri dengan `gap-3` (padding diserahkan consumer, mis. `px-3`).
201
+ */
202
+ protected readonly rowClasses: _angular_core.Signal<string>;
203
+ protected readonly hostClasses: _angular_core.Signal<string>;
204
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationFooterComponent, never>;
205
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationFooterComponent, "NavigationFooter", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
206
+ }
207
+
208
+ declare class NavigationHeaderComponent {
209
+ private readonly shell;
210
+ readonly toggle: _angular_core.InputSignal<boolean>;
211
+ readonly class: _angular_core.InputSignal<string>;
212
+ protected readonly collapsed: _angular_core.Signal<boolean>;
213
+ protected readonly displayCollapsed: _angular_core.Signal<boolean>;
214
+ protected readonly isHorizontal: _angular_core.Signal<boolean>;
215
+ /**
216
+ * The toggle used to disappear once the rail collapsed, which left the
217
+ * collapsed rail with no control that could expand it again — nested items
218
+ * below a collapsible were then reachable by hover only.
219
+ */
220
+ protected readonly showToggle: _angular_core.Signal<boolean>;
221
+ protected readonly toggleAriaLabel: _angular_core.Signal<"Expand navigation" | "Collapse navigation">;
222
+ protected readonly toggleIconName: _angular_core.Signal<"left_panel_open" | "left_panel_close">;
223
+ /**
224
+ * Baris isi header. Saat collapsed/dockbar (vertical) isi (inisial/ikon) dipusatkan di tengah
225
+ * rail agar simetris dengan ikon nav-item di bawahnya (yang juga center di rail); selain itu kiri
226
+ * dengan padding `px-3`.
227
+ */
228
+ protected readonly rowClasses: _angular_core.Signal<string>;
229
+ protected readonly contentClasses: _angular_core.Signal<"flex min-w-0 items-center gap-3" | "flex min-w-0 items-center justify-center" | "flex min-w-0 flex-1 items-center gap-3">;
230
+ protected readonly hostClasses: _angular_core.Signal<string>;
231
+ protected toggleCollapsed(): void;
232
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationHeaderComponent, never>;
233
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationHeaderComponent, "NavigationHeader", never, { "toggle": { "alias": "toggle"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
234
+ }
235
+
236
+ /**
237
+ * Type sidebar vertikal untuk `<Navigation>`. Slot `NavigationHeader` dan
238
+ * `NavigationFooter` opsional; `NavigationContent` selalu dirender (default
239
+ * otomatis bila tidak diproyeksikan).
240
+ */
241
+ declare class NavigationSidebarComponent {
242
+ private readonly container;
243
+ private readonly destroyRef;
244
+ readonly position: _angular_core.InputSignal<NavigationVerticalPosition | null>;
245
+ readonly collapsed: _angular_core.InputSignal<boolean | null>;
246
+ readonly collapse: _angular_core.InputSignalWithTransform<boolean, unknown>;
247
+ readonly previewExpanded: _angular_core.InputSignal<boolean>;
248
+ readonly class: _angular_core.InputSignal<string>;
249
+ protected readonly headerSlot: _angular_core.Signal<NavigationHeaderComponent | undefined>;
250
+ protected readonly contentSlot: _angular_core.Signal<NavigationContentComponent | undefined>;
251
+ protected readonly footerSlot: _angular_core.Signal<NavigationFooterComponent | undefined>;
252
+ protected readonly hostClasses: _angular_core.Signal<string>;
253
+ constructor();
254
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationSidebarComponent, never>;
255
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationSidebarComponent, "NavigationSidebar", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "collapse": { "alias": "nav-sidebar-collapse"; "required": false; "isSignal": true; }; "previewExpanded": { "alias": "previewExpanded"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, ["headerSlot", "contentSlot", "footerSlot"], ["NavigationHeader", "NavigationContent", "NavigationFooter"], true, never>;
256
+ }
257
+
258
+ /**
259
+ * Slot footer untuk aside dockbar. Proyeksikan sebagai `ng-template` di dalam
260
+ * `<NavigationDockbar>`; dirender di dasar aside (h-12, border-t) setiap kali
261
+ * panel group terbuka — baik mode `sticky` maupun `drawer`.
262
+ *
263
+ * ```html
264
+ * <NavigationDockbar>
265
+ * <NavigationFooter>…rail…</NavigationFooter>
266
+ * <ng-template NavigationAsideFooter>…identitas user + aksi…</ng-template>
267
+ * </NavigationDockbar>
268
+ * ```
269
+ *
270
+ * Berbeda dengan `NavigationFooter` (kolom rail, selalu collapsed pada dockbar),
271
+ * isi template ini tampil dalam konteks lebar penuh aside — cocok untuk nama +
272
+ * email + tombol aksi seperti footer sidebar expanded.
273
+ */
274
+ declare class NavigationAsideFooterDirective {
275
+ readonly templateRef: TemplateRef<any>;
276
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationAsideFooterDirective, never>;
277
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavigationAsideFooterDirective, "ng-template[NavigationAsideFooter]", never, {}, {}, never, never, true, never>;
278
+ }
279
+
280
+ /**
281
+ * Type dockbar vertikal (rail ikon + aside) untuk `<Navigation>`. Slot
282
+ * `NavigationHeader` dan `NavigationFooter` opsional; `NavigationContent`
283
+ * selalu dirender (default otomatis bila tidak diproyeksikan). Slot
284
+ * `ng-template[NavigationAsideFooter]` opsional — dirender sebagai footer di
285
+ * dasar aside saat panel group terbuka.
286
+ */
287
+ declare class NavigationDockbarComponent {
288
+ protected readonly container: NavigationContainerComponent;
289
+ private readonly destroyRef;
290
+ private readonly host;
291
+ private readonly injector;
292
+ readonly mode: _angular_core.InputSignal<NavigationDockbarMode | null>;
293
+ readonly position: _angular_core.InputSignal<NavigationVerticalPosition | null>;
294
+ readonly routeContext: _angular_core.InputSignal<NavigationDockbarRouteContext | null>;
295
+ readonly badgeContext: _angular_core.InputSignal<Readonly<Record<string, _ojiepermana_angular_navigation.NavigationBadgeSource>>>;
296
+ readonly class: _angular_core.InputSignal<string>;
297
+ protected readonly headerSlot: _angular_core.Signal<NavigationHeaderComponent | undefined>;
298
+ protected readonly contentSlot: _angular_core.Signal<NavigationContentComponent | undefined>;
299
+ protected readonly footerSlot: _angular_core.Signal<NavigationFooterComponent | undefined>;
300
+ protected readonly asideFooterSlot: _angular_core.Signal<NavigationAsideFooterDirective | undefined>;
301
+ private readonly routeContextEnabled;
302
+ protected readonly hostClasses: _angular_core.Signal<string>;
303
+ constructor();
304
+ protected onPointerOut(event: PointerEvent): void;
305
+ protected onEscape(event: Event): void;
306
+ protected toggleActiveRoutePanel(): void;
307
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationDockbarComponent, never>;
308
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationDockbarComponent, "NavigationDockbar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "routeContext": { "alias": "dockbar-route-context"; "required": false; "isSignal": true; }; "badgeContext": { "alias": "dockbar-badge"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, ["headerSlot", "contentSlot", "footerSlot", "asideFooterSlot"], ["NavigationHeader", "NavigationContent", "NavigationFooter"], true, never>;
309
+ }
310
+
311
+ /**
312
+ * Type navbar horizontal untuk `<Navigation>`. Slot `NavigationHeader`
313
+ * dan `NavigationFooter` opsional; `NavigationContent` selalu dirender
314
+ * (default otomatis bila tidak diproyeksikan).
315
+ */
316
+ declare class NavigationNavbarComponent {
317
+ private readonly container;
318
+ private readonly destroyRef;
319
+ /** Posisi bar terhadap konten layout: `top` (default) atau `bottom` — panel grid membuka ke arah sebaliknya. */
320
+ readonly position: _angular_core.InputSignal<NavigationHorizontalPosition | null>;
321
+ readonly typeStyle: _angular_core.InputSignal<NavigationAppearance>;
322
+ readonly class: _angular_core.InputSignal<string>;
323
+ protected readonly headerSlot: _angular_core.Signal<NavigationHeaderComponent | undefined>;
324
+ protected readonly contentSlot: _angular_core.Signal<NavigationContentComponent | undefined>;
325
+ protected readonly footerSlot: _angular_core.Signal<NavigationFooterComponent | undefined>;
326
+ protected readonly hostClasses: _angular_core.Signal<string>;
327
+ constructor();
328
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationNavbarComponent, never>;
329
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationNavbarComponent, "NavigationNavbar", never, { "position": { "alias": "nav-position"; "required": false; "isSignal": true; }; "typeStyle": { "alias": "nav-type-style"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, ["headerSlot", "contentSlot", "footerSlot"], ["NavigationHeader", "NavigationContent", "NavigationFooter"], true, never>;
330
+ }
331
+
332
+ /**
333
+ * Type flyout horizontal (trigger + panel menu) untuk `<Navigation>`.
334
+ * Slot `NavigationHeader` dan `NavigationFooter` opsional; `NavigationContent`
335
+ * selalu dirender (default otomatis bila tidak diproyeksikan).
336
+ */
337
+ declare class NavigationFlyoutComponent {
338
+ private readonly container;
339
+ private readonly destroyRef;
340
+ readonly label: _angular_core.InputSignal<string>;
341
+ /** Nama Material Symbols untuk trigger (mis. `apps`, `menu`); `null` = label saja. */
342
+ readonly icon: _angular_core.InputSignal<string | null>;
343
+ /** Trigger hanya menampilkan ikon; label tetap dipakai sebagai aria-label/title. */
344
+ readonly iconOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
345
+ /** Penempatan ikon relatif terhadap label: `start` (default) atau `end`. */
346
+ readonly iconPosition: _angular_core.InputSignal<NavigationFlyoutIconPosition>;
347
+ /** Bentuk visual tombol trigger: `button` (pil, default) | `link` | `plain` (ghost). */
348
+ readonly triggerVariant: _angular_core.InputSignal<NavigationFlyoutTriggerVariant>;
349
+ /**
350
+ * Trigger mengambang (`fixed`) alih-alih mengalir di dalam bar/div. Default pojok kanan-atas;
351
+ * pakai `trigger-class` untuk pindah pojok (mis. `bottom-6 right-6 top-auto`).
352
+ *
353
+ * Catatan: `position: fixed` ber-anchor ke viewport HANYA bila tak ada ancestor pembentuk
354
+ * containing block. Di dalam `<Layout>` (frame-nya memakai `backdrop-blur`), trigger ber-anchor
355
+ * ke kotak konten frame (bukan viewport sebenarnya) dan bisa ter-clip oleh frame `overflow-hidden`.
356
+ * Untuk floating sebenar-viewport, tempatkan `<Navigation>` flyout di luar frame `<Layout>`.
357
+ */
358
+ readonly triggerFloating: _angular_core.InputSignalWithTransform<boolean, unknown>;
359
+ /**
360
+ * Saat trigger floating dibuka, tempelkan panel ke batas atas viewport dan
361
+ * bentangkan sepanjang viewport. Dipakai window chrome; default popover tetap
362
+ * menempel ke trigger.
363
+ */
364
+ readonly panelViewport: _angular_core.InputSignalWithTransform<boolean, unknown>;
365
+ /** Kelas Tailwind untuk host trigger (posisi pojok floating / styling wrapper saat in-flow). */
366
+ readonly triggerClass: _angular_core.InputSignal<string>;
367
+ /** Kelas tambahan khusus tombol trigger, tanpa memengaruhi host atau item di dalam panel. */
368
+ readonly triggerButtonClass: _angular_core.InputSignal<string>;
369
+ /** Posisi bar terhadap konten layout: `top` (default) atau `bottom` — panel membuka ke arah sebaliknya. */
370
+ readonly position: _angular_core.InputSignal<NavigationHorizontalPosition | null>;
371
+ readonly typeStyle: _angular_core.InputSignal<NavigationAppearance>;
372
+ readonly class: _angular_core.InputSignal<string>;
373
+ protected readonly hostClasses: _angular_core.Signal<string>;
374
+ constructor();
375
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationFlyoutComponent, never>;
376
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationFlyoutComponent, "NavigationFlyout", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "icon-only"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "icon-position"; "required": false; "isSignal": true; }; "triggerVariant": { "alias": "trigger-variant"; "required": false; "isSignal": true; }; "triggerFloating": { "alias": "trigger-floating"; "required": false; "isSignal": true; }; "panelViewport": { "alias": "panel-viewport"; "required": false; "isSignal": true; }; "triggerClass": { "alias": "trigger-class"; "required": false; "isSignal": true; }; "triggerButtonClass": { "alias": "trigger-button-class"; "required": false; "isSignal": true; }; "position": { "alias": "nav-position"; "required": false; "isSignal": true; }; "typeStyle": { "alias": "nav-type-style"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["NavigationHeader", "NavigationFooter"], true, never>;
377
+ }
378
+
379
+ declare class NavigationCollapseRootDirective {
380
+ private readonly shell;
381
+ protected readonly collapseEnabled: _angular_core.Signal<boolean>;
382
+ protected readonly displayCollapsed: _angular_core.Signal<boolean>;
383
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationCollapseRootDirective, never>;
384
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavigationCollapseRootDirective, "[NavigationCollapseRoot]", never, {}, {}, never, never, true, never>;
385
+ }
386
+ declare class NavigationCollapseExpandedDirective {
387
+ private readonly shell;
388
+ private readonly templateRef;
389
+ private readonly viewContainer;
390
+ private hasView;
391
+ private readonly shouldRender;
392
+ constructor();
393
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationCollapseExpandedDirective, never>;
394
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavigationCollapseExpandedDirective, "[NavigationCollapseExpanded]", never, {}, {}, never, never, true, never>;
395
+ }
396
+
397
+ /**
398
+ * Slot aksi di sisi kanan `NavigationFooter`. Selalu didorong ke kanan (`ml-auto`),
399
+ * rata tengah vertikal, dengan jarak antar-child otomatis (`gap`). Isi bebas dengan
400
+ * ikon, button, atau teks — mis. tombol logout.
401
+ *
402
+ * Otomatis disembunyikan saat sidebar vertical sedang collapsed (rail icon-only)
403
+ * agar tidak overflow; konsisten dengan `NavigationFooterTitle`.
404
+ */
405
+ declare class NavigationFooterActionComponent {
406
+ private readonly shell;
407
+ readonly class: _angular_core.InputSignal<string>;
408
+ protected readonly collapsed: _angular_core.Signal<boolean>;
409
+ protected readonly hostClasses: _angular_core.Signal<string>;
410
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationFooterActionComponent, never>;
411
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationFooterActionComponent, "NavigationFooterAction", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
412
+ }
413
+
414
+ /**
415
+ * Blok avatar/inisial untuk slot `NavigationFooter` (profil user). Sama seperti
416
+ * `NavigationHeaderInitial` dengan bentuk identitas yang seragam (rounded-md).
417
+ * Consumer cukup memberi `name`; inisial diturunkan otomatis. Beri `src` untuk
418
+ * foto, `icon` untuk material symbol, atau `initials` untuk override.
419
+ *
420
+ * Tetap tampil saat sidebar collapsed; pasangannya `NavigationFooterTitle` yang
421
+ * menyembunyikan diri.
422
+ */
423
+ declare class NavigationFooterInitialComponent {
424
+ readonly name: _angular_core.InputSignal<string>;
425
+ readonly src: _angular_core.InputSignal<string | null>;
426
+ readonly initials: _angular_core.InputSignal<string | null>;
427
+ readonly icon: _angular_core.InputSignal<string | null>;
428
+ readonly class: _angular_core.InputSignal<string>;
429
+ private readonly view;
430
+ protected readonly resolvedInitials: _angular_core.Signal<string>;
431
+ protected readonly hostClasses: _angular_core.Signal<string>;
432
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationFooterInitialComponent, never>;
433
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationFooterInitialComponent, "NavigationFooterInitial", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "initials": { "alias": "initials"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
434
+ }
435
+
436
+ /**
437
+ * Judul + subjudul untuk slot `NavigationFooter` (mis. nama + email user).
438
+ * Otomatis disembunyikan saat sidebar vertical sedang collapsed (rail icon-only)
439
+ * dengan membaca `NAVIGATION_SHELL`.
440
+ */
441
+ declare class NavigationFooterTitleComponent {
442
+ private readonly shell;
443
+ readonly title: _angular_core.InputSignal<string>;
444
+ readonly subtitle: _angular_core.InputSignal<string | null>;
445
+ readonly class: _angular_core.InputSignal<string>;
446
+ protected readonly collapsed: _angular_core.Signal<boolean>;
447
+ protected readonly hostClasses: _angular_core.Signal<string>;
448
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationFooterTitleComponent, never>;
449
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationFooterTitleComponent, "NavigationFooterTitle", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
450
+ }
451
+
452
+ /**
453
+ * Blok avatar/inisial untuk slot `NavigationHeader` (brand/logo). Consumer cukup
454
+ * memberi `name`; inisial diturunkan otomatis ("Ojie Permana" → "OP"). Beri `src`
455
+ * untuk gambar, `icon` (material symbol) sebagai ganti inisial, atau `initials`
456
+ * untuk override manual.
457
+ *
458
+ * Selalu tampil baik saat sidebar expanded maupun collapsed karena ukurannya muat
459
+ * di rail icon-only — pasangannya, `NavigationHeaderTitle`, yang menyembunyikan
460
+ * diri saat collapsed.
461
+ */
462
+ declare class NavigationHeaderInitialComponent {
463
+ readonly name: _angular_core.InputSignal<string>;
464
+ readonly src: _angular_core.InputSignal<string | null>;
465
+ readonly initials: _angular_core.InputSignal<string | null>;
466
+ readonly icon: _angular_core.InputSignal<string | null>;
467
+ /** Use the rail icon token when the header is rendered in compact navigation. */
468
+ readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
469
+ readonly class: _angular_core.InputSignal<string>;
470
+ private readonly view;
471
+ protected readonly resolvedInitials: _angular_core.Signal<string>;
472
+ protected readonly iconClasses: _angular_core.Signal<string>;
473
+ protected readonly hostClasses: _angular_core.Signal<string>;
474
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationHeaderInitialComponent, never>;
475
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationHeaderInitialComponent, "NavigationHeaderInitial", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "initials": { "alias": "initials"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
476
+ }
477
+
478
+ /**
479
+ * Judul + subjudul untuk slot `NavigationHeader`. Otomatis disembunyikan saat
480
+ * sidebar vertical sedang collapsed (rail icon-only) dengan membaca
481
+ * `NAVIGATION_SHELL` — consumer tidak perlu mengelola state collapse sendiri.
482
+ */
483
+ declare class NavigationHeaderTitleComponent {
484
+ private readonly shell;
485
+ readonly title: _angular_core.InputSignal<string>;
486
+ readonly subtitle: _angular_core.InputSignal<string | null>;
487
+ readonly class: _angular_core.InputSignal<string>;
488
+ protected readonly collapsed: _angular_core.Signal<boolean>;
489
+ protected readonly hostClasses: _angular_core.Signal<string>;
490
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationHeaderTitleComponent, never>;
491
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationHeaderTitleComponent, "NavigationHeaderTitle", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
492
+ }
493
+
494
+ /**
495
+ * Turunkan inisial ringkas dari sebuah nama untuk avatar fallback.
496
+ *
497
+ * "Ojie Permana" → "OP"
498
+ * "Ojiepermana" → "OJ"
499
+ * "" → ""
500
+ *
501
+ * Mengambil huruf depan kata pertama dan kata terakhir; bila hanya satu kata,
502
+ * memakai dua huruf pertamanya.
503
+ */
504
+ declare function deriveNavigationInitials(name: string): string;
505
+
506
+ export { NavigationAsideFooterDirective, NavigationCollapseExpandedDirective, NavigationCollapseRootDirective, NavigationContainerComponent, NavigationContentComponent, NavigationDockbarComponent, NavigationFlyoutComponent, NavigationFooterActionComponent, NavigationFooterComponent, NavigationFooterInitialComponent, NavigationFooterTitleComponent, NavigationHeaderComponent, NavigationHeaderInitialComponent, NavigationHeaderTitleComponent, NavigationNavbarComponent, NavigationSidebarComponent, deriveNavigationInitials };
507
+ export type { NavigationTypeConfig };
@@ -1 +1,89 @@
1
- export * from '@ojiepermana/angular-sdk';
1
+ /**
2
+ * Public config shape for the SDK generator.
3
+ *
4
+ * Users place an `sdk.config.json` at the workspace root describing one or more
5
+ * generation targets. All paths are resolved relative to the workspace root
6
+ * (i.e. the directory containing the config file).
7
+ */
8
+ type SdkOutputMode = 'standalone' | 'library' | 'secondary-entrypoint';
9
+ interface SdkFeatureFlags {
10
+ /** Emit `models/*.ts` (type-only DTO interfaces). Default `true`. */
11
+ models?: boolean;
12
+ /** Emit tree-shakeable operation functions in `fn/<tag>/*.ts`. Default `true`. */
13
+ operations?: boolean;
14
+ /** Emit grouped Angular Service classes per tag. Default `true`. */
15
+ services?: boolean;
16
+ /** Emit the runtime client primitives (ApiConfiguration, BaseService, etc). Default `true`. */
17
+ client?: boolean;
18
+ /** Emit operation rules + field validators + permission helpers. Default `true`. */
19
+ metadata?: boolean;
20
+ /** Emit navigation tree derived from tags (parent, x-icon). Default `true`. */
21
+ navigation?: boolean;
22
+ /** Emit Signal-based resource helpers using rxResource(). Default `false`. */
23
+ resources?: boolean;
24
+ }
25
+ interface SdkTargetConfig {
26
+ /** Path to OpenAPI 3.x spec (YAML or JSON). Required. */
27
+ input: string;
28
+ /** Output directory (relative to workspace root). Required. */
29
+ output: string;
30
+ /** Output mode. Defaults to `"standalone"`. */
31
+ mode?: SdkOutputMode;
32
+ /** Optional human-readable name used for logs & the generated `Api` class. */
33
+ clientName?: string;
34
+ /** Package name used when `mode === "library"`. */
35
+ packageName?: string;
36
+ /** Package version used when `mode === "library"`. Defaults to `0.0.1`. */
37
+ packageVersion?: string;
38
+ /** Default rootUrl baked into ApiConfiguration. Defaults to an empty string for same-origin requests. */
39
+ rootUrl?: string;
40
+ /** Feature toggles. Every feature defaults to `true` except `resources` (default `false`). */
41
+ features?: SdkFeatureFlags;
42
+ /**
43
+ * When `true`, reorganize emitted files into one folder per domain (derived
44
+ * from OpenAPI tags). Models shared by multiple domains live in `shared/`,
45
+ * domain-owned models live inside each domain. Defaults to `true` for
46
+ * `mode: "library"` and `false` otherwise.
47
+ */
48
+ splitByDomain?: boolean;
49
+ /**
50
+ * Granularity of `splitByDomain`. Only meaningful when `splitByDomain` is
51
+ * `true`. `'service'` (default) groups every tag under its root parent — one
52
+ * folder per backend service (e.g. all Role/Permission/... tags collapse into
53
+ * `access/`). `'tag'` emits one folder per leaf tag, nested under the parent
54
+ * chain (e.g. `storage/gcs/`, `storage/s3/`, `access/role/`).
55
+ */
56
+ splitDepth?: 'service' | 'tag';
57
+ /** Custom file banner. Defaults to a short auto-generated notice. */
58
+ banner?: string;
59
+ }
60
+ interface SdkConfig {
61
+ targets: SdkTargetConfig[];
62
+ }
63
+ interface ResolvedFeatureFlags {
64
+ models: boolean;
65
+ operations: boolean;
66
+ services: boolean;
67
+ client: boolean;
68
+ metadata: boolean;
69
+ navigation: boolean;
70
+ resources: boolean;
71
+ }
72
+ interface ResolvedSdkTarget {
73
+ input: string;
74
+ output: string;
75
+ mode: SdkOutputMode;
76
+ clientName: string;
77
+ packageName: string;
78
+ packageVersion: string;
79
+ rootUrl: string | undefined;
80
+ features: ResolvedFeatureFlags;
81
+ splitByDomain: boolean;
82
+ splitDepth: 'service' | 'tag';
83
+ banner: string;
84
+ }
85
+ declare function resolveTarget(raw: SdkTargetConfig): ResolvedSdkTarget;
86
+ declare function resolveConfig(raw: unknown): ResolvedSdkTarget[];
87
+
88
+ export { resolveConfig, resolveTarget };
89
+ export type { ResolvedFeatureFlags, ResolvedSdkTarget, SdkConfig, SdkFeatureFlags, SdkOutputMode, SdkTargetConfig };