@ojiepermana/angular 22.2.0 → 22.2.2

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 (129) hide show
  1. package/README.md +18 -7
  2. package/component/icon/README.md +40 -13
  3. package/fesm2022/ojiepermana-angular-chart-area.mjs +3 -3
  4. package/fesm2022/ojiepermana-angular-chart-bar.mjs +5 -5
  5. package/fesm2022/ojiepermana-angular-chart-core.mjs +33 -33
  6. package/fesm2022/ojiepermana-angular-chart-line.mjs +5 -5
  7. package/fesm2022/ojiepermana-angular-chart-pie.mjs +5 -5
  8. package/fesm2022/ojiepermana-angular-chart-primitives.mjs +33 -33
  9. package/fesm2022/ojiepermana-angular-chart-radar.mjs +5 -5
  10. package/fesm2022/ojiepermana-angular-chart-radial.mjs +5 -5
  11. package/fesm2022/ojiepermana-angular-chart-scatter.mjs +3 -3
  12. package/fesm2022/ojiepermana-angular-component-accordion.mjs +17 -17
  13. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +27 -27
  14. package/fesm2022/ojiepermana-angular-component-alert.mjs +12 -12
  15. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +3 -3
  16. package/fesm2022/ojiepermana-angular-component-avatar.mjs +18 -18
  17. package/fesm2022/ojiepermana-angular-component-badge.mjs +9 -9
  18. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +21 -21
  19. package/fesm2022/ojiepermana-angular-component-button-group.mjs +10 -10
  20. package/fesm2022/ojiepermana-angular-component-button.mjs +4 -4
  21. package/fesm2022/ojiepermana-angular-component-calendar.mjs +5 -5
  22. package/fesm2022/ojiepermana-angular-component-card.mjs +27 -24
  23. package/fesm2022/ojiepermana-angular-component-carousel.mjs +18 -18
  24. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +4 -4
  25. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +12 -12
  26. package/fesm2022/ojiepermana-angular-component-combobox.mjs +3 -3
  27. package/fesm2022/ojiepermana-angular-component-command.mjs +28 -28
  28. package/fesm2022/ojiepermana-angular-component-composer.mjs +22 -22
  29. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +3 -3
  30. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +5 -5
  31. package/fesm2022/ojiepermana-angular-component-dialog.mjs +22 -22
  32. package/fesm2022/ojiepermana-angular-component-drawer.mjs +1 -2
  33. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +39 -39
  34. package/fesm2022/ojiepermana-angular-component-editor.mjs +21 -21
  35. package/fesm2022/ojiepermana-angular-component-empty.mjs +19 -19
  36. package/fesm2022/ojiepermana-angular-component-form.mjs +36 -36
  37. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +9 -9
  38. package/fesm2022/ojiepermana-angular-component-icon.mjs +114 -105
  39. package/fesm2022/ojiepermana-angular-component-input-group.mjs +19 -19
  40. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +16 -16
  41. package/fesm2022/ojiepermana-angular-component-input.mjs +6 -6
  42. package/fesm2022/ojiepermana-angular-component-item.mjs +31 -31
  43. package/fesm2022/ojiepermana-angular-component-kanban.mjs +29 -29
  44. package/fesm2022/ojiepermana-angular-component-kbd.mjs +7 -7
  45. package/fesm2022/ojiepermana-angular-component-label.mjs +3 -3
  46. package/fesm2022/ojiepermana-angular-component-menubar.mjs +13 -13
  47. package/fesm2022/ojiepermana-angular-component-native-select.mjs +14 -14
  48. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +21 -21
  49. package/fesm2022/ojiepermana-angular-component-pagination.mjs +3 -3
  50. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +16 -16
  51. package/fesm2022/ojiepermana-angular-component-popover.mjs +6 -6
  52. package/fesm2022/ojiepermana-angular-component-progress.mjs +3 -3
  53. package/fesm2022/ojiepermana-angular-component-radio.mjs +7 -7
  54. package/fesm2022/ojiepermana-angular-component-resizable.mjs +12 -12
  55. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +3 -3
  56. package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +6 -8
  57. package/fesm2022/ojiepermana-angular-component-select.mjs +8 -8
  58. package/fesm2022/ojiepermana-angular-component-separator.mjs +3 -3
  59. package/fesm2022/ojiepermana-angular-component-sheet.mjs +41 -28
  60. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +3 -3
  61. package/fesm2022/ojiepermana-angular-component-slider.mjs +10 -10
  62. package/fesm2022/ojiepermana-angular-component-spinner.mjs +3 -3
  63. package/fesm2022/ojiepermana-angular-component-switch.mjs +4 -4
  64. package/fesm2022/ojiepermana-angular-component-table.mjs +24 -24
  65. package/fesm2022/ojiepermana-angular-component-tabs.mjs +18 -18
  66. package/fesm2022/ojiepermana-angular-component-textarea.mjs +6 -6
  67. package/fesm2022/ojiepermana-angular-component-timeline.mjs +19 -19
  68. package/fesm2022/ojiepermana-angular-component-toast.mjs +5 -5
  69. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +9 -9
  70. package/fesm2022/ojiepermana-angular-component-toggle.mjs +5 -5
  71. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +15 -15
  72. package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +3 -3
  73. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +3 -3
  74. package/fesm2022/{ojiepermana-angular-navigation-navigation-badge-count.component-BKCeWzml.mjs → ojiepermana-angular-navigation-navigation-badge-count.component-4RIokl1C.mjs} +3 -3
  75. package/fesm2022/{ojiepermana-angular-navigation-navigation-dockbar-menu.component-DFEJK2jD.mjs → ojiepermana-angular-navigation-navigation-dockbar-menu.component-CGfu2V6f.mjs} +23 -15
  76. package/fesm2022/{ojiepermana-angular-navigation-navigation-entry-grid.component-mpK9Ar08.mjs → ojiepermana-angular-navigation-navigation-entry-grid.component-zBCXDa4c.mjs} +38 -66
  77. package/fesm2022/{ojiepermana-angular-navigation-navigation-flyout-menu.component-BPgH7FJk.mjs → ojiepermana-angular-navigation-navigation-flyout-menu.component-DYkYIIHd.mjs} +14 -13
  78. package/fesm2022/{ojiepermana-angular-navigation-navigation-horizontal.component-DMpYcD9t.mjs → ojiepermana-angular-navigation-navigation-horizontal.component-LNTertHr.mjs} +5 -5
  79. package/fesm2022/{ojiepermana-angular-navigation-navigation-item.component-Basp5SIk.mjs → ojiepermana-angular-navigation-navigation-item.component-DiGOcizS.mjs} +42 -52
  80. package/fesm2022/{ojiepermana-angular-navigation-navigation-list.component-YUzHI9Pj.mjs → ojiepermana-angular-navigation-navigation-list.component-DB22Gl-5.mjs} +22 -6
  81. package/fesm2022/ojiepermana-angular-navigation-service.mjs +16 -6
  82. package/fesm2022/ojiepermana-angular-navigation-types.mjs +113 -1
  83. package/fesm2022/ojiepermana-angular-navigation.mjs +304 -93
  84. package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +137 -72
  85. package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +6 -6
  86. package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +265 -49
  87. package/fesm2022/ojiepermana-angular-theme-layout.mjs +30 -30
  88. package/fesm2022/ojiepermana-angular-theme-page-core.mjs +3 -3
  89. package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +7 -7
  90. package/fesm2022/ojiepermana-angular-theme-page-overview.mjs +3 -3
  91. package/fesm2022/ojiepermana-angular-theme-page-root.mjs +8 -6
  92. package/fesm2022/ojiepermana-angular-theme-page-side.mjs +7 -7
  93. package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +12 -12
  94. package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +3 -3
  95. package/fesm2022/ojiepermana-angular-theme-shell.mjs +16 -12
  96. package/fesm2022/ojiepermana-angular-theme-styles.mjs +17 -33
  97. package/navigation/README.md +70 -19
  98. package/package.json +3 -2
  99. package/theme/README.md +4 -10
  100. package/theme/page/README.md +2 -0
  101. package/theme/shell/README.md +5 -1
  102. package/theme/styles/README.md +32 -8
  103. package/theme/styles/css/base/components.css +13 -9
  104. package/theme/styles/css/base/tailwind.css +43 -0
  105. package/theme/styles/css/base/theme.css +4 -25
  106. package/theme/styles/css/base/tokens.css +21 -0
  107. package/theme/styles/css/fonts.css +85 -0
  108. package/types/ojiepermana-angular-chart-radar.d.ts +2 -1
  109. package/types/ojiepermana-angular-component-avatar.d.ts +2 -1
  110. package/types/ojiepermana-angular-component-calendar.d.ts +2 -1
  111. package/types/ojiepermana-angular-component-card.d.ts +7 -2
  112. package/types/ojiepermana-angular-component-command.d.ts +1 -1
  113. package/types/ojiepermana-angular-component-editor.d.ts +2 -1
  114. package/types/ojiepermana-angular-component-icon.d.ts +64 -79
  115. package/types/ojiepermana-angular-component-input-otp.d.ts +2 -1
  116. package/types/ojiepermana-angular-component-pillbox.d.ts +2 -1
  117. package/types/ojiepermana-angular-component-radio.d.ts +2 -1
  118. package/types/ojiepermana-angular-component-resizable.d.ts +2 -1
  119. package/types/ojiepermana-angular-component-segmented-control.d.ts +1 -1
  120. package/types/ojiepermana-angular-component-select.d.ts +2 -1
  121. package/types/ojiepermana-angular-navigation-service.d.ts +8 -0
  122. package/types/ojiepermana-angular-navigation-types.d.ts +48 -3
  123. package/types/ojiepermana-angular-navigation.d.ts +59 -8
  124. package/types/ojiepermana-angular-theme-component-settings.d.ts +5 -3
  125. package/types/ojiepermana-angular-theme-layout-services.d.ts +2 -1
  126. package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +52 -4
  127. package/types/ojiepermana-angular-theme-page-root.d.ts +1 -1
  128. package/types/ojiepermana-angular-theme-shell-services.d.ts +2 -1
  129. package/types/ojiepermana-angular-theme-styles.d.ts +0 -12
@@ -1,11 +1,12 @@
1
1
  import { NavigationIconDirective, NavigationIconDirective as NavigationIconDirective$1 } from "@ojiepermana/angular/navigation/icon";
2
2
  import * as i0 from "@angular/core";
3
3
  import { InjectionToken, Signal, TemplateRef } from "@angular/core";
4
- import { NAVIGATION_DOCKBAR_FALLBACK_ICON, NavigationActionHandler, NavigationAppearance, NavigationAppearance as NavigationAppearance$1, NavigationBadgeAriaLabel, NavigationBadgeContext, NavigationBadgeContext as NavigationBadgeContext$1, NavigationBadgeCount, NavigationBadgeSource, NavigationBadgeSource as NavigationBadgeSource$1, NavigationBadgeValueSource, NavigationCollapseTree, NavigationCollapseTree as NavigationCollapseTree$1, NavigationDockbarMode, NavigationDockbarMode as NavigationDockbarMode$1, NavigationDockbarRouteConfig, NavigationDockbarRouteContext, NavigationDockbarRouteContext as NavigationDockbarRouteContext$1, NavigationFlyoutIconPosition, NavigationFlyoutIconPosition as NavigationFlyoutIconPosition$1, NavigationFlyoutTriggerVariant, NavigationFlyoutTriggerVariant as NavigationFlyoutTriggerVariant$1, NavigationHorizontalPosition, NavigationHorizontalPosition as NavigationHorizontalPosition$1, NavigationHorizontalType, NavigationIconContext, NavigationIconContext as NavigationIconContext$1, NavigationItem, NavigationItem as NavigationItem$1, NavigationItemBadge, NavigationItemClasses, NavigationItemType, NavigationLink, NavigationNormalizedItem, NavigationNormalizedItem as NavigationNormalizedItem$1, NavigationNormalizedItemType, NavigationOrientation, NavigationOrientation as NavigationOrientation$1, NavigationPosition, NavigationPosition as NavigationPosition$1, NavigationRegisterInput, NavigationResolvedRouteContext, NavigationResolvedRouteContext as NavigationResolvedRouteContext$1, NavigationRouteData, NavigationSelection, NavigationSelection as NavigationSelection$1, NavigationState, NavigationState as NavigationState$1, NavigationType, NavigationType as NavigationType$1, NavigationVerticalPosition, NavigationVerticalPosition as NavigationVerticalPosition$1, NavigationVerticalType, NavigationVisibilityHandler, formatNavigationBadgeCount, normalizeUiNavItems } from "@ojiepermana/angular/navigation/types";
4
+ import { NAVIGATION_DOCKBAR_FALLBACK_ICON, NavigationActionHandler, NavigationAppearance, NavigationAppearance as NavigationAppearance$1, NavigationBadgeAriaLabel, NavigationBadgeContext, NavigationBadgeContext as NavigationBadgeContext$1, NavigationBadgeCount, NavigationBadgeSource, NavigationBadgeSource as NavigationBadgeSource$1, NavigationBadgeValueSource, NavigationCollapseTree, NavigationCollapseTree as NavigationCollapseTree$1, NavigationDockbarMode, NavigationDockbarMode as NavigationDockbarMode$1, NavigationDockbarRouteConfig, NavigationDockbarRouteContext, NavigationDockbarRouteContext as NavigationDockbarRouteContext$1, NavigationFlyoutIconPosition, NavigationFlyoutIconPosition as NavigationFlyoutIconPosition$1, NavigationFlyoutTriggerVariant, NavigationFlyoutTriggerVariant as NavigationFlyoutTriggerVariant$1, NavigationHorizontalPosition, NavigationHorizontalPosition as NavigationHorizontalPosition$1, NavigationHorizontalType, NavigationIconContext, NavigationIconContext as NavigationIconContext$1, NavigationItem, NavigationItem as NavigationItem$1, NavigationItemBadge, NavigationItemClasses, NavigationItemType, NavigationLink, NavigationNormalizedItem, NavigationNormalizedItem as NavigationNormalizedItem$1, NavigationNormalizedItemType, NavigationOrientation, NavigationOrientation as NavigationOrientation$1, NavigationPosition, NavigationPosition as NavigationPosition$1, NavigationRegisterInput, NavigationResolvedRouteContext, NavigationResolvedRouteContext as NavigationResolvedRouteContext$1, NavigationRouteData, NavigationSelection, NavigationSelection as NavigationSelection$1, NavigationState, NavigationState as NavigationState$1, NavigationType, NavigationType as NavigationType$1, NavigationVerticalPosition, NavigationVerticalPosition as NavigationVerticalPosition$1, NavigationVerticalType, NavigationVisibilityHandler, formatNavigationBadgeCount, normalizeUiNavItems, toMinidockItems } from "@ojiepermana/angular/navigation/types";
5
5
  export * from "@ojiepermana/angular/navigation/core";
6
6
  /**
7
7
  * Konfigurasi yang didaftarkan komponen type (`<NavigationSidebar>`,
8
- * `<NavigationDockbar>`, `<NavigationNavbar>`, `<NavigationFlyout>`) ke
8
+ * `<NavigationDockbar>`, `<NavigationMinidock>`, `<NavigationNavbar>`,
9
+ * `<NavigationFlyout>`) ke
9
10
  * `<Navigation>` induknya. Satu `<Navigation>` hanya boleh memuat satu
10
11
  * type hidup pada satu waktu.
11
12
  */
@@ -26,7 +27,7 @@ export interface NavigationTypeConfig {
26
27
  readonly previewExpanded?: Signal<boolean>;
27
28
  readonly typeStyle?: Signal<NavigationAppearance$1>;
28
29
  readonly flyoutLabel?: Signal<string>;
29
- /** Nama Material Symbols untuk trigger flyout; `null` = tanpa ikon (label saja). */
30
+ /** Nama ikon Lucide untuk trigger flyout; `null` = tanpa ikon (label saja). */
30
31
  readonly flyoutIcon?: Signal<string | null>;
31
32
  /** Trigger flyout hanya ikon — label pindah ke aria-label/title. */
32
33
  readonly flyoutIconOnly?: Signal<boolean>;
@@ -102,6 +103,12 @@ export declare class NavigationContainerComponent implements NavigationShellCont
102
103
  * pointer hovering the rail.
103
104
  */
104
105
  private readonly focusPreviewExpanded;
106
+ /**
107
+ * Width and transform snap until the first user input. Restoring a persisted
108
+ * or route-context state on load then never animates the rail open while the
109
+ * absolutely positioned dockbar panel already covers the content.
110
+ */
111
+ protected readonly motionArmed: import("@angular/core").WritableSignal<boolean>;
105
112
  /** Konfigurasi type aktif yang didaftarkan wrapper anak (sidebar/dockbar/navbar/flyout). */
106
113
  private readonly typeConfig;
107
114
  private readonly orientationPreference;
@@ -138,6 +145,8 @@ export declare class NavigationContainerComponent implements NavigationShellCont
138
145
  readonly dockbarActiveRoutePanelGroup: import("@angular/core").Signal<NavigationNormalizedItem$1 | null>;
139
146
  readonly dockbarRouteHeader: import("@angular/core").Signal<NavigationDockbarRouteHeaderState | null>;
140
147
  readonly dockbarRailItems: import("@angular/core").Signal<readonly NavigationNormalizedItem$1[]>;
148
+ /** Item rel minidock: divider di tepi atau berurutan (sesudah item tersembunyi hilang) dibuang. */
149
+ readonly minidockRailItems: import("@angular/core").Signal<NavigationNormalizedItem$1[]>;
141
150
  readonly dockbarAsideId: import("@angular/core").Signal<string>;
142
151
  readonly dockbarOpenGroup: import("@angular/core").Signal<NavigationNormalizedItem$1 | null>;
143
152
  readonly dockbarActiveRoutePanelExpanded: import("@angular/core").Signal<boolean>;
@@ -151,6 +160,7 @@ export declare class NavigationContainerComponent implements NavigationShellCont
151
160
  readonly state: import("@angular/core").Signal<import("@ojiepermana/angular/navigation").NavigationState>;
152
161
  readonly resolvedDataId: import("@angular/core").Signal<string>;
153
162
  protected readonly hostClasses: import("@angular/core").Signal<string>;
163
+ protected armMotion(): void;
154
164
  constructor();
155
165
  /**
156
166
  * Dipanggil komponen type saat dibuat. Satu `<Navigation>` hanya boleh
@@ -287,7 +297,7 @@ export declare class NavigationHeaderComponent {
287
297
  */
288
298
  protected readonly showToggle: import("@angular/core").Signal<boolean>;
289
299
  protected readonly toggleAriaLabel: import("@angular/core").Signal<"Expand navigation" | "Collapse navigation">;
290
- protected readonly toggleIconName: import("@angular/core").Signal<"left_panel_open" | "left_panel_close">;
300
+ protected readonly toggleIconName: import("@angular/core").Signal<"panel-left-open" | "panel-left-close">;
291
301
  /**
292
302
  * Baris isi header. Saat collapsed/dockbar (vertical) isi (inisial/ikon) dipusatkan di tengah
293
303
  * rail agar simetris dengan ikon nav-item di bawahnya (yang juga center di rail); selain itu kiri
@@ -435,6 +445,47 @@ export declare class NavigationDockbarComponent {
435
445
  };
436
446
  }, {}, ["headerSlot", "contentSlot", "footerSlot", "asideFooterSlot"], ["NavigationHeader", "NavigationContent", "NavigationFooter"], true, never>;
437
447
  }
448
+ /**
449
+ * Type vertikal minidock untuk `<Navigation>`: rel ikon permanen yang tampil sama
450
+ * dengan sidebar collapsed, tetapi tidak pernah melebar (tanpa toggle, hover
451
+ * preview, atau focus preview).
452
+ *
453
+ * Data hanya boleh berisi item `basic`, `item`, tanpa type, `divider`, dan
454
+ * `spacer`, tanpa children. Data lain melempar `Error` di dev dan production;
455
+ * ratakan data bergroup dulu dengan `toMinidockItems()`.
456
+ *
457
+ * Slot `NavigationHeader` dan `NavigationFooter` opsional; `NavigationContent`
458
+ * selalu dirender (default otomatis bila tidak diproyeksikan).
459
+ */
460
+ export declare class NavigationMinidockComponent {
461
+ private readonly container;
462
+ private readonly destroyRef;
463
+ readonly position: import("@angular/core").InputSignal<NavigationVerticalPosition$1 | null>;
464
+ readonly class: import("@angular/core").InputSignal<string>;
465
+ protected readonly headerSlot: import("@angular/core").Signal<NavigationHeaderComponent | undefined>;
466
+ protected readonly contentSlot: import("@angular/core").Signal<NavigationContentComponent | undefined>;
467
+ protected readonly footerSlot: import("@angular/core").Signal<NavigationFooterComponent | undefined>;
468
+ /**
469
+ * Validasi data mentah. Dibaca template, jadi data yang berubah divalidasi ulang
470
+ * dan error yang dilempar sampai ke `ErrorHandler` Angular saat change detection.
471
+ */
472
+ protected readonly dataValidated: import("@angular/core").Signal<boolean>;
473
+ protected readonly hostClasses: import("@angular/core").Signal<string>;
474
+ constructor();
475
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavigationMinidockComponent, never>;
476
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavigationMinidockComponent, "NavigationMinidock", never, {
477
+ "position": {
478
+ "alias": "position";
479
+ "required": false;
480
+ "isSignal": true;
481
+ };
482
+ "class": {
483
+ "alias": "class";
484
+ "required": false;
485
+ "isSignal": true;
486
+ };
487
+ }, {}, ["headerSlot", "contentSlot", "footerSlot"], ["NavigationHeader", "NavigationContent", "NavigationFooter"], true, never>;
488
+ }
438
489
  /**
439
490
  * Type navbar horizontal untuk `<Navigation>`. Slot `NavigationHeader`
440
491
  * dan `NavigationFooter` opsional; `NavigationContent` selalu dirender
@@ -480,7 +531,7 @@ export declare class NavigationFlyoutComponent {
480
531
  private readonly container;
481
532
  private readonly destroyRef;
482
533
  readonly label: import("@angular/core").InputSignal<string>;
483
- /** Nama Material Symbols untuk trigger (mis. `apps`, `menu`); `null` = label saja. */
534
+ /** Nama ikon Lucide untuk trigger (mis. `grip`, `menu`); `null` = label saja. */
484
535
  readonly icon: import("@angular/core").InputSignal<string | null>;
485
536
  /** Trigger hanya menampilkan ikon; label tetap dipakai sebagai aria-label/title. */
486
537
  readonly iconOnly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
@@ -621,7 +672,7 @@ export declare class NavigationFooterActionComponent {
621
672
  * Blok avatar/inisial untuk slot `NavigationFooter` (profil user). Sama seperti
622
673
  * `NavigationHeaderInitial` dengan bentuk identitas yang seragam (rounded-md).
623
674
  * Consumer cukup memberi `name`; inisial diturunkan otomatis. Beri `src` untuk
624
- * foto, `icon` untuk material symbol, atau `initials` untuk override.
675
+ * foto, `icon` untuk nama ikon Lucide, atau `initials` untuk override.
625
676
  *
626
677
  * Tetap tampil saat sidebar collapsed; pasangannya `NavigationFooterTitle` yang
627
678
  * menyembunyikan diri.
@@ -698,7 +749,7 @@ export declare class NavigationFooterTitleComponent {
698
749
  /**
699
750
  * Blok avatar/inisial untuk slot `NavigationHeader` (brand/logo). Consumer cukup
700
751
  * memberi `name`; inisial diturunkan otomatis ("Ojie Permana" → "OP"). Beri `src`
701
- * untuk gambar, `icon` (material symbol) sebagai ganti inisial, atau `initials`
752
+ * untuk gambar, `icon` (nama ikon Lucide) sebagai ganti inisial, atau `initials`
702
753
  * untuk override manual.
703
754
  *
704
755
  * Selalu tampil baik saat sidebar expanded maupun collapsed karena ukurannya muat
@@ -793,4 +844,4 @@ export declare class NavigationHeaderTitleComponent {
793
844
  * memakai dua huruf pertamanya.
794
845
  */
795
846
  export declare function deriveNavigationInitials(name: string): string;
796
- export { NAVIGATION_DOCKBAR_FALLBACK_ICON, type NavigationActionHandler, type NavigationAppearance, type NavigationBadgeAriaLabel, type NavigationBadgeContext, type NavigationBadgeCount, type NavigationBadgeSource, type NavigationBadgeValueSource, type NavigationCollapseTree, type NavigationDockbarMode, type NavigationDockbarRouteConfig, type NavigationDockbarRouteContext, type NavigationFlyoutIconPosition, type NavigationFlyoutTriggerVariant, type NavigationHorizontalPosition, type NavigationHorizontalType, type NavigationIconContext, NavigationIconDirective, type NavigationItem, type NavigationItemBadge, type NavigationItemClasses, type NavigationItemType, type NavigationLink, type NavigationNormalizedItem, type NavigationNormalizedItemType, type NavigationOrientation, type NavigationPosition, type NavigationRegisterInput, type NavigationResolvedRouteContext, type NavigationRouteData, type NavigationSelection, type NavigationState, type NavigationType, type NavigationVerticalPosition, type NavigationVerticalType, type NavigationVisibilityHandler, formatNavigationBadgeCount, normalizeUiNavItems };
847
+ export { NAVIGATION_DOCKBAR_FALLBACK_ICON, type NavigationActionHandler, type NavigationAppearance, type NavigationBadgeAriaLabel, type NavigationBadgeContext, type NavigationBadgeCount, type NavigationBadgeSource, type NavigationBadgeValueSource, type NavigationCollapseTree, type NavigationDockbarMode, type NavigationDockbarRouteConfig, type NavigationDockbarRouteContext, type NavigationFlyoutIconPosition, type NavigationFlyoutTriggerVariant, type NavigationHorizontalPosition, type NavigationHorizontalType, type NavigationIconContext, NavigationIconDirective, type NavigationItem, type NavigationItemBadge, type NavigationItemClasses, type NavigationItemType, type NavigationLink, type NavigationNormalizedItem, type NavigationNormalizedItemType, type NavigationOrientation, type NavigationPosition, type NavigationRegisterInput, type NavigationResolvedRouteContext, type NavigationRouteData, type NavigationSelection, type NavigationState, type NavigationType, type NavigationVerticalPosition, type NavigationVerticalType, type NavigationVisibilityHandler, formatNavigationBadgeCount, normalizeUiNavItems, toMinidockItems };
@@ -74,7 +74,8 @@ export declare class ThemeSettingsComponent {
74
74
  type ThemeSettingsNavigationType = NavigationType | 'desktop';
75
75
  /**
76
76
  * The presentation modes meaningful to the currently selected navigation type.
77
- * Sidebar uses `default`/`collapsed`; dockbar uses `default` (sticky) / `drawer`.
77
+ * Sidebar uses `default`/`collapsed`; dockbar uses `default` (sticky) / `drawer`;
78
+ * minidock is always compact and only has `default`.
78
79
  */
79
80
  type ThemeSettingsNavigationMode = 'default' | 'collapsed' | 'drawer';
80
81
  /**
@@ -104,14 +105,15 @@ export declare const NAV_TYPE_STORAGE_KEY = "nav-type";
104
105
  export declare const NAV_TYPE_MODE_STORAGE_KEY = "nav-type-mode";
105
106
  /**
106
107
  * Nav types valid for a layout/shell pair — mirrors `LayoutWrapperDefault`
107
- * (`navbar`/`flyout` → web horizontal, `sidebar`/`dockbar` → vertical).
108
+ * (`navbar`/`flyout` → web horizontal, `sidebar`/`dockbar`/`minidock` → vertical).
108
109
  * A desktop-mode horizontal shell owns exactly one navigation shape: `desktop`.
109
110
  * `empty` and `fluid` shells are brand-only, so no nav type applies.
110
111
  */
111
112
  export declare function allowedNavTypes(layoutType: LayoutType, shellMode: ShellMode): readonly ThemeSettingsNavigationType[];
112
113
  /**
113
114
  * Presentation modes meaningful to a navigation type: sidebar collapses, dockbar
114
- * turns into a drawer, and every other type has one presentation only.
115
+ * turns into a drawer, and every other type (minidock included, it is always
116
+ * compact) has one presentation only.
115
117
  */
116
118
  export declare function allowedNavTypeModes(navType: ThemeSettingsNavigationType): readonly ThemeSettingsNavigationMode[];
117
119
  /** `fluid` width only has an effect when the layout type is also `fluid`. */
@@ -139,4 +139,5 @@ export declare const LAYOUT_LOADING_SKIP: HttpContextToken<boolean>;
139
139
  * Interceptor that lights the `LayoutLoading` progress line while an HTTP
140
140
  * request is in flight. Register it through `withInterceptors([...])`.
141
141
  */
142
- export declare const layoutLoadingInterceptor: HttpInterceptorFn;
142
+ export declare const layoutLoadingInterceptor: HttpInterceptorFn;
143
+ export {};
@@ -10,7 +10,7 @@ import { NavigationDockbarRouteContext as NavigationDockbarRouteContext$1, Navig
10
10
  export interface BrandIdentity {
11
11
  /** Name behind the initials and the accessible name in the header slot. */
12
12
  readonly name: string;
13
- /** Material symbol used as the logo; `null` falls back to initials from `name`. */
13
+ /** Lucide icon name used as the logo; `null` falls back to initials from `name`. */
14
14
  readonly icon: string | null;
15
15
  /** Judul brand. */
16
16
  readonly title: string;
@@ -90,7 +90,7 @@ export declare class LayoutUser {
90
90
  readonly detailed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
91
91
  /** Accessible name for the logout button. */
92
92
  readonly logoutLabel: import("@angular/core").InputSignal<string>;
93
- /** Material symbol for the logout button. */
93
+ /** Lucide icon name for the logout button; register a custom one with `provideIcons()`. */
94
94
  readonly logoutIcon: import("@angular/core").InputSignal<string>;
95
95
  /** The user pressed logout. The effect is the consumer's; the library does not navigate. */
96
96
  readonly logout: import("@angular/core").OutputEmitterRef<void>;
@@ -241,6 +241,46 @@ export declare class LayoutNavDockbar {
241
241
  "logout": "logout";
242
242
  }, never, never, true, never>;
243
243
  }
244
+ /**
245
+ * Nav type: a permanent vertical icon rail (minidock). It is composed exactly like
246
+ * {@link LayoutNavSidebar}, brand in the header and user identity in the footer, and
247
+ * renders the same way a collapsed sidebar does, but it never expands.
248
+ *
249
+ * The rail only accepts flat data, so `LayoutWrapperDefault` hands it
250
+ * `toMinidockItems(data())`. See {@link LayoutNavSidebar} for why
251
+ * `host.class = 'contents'` and for the header and footer borders.
252
+ */
253
+ export declare class LayoutNavMinidock {
254
+ readonly brand: import("@angular/core").InputSignal<BrandIdentity>;
255
+ readonly user: import("@angular/core").InputSignal<UserIdentity>;
256
+ /** Appearance from the shell (`[appearance]`); decides the separator border weight. */
257
+ readonly appearance: import("@angular/core").InputSignal<"flat" | "border-rail">;
258
+ /** Forwarded from `<LayoutUser>`; the effect is the consumer's. */
259
+ readonly logout: import("@angular/core").OutputEmitterRef<void>;
260
+ protected readonly isBorderRail: import("@angular/core").Signal<boolean>;
261
+ /** Border kanan pemisah; ketebalan ikut appearance: `border-rail` = `--layout-rail-width` (selaras rail layout), `flat` 1px. */
262
+ protected readonly shellClass: import("@angular/core").Signal<"border-r-[length:var(--layout-rail-width)] border-border" | "border-r border-border">;
263
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutNavMinidock, never>;
264
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutNavMinidock, "LayoutNavMinidock", never, {
265
+ "brand": {
266
+ "alias": "brand";
267
+ "required": true;
268
+ "isSignal": true;
269
+ };
270
+ "user": {
271
+ "alias": "user";
272
+ "required": true;
273
+ "isSignal": true;
274
+ };
275
+ "appearance": {
276
+ "alias": "appearance";
277
+ "required": false;
278
+ "isSignal": true;
279
+ };
280
+ }, {
281
+ "logout": "logout";
282
+ }, never, never, true, never>;
283
+ }
244
284
  /**
245
285
  * Nav type: a top bar with inline items (navbar, horizontal). `appearance` follows the
246
286
  * shell (`flat | border-rail`). See {@link LayoutNavSidebar} for why
@@ -385,7 +425,7 @@ export declare class LayoutWrapperDefault {
385
425
  readonly closeMobileNavLabel: import("@angular/core").InputSignal<string>;
386
426
  /**
387
427
  * 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
428
+ * shows the user identity (`sidebar`, `dockbar`, `minidock`, `navbar`, `flyout`), the mobile drawer
389
429
  * included, so one binding covers all of them. The library calls no endpoint and performs
390
430
  * no navigation; what happens next is entirely the consumer's.
391
431
  */
@@ -393,6 +433,7 @@ export declare class LayoutWrapperDefault {
393
433
  private readonly identity;
394
434
  private readonly navigation;
395
435
  private readonly desktopNavigationDataOwner;
436
+ private readonly minidockMainDataOwner;
396
437
  private readonly document;
397
438
  protected readonly mobileNavTriggerRef: import("@angular/core").Signal<ElementRef<HTMLElement> | undefined>;
398
439
  constructor();
@@ -405,6 +446,12 @@ export declare class LayoutWrapperDefault {
405
446
  protected readonly effectiveLayoutType: import("@angular/core").Signal<"fluid" | "vertical" | "horizontal" | "empty">;
406
447
  /** Tipe nav di dalam `#body`: `empty`/`fluid` → `brand` (header-only); selain itu `nav-type`. */
407
448
  protected readonly navKind: import("@angular/core").Signal<NavKind>;
449
+ /** Minidock only accepts flat data, so grouped data is flattened before it reaches the rail. */
450
+ private readonly minidockData;
451
+ /** Data id of the desktop `<Navigation>`; its state id stays `main` for persistence. */
452
+ protected readonly desktopDataId: import("@angular/core").Signal<"main" | "main-minidock">;
453
+ /** Data of the desktop `<Navigation>`: flattened for minidock, unfiltered for every other type. */
454
+ protected readonly desktopData: import("@angular/core").Signal<readonly NavigationItem[]>;
408
455
  /** Lebar host `<Navigation>`: penuh-tinggi (vertical) atau penuh-lebar (horizontal). */
409
456
  protected readonly navClass: import("@angular/core").Signal<"w-full" | "h-full">;
410
457
  protected readonly showsMobileNavigation: import("@angular/core").Signal<boolean>;
@@ -508,4 +555,5 @@ export declare class LayoutWrapperDefault {
508
555
  "mobileNavOpen": "mobile-nav-openChange";
509
556
  "logout": "logout";
510
557
  }, never, ["*"], true, never>;
511
- }
558
+ }
559
+ export {};
@@ -32,7 +32,7 @@ export declare class PageComponent {
32
32
  readonly appsLauncher: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
33
33
  /** Id of the navigation the apps launcher surfaces (`main` by default). */
34
34
  readonly appsNavId: import("@angular/core").InputSignal<string>;
35
- /** Material symbol for the apps launcher button. */
35
+ /** Lucide icon name for the apps launcher button. */
36
36
  readonly appsIcon: import("@angular/core").InputSignal<string>;
37
37
  /** Label and `aria-label` for the icon-only apps launcher button. */
38
38
  readonly appsLabel: import("@angular/core").InputSignal<string>;
@@ -184,4 +184,5 @@ export declare class ShellService {
184
184
  private storedFrame;
185
185
  static ɵfac: i0.ɵɵFactoryDeclaration<ShellService, never>;
186
186
  static ɵprov: i0.ɵɵInjectableDeclaration<any>;
187
- }
187
+ }
188
+ export {};
@@ -267,17 +267,6 @@ export declare class ThemeSpaceService {
267
267
  static ɵfac: i0.ɵɵFactoryDeclaration<ThemeSpaceService, never>;
268
268
  static ɵprov: i0.ɵɵInjectableDeclaration<any>;
269
269
  }
270
- export interface ThemeIconOptions {
271
- /**
272
- * Load the Material Symbols icon font from Google Fonts at startup.
273
- *
274
- * Default: `false` (opt-in). Left off, `provideUiTheme()` makes no external
275
- * network request — better for privacy, offline, and strict CSP. Set to
276
- * `true` to fetch `https://fonts.googleapis.com/css2`, or self-host the font
277
- * and import it in your own stylesheet instead.
278
- */
279
- readonly materialSymbols?: boolean;
280
- }
281
270
  /** Consumer brand color. HSL triplets `H S% L%` consumed by `hsl(var(--brand))`. */
282
271
  export interface ThemeBrandOptions {
283
272
  /** Brand color, e.g. `'221 83% 53%'`. */
@@ -301,7 +290,6 @@ export interface ThemeOptions {
301
290
  * changes (ThemeBrandService.setBrand) win over this default.
302
291
  */
303
292
  readonly brand?: string | ThemeBrandOptions;
304
- readonly icons?: ThemeIconOptions;
305
293
  }
306
294
  export declare const THEME_OPTIONS: InjectionToken<Readonly<ThemeOptions>>;
307
295
  export declare function provideUiTheme(options?: ThemeOptions): EnvironmentProviders;