@ojiepermana/angular 22.1.13 → 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-Cd-jh6tg.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 -491
  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 -112
  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-CDBxQ8rk.mjs +0 -91
  249. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DBQHdvGa.mjs +0 -512
  250. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BCGvhoYj.mjs +0 -404
  251. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-Dk_03e-6.mjs +0 -466
  252. package/fesm2022/ojiepermana-angular-navigation-ojiepermana-angular-navigation-DNKU6viC.mjs +0 -2642
@@ -1,5 +1,4 @@
1
- import * as _angular_core from '@angular/core';
2
-
1
+ import * as i0 from "@angular/core";
3
2
  /**
4
3
  * Shared host behavior for the per-component radius and density axes.
5
4
  *
@@ -7,13 +6,22 @@ import * as _angular_core from '@angular/core';
7
6
  * their public `radius`/`density` API while keeping the CSS-variable mapping in
8
7
  * one implementation.
9
8
  */
10
- declare class ComponentScaleDirective {
11
- readonly radius: _angular_core.InputSignal<"inherit" | "none" | "xs" | "sm" | "md" | "xl" | "full">;
12
- readonly density: _angular_core.InputSignal<"inherit" | "compact" | "normal" | "relaxed" | "spacious">;
13
- readonly radiusBase: _angular_core.Signal<string | null>;
14
- readonly densityBase: _angular_core.Signal<string | null>;
15
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComponentScaleDirective, never>;
16
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ComponentScaleDirective, never, never, { "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
17
- }
18
-
19
- export { ComponentScaleDirective };
9
+ export declare class ComponentScaleDirective {
10
+ readonly radius: import("@angular/core").InputSignal<"inherit" | "none" | "xs" | "sm" | "md" | "xl" | "full">;
11
+ readonly density: import("@angular/core").InputSignal<"inherit" | "compact" | "normal" | "relaxed" | "spacious">;
12
+ readonly radiusBase: import("@angular/core").Signal<string | null>;
13
+ readonly densityBase: import("@angular/core").Signal<string | null>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<ComponentScaleDirective, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ComponentScaleDirective, never, never, {
16
+ "radius": {
17
+ "alias": "radius";
18
+ "required": false;
19
+ "isSignal": true;
20
+ };
21
+ "density": {
22
+ "alias": "density";
23
+ "required": false;
24
+ "isSignal": true;
25
+ };
26
+ }, {}, never, never, true, never>;
27
+ }
@@ -1,2 +1,2 @@
1
- export * from '@ojiepermana/angular/component/utils/core';
2
- export * from '@ojiepermana/angular/component/utils/overlay';
1
+ export * from "@ojiepermana/angular/component/utils/core";
2
+ export * from "@ojiepermana/angular/component/utils/overlay";
@@ -1,2 +1 @@
1
-
2
- export { };
1
+ export {}
@@ -1,59 +1,55 @@
1
- import { InjectionToken, Signal } from '@angular/core';
2
- import { IsActiveMatchOptions, ActivatedRoute } from '@angular/router';
3
- import { NavigationRegisterInput, NavigationState, NavigationItem, NavigationType, NavigationPosition, NavigationDockbarMode, NavigationNormalizedItem, NavigationOrientation, NavigationIconContext, NavigationResolvedRouteContext } from '@ojiepermana/angular/navigation/types';
4
-
1
+ import { InjectionToken, Signal } from "@angular/core";
2
+ import { ActivatedRoute, IsActiveMatchOptions } from "@angular/router";
3
+ import { NavigationDockbarMode, NavigationIconContext, NavigationItem, NavigationNormalizedItem, NavigationOrientation, NavigationPosition, NavigationRegisterInput, NavigationResolvedRouteContext, NavigationState, NavigationType } from "@ojiepermana/angular/navigation/types";
5
4
  /** Stable contract consumed by navigation UI, independently of its state implementation. */
6
- interface NavigationAdapter {
7
- register(input: NavigationRegisterInput, owner?: object): NavigationState;
8
- unregister(id: string, owner?: object): void;
9
- state(id: string): Signal<NavigationState | null>;
10
- currentState(id: string): NavigationState | null;
11
- data(id: string): Signal<readonly NavigationItem[]>;
12
- publishData(id: string, data: readonly NavigationItem[], owner?: object): void;
13
- clearData(id: string, owner?: object): void;
14
- currentPanelKey(id: string): string | null;
15
- update(id: string, patch: Partial<NavigationRegisterInput>): NavigationState;
16
- setType(id: string, type: NavigationType): NavigationState;
17
- setPosition(id: string, position: NavigationPosition): NavigationState;
18
- setCollapsed(id: string, collapsed: boolean): NavigationState;
19
- toggleCollapsed(id: string): NavigationState;
20
- setDockbarMode(id: string, mode: NavigationDockbarMode): NavigationState;
21
- isRouterItem(item: NavigationNormalizedItem): boolean;
22
- hrefFor(item: NavigationNormalizedItem): string | null;
23
- relFor(item: NavigationNormalizedItem): string | null;
24
- routerLinkActiveOptions(item: NavigationNormalizedItem): IsActiveMatchOptions;
25
- itemRole(orientation: NavigationOrientation, level: number): 'menuitem' | null;
26
- compactLabel(item: NavigationNormalizedItem, compact: boolean): string | null;
27
- titleFor(item: NavigationNormalizedItem, compact: boolean): string | null;
28
- compactFallback(item: NavigationNormalizedItem): string;
29
- iconContext(item: NavigationNormalizedItem, active: boolean, level: number, orientation: NavigationOrientation): NavigationIconContext;
30
- isItemActive(item: NavigationNormalizedItem, activeIds: ReadonlySet<string>, explicitActiveUrl: string | null): boolean;
31
- isPanelOpen(item: NavigationNormalizedItem): boolean;
32
- isPanelOpen(navId: string, item: NavigationNormalizedItem): boolean;
33
- openPanel(item: NavigationNormalizedItem): void;
34
- openPanel(navId: string, item: NavigationNormalizedItem): void;
35
- togglePanel(item: NavigationNormalizedItem): void;
36
- togglePanel(navId: string, item: NavigationNormalizedItem): void;
37
- closePanel(id?: string): void;
38
- dockbarGroups(items: readonly NavigationNormalizedItem[]): readonly NavigationNormalizedItem[];
39
- resolveDockbarGroup(id: string, items: readonly NavigationNormalizedItem[], mode: NavigationDockbarMode, activeIds: ReadonlySet<string>, activeUrl: string | null): NavigationNormalizedItem | null;
40
- isDrawerOpen(id: string): boolean;
41
- openDrawer(id: string): void;
42
- toggleDrawer(id: string): void;
43
- closeDrawer(id: string): void;
5
+ export interface NavigationAdapter {
6
+ register(input: NavigationRegisterInput, owner?: object): NavigationState;
7
+ unregister(id: string, owner?: object): void;
8
+ state(id: string): Signal<NavigationState | null>;
9
+ currentState(id: string): NavigationState | null;
10
+ data(id: string): Signal<readonly NavigationItem[]>;
11
+ publishData(id: string, data: readonly NavigationItem[], owner?: object): void;
12
+ clearData(id: string, owner?: object): void;
13
+ currentPanelKey(id: string): string | null;
14
+ update(id: string, patch: Partial<NavigationRegisterInput>): NavigationState;
15
+ setType(id: string, type: NavigationType): NavigationState;
16
+ setPosition(id: string, position: NavigationPosition): NavigationState;
17
+ setCollapsed(id: string, collapsed: boolean): NavigationState;
18
+ toggleCollapsed(id: string): NavigationState;
19
+ setDockbarMode(id: string, mode: NavigationDockbarMode): NavigationState;
20
+ isRouterItem(item: NavigationNormalizedItem): boolean;
21
+ hrefFor(item: NavigationNormalizedItem): string | null;
22
+ relFor(item: NavigationNormalizedItem): string | null;
23
+ routerLinkActiveOptions(item: NavigationNormalizedItem): IsActiveMatchOptions;
24
+ itemRole(orientation: NavigationOrientation, level: number): 'menuitem' | null;
25
+ compactLabel(item: NavigationNormalizedItem, compact: boolean): string | null;
26
+ titleFor(item: NavigationNormalizedItem, compact: boolean): string | null;
27
+ compactFallback(item: NavigationNormalizedItem): string;
28
+ iconContext(item: NavigationNormalizedItem, active: boolean, level: number, orientation: NavigationOrientation): NavigationIconContext;
29
+ isItemActive(item: NavigationNormalizedItem, activeIds: ReadonlySet<string>, explicitActiveUrl: string | null): boolean;
30
+ isPanelOpen(item: NavigationNormalizedItem): boolean;
31
+ isPanelOpen(navId: string, item: NavigationNormalizedItem): boolean;
32
+ openPanel(item: NavigationNormalizedItem): void;
33
+ openPanel(navId: string, item: NavigationNormalizedItem): void;
34
+ togglePanel(item: NavigationNormalizedItem): void;
35
+ togglePanel(navId: string, item: NavigationNormalizedItem): void;
36
+ closePanel(id?: string): void;
37
+ dockbarGroups(items: readonly NavigationNormalizedItem[]): readonly NavigationNormalizedItem[];
38
+ resolveDockbarGroup(id: string, items: readonly NavigationNormalizedItem[], mode: NavigationDockbarMode, activeIds: ReadonlySet<string>, activeUrl: string | null): NavigationNormalizedItem | null;
39
+ isDrawerOpen(id: string): boolean;
40
+ openDrawer(id: string): void;
41
+ toggleDrawer(id: string): void;
42
+ closeDrawer(id: string): void;
44
43
  }
45
44
  /**
46
45
  * Kontrak terpisah untuk Router context agar custom `NavigationAdapter` lama
47
46
  * tidak perlu mengimplementasikan method baru.
48
47
  */
49
- interface NavigationRouteContextAdapter {
50
- readonly routeContext: Signal<NavigationResolvedRouteContext>;
51
- isItemRouteActive(item: NavigationNormalizedItem, explicitActiveUrl: string | null, relativeTo?: ActivatedRoute | null): boolean;
48
+ export interface NavigationRouteContextAdapter {
49
+ readonly routeContext: Signal<NavigationResolvedRouteContext>;
50
+ isItemRouteActive(item: NavigationNormalizedItem, explicitActiveUrl: string | null, relativeTo?: ActivatedRoute | null): boolean;
52
51
  }
53
52
  /** Override this token to supply a custom state/persistence adapter. */
54
- declare const NAVIGATION_ADAPTER: InjectionToken<NavigationAdapter>;
53
+ export declare const NAVIGATION_ADAPTER: InjectionToken<NavigationAdapter>;
55
54
  /** Override token ini untuk memasok route context dari router/state host lain. */
56
- declare const NAVIGATION_ROUTE_CONTEXT_ADAPTER: InjectionToken<NavigationRouteContextAdapter>;
57
-
58
- export { NAVIGATION_ADAPTER, NAVIGATION_ROUTE_CONTEXT_ADAPTER };
59
- export type { NavigationAdapter, NavigationRouteContextAdapter };
55
+ export declare const NAVIGATION_ROUTE_CONTEXT_ADAPTER: InjectionToken<NavigationRouteContextAdapter>;
@@ -1,12 +1,9 @@
1
- import * as i0 from '@angular/core';
2
- import { TemplateRef } from '@angular/core';
3
- import { NavigationIconContext } from '@ojiepermana/angular/navigation/types';
4
-
5
- declare class NavigationIconDirective {
6
- readonly template: TemplateRef<NavigationIconContext>;
7
- static ngTemplateContextGuard(_directive: NavigationIconDirective, context: unknown): context is NavigationIconContext;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<NavigationIconDirective, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<NavigationIconDirective, "ng-template[NavigationIcon]", never, {}, {}, never, never, true, never>;
10
- }
11
-
12
- export { NavigationIconDirective };
1
+ import * as i0 from "@angular/core";
2
+ import { TemplateRef } from "@angular/core";
3
+ import { NavigationIconContext } from "@ojiepermana/angular/navigation/types";
4
+ export declare class NavigationIconDirective {
5
+ readonly template: TemplateRef<NavigationIconContext>;
6
+ static ngTemplateContextGuard(_directive: NavigationIconDirective, context: unknown): context is NavigationIconContext;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavigationIconDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NavigationIconDirective, "ng-template[NavigationIcon]", never, {}, {}, never, never, true, never>;
9
+ }
@@ -1,116 +1,113 @@
1
- import * as i0 from '@angular/core';
2
- import { Signal } from '@angular/core';
3
- import { IsActiveMatchOptions, ActivatedRoute } from '@angular/router';
4
- import { NavigationResolvedRouteContext, NavigationRegisterInput, NavigationState, NavigationItem, NavigationType, NavigationPosition, NavigationDockbarMode, NavigationNormalizedItem, NavigationOrientation, NavigationIconContext } from '@ojiepermana/angular/navigation/types';
5
- export { NavigationDockbarMode, NavigationIconContext, NavigationItem, NavigationLink, NavigationNormalizedItem, NavigationOrientation, NavigationPosition, NavigationRegisterInput, NavigationState, NavigationType } from '@ojiepermana/angular/navigation/types';
6
-
7
- declare class NavigationService {
8
- private readonly documentRef;
9
- private readonly persistence;
10
- private readonly router;
11
- private readonly urlResolver;
12
- private readonly routerUrl;
13
- private readonly states;
14
- private readonly openPanelKeys;
15
- private readonly drawerOpenState;
16
- /** Data mentah per id, dipublikasikan oleh `<Navigation>` agar surface lain (mis. apps-launcher di `Page`) bisa membaca nav by id tanpa mendaftarkan ulang id yang sama. */
17
- private readonly dataById;
18
- /** Semua publisher hidup per data id. Publisher terakhir menjadi sumber aktif; cleanup owner lama tidak boleh menghapus publisher baru. */
19
- private readonly dataPublishers;
20
- /** Token stabil untuk pemanggil legacy yang tidak mengirim owner. */
21
- private readonly ownerlessDataPublisher;
22
- /** id navigasi → token owner instance, untuk menjaga setiap id hanya dipakai satu <Navigation> hidup. */
23
- private readonly idOwners;
24
- readonly openPanelKey: Signal<string | null>;
25
- /** Route aktif yang sudah dinormalisasi untuk consumer dockbar route-aware. */
26
- readonly routeContext: Signal<NavigationResolvedRouteContext>;
27
- readonly exactMatchOptions: IsActiveMatchOptions;
28
- readonly subsetMatchOptions: IsActiveMatchOptions;
29
- constructor();
30
- /**
31
- * Panel eksplisit (klik trigger rail/navbar) adalah state telusur sementara.
32
- * Perpindahan path harus mengembalikan panel ke resolusi URL: tanpa pelepasan
33
- * ini, dockbar sticky terkunci pada group lama sampai browser di-refresh,
34
- * karena `resolveDockbarGroup` memprioritaskan panel key di atas pencocokan
35
- * URL. Navigasi yang hanya mengubah query/fragment tidak melepas panel agar
36
- * penelusuran group lain tidak tersentak oleh update background (mis. sort
37
- * state yang ditulis ke query params).
38
- */
39
- private releasePanelsAfterNavigation;
40
- private urlPath;
41
- private readRouteContext;
42
- private optionalString;
43
- register(input: NavigationRegisterInput, owner?: object): NavigationState;
44
- unregister(id: string, owner?: object): void;
45
- /**
46
- * Validasi keunikan id navigasi: setiap instance `<Navigation>` wajib memakai id unik.
47
- * `owner` adalah token unik per instance — klaim ulang oleh owner yang sama (mis. perubahan
48
- * input) diizinkan, tetapi dua instance hidup dengan id sama dianggap salah konfigurasi dan
49
- * melempar error di mode dev. Pemanggil tanpa owner (akses langsung service) dilewati.
50
- */
51
- private claimId;
52
- private releaseId;
53
- state(id: string): Signal<NavigationState | null>;
54
- currentState(id: string): NavigationState | null;
55
- /** Data terdaftar untuk sebuah id sebagai signal; `[]` bila belum ada `<Navigation>` dengan id tersebut. */
56
- data(id: string): Signal<readonly NavigationItem[]>;
57
- /** Dipanggil `<Navigation>` untuk mempublikasikan datanya ke registry by id. */
58
- publishData(id: string, data: readonly NavigationItem[], owner?: object): void;
59
- /** Dipanggil `<Navigation>` saat destroy untuk melepas datanya dari registry. */
60
- clearData(id: string, owner?: object): void;
61
- currentPanelKey(id: string): string | null;
62
- update(id: string, patch: Partial<NavigationRegisterInput>): NavigationState;
63
- setType(id: string, type: NavigationType): NavigationState;
64
- setPosition(id: string, position: NavigationPosition): NavigationState;
65
- setCollapsed(id: string, collapsed: boolean): NavigationState;
66
- toggleCollapsed(id: string): NavigationState;
67
- setDockbarMode(id: string, mode: NavigationDockbarMode): NavigationState;
68
- isRouterItem(item: NavigationNormalizedItem): boolean;
69
- hrefFor(item: NavigationNormalizedItem): string | null;
70
- /**
71
- * A consumer `rel` is unioned with the safe default rather than replacing it:
72
- * returning `rel="external"` verbatim on a `_blank` link dropped `noopener`
73
- * and handed the opened page a live `window.opener`.
74
- */
75
- relFor(item: NavigationNormalizedItem): string | null;
76
- routerLinkActiveOptions(item: NavigationNormalizedItem): IsActiveMatchOptions;
77
- itemRole(orientation: NavigationOrientation, level: number): 'menuitem' | null;
78
- compactLabel(item: NavigationNormalizedItem, compact: boolean): string | null;
79
- titleFor(item: NavigationNormalizedItem, compact: boolean): string | null;
80
- compactFallback(item: NavigationNormalizedItem): string;
81
- iconContext(item: NavigationNormalizedItem, active: boolean, level: number, orientation: NavigationOrientation): NavigationIconContext;
82
- isItemActive(item: NavigationNormalizedItem, activeIds: ReadonlySet<string>, explicitActiveUrl: string | null): boolean;
83
- /**
84
- * Pencocokan route murni untuk state dockbar berbasis Router. Berbeda dari
85
- * `isItemActive`, konfigurasi legacy `item.active` dan `activeIds` sengaja
86
- * tidak ikut menentukan group route aktif.
87
- */
88
- isItemRouteActive(item: NavigationNormalizedItem, explicitActiveUrl: string | null, relativeTo?: ActivatedRoute | null): boolean;
89
- private matchesActiveTreeDeep;
90
- /**
91
- * The active URL is parsed once per top-level call and handed down the
92
- * recursion; re-parsing it at every node turned one navigation into hundreds
93
- * of identical `parseUrl` calls.
94
- */
95
- private activeMatch;
96
- isPanelOpen(item: NavigationNormalizedItem): boolean;
97
- isPanelOpen(navId: string, item: NavigationNormalizedItem): boolean;
98
- openPanel(item: NavigationNormalizedItem): void;
99
- openPanel(navId: string, item: NavigationNormalizedItem): void;
100
- togglePanel(item: NavigationNormalizedItem): void;
101
- togglePanel(navId: string, item: NavigationNormalizedItem): void;
102
- closePanel(id?: string): void;
103
- dockbarGroups(items: readonly NavigationNormalizedItem[]): readonly NavigationNormalizedItem[];
104
- resolveDockbarGroup(id: string, items: readonly NavigationNormalizedItem[], mode: NavigationDockbarMode, activeIds: ReadonlySet<string>, activeUrl: string | null): NavigationNormalizedItem | null;
105
- isDrawerOpen(id: string): boolean;
106
- openDrawer(id: string): void;
107
- toggleDrawer(id: string): void;
108
- closeDrawer(id: string): void;
109
- private matchesActiveTree;
110
- private withoutKey;
111
- private resolvePanelArgs;
112
- static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, never>;
113
- static ɵprov: i0.ɵɵInjectableDeclaration<NavigationService>;
1
+ import * as i0 from "@angular/core";
2
+ import { Signal } from "@angular/core";
3
+ import { ActivatedRoute, IsActiveMatchOptions } from "@angular/router";
4
+ import { NavigationDockbarMode, NavigationDockbarMode as NavigationDockbarMode$1, NavigationIconContext, NavigationIconContext as NavigationIconContext$1, NavigationItem, NavigationItem as NavigationItem$1, NavigationLink, NavigationNormalizedItem, NavigationNormalizedItem as NavigationNormalizedItem$1, NavigationOrientation, NavigationOrientation as NavigationOrientation$1, NavigationPosition, NavigationPosition as NavigationPosition$1, NavigationRegisterInput, NavigationRegisterInput as NavigationRegisterInput$1, NavigationResolvedRouteContext, NavigationState, NavigationState as NavigationState$1, NavigationType, NavigationType as NavigationType$1 } from "@ojiepermana/angular/navigation/types";
5
+ export declare class NavigationService {
6
+ private readonly documentRef;
7
+ private readonly persistence;
8
+ private readonly router;
9
+ private readonly urlResolver;
10
+ private readonly routerUrl;
11
+ private readonly states;
12
+ private readonly openPanelKeys;
13
+ private readonly drawerOpenState;
14
+ /** Data mentah per id, dipublikasikan oleh `<Navigation>` agar surface lain (mis. apps-launcher di `Page`) bisa membaca nav by id tanpa mendaftarkan ulang id yang sama. */
15
+ private readonly dataById;
16
+ /** Semua publisher hidup per data id. Publisher terakhir menjadi sumber aktif; cleanup owner lama tidak boleh menghapus publisher baru. */
17
+ private readonly dataPublishers;
18
+ /** Token stabil untuk pemanggil legacy yang tidak mengirim owner. */
19
+ private readonly ownerlessDataPublisher;
20
+ /** id navigasi → token owner instance, untuk menjaga setiap id hanya dipakai satu <Navigation> hidup. */
21
+ private readonly idOwners;
22
+ readonly openPanelKey: Signal<string | null>;
23
+ /** Route aktif yang sudah dinormalisasi untuk consumer dockbar route-aware. */
24
+ readonly routeContext: Signal<NavigationResolvedRouteContext>;
25
+ readonly exactMatchOptions: IsActiveMatchOptions;
26
+ readonly subsetMatchOptions: IsActiveMatchOptions;
27
+ constructor();
28
+ /**
29
+ * Panel eksplisit (klik trigger rail/navbar) adalah state telusur sementara.
30
+ * Perpindahan path harus mengembalikan panel ke resolusi URL: tanpa pelepasan
31
+ * ini, dockbar sticky terkunci pada group lama sampai browser di-refresh,
32
+ * karena `resolveDockbarGroup` memprioritaskan panel key di atas pencocokan
33
+ * URL. Navigasi yang hanya mengubah query/fragment tidak melepas panel agar
34
+ * penelusuran group lain tidak tersentak oleh update background (mis. sort
35
+ * state yang ditulis ke query params).
36
+ */
37
+ private releasePanelsAfterNavigation;
38
+ private urlPath;
39
+ private readRouteContext;
40
+ private optionalString;
41
+ register(input: NavigationRegisterInput$1, owner?: object): NavigationState$1;
42
+ unregister(id: string, owner?: object): void;
43
+ /**
44
+ * Validasi keunikan id navigasi: setiap instance `<Navigation>` wajib memakai id unik.
45
+ * `owner` adalah token unik per instance — klaim ulang oleh owner yang sama (mis. perubahan
46
+ * input) diizinkan, tetapi dua instance hidup dengan id sama dianggap salah konfigurasi dan
47
+ * melempar error di mode dev. Pemanggil tanpa owner (akses langsung service) dilewati.
48
+ */
49
+ private claimId;
50
+ private releaseId;
51
+ state(id: string): Signal<NavigationState$1 | null>;
52
+ currentState(id: string): NavigationState$1 | null;
53
+ /** Data terdaftar untuk sebuah id sebagai signal; `[]` bila belum ada `<Navigation>` dengan id tersebut. */
54
+ data(id: string): Signal<readonly NavigationItem$1[]>;
55
+ /** Dipanggil `<Navigation>` untuk mempublikasikan datanya ke registry by id. */
56
+ publishData(id: string, data: readonly NavigationItem$1[], owner?: object): void;
57
+ /** Dipanggil `<Navigation>` saat destroy untuk melepas datanya dari registry. */
58
+ clearData(id: string, owner?: object): void;
59
+ currentPanelKey(id: string): string | null;
60
+ update(id: string, patch: Partial<NavigationRegisterInput$1>): NavigationState$1;
61
+ setType(id: string, type: NavigationType$1): NavigationState$1;
62
+ setPosition(id: string, position: NavigationPosition$1): NavigationState$1;
63
+ setCollapsed(id: string, collapsed: boolean): NavigationState$1;
64
+ toggleCollapsed(id: string): NavigationState$1;
65
+ setDockbarMode(id: string, mode: NavigationDockbarMode$1): NavigationState$1;
66
+ isRouterItem(item: NavigationNormalizedItem$1): boolean;
67
+ hrefFor(item: NavigationNormalizedItem$1): string | null;
68
+ /**
69
+ * A consumer `rel` is unioned with the safe default rather than replacing it:
70
+ * returning `rel="external"` verbatim on a `_blank` link dropped `noopener`
71
+ * and handed the opened page a live `window.opener`.
72
+ */
73
+ relFor(item: NavigationNormalizedItem$1): string | null;
74
+ routerLinkActiveOptions(item: NavigationNormalizedItem$1): IsActiveMatchOptions;
75
+ itemRole(orientation: NavigationOrientation$1, level: number): 'menuitem' | null;
76
+ compactLabel(item: NavigationNormalizedItem$1, compact: boolean): string | null;
77
+ titleFor(item: NavigationNormalizedItem$1, compact: boolean): string | null;
78
+ compactFallback(item: NavigationNormalizedItem$1): string;
79
+ iconContext(item: NavigationNormalizedItem$1, active: boolean, level: number, orientation: NavigationOrientation$1): NavigationIconContext$1;
80
+ isItemActive(item: NavigationNormalizedItem$1, activeIds: ReadonlySet<string>, explicitActiveUrl: string | null): boolean;
81
+ /**
82
+ * Pencocokan route murni untuk state dockbar berbasis Router. Berbeda dari
83
+ * `isItemActive`, konfigurasi legacy `item.active` dan `activeIds` sengaja
84
+ * tidak ikut menentukan group route aktif.
85
+ */
86
+ isItemRouteActive(item: NavigationNormalizedItem$1, explicitActiveUrl: string | null, relativeTo?: ActivatedRoute | null): boolean;
87
+ private matchesActiveTreeDeep;
88
+ /**
89
+ * The active URL is parsed once per top-level call and handed down the
90
+ * recursion; re-parsing it at every node turned one navigation into hundreds
91
+ * of identical `parseUrl` calls.
92
+ */
93
+ private activeMatch;
94
+ isPanelOpen(item: NavigationNormalizedItem$1): boolean;
95
+ isPanelOpen(navId: string, item: NavigationNormalizedItem$1): boolean;
96
+ openPanel(item: NavigationNormalizedItem$1): void;
97
+ openPanel(navId: string, item: NavigationNormalizedItem$1): void;
98
+ togglePanel(item: NavigationNormalizedItem$1): void;
99
+ togglePanel(navId: string, item: NavigationNormalizedItem$1): void;
100
+ closePanel(id?: string): void;
101
+ dockbarGroups(items: readonly NavigationNormalizedItem$1[]): readonly NavigationNormalizedItem$1[];
102
+ resolveDockbarGroup(id: string, items: readonly NavigationNormalizedItem$1[], mode: NavigationDockbarMode$1, activeIds: ReadonlySet<string>, activeUrl: string | null): NavigationNormalizedItem$1 | null;
103
+ isDrawerOpen(id: string): boolean;
104
+ openDrawer(id: string): void;
105
+ toggleDrawer(id: string): void;
106
+ closeDrawer(id: string): void;
107
+ private matchesActiveTree;
108
+ private withoutKey;
109
+ private resolvePanelArgs;
110
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, never>;
111
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
114
112
  }
115
-
116
- export { NavigationService };
113
+ export type { NavigationDockbarMode, NavigationIconContext, NavigationItem, NavigationLink, NavigationNormalizedItem, NavigationOrientation, NavigationPosition, NavigationRegisterInput, NavigationState, NavigationType };