@ojiepermana/angular 22.1.14 → 22.2.0

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 (252) hide show
  1. package/README.md +8 -6
  2. package/SUPPORT.md +3 -3
  3. package/chart/README.md +1 -1
  4. package/component/README.md +2 -2
  5. package/component/calendar/README.md +3 -15
  6. package/component/drawer/README.md +1 -2
  7. package/fesm2022/ojiepermana-angular-chart-area.mjs +352 -137
  8. package/fesm2022/ojiepermana-angular-chart-bar.mjs +744 -524
  9. package/fesm2022/ojiepermana-angular-chart-core.mjs +1140 -1344
  10. package/fesm2022/ojiepermana-angular-chart-line.mjs +393 -147
  11. package/fesm2022/ojiepermana-angular-chart-pie.mjs +408 -179
  12. package/fesm2022/ojiepermana-angular-chart-primitives.mjs +1262 -920
  13. package/fesm2022/ojiepermana-angular-chart-radar.mjs +473 -205
  14. package/fesm2022/ojiepermana-angular-chart-radial.mjs +425 -182
  15. package/fesm2022/ojiepermana-angular-chart-scatter.mjs +386 -210
  16. package/fesm2022/ojiepermana-angular-chart.mjs +3 -19
  17. package/fesm2022/ojiepermana-angular-component-accordion.mjs +485 -243
  18. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +963 -325
  19. package/fesm2022/ojiepermana-angular-component-alert.mjs +266 -103
  20. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +80 -35
  21. package/fesm2022/ojiepermana-angular-component-avatar.mjs +402 -135
  22. package/fesm2022/ojiepermana-angular-component-badge.mjs +109 -59
  23. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +410 -142
  24. package/fesm2022/ojiepermana-angular-component-button-group.mjs +249 -96
  25. package/fesm2022/ojiepermana-angular-component-button.mjs +153 -75
  26. package/fesm2022/ojiepermana-angular-component-calendar.mjs +531 -418
  27. package/fesm2022/ojiepermana-angular-component-card.mjs +457 -171
  28. package/fesm2022/ojiepermana-angular-component-carousel.mjs +642 -272
  29. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +312 -108
  30. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +299 -115
  31. package/fesm2022/ojiepermana-angular-component-combobox.mjs +396 -183
  32. package/fesm2022/ojiepermana-angular-component-command.mjs +807 -347
  33. package/fesm2022/ojiepermana-angular-component-composer.mjs +807 -330
  34. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +196 -161
  35. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +650 -338
  36. package/fesm2022/ojiepermana-angular-component-dialog.mjs +710 -316
  37. package/fesm2022/ojiepermana-angular-component-drawer.mjs +2 -5
  38. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +1212 -646
  39. package/fesm2022/ojiepermana-angular-component-editor.mjs +987 -502
  40. package/fesm2022/ojiepermana-angular-component-empty.mjs +350 -137
  41. package/fesm2022/ojiepermana-angular-component-form.mjs +813 -434
  42. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +486 -277
  43. package/fesm2022/ojiepermana-angular-component-icon.mjs +241 -140
  44. package/fesm2022/ojiepermana-angular-component-input-group.mjs +449 -176
  45. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +891 -488
  46. package/fesm2022/ojiepermana-angular-component-input.mjs +86 -55
  47. package/fesm2022/ojiepermana-angular-component-item.mjs +713 -261
  48. package/fesm2022/ojiepermana-angular-component-kanban.mjs +714 -216
  49. package/fesm2022/ojiepermana-angular-component-kbd.mjs +124 -52
  50. package/fesm2022/ojiepermana-angular-component-label.mjs +82 -31
  51. package/fesm2022/ojiepermana-angular-component-menubar.mjs +479 -329
  52. package/fesm2022/ojiepermana-angular-component-native-select.mjs +167 -65
  53. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +683 -380
  54. package/fesm2022/ojiepermana-angular-component-pagination.mjs +277 -94
  55. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +1283 -607
  56. package/fesm2022/ojiepermana-angular-component-popover.mjs +291 -204
  57. package/fesm2022/ojiepermana-angular-component-progress.mjs +176 -53
  58. package/fesm2022/ojiepermana-angular-component-radio.mjs +449 -142
  59. package/fesm2022/ojiepermana-angular-component-resizable.mjs +659 -453
  60. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +117 -39
  61. package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +351 -172
  62. package/fesm2022/ojiepermana-angular-component-select.mjs +475 -345
  63. package/fesm2022/ojiepermana-angular-component-separator.mjs +102 -35
  64. package/fesm2022/ojiepermana-angular-component-sheet.mjs +797 -347
  65. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +62 -29
  66. package/fesm2022/ojiepermana-angular-component-slider.mjs +592 -376
  67. package/fesm2022/ojiepermana-angular-component-spinner.mjs +135 -38
  68. package/fesm2022/ojiepermana-angular-component-switch.mjs +315 -103
  69. package/fesm2022/ojiepermana-angular-component-table.mjs +440 -153
  70. package/fesm2022/ojiepermana-angular-component-tabs.mjs +590 -317
  71. package/fesm2022/ojiepermana-angular-component-textarea.mjs +85 -50
  72. package/fesm2022/ojiepermana-angular-component-timeline.mjs +609 -231
  73. package/fesm2022/ojiepermana-angular-component-toast.mjs +229 -243
  74. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +573 -288
  75. package/fesm2022/ojiepermana-angular-component-toggle.mjs +187 -78
  76. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +798 -517
  77. package/fesm2022/ojiepermana-angular-component-utils-core.mjs +159 -292
  78. package/fesm2022/ojiepermana-angular-component-utils-overlay.mjs +46 -58
  79. package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +76 -38
  80. package/fesm2022/ojiepermana-angular-component-utils.mjs +2 -8
  81. package/fesm2022/ojiepermana-angular-component.mjs +0 -10
  82. package/fesm2022/ojiepermana-angular-navigation-core.mjs +13 -23
  83. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +35 -24
  84. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-BKCeWzml.mjs +129 -0
  85. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DFEJK2jD.mjs +811 -0
  86. package/fesm2022/{ojiepermana-angular-navigation-navigation-entry-grid.component-COQ-60DS.mjs → ojiepermana-angular-navigation-navigation-entry-grid.component-mpK9Ar08.mjs} +387 -183
  87. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BPgH7FJk.mjs +650 -0
  88. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-DMpYcD9t.mjs +662 -0
  89. package/fesm2022/ojiepermana-angular-navigation-navigation-item.component-Basp5SIk.mjs +1228 -0
  90. package/fesm2022/ojiepermana-angular-navigation-navigation-list.component-YUzHI9Pj.mjs +311 -0
  91. package/fesm2022/ojiepermana-angular-navigation-service.mjs +542 -724
  92. package/fesm2022/ojiepermana-angular-navigation-types.mjs +27 -56
  93. package/fesm2022/ojiepermana-angular-navigation.mjs +3052 -4
  94. package/fesm2022/ojiepermana-angular-sdk.mjs +91 -201
  95. package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +1115 -737
  96. package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +245 -328
  97. package/fesm2022/ojiepermana-angular-theme-layout-types.mjs +35 -38
  98. package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +1719 -552
  99. package/fesm2022/ojiepermana-angular-theme-layout.mjs +847 -496
  100. package/fesm2022/ojiepermana-angular-theme-page-core.mjs +288 -358
  101. package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +362 -224
  102. package/fesm2022/ojiepermana-angular-theme-page-overview.mjs +88 -0
  103. package/fesm2022/ojiepermana-angular-theme-page-root.mjs +576 -254
  104. package/fesm2022/ojiepermana-angular-theme-page-side.mjs +317 -177
  105. package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +256 -112
  106. package/fesm2022/ojiepermana-angular-theme-page.mjs +7 -12
  107. package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +215 -326
  108. package/fesm2022/ojiepermana-angular-theme-shell-types.mjs +68 -129
  109. package/fesm2022/ojiepermana-angular-theme-shell.mjs +907 -378
  110. package/fesm2022/ojiepermana-angular-theme-styles.mjs +521 -720
  111. package/fesm2022/ojiepermana-angular-theme.mjs +0 -10
  112. package/fesm2022/ojiepermana-angular.mjs +5 -24
  113. package/navigation/README.md +1 -1
  114. package/package.json +16 -12
  115. package/sdk/README.md +1 -1
  116. package/sdk/src/writer/index.js +2 -2
  117. package/theme/README.md +1 -1
  118. package/theme/layout/README.md +2 -4
  119. package/theme/page/README.md +50 -0
  120. package/theme/styles/README.md +10 -10
  121. package/theme/styles/css/base/prefers-dark.css +1 -1
  122. package/theme/styles/css/base/status.css +1 -1
  123. package/theme/styles/css/color/amber.css +1 -1
  124. package/theme/styles/css/color/blue.css +1 -1
  125. package/theme/styles/css/color/cyan.css +1 -1
  126. package/theme/styles/css/color/emerald.css +1 -1
  127. package/theme/styles/css/color/fuchsia.css +1 -1
  128. package/theme/styles/css/color/green.css +1 -1
  129. package/theme/styles/css/color/indigo.css +1 -1
  130. package/theme/styles/css/color/lime.css +1 -1
  131. package/theme/styles/css/color/orange.css +1 -1
  132. package/theme/styles/css/color/pink.css +1 -1
  133. package/theme/styles/css/color/purple.css +1 -1
  134. package/theme/styles/css/color/red.css +1 -1
  135. package/theme/styles/css/color/rose.css +1 -1
  136. package/theme/styles/css/color/sky.css +1 -1
  137. package/theme/styles/css/color/teal.css +1 -1
  138. package/theme/styles/css/color/violet.css +1 -1
  139. package/theme/styles/css/color/yellow.css +1 -1
  140. package/theme/styles/css/neutral/gray.css +1 -1
  141. package/theme/styles/css/neutral/mauve.css +1 -1
  142. package/theme/styles/css/neutral/mist.css +1 -1
  143. package/theme/styles/css/neutral/neutral.css +1 -1
  144. package/theme/styles/css/neutral/olive.css +1 -1
  145. package/theme/styles/css/neutral/slate.css +1 -1
  146. package/theme/styles/css/neutral/stone.css +1 -1
  147. package/theme/styles/css/neutral/taupe.css +1 -1
  148. package/theme/styles/css/neutral/zinc.css +1 -1
  149. package/types/ojiepermana-angular-chart-area.d.ts +126 -63
  150. package/types/ojiepermana-angular-chart-bar.d.ts +244 -154
  151. package/types/ojiepermana-angular-chart-core.d.ts +409 -398
  152. package/types/ojiepermana-angular-chart-line.d.ts +141 -68
  153. package/types/ojiepermana-angular-chart-pie.d.ts +192 -121
  154. package/types/ojiepermana-angular-chart-primitives.d.ts +283 -214
  155. package/types/ojiepermana-angular-chart-radar.d.ts +189 -108
  156. package/types/ojiepermana-angular-chart-radial.d.ts +177 -106
  157. package/types/ojiepermana-angular-chart-scatter.d.ts +166 -110
  158. package/types/ojiepermana-angular-chart.d.ts +3 -2
  159. package/types/ojiepermana-angular-component-accordion.d.ts +135 -81
  160. package/types/ojiepermana-angular-component-alert-dialog.d.ts +271 -123
  161. package/types/ojiepermana-angular-component-alert.d.ts +69 -39
  162. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +20 -12
  163. package/types/ojiepermana-angular-component-avatar.d.ts +103 -49
  164. package/types/ojiepermana-angular-component-badge.d.ts +36 -24
  165. package/types/ojiepermana-angular-component-breadcrumb.d.ts +79 -40
  166. package/types/ojiepermana-angular-component-button-group.d.ts +48 -24
  167. package/types/ojiepermana-angular-component-button.d.ts +44 -27
  168. package/types/ojiepermana-angular-component-calendar.d.ts +145 -107
  169. package/types/ojiepermana-angular-component-card.d.ts +112 -63
  170. package/types/ojiepermana-angular-component-carousel.d.ts +150 -81
  171. package/types/ojiepermana-angular-component-checkbox.d.ts +96 -38
  172. package/types/ojiepermana-angular-component-collapsible.d.ts +65 -39
  173. package/types/ojiepermana-angular-component-combobox.d.ts +100 -55
  174. package/types/ojiepermana-angular-component-command.d.ts +206 -121
  175. package/types/ojiepermana-angular-component-composer.d.ts +184 -84
  176. package/types/ojiepermana-angular-component-context-menu.d.ts +51 -41
  177. package/types/ojiepermana-angular-component-date-picker.d.ts +199 -109
  178. package/types/ojiepermana-angular-component-dialog.d.ts +200 -105
  179. package/types/ojiepermana-angular-component-drawer.d.ts +2 -1
  180. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +324 -202
  181. package/types/ojiepermana-angular-component-editor.d.ts +215 -117
  182. package/types/ojiepermana-angular-component-empty.d.ts +80 -45
  183. package/types/ojiepermana-angular-component-form.d.ts +185 -121
  184. package/types/ojiepermana-angular-component-hover-card.d.ts +130 -72
  185. package/types/ojiepermana-angular-component-icon.d.ts +87 -57
  186. package/types/ojiepermana-angular-component-input-group.d.ts +93 -46
  187. package/types/ojiepermana-angular-component-input-otp.d.ts +243 -150
  188. package/types/ojiepermana-angular-component-input.d.ts +27 -17
  189. package/types/ojiepermana-angular-component-item.d.ts +160 -84
  190. package/types/ojiepermana-angular-component-kanban.d.ts +157 -62
  191. package/types/ojiepermana-angular-component-kbd.d.ts +24 -15
  192. package/types/ojiepermana-angular-component-label.d.ts +19 -11
  193. package/types/ojiepermana-angular-component-menubar.d.ts +120 -90
  194. package/types/ojiepermana-angular-component-native-select.d.ts +37 -24
  195. package/types/ojiepermana-angular-component-navigation-menu.d.ts +157 -98
  196. package/types/ojiepermana-angular-component-pagination.d.ts +78 -28
  197. package/types/ojiepermana-angular-component-pillbox.d.ts +361 -204
  198. package/types/ojiepermana-angular-component-popover.d.ts +94 -64
  199. package/types/ojiepermana-angular-component-progress.d.ts +45 -17
  200. package/types/ojiepermana-angular-component-radio.d.ts +129 -53
  201. package/types/ojiepermana-angular-component-resizable.d.ts +160 -112
  202. package/types/ojiepermana-angular-component-scroll-area.d.ts +33 -15
  203. package/types/ojiepermana-angular-component-segmented-control.d.ts +94 -50
  204. package/types/ojiepermana-angular-component-select.d.ts +94 -77
  205. package/types/ojiepermana-angular-component-separator.d.ts +26 -14
  206. package/types/ojiepermana-angular-component-sheet.d.ts +226 -116
  207. package/types/ojiepermana-angular-component-skeleton.d.ts +13 -10
  208. package/types/ojiepermana-angular-component-slider.d.ts +140 -75
  209. package/types/ojiepermana-angular-component-spinner.d.ts +31 -13
  210. package/types/ojiepermana-angular-component-switch.d.ts +97 -40
  211. package/types/ojiepermana-angular-component-table.d.ts +102 -50
  212. package/types/ojiepermana-angular-component-tabs.d.ts +174 -115
  213. package/types/ojiepermana-angular-component-textarea.d.ts +27 -17
  214. package/types/ojiepermana-angular-component-timeline.d.ts +141 -59
  215. package/types/ojiepermana-angular-component-toast.d.ts +51 -55
  216. package/types/ojiepermana-angular-component-toggle-group.d.ts +159 -88
  217. package/types/ojiepermana-angular-component-toggle.d.ts +47 -25
  218. package/types/ojiepermana-angular-component-tooltip.d.ts +222 -132
  219. package/types/ojiepermana-angular-component-utils-core.d.ts +81 -90
  220. package/types/ojiepermana-angular-component-utils-overlay.d.ts +7 -11
  221. package/types/ojiepermana-angular-component-utils-scale.d.ts +20 -12
  222. package/types/ojiepermana-angular-component-utils.d.ts +2 -2
  223. package/types/ojiepermana-angular-component.d.ts +1 -2
  224. package/types/ojiepermana-angular-navigation-core.d.ts +46 -50
  225. package/types/ojiepermana-angular-navigation-icon.d.ts +9 -12
  226. package/types/ojiepermana-angular-navigation-service.d.ts +112 -115
  227. package/types/ojiepermana-angular-navigation-types.d.ts +121 -125
  228. package/types/ojiepermana-angular-navigation.d.ts +663 -374
  229. package/types/ojiepermana-angular-sdk.d.ts +69 -71
  230. package/types/ojiepermana-angular-theme-component-settings.d.ts +115 -83
  231. package/types/ojiepermana-angular-theme-layout-services.d.ts +119 -124
  232. package/types/ojiepermana-angular-theme-layout-types.d.ts +27 -31
  233. package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +399 -187
  234. package/types/ojiepermana-angular-theme-layout.d.ts +201 -113
  235. package/types/ojiepermana-angular-theme-page-core.d.ts +136 -142
  236. package/types/ojiepermana-angular-theme-page-filter.d.ts +112 -62
  237. package/types/ojiepermana-angular-theme-page-overview.d.ts +28 -0
  238. package/types/ojiepermana-angular-theme-page-root.d.ts +172 -88
  239. package/types/ojiepermana-angular-theme-page-side.d.ts +89 -49
  240. package/types/ojiepermana-angular-theme-page-slots.d.ts +58 -37
  241. package/types/ojiepermana-angular-theme-page.d.ts +7 -5
  242. package/types/ojiepermana-angular-theme-shell-services.d.ts +119 -125
  243. package/types/ojiepermana-angular-theme-shell-types.d.ts +38 -41
  244. package/types/ojiepermana-angular-theme-shell.d.ts +139 -61
  245. package/types/ojiepermana-angular-theme-styles.d.ts +184 -196
  246. package/types/ojiepermana-angular-theme.d.ts +1 -2
  247. package/types/ojiepermana-angular.d.ts +5 -5
  248. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-Be3IqzG4.mjs +0 -91
  249. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-Bc7DWK3R.mjs +0 -522
  250. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-DA8VPEn7.mjs +0 -404
  251. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-U2TJTzlW.mjs +0 -466
  252. package/fesm2022/ojiepermana-angular-navigation-ojiepermana-angular-navigation-CIUhmytH.mjs +0 -2668
@@ -1,49 +1,45 @@
1
- import * as _angular_core from '@angular/core';
2
- import { ElementRef } from '@angular/core';
3
- import { ThemeSettingsNavigationMode, ThemeSettingsNavigationType } from '@ojiepermana/angular/theme/component/settings';
4
- import * as _ojiepermana_angular_navigation from '@ojiepermana/angular/navigation';
5
- import { NavigationDockbarRouteContext } from '@ojiepermana/angular/navigation';
6
- import { NavigationDockbarRouteContext as NavigationDockbarRouteContext$1, NavigationItem, NavigationType } from '@ojiepermana/angular/navigation/types';
7
-
1
+ import * as i0 from "@angular/core";
2
+ import { ElementRef } from "@angular/core";
3
+ import { ThemeSettingsNavigationMode, ThemeSettingsNavigationType } from "@ojiepermana/angular/theme/component/settings";
4
+ import { NavigationDockbarRouteContext } from "@ojiepermana/angular/navigation";
5
+ import { NavigationDockbarRouteContext as NavigationDockbarRouteContext$1, NavigationItem, NavigationType } from "@ojiepermana/angular/navigation/types";
8
6
  /**
9
7
  * The identity shape the layout wrappers consume. The library defines the structure
10
8
  * only; the concrete brand and user values come from the consumer as inputs.
11
9
  */
12
- interface BrandIdentity {
13
- /** Name behind the initials and the accessible name in the header slot. */
14
- readonly name: string;
15
- /** Material symbol used as the logo; `null` falls back to initials from `name`. */
16
- readonly icon: string | null;
17
- /** Judul brand. */
18
- readonly title: string;
19
- /** Subjudul brand. */
20
- readonly subtitle: string;
10
+ export interface BrandIdentity {
11
+ /** Name behind the initials and the accessible name in the header slot. */
12
+ readonly name: string;
13
+ /** Material symbol used as the logo; `null` falls back to initials from `name`. */
14
+ readonly icon: string | null;
15
+ /** Judul brand. */
16
+ readonly title: string;
17
+ /** Subjudul brand. */
18
+ readonly subtitle: string;
21
19
  }
22
- interface UserIdentity {
23
- /** Nama lengkap user (inisial + judul footer). */
24
- readonly name: string;
25
- /** Email, or the footer's secondary line. */
26
- readonly email: string;
20
+ export interface UserIdentity {
21
+ /** Nama lengkap user (inisial + judul footer). */
22
+ readonly name: string;
23
+ /** Email, or the footer's secondary line. */
24
+ readonly email: string;
27
25
  }
28
-
29
26
  /** Registry key used only while `LayoutWrapperDefault` renders its desktop nav. */
30
- declare const LAYOUT_DESKTOP_NAVIGATION_DATA_ID = "__layout-desktop-navigation";
27
+ export declare const LAYOUT_DESKTOP_NAVIGATION_DATA_ID = "__layout-desktop-navigation";
31
28
  /**
32
29
  * Registry of the brand and user identity a shell publishes (`LayoutWrapperDefault`, for
33
30
  * one). Other surfaces — the apps launcher in `Page`, say — read it so they show the same
34
31
  * brand and user as the nav flyout without taking inputs of their own.
35
32
  */
36
- declare class LayoutIdentityService {
37
- private readonly brandState;
38
- private readonly userState;
39
- readonly brand: _angular_core.Signal<BrandIdentity | null>;
40
- readonly user: _angular_core.Signal<UserIdentity | null>;
41
- setBrand(brand: BrandIdentity | null): void;
42
- setUser(user: UserIdentity | null): void;
43
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutIdentityService, never>;
44
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
33
+ export declare class LayoutIdentityService {
34
+ private readonly brandState;
35
+ private readonly userState;
36
+ readonly brand: import("@angular/core").Signal<BrandIdentity | null>;
37
+ readonly user: import("@angular/core").Signal<UserIdentity | null>;
38
+ setBrand(brand: BrandIdentity | null): void;
39
+ setUser(user: UserIdentity | null): void;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutIdentityService, never>;
41
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
45
42
  }
46
-
47
43
  /**
48
44
  * The brand slot for `<NavigationHeader>`: initials or logo plus a title. Purely
49
45
  * input-driven.
@@ -53,15 +49,25 @@ declare class LayoutIdentityService {
53
49
  * the header row; the title still auto-hides on a collapsed sidebar, because
54
50
  * `NAVIGATION_SHELL` reaches `<Navigation>` through the live injector tree.
55
51
  */
56
- declare class LayoutBrand {
57
- /** Identitas brand (nama, ikon, judul, subjudul). */
58
- readonly brand: _angular_core.InputSignal<BrandIdentity>;
59
- /** Sembunyikan judul, sisakan inisial saja (dockbar / rail ikon-only). */
60
- readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
61
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutBrand, never>;
62
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LayoutBrand, "LayoutBrand", never, { "brand": { "alias": "brand"; "required": true; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
52
+ export declare class LayoutBrand {
53
+ /** Identitas brand (nama, ikon, judul, subjudul). */
54
+ readonly brand: import("@angular/core").InputSignal<BrandIdentity>;
55
+ /** Sembunyikan judul, sisakan inisial saja (dockbar / rail ikon-only). */
56
+ readonly compact: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutBrand, never>;
58
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutBrand, "LayoutBrand", never, {
59
+ "brand": {
60
+ "alias": "brand";
61
+ "required": true;
62
+ "isSignal": true;
63
+ };
64
+ "compact": {
65
+ "alias": "compact";
66
+ "required": false;
67
+ "isSignal": true;
68
+ };
69
+ }, {}, never, never, true, never>;
63
70
  }
64
-
65
71
  /**
66
72
  * The user slot for `<NavigationFooter>`: an optional identity plus the logout action.
67
73
  * Purely input-driven.
@@ -77,21 +83,43 @@ declare class LayoutBrand {
77
83
  * renders without error; the button simply does nothing, exactly as before this output
78
84
  * existed.
79
85
  */
80
- declare class LayoutUser {
81
- /** Identitas user (nama + email). */
82
- readonly user: _angular_core.InputSignal<UserIdentity>;
83
- /** Show the user identity (initials and name), not only the logout button. */
84
- readonly detailed: _angular_core.InputSignalWithTransform<boolean, unknown>;
85
- /** Accessible name for the logout button. */
86
- readonly logoutLabel: _angular_core.InputSignal<string>;
87
- /** Material symbol for the logout button. */
88
- readonly logoutIcon: _angular_core.InputSignal<string>;
89
- /** The user pressed logout. The effect is the consumer's; the library does not navigate. */
90
- readonly logout: _angular_core.OutputEmitterRef<void>;
91
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutUser, never>;
92
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LayoutUser, "LayoutUser", never, { "user": { "alias": "user"; "required": true; "isSignal": true; }; "detailed": { "alias": "detailed"; "required": false; "isSignal": true; }; "logoutLabel": { "alias": "logoutLabel"; "required": false; "isSignal": true; }; "logoutIcon": { "alias": "logoutIcon"; "required": false; "isSignal": true; }; }, { "logout": "logout"; }, never, never, true, never>;
86
+ export declare class LayoutUser {
87
+ /** Identitas user (nama + email). */
88
+ readonly user: import("@angular/core").InputSignal<UserIdentity>;
89
+ /** Show the user identity (initials and name), not only the logout button. */
90
+ readonly detailed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
91
+ /** Accessible name for the logout button. */
92
+ readonly logoutLabel: import("@angular/core").InputSignal<string>;
93
+ /** Material symbol for the logout button. */
94
+ readonly logoutIcon: import("@angular/core").InputSignal<string>;
95
+ /** The user pressed logout. The effect is the consumer's; the library does not navigate. */
96
+ readonly logout: import("@angular/core").OutputEmitterRef<void>;
97
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutUser, never>;
98
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutUser, "LayoutUser", never, {
99
+ "user": {
100
+ "alias": "user";
101
+ "required": true;
102
+ "isSignal": true;
103
+ };
104
+ "detailed": {
105
+ "alias": "detailed";
106
+ "required": false;
107
+ "isSignal": true;
108
+ };
109
+ "logoutLabel": {
110
+ "alias": "logoutLabel";
111
+ "required": false;
112
+ "isSignal": true;
113
+ };
114
+ "logoutIcon": {
115
+ "alias": "logoutIcon";
116
+ "required": false;
117
+ "isSignal": true;
118
+ };
119
+ }, {
120
+ "logout": "logout";
121
+ }, never, never, true, never>;
93
122
  }
94
-
95
123
  /**
96
124
  * Nav type: a collapsible vertical sidebar (the default). Brand in the header, user
97
125
  * identity in the footer.
@@ -108,22 +136,44 @@ declare class LayoutUser {
108
136
  * through the live injector tree and `<NavigationHeader>` stays a direct child for the
109
137
  * library's content projection.
110
138
  */
111
- declare class LayoutNavSidebar {
112
- readonly brand: _angular_core.InputSignal<BrandIdentity>;
113
- readonly user: _angular_core.InputSignal<UserIdentity>;
114
- /** Appearance from the shell (`[appearance]`); decides the separator border weight. */
115
- readonly appearance: _angular_core.InputSignal<"flat" | "border-rail">;
116
- readonly navTypeMode: _angular_core.InputSignal<ThemeSettingsNavigationMode>;
117
- /** Forwarded from `<LayoutUser>`; the effect is the consumer's. */
118
- readonly logout: _angular_core.OutputEmitterRef<void>;
119
- protected readonly isBorderRail: _angular_core.Signal<boolean>;
120
- protected readonly isCollapsed: _angular_core.Signal<boolean>;
121
- /** Border kanan pemisah; ketebalan ikut appearance: `border-rail` = `--layout-rail-width` (selaras rail layout), `flat` 1px. */
122
- protected readonly shellClass: _angular_core.Signal<"border-r-[length:var(--layout-rail-width)] border-border" | "border-r border-border">;
123
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutNavSidebar, never>;
124
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LayoutNavSidebar, "LayoutNavSidebar", never, { "brand": { "alias": "brand"; "required": true; "isSignal": true; }; "user": { "alias": "user"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "navTypeMode": { "alias": "nav-type-mode"; "required": false; "isSignal": true; }; }, { "logout": "logout"; }, never, never, true, never>;
139
+ export declare class LayoutNavSidebar {
140
+ readonly brand: import("@angular/core").InputSignal<BrandIdentity>;
141
+ readonly user: import("@angular/core").InputSignal<UserIdentity>;
142
+ /** Appearance from the shell (`[appearance]`); decides the separator border weight. */
143
+ readonly appearance: import("@angular/core").InputSignal<"flat" | "border-rail">;
144
+ readonly navTypeMode: import("@angular/core").InputSignal<ThemeSettingsNavigationMode>;
145
+ /** Forwarded from `<LayoutUser>`; the effect is the consumer's. */
146
+ readonly logout: import("@angular/core").OutputEmitterRef<void>;
147
+ protected readonly isBorderRail: import("@angular/core").Signal<boolean>;
148
+ protected readonly isCollapsed: import("@angular/core").Signal<boolean>;
149
+ /** Border kanan pemisah; ketebalan ikut appearance: `border-rail` = `--layout-rail-width` (selaras rail layout), `flat` 1px. */
150
+ protected readonly shellClass: import("@angular/core").Signal<"border-r-[length:var(--layout-rail-width)] border-border" | "border-r border-border">;
151
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutNavSidebar, never>;
152
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutNavSidebar, "LayoutNavSidebar", never, {
153
+ "brand": {
154
+ "alias": "brand";
155
+ "required": true;
156
+ "isSignal": true;
157
+ };
158
+ "user": {
159
+ "alias": "user";
160
+ "required": true;
161
+ "isSignal": true;
162
+ };
163
+ "appearance": {
164
+ "alias": "appearance";
165
+ "required": false;
166
+ "isSignal": true;
167
+ };
168
+ "navTypeMode": {
169
+ "alias": "nav-type-mode";
170
+ "required": false;
171
+ "isSignal": true;
172
+ };
173
+ }, {
174
+ "logout": "logout";
175
+ }, never, never, true, never>;
125
176
  }
126
-
127
177
  /**
128
178
  * Nav type: a vertical icon rail (dockbar). A compact brand (initials only) in the
129
179
  * header, the user's initials in the rail footer (title and actions auto-hide, because
@@ -138,69 +188,140 @@ declare class LayoutNavSidebar {
138
188
  * separator running straight from rail to aside (header and footer are both `h-12`).
139
189
  * See {@link LayoutNavSidebar} for why `host.class = 'contents'`.
140
190
  */
141
- declare class LayoutNavDockbar {
142
- readonly brand: _angular_core.InputSignal<BrandIdentity>;
143
- readonly user: _angular_core.InputSignal<UserIdentity>;
144
- /** Appearance from the shell (`[appearance]`); decides the separator border weight. */
145
- readonly appearance: _angular_core.InputSignal<"flat" | "border-rail">;
146
- readonly navTypeMode: _angular_core.InputSignal<ThemeSettingsNavigationMode>;
147
- /** Opt-in route-aware header; ketika aktif, header route menggantikan compact brand. */
148
- readonly dockbarRouteContext: _angular_core.InputSignal<NavigationDockbarRouteContext | null>;
149
- /** The generic badge registry forwarded to `NavigationDockbar`. */
150
- readonly dockbarBadgeContext: _angular_core.InputSignal<Readonly<Record<string, _ojiepermana_angular_navigation.NavigationBadgeSource>>>;
151
- /** Forwarded from the rail and aside footer logout buttons; the effect is the consumer's. */
152
- readonly logout: _angular_core.OutputEmitterRef<void>;
153
- protected readonly isBorderRail: _angular_core.Signal<boolean>;
154
- protected readonly dockbarMode: _angular_core.Signal<"drawer" | "sticky">;
155
- protected readonly routeContextEnabled: _angular_core.Signal<boolean>;
156
- /** Border kanan pemisah; ketebalan ikut appearance: `border-rail` = `--layout-rail-width` (selaras rail layout), `flat` 1px. */
157
- protected readonly shellClass: _angular_core.Signal<"border-r-[length:var(--layout-rail-width)] border-border" | "border-r border-border">;
158
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutNavDockbar, never>;
159
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LayoutNavDockbar, "LayoutNavDockbar", never, { "brand": { "alias": "brand"; "required": true; "isSignal": true; }; "user": { "alias": "user"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "navTypeMode": { "alias": "nav-type-mode"; "required": false; "isSignal": true; }; "dockbarRouteContext": { "alias": "dockbar-route-context"; "required": false; "isSignal": true; }; "dockbarBadgeContext": { "alias": "dockbar-badge"; "required": false; "isSignal": true; }; }, { "logout": "logout"; }, never, never, true, never>;
191
+ export declare class LayoutNavDockbar {
192
+ readonly brand: import("@angular/core").InputSignal<BrandIdentity>;
193
+ readonly user: import("@angular/core").InputSignal<UserIdentity>;
194
+ /** Appearance from the shell (`[appearance]`); decides the separator border weight. */
195
+ readonly appearance: import("@angular/core").InputSignal<"flat" | "border-rail">;
196
+ readonly navTypeMode: import("@angular/core").InputSignal<ThemeSettingsNavigationMode>;
197
+ /** Opt-in route-aware header; ketika aktif, header route menggantikan compact brand. */
198
+ readonly dockbarRouteContext: import("@angular/core").InputSignal<NavigationDockbarRouteContext | null>;
199
+ /** The generic badge registry forwarded to `NavigationDockbar`. */
200
+ readonly dockbarBadgeContext: import("@angular/core").InputSignal<Readonly<Record<string, import("@ojiepermana/angular/navigation").NavigationBadgeSource>>>;
201
+ /** Forwarded from the rail and aside footer logout buttons; the effect is the consumer's. */
202
+ readonly logout: import("@angular/core").OutputEmitterRef<void>;
203
+ protected readonly isBorderRail: import("@angular/core").Signal<boolean>;
204
+ protected readonly dockbarMode: import("@angular/core").Signal<"drawer" | "sticky">;
205
+ protected readonly routeContextEnabled: import("@angular/core").Signal<boolean>;
206
+ /** Border kanan pemisah; ketebalan ikut appearance: `border-rail` = `--layout-rail-width` (selaras rail layout), `flat` 1px. */
207
+ protected readonly shellClass: import("@angular/core").Signal<"border-r-[length:var(--layout-rail-width)] border-border" | "border-r border-border">;
208
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutNavDockbar, never>;
209
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutNavDockbar, "LayoutNavDockbar", never, {
210
+ "brand": {
211
+ "alias": "brand";
212
+ "required": true;
213
+ "isSignal": true;
214
+ };
215
+ "user": {
216
+ "alias": "user";
217
+ "required": true;
218
+ "isSignal": true;
219
+ };
220
+ "appearance": {
221
+ "alias": "appearance";
222
+ "required": false;
223
+ "isSignal": true;
224
+ };
225
+ "navTypeMode": {
226
+ "alias": "nav-type-mode";
227
+ "required": false;
228
+ "isSignal": true;
229
+ };
230
+ "dockbarRouteContext": {
231
+ "alias": "dockbar-route-context";
232
+ "required": false;
233
+ "isSignal": true;
234
+ };
235
+ "dockbarBadgeContext": {
236
+ "alias": "dockbar-badge";
237
+ "required": false;
238
+ "isSignal": true;
239
+ };
240
+ }, {
241
+ "logout": "logout";
242
+ }, never, never, true, never>;
160
243
  }
161
-
162
244
  /**
163
245
  * Nav type: a top bar with inline items (navbar, horizontal). `appearance` follows the
164
246
  * shell (`flat | border-rail`). See {@link LayoutNavSidebar} for why
165
247
  * `host.class = 'contents'`.
166
248
  */
167
- declare class LayoutNavNavbar {
168
- readonly brand: _angular_core.InputSignal<BrandIdentity>;
169
- readonly user: _angular_core.InputSignal<UserIdentity>;
170
- /** Appearance from the shell (`[nav-type-style]`). */
171
- readonly appearance: _angular_core.InputSignal<"flat" | "border-rail">;
172
- /** Forwarded from `<LayoutUser>`; the effect is the consumer's. */
173
- readonly logout: _angular_core.OutputEmitterRef<void>;
174
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutNavNavbar, never>;
175
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LayoutNavNavbar, "LayoutNavNavbar", never, { "brand": { "alias": "brand"; "required": true; "isSignal": true; }; "user": { "alias": "user"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, { "logout": "logout"; }, never, never, true, never>;
249
+ export declare class LayoutNavNavbar {
250
+ readonly brand: import("@angular/core").InputSignal<BrandIdentity>;
251
+ readonly user: import("@angular/core").InputSignal<UserIdentity>;
252
+ /** Appearance from the shell (`[nav-type-style]`). */
253
+ readonly appearance: import("@angular/core").InputSignal<"flat" | "border-rail">;
254
+ /** Forwarded from `<LayoutUser>`; the effect is the consumer's. */
255
+ readonly logout: import("@angular/core").OutputEmitterRef<void>;
256
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutNavNavbar, never>;
257
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutNavNavbar, "LayoutNavNavbar", never, {
258
+ "brand": {
259
+ "alias": "brand";
260
+ "required": true;
261
+ "isSignal": true;
262
+ };
263
+ "user": {
264
+ "alias": "user";
265
+ "required": true;
266
+ "isSignal": true;
267
+ };
268
+ "appearance": {
269
+ "alias": "appearance";
270
+ "required": false;
271
+ "isSignal": true;
272
+ };
273
+ }, {
274
+ "logout": "logout";
275
+ }, never, never, true, never>;
176
276
  }
177
-
178
277
  /**
179
278
  * Nav type: a top bar with a flyout trigger button (horizontal). `appearance` follows the
180
279
  * shell. See {@link LayoutNavSidebar} for why `host.class = 'contents'`.
181
280
  */
182
- declare class LayoutNavFlyout {
183
- readonly brand: _angular_core.InputSignal<BrandIdentity>;
184
- readonly user: _angular_core.InputSignal<UserIdentity>;
185
- /** Appearance from the shell (`[nav-type-style]`). */
186
- readonly appearance: _angular_core.InputSignal<"flat" | "border-rail">;
187
- /** Forwarded from `<LayoutUser>`; the effect is the consumer's. */
188
- readonly logout: _angular_core.OutputEmitterRef<void>;
189
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutNavFlyout, never>;
190
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LayoutNavFlyout, "LayoutNavFlyout", never, { "brand": { "alias": "brand"; "required": true; "isSignal": true; }; "user": { "alias": "user"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, { "logout": "logout"; }, never, never, true, never>;
281
+ export declare class LayoutNavFlyout {
282
+ readonly brand: import("@angular/core").InputSignal<BrandIdentity>;
283
+ readonly user: import("@angular/core").InputSignal<UserIdentity>;
284
+ /** Appearance from the shell (`[nav-type-style]`). */
285
+ readonly appearance: import("@angular/core").InputSignal<"flat" | "border-rail">;
286
+ /** Forwarded from `<LayoutUser>`; the effect is the consumer's. */
287
+ readonly logout: import("@angular/core").OutputEmitterRef<void>;
288
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutNavFlyout, never>;
289
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutNavFlyout, "LayoutNavFlyout", never, {
290
+ "brand": {
291
+ "alias": "brand";
292
+ "required": true;
293
+ "isSignal": true;
294
+ };
295
+ "user": {
296
+ "alias": "user";
297
+ "required": true;
298
+ "isSignal": true;
299
+ };
300
+ "appearance": {
301
+ "alias": "appearance";
302
+ "required": false;
303
+ "isSignal": true;
304
+ };
305
+ }, {
306
+ "logout": "logout";
307
+ }, never, never, true, never>;
191
308
  }
192
-
193
309
  /**
194
310
  * Nav type: a brand-only sidebar for the `empty` and `fluid` variants, where
195
311
  * `LayoutNavigation` hides the nav — so no collapse and no footer. See
196
312
  * {@link LayoutNavSidebar} for why `host.class = 'contents'`.
197
313
  */
198
- declare class LayoutNavMinimal {
199
- readonly brand: _angular_core.InputSignal<BrandIdentity>;
200
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutNavMinimal, never>;
201
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LayoutNavMinimal, "LayoutNavMinimal", never, { "brand": { "alias": "brand"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
314
+ export declare class LayoutNavMinimal {
315
+ readonly brand: import("@angular/core").InputSignal<BrandIdentity>;
316
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutNavMinimal, never>;
317
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutNavMinimal, "LayoutNavMinimal", never, {
318
+ "brand": {
319
+ "alias": "brand";
320
+ "required": true;
321
+ "isSignal": true;
322
+ };
323
+ }, {}, never, never, true, never>;
202
324
  }
203
-
204
325
  /** The nav type `@switch (navKind())` renders. `brand` = header-only sidebar (empty/fluid). */
205
326
  type NavKind = NavigationType | 'brand';
206
327
  /**
@@ -225,75 +346,166 @@ type NavKind = NavigationType | 'brand';
225
346
  * `#body`, and each nav type is `display:contents`, so `<NavigationXxx>` is an effective child
226
347
  * of `<Navigation>`.
227
348
  */
228
- declare class LayoutWrapperDefault {
229
- /** Surface latar shell (mis. `grid`, `flat`). */
230
- readonly surface: _angular_core.InputSignal<"flat" | "grid" | "grid-line" | "honeycomb" | "matrix" | "circuit" | "line-vertical" | "line-horizontal">;
231
- /** Appearance shell & nav (`flat | border-rail`). */
232
- readonly appearance: _angular_core.InputSignal<"flat" | "border-rail">;
233
- /** Frame width (`full`, `container`, and so on). */
234
- readonly width: _angular_core.InputSignal<"full" | "wide" | "container" | "fluid">;
235
- /** Tipe layout dasar (`vertical | horizontal | empty | fluid`); `empty`/`fluid` override nav. */
236
- readonly layoutType: _angular_core.InputSignal<"fluid" | "vertical" | "horizontal" | "empty">;
237
- /**
238
- * The shell's navigation type. `desktop` only means anything on a horizontal frame:
239
- * the titlebar becomes the primary chrome and the navigation area follows the
240
- * content-focused `empty` behaviour.
241
- */
242
- readonly navType: _angular_core.InputSignal<ThemeSettingsNavigationType>;
243
- /** Presentation mode for the active nav type (`collapsed` sidebar / `drawer` dockbar). */
244
- readonly navTypeMode: _angular_core.InputSignal<ThemeSettingsNavigationMode>;
245
- /** Opt-in route-aware dockbar state; ignored by other navigation types. */
246
- readonly dockbarRouteContext: _angular_core.InputSignal<NavigationDockbarRouteContext$1 | null>;
247
- /** Generic dockbar badge registry; ignored by sidebar/navbar/flyout. */
248
- readonly dockbarBadgeContext: _angular_core.InputSignal<Readonly<Record<string, _ojiepermana_angular_navigation.NavigationBadgeSource>>>;
249
- /** Item navigasi. */
250
- readonly data: _angular_core.InputSignal<readonly NavigationItem[]>;
251
- /** Identitas brand. */
252
- readonly brand: _angular_core.InputSignal<BrandIdentity>;
253
- /** Identitas user. */
254
- readonly user: _angular_core.InputSignal<UserIdentity>;
255
- /** Id landmark konten utama sekaligus target skip link. */
256
- readonly contentId: _angular_core.InputSignal<string>;
257
- /** Skip-link label; the consumer can localise it. */
258
- readonly skipLinkLabel: _angular_core.InputSignal<string>;
259
- /** Fokuskan landmark utama setelah route selesai berubah. */
260
- readonly focusOnNavigation: _angular_core.InputSignal<boolean>;
261
- /** Controlled/uncontrolled state drawer navigasi mobile. */
262
- readonly mobileNavOpen: _angular_core.ModelSignal<boolean>;
263
- readonly mobileNavLabel: _angular_core.InputSignal<string>;
264
- readonly closeMobileNavLabel: _angular_core.InputSignal<string>;
265
- /**
266
- * The user pressed logout in the navigation footer. Forwarded from every nav type that
267
- * shows the user identity (`sidebar`, `dockbar`, `navbar`, `flyout`), the mobile drawer
268
- * included, so one binding covers all of them. The library calls no endpoint and performs
269
- * no navigation; what happens next is entirely the consumer's.
270
- */
271
- readonly logout: _angular_core.OutputEmitterRef<void>;
272
- private readonly identity;
273
- private readonly navigation;
274
- private readonly desktopNavigationDataOwner;
275
- private readonly document;
276
- protected readonly mobileNavTriggerRef: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
277
- constructor();
278
- /**
279
- * Classes for `<LayoutContent>`, chosen by the consumer (padding, say). Empty by
280
- * default: the library no longer forces `p-6`; the consumer or `<Page>` decides spacing.
281
- */
282
- readonly contentClassInput: _angular_core.InputSignal<string>;
283
- /** Wrapper layout & nilai `<Layout [layout-type]>`: navbar/flyout = horizontal, sisanya vertical. */
284
- protected readonly effectiveLayoutType: _angular_core.Signal<"fluid" | "vertical" | "horizontal" | "empty">;
285
- /** Tipe nav di dalam `#body`: `empty`/`fluid` → `brand` (header-only); selain itu `nav-type`. */
286
- protected readonly navKind: _angular_core.Signal<NavKind>;
287
- /** Lebar host `<Navigation>`: penuh-tinggi (vertical) atau penuh-lebar (horizontal). */
288
- protected readonly navClass: _angular_core.Signal<"w-full" | "h-full">;
289
- protected readonly showsMobileNavigation: _angular_core.Signal<boolean>;
290
- /** Internal shell owns responsive placement while primitives remain composition-safe. */
291
- protected readonly defaultShellClasses: _angular_core.Signal<string>;
292
- /** Kelas `<LayoutContent>`: `fluid` membatasi lebar & memusatkan; padding diserahkan ke consumer. */
293
- protected readonly contentClass: _angular_core.Signal<string>;
294
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutWrapperDefault, never>;
295
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LayoutWrapperDefault, "LayoutWrapperDefault", never, { "surface": { "alias": "surface"; "required": false; "isSignal": true; }; "appearance": { "alias": "layout-appearance"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "layoutType": { "alias": "layout-type"; "required": false; "isSignal": true; }; "navType": { "alias": "nav-type"; "required": false; "isSignal": true; }; "navTypeMode": { "alias": "nav-type-mode"; "required": false; "isSignal": true; }; "dockbarRouteContext": { "alias": "dockbar-route-context"; "required": false; "isSignal": true; }; "dockbarBadgeContext": { "alias": "dockbar-badge"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": true; "isSignal": true; }; "brand": { "alias": "brand"; "required": true; "isSignal": true; }; "user": { "alias": "user"; "required": true; "isSignal": true; }; "contentId": { "alias": "content-id"; "required": false; "isSignal": true; }; "skipLinkLabel": { "alias": "skip-link-label"; "required": false; "isSignal": true; }; "focusOnNavigation": { "alias": "focus-on-navigation"; "required": false; "isSignal": true; }; "mobileNavOpen": { "alias": "mobile-nav-open"; "required": false; "isSignal": true; }; "mobileNavLabel": { "alias": "mobile-nav-label"; "required": false; "isSignal": true; }; "closeMobileNavLabel": { "alias": "close-mobile-nav-label"; "required": false; "isSignal": true; }; "contentClassInput": { "alias": "content-class"; "required": false; "isSignal": true; }; }, { "mobileNavOpen": "mobile-nav-openChange"; "logout": "logout"; }, never, ["*"], true, never>;
296
- }
297
-
298
- export { LAYOUT_DESKTOP_NAVIGATION_DATA_ID, LayoutBrand, LayoutIdentityService, LayoutNavDockbar, LayoutNavFlyout, LayoutNavMinimal, LayoutNavNavbar, LayoutNavSidebar, LayoutUser, LayoutWrapperDefault };
299
- export type { BrandIdentity, UserIdentity };
349
+ export declare class LayoutWrapperDefault {
350
+ /** Surface latar shell (mis. `grid`, `flat`). */
351
+ readonly surface: import("@angular/core").InputSignal<"flat" | "grid" | "grid-line" | "honeycomb" | "matrix" | "circuit" | "line-vertical" | "line-horizontal">;
352
+ /** Appearance shell & nav (`flat | border-rail`). */
353
+ readonly appearance: import("@angular/core").InputSignal<"flat" | "border-rail">;
354
+ /** Frame width (`full`, `container`, and so on). */
355
+ readonly width: import("@angular/core").InputSignal<"full" | "wide" | "container" | "fluid">;
356
+ /** Tipe layout dasar (`vertical | horizontal | empty | fluid`); `empty`/`fluid` override nav. */
357
+ readonly layoutType: import("@angular/core").InputSignal<"fluid" | "vertical" | "horizontal" | "empty">;
358
+ /**
359
+ * The shell's navigation type. `desktop` only means anything on a horizontal frame:
360
+ * the titlebar becomes the primary chrome and the navigation area follows the
361
+ * content-focused `empty` behaviour.
362
+ */
363
+ readonly navType: import("@angular/core").InputSignal<ThemeSettingsNavigationType>;
364
+ /** Presentation mode for the active nav type (`collapsed` sidebar / `drawer` dockbar). */
365
+ readonly navTypeMode: import("@angular/core").InputSignal<ThemeSettingsNavigationMode>;
366
+ /** Opt-in route-aware dockbar state; ignored by other navigation types. */
367
+ readonly dockbarRouteContext: import("@angular/core").InputSignal<NavigationDockbarRouteContext$1 | null>;
368
+ /** Generic dockbar badge registry; ignored by sidebar/navbar/flyout. */
369
+ readonly dockbarBadgeContext: import("@angular/core").InputSignal<Readonly<Record<string, import("@ojiepermana/angular/navigation").NavigationBadgeSource>>>;
370
+ /** Item navigasi. */
371
+ readonly data: import("@angular/core").InputSignal<readonly NavigationItem[]>;
372
+ /** Identitas brand. */
373
+ readonly brand: import("@angular/core").InputSignal<BrandIdentity>;
374
+ /** Identitas user. */
375
+ readonly user: import("@angular/core").InputSignal<UserIdentity>;
376
+ /** Id landmark konten utama sekaligus target skip link. */
377
+ readonly contentId: import("@angular/core").InputSignal<string>;
378
+ /** Skip-link label; the consumer can localise it. */
379
+ readonly skipLinkLabel: import("@angular/core").InputSignal<string>;
380
+ /** Fokuskan landmark utama setelah route selesai berubah. */
381
+ readonly focusOnNavigation: import("@angular/core").InputSignal<boolean>;
382
+ /** Controlled/uncontrolled state drawer navigasi mobile. */
383
+ readonly mobileNavOpen: import("@angular/core").ModelSignal<boolean>;
384
+ readonly mobileNavLabel: import("@angular/core").InputSignal<string>;
385
+ readonly closeMobileNavLabel: import("@angular/core").InputSignal<string>;
386
+ /**
387
+ * The user pressed logout in the navigation footer. Forwarded from every nav type that
388
+ * shows the user identity (`sidebar`, `dockbar`, `navbar`, `flyout`), the mobile drawer
389
+ * included, so one binding covers all of them. The library calls no endpoint and performs
390
+ * no navigation; what happens next is entirely the consumer's.
391
+ */
392
+ readonly logout: import("@angular/core").OutputEmitterRef<void>;
393
+ private readonly identity;
394
+ private readonly navigation;
395
+ private readonly desktopNavigationDataOwner;
396
+ private readonly document;
397
+ protected readonly mobileNavTriggerRef: import("@angular/core").Signal<ElementRef<HTMLElement> | undefined>;
398
+ constructor();
399
+ /**
400
+ * Classes for `<LayoutContent>`, chosen by the consumer (padding, say). Empty by
401
+ * default: the library no longer forces `p-6`; the consumer or `<Page>` decides spacing.
402
+ */
403
+ readonly contentClassInput: import("@angular/core").InputSignal<string>;
404
+ /** Wrapper layout & nilai `<Layout [layout-type]>`: navbar/flyout = horizontal, sisanya vertical. */
405
+ protected readonly effectiveLayoutType: import("@angular/core").Signal<"fluid" | "vertical" | "horizontal" | "empty">;
406
+ /** Tipe nav di dalam `#body`: `empty`/`fluid` → `brand` (header-only); selain itu `nav-type`. */
407
+ protected readonly navKind: import("@angular/core").Signal<NavKind>;
408
+ /** Lebar host `<Navigation>`: penuh-tinggi (vertical) atau penuh-lebar (horizontal). */
409
+ protected readonly navClass: import("@angular/core").Signal<"w-full" | "h-full">;
410
+ protected readonly showsMobileNavigation: import("@angular/core").Signal<boolean>;
411
+ /** Internal shell owns responsive placement while primitives remain composition-safe. */
412
+ protected readonly defaultShellClasses: import("@angular/core").Signal<string>;
413
+ /** Kelas `<LayoutContent>`: `fluid` membatasi lebar & memusatkan; padding diserahkan ke consumer. */
414
+ protected readonly contentClass: import("@angular/core").Signal<string>;
415
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutWrapperDefault, never>;
416
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutWrapperDefault, "LayoutWrapperDefault", never, {
417
+ "surface": {
418
+ "alias": "surface";
419
+ "required": false;
420
+ "isSignal": true;
421
+ };
422
+ "appearance": {
423
+ "alias": "layout-appearance";
424
+ "required": false;
425
+ "isSignal": true;
426
+ };
427
+ "width": {
428
+ "alias": "width";
429
+ "required": false;
430
+ "isSignal": true;
431
+ };
432
+ "layoutType": {
433
+ "alias": "layout-type";
434
+ "required": false;
435
+ "isSignal": true;
436
+ };
437
+ "navType": {
438
+ "alias": "nav-type";
439
+ "required": false;
440
+ "isSignal": true;
441
+ };
442
+ "navTypeMode": {
443
+ "alias": "nav-type-mode";
444
+ "required": false;
445
+ "isSignal": true;
446
+ };
447
+ "dockbarRouteContext": {
448
+ "alias": "dockbar-route-context";
449
+ "required": false;
450
+ "isSignal": true;
451
+ };
452
+ "dockbarBadgeContext": {
453
+ "alias": "dockbar-badge";
454
+ "required": false;
455
+ "isSignal": true;
456
+ };
457
+ "data": {
458
+ "alias": "data";
459
+ "required": true;
460
+ "isSignal": true;
461
+ };
462
+ "brand": {
463
+ "alias": "brand";
464
+ "required": true;
465
+ "isSignal": true;
466
+ };
467
+ "user": {
468
+ "alias": "user";
469
+ "required": true;
470
+ "isSignal": true;
471
+ };
472
+ "contentId": {
473
+ "alias": "content-id";
474
+ "required": false;
475
+ "isSignal": true;
476
+ };
477
+ "skipLinkLabel": {
478
+ "alias": "skip-link-label";
479
+ "required": false;
480
+ "isSignal": true;
481
+ };
482
+ "focusOnNavigation": {
483
+ "alias": "focus-on-navigation";
484
+ "required": false;
485
+ "isSignal": true;
486
+ };
487
+ "mobileNavOpen": {
488
+ "alias": "mobile-nav-open";
489
+ "required": false;
490
+ "isSignal": true;
491
+ };
492
+ "mobileNavLabel": {
493
+ "alias": "mobile-nav-label";
494
+ "required": false;
495
+ "isSignal": true;
496
+ };
497
+ "closeMobileNavLabel": {
498
+ "alias": "close-mobile-nav-label";
499
+ "required": false;
500
+ "isSignal": true;
501
+ };
502
+ "contentClassInput": {
503
+ "alias": "content-class";
504
+ "required": false;
505
+ "isSignal": true;
506
+ };
507
+ }, {
508
+ "mobileNavOpen": "mobile-nav-openChange";
509
+ "logout": "logout";
510
+ }, never, ["*"], true, never>;
511
+ }