@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,12 +1,14 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import { Component, Service, booleanAttribute, computed, effect, inject, input, model, output, signal, viewChild } from "@angular/core";
3
- import { NavigationAsideFooterDirective, NavigationContainerComponent, NavigationDockbarComponent, NavigationFlyoutComponent, NavigationFooterActionComponent, NavigationFooterComponent, NavigationFooterInitialComponent, NavigationFooterTitleComponent, NavigationHeaderComponent, NavigationHeaderInitialComponent, NavigationHeaderTitleComponent, NavigationNavbarComponent, NavigationSidebarComponent } from "@ojiepermana/angular/navigation";
4
- import { IconComponent } from "@ojiepermana/angular/component/icon";
3
+ import { NavigationAsideFooterDirective, NavigationContainerComponent, NavigationDockbarComponent, NavigationFlyoutComponent, NavigationFooterActionComponent, NavigationFooterComponent, NavigationFooterInitialComponent, NavigationFooterTitleComponent, NavigationHeaderComponent, NavigationHeaderInitialComponent, NavigationHeaderTitleComponent, NavigationMinidockComponent, NavigationNavbarComponent, NavigationSidebarComponent } from "@ojiepermana/angular/navigation";
4
+ import { LucideGrip, LucideLogOut } from "@lucide/angular";
5
+ import { IconComponent, provideIcons } from "@ojiepermana/angular/component/icon";
5
6
  import { ThemeSettingsComponent } from "@ojiepermana/angular/theme/component/settings";
6
7
  import { DOCUMENT, NgTemplateOutlet } from "@angular/common";
7
8
  import { cn } from "@ojiepermana/angular/component/utils/core";
8
9
  import { LayoutComponent, LayoutContentComponent, LayoutEmptyComponent, LayoutFluidComponent, LayoutHorizontalComponent, LayoutNavigationComponent, LayoutVerticalComponent } from "@ojiepermana/angular/theme/layout";
9
10
  import { LAYOUT_DEFAULT_APPEARANCE, LAYOUT_DEFAULT_SURFACE, LAYOUT_DEFAULT_TYPE, LAYOUT_DEFAULT_WIDTH } from "@ojiepermana/angular/theme/layout/types";
11
+ import { toMinidockItems } from "@ojiepermana/angular/navigation/types";
10
12
  import { NAVIGATION_ADAPTER } from "@ojiepermana/angular/navigation/core";
11
13
  const LAYOUT_DESKTOP_NAVIGATION_DATA_ID = "__layout-desktop-navigation";
12
14
  var LayoutIdentityService = class LayoutIdentityService {
@@ -22,7 +24,7 @@ var LayoutIdentityService = class LayoutIdentityService {
22
24
  }
23
25
  static ɵfac = i0.ɵɵngDeclareFactory({
24
26
  minVersion: "12.0.0",
25
- version: "22.2.0",
27
+ version: "22.2.3",
26
28
  ngImport: i0,
27
29
  type: LayoutIdentityService,
28
30
  deps: [],
@@ -30,14 +32,14 @@ var LayoutIdentityService = class LayoutIdentityService {
30
32
  });
31
33
  static ɵprov = i0.ɵɵngDeclareService({
32
34
  minVersion: "22.0.0",
33
- version: "22.2.0",
35
+ version: "22.2.3",
34
36
  ngImport: i0,
35
37
  type: LayoutIdentityService
36
38
  });
37
39
  };
38
40
  i0.ɵɵngDeclareClassMetadata({
39
41
  minVersion: "12.0.0",
40
- version: "22.2.0",
42
+ version: "22.2.3",
41
43
  ngImport: i0,
42
44
  type: LayoutIdentityService,
43
45
  decorators: [{ type: Service }]
@@ -50,7 +52,7 @@ var LayoutBrand = class LayoutBrand {
50
52
  });
51
53
  static ɵfac = i0.ɵɵngDeclareFactory({
52
54
  minVersion: "12.0.0",
53
- version: "22.2.0",
55
+ version: "22.2.3",
54
56
  ngImport: i0,
55
57
  type: LayoutBrand,
56
58
  deps: [],
@@ -58,7 +60,7 @@ var LayoutBrand = class LayoutBrand {
58
60
  });
59
61
  static ɵcmp = i0.ɵɵngDeclareComponent({
60
62
  minVersion: "17.0.0",
61
- version: "22.2.0",
63
+ version: "22.2.3",
62
64
  type: LayoutBrand,
63
65
  isStandalone: true,
64
66
  selector: "LayoutBrand",
@@ -113,7 +115,7 @@ var LayoutBrand = class LayoutBrand {
113
115
  };
114
116
  i0.ɵɵngDeclareClassMetadata({
115
117
  minVersion: "12.0.0",
116
- version: "22.2.0",
118
+ version: "22.2.3",
117
119
  ngImport: i0,
118
120
  type: LayoutBrand,
119
121
  decorators: [{
@@ -156,11 +158,11 @@ var LayoutUser = class LayoutUser {
156
158
  transform: booleanAttribute
157
159
  });
158
160
  logoutLabel = input("Logout", ...ngDevMode ? [{ debugName: "logoutLabel" }] : /* istanbul ignore next */ []);
159
- logoutIcon = input("logout", ...ngDevMode ? [{ debugName: "logoutIcon" }] : /* istanbul ignore next */ []);
161
+ logoutIcon = input("log-out", ...ngDevMode ? [{ debugName: "logoutIcon" }] : /* istanbul ignore next */ []);
160
162
  logout = output();
161
163
  static ɵfac = i0.ɵɵngDeclareFactory({
162
164
  minVersion: "12.0.0",
163
- version: "22.2.0",
165
+ version: "22.2.3",
164
166
  ngImport: i0,
165
167
  type: LayoutUser,
166
168
  deps: [],
@@ -168,7 +170,7 @@ var LayoutUser = class LayoutUser {
168
170
  });
169
171
  static ɵcmp = i0.ɵɵngDeclareComponent({
170
172
  minVersion: "17.0.0",
171
- version: "22.2.0",
173
+ version: "22.2.3",
172
174
  type: LayoutUser,
173
175
  isStandalone: true,
174
176
  selector: "LayoutUser",
@@ -204,6 +206,7 @@ var LayoutUser = class LayoutUser {
204
206
  },
205
207
  outputs: { logout: "logout" },
206
208
  host: { classAttribute: "contents" },
209
+ providers: [provideIcons(LucideLogOut)],
207
210
  ngImport: i0,
208
211
  template: `
209
212
  @if (detailed()) {
@@ -234,10 +237,8 @@ var LayoutUser = class LayoutUser {
234
237
  "name",
235
238
  "class",
236
239
  "size",
237
- "fill",
238
- "weight",
239
- "grade",
240
- "opticalSize"
240
+ "strokeWidth",
241
+ "label"
241
242
  ]
242
243
  },
243
244
  {
@@ -288,13 +289,14 @@ var LayoutUser = class LayoutUser {
288
289
  };
289
290
  i0.ɵɵngDeclareClassMetadata({
290
291
  minVersion: "12.0.0",
291
- version: "22.2.0",
292
+ version: "22.2.3",
292
293
  ngImport: i0,
293
294
  type: LayoutUser,
294
295
  decorators: [{
295
296
  type: Component,
296
297
  args: [{
297
298
  selector: "LayoutUser",
299
+ providers: [provideIcons(LucideLogOut)],
298
300
  imports: [
299
301
  IconComponent,
300
302
  ThemeSettingsComponent,
@@ -377,7 +379,7 @@ var LayoutNavSidebar = class LayoutNavSidebar {
377
379
  shellClass = computed(() => this.isBorderRail() ? "border-r-[length:var(--layout-rail-width)] border-border" : "border-r border-border", ...ngDevMode ? [{ debugName: "shellClass" }] : /* istanbul ignore next */ []);
378
380
  static ɵfac = i0.ɵɵngDeclareFactory({
379
381
  minVersion: "12.0.0",
380
- version: "22.2.0",
382
+ version: "22.2.3",
381
383
  ngImport: i0,
382
384
  type: LayoutNavSidebar,
383
385
  deps: [],
@@ -385,7 +387,7 @@ var LayoutNavSidebar = class LayoutNavSidebar {
385
387
  });
386
388
  static ɵcmp = i0.ɵɵngDeclareComponent({
387
389
  minVersion: "17.1.0",
388
- version: "22.2.0",
390
+ version: "22.2.3",
389
391
  type: LayoutNavSidebar,
390
392
  isStandalone: true,
391
393
  selector: "LayoutNavSidebar",
@@ -481,7 +483,7 @@ var LayoutNavSidebar = class LayoutNavSidebar {
481
483
  };
482
484
  i0.ɵɵngDeclareClassMetadata({
483
485
  minVersion: "12.0.0",
484
- version: "22.2.0",
486
+ version: "22.2.3",
485
487
  ngImport: i0,
486
488
  type: LayoutNavSidebar,
487
489
  decorators: [{
@@ -574,7 +576,7 @@ var LayoutNavDockbar = class LayoutNavDockbar {
574
576
  shellClass = computed(() => this.isBorderRail() ? "border-r-[length:var(--layout-rail-width)] border-border" : "border-r border-border", ...ngDevMode ? [{ debugName: "shellClass" }] : /* istanbul ignore next */ []);
575
577
  static ɵfac = i0.ɵɵngDeclareFactory({
576
578
  minVersion: "12.0.0",
577
- version: "22.2.0",
579
+ version: "22.2.3",
578
580
  ngImport: i0,
579
581
  type: LayoutNavDockbar,
580
582
  deps: [],
@@ -582,7 +584,7 @@ var LayoutNavDockbar = class LayoutNavDockbar {
582
584
  });
583
585
  static ɵcmp = i0.ɵɵngDeclareComponent({
584
586
  minVersion: "17.0.0",
585
- version: "22.2.0",
587
+ version: "22.2.3",
586
588
  type: LayoutNavDockbar,
587
589
  isStandalone: true,
588
590
  selector: "LayoutNavDockbar",
@@ -632,6 +634,7 @@ var LayoutNavDockbar = class LayoutNavDockbar {
632
634
  },
633
635
  outputs: { logout: "logout" },
634
636
  host: { classAttribute: "contents" },
637
+ providers: [provideIcons(LucideLogOut)],
635
638
  ngImport: i0,
636
639
  template: `
637
640
  <NavigationDockbar
@@ -666,7 +669,7 @@ var LayoutNavDockbar = class LayoutNavDockbar {
666
669
  class="ml-auto inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
667
670
  (click)="logout.emit()"
668
671
  >
669
- <Icon name="logout" [size]="18" />
672
+ <Icon name="log-out" [size]="18" />
670
673
  </button>
671
674
  </ng-template>
672
675
  </NavigationDockbar>
@@ -681,10 +684,8 @@ var LayoutNavDockbar = class LayoutNavDockbar {
681
684
  "name",
682
685
  "class",
683
686
  "size",
684
- "fill",
685
- "weight",
686
- "grade",
687
- "opticalSize"
687
+ "strokeWidth",
688
+ "label"
688
689
  ]
689
690
  },
690
691
  {
@@ -739,13 +740,14 @@ var LayoutNavDockbar = class LayoutNavDockbar {
739
740
  };
740
741
  i0.ɵɵngDeclareClassMetadata({
741
742
  minVersion: "12.0.0",
742
- version: "22.2.0",
743
+ version: "22.2.3",
743
744
  ngImport: i0,
744
745
  type: LayoutNavDockbar,
745
746
  decorators: [{
746
747
  type: Component,
747
748
  args: [{
748
749
  selector: "LayoutNavDockbar",
750
+ providers: [provideIcons(LucideLogOut)],
749
751
  imports: [
750
752
  IconComponent,
751
753
  NavigationAsideFooterDirective,
@@ -789,7 +791,7 @@ i0.ɵɵngDeclareClassMetadata({
789
791
  class="ml-auto inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
790
792
  (click)="logout.emit()"
791
793
  >
792
- <Icon name="logout" [size]="18" />
794
+ <Icon name="log-out" [size]="18" />
793
795
  </button>
794
796
  </ng-template>
795
797
  </NavigationDockbar>
@@ -851,6 +853,164 @@ i0.ɵɵngDeclareClassMetadata({
851
853
  }]
852
854
  }
853
855
  });
856
+ var LayoutNavMinidock = class LayoutNavMinidock {
857
+ brand = input.required(...ngDevMode ? [{ debugName: "brand" }] : /* istanbul ignore next */ []);
858
+ user = input.required(...ngDevMode ? [{ debugName: "user" }] : /* istanbul ignore next */ []);
859
+ appearance = input("flat", ...ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []);
860
+ logout = output();
861
+ isBorderRail = computed(() => this.appearance() === "border-rail", ...ngDevMode ? [{ debugName: "isBorderRail" }] : /* istanbul ignore next */ []);
862
+ shellClass = computed(() => this.isBorderRail() ? "border-r-[length:var(--layout-rail-width)] border-border" : "border-r border-border", ...ngDevMode ? [{ debugName: "shellClass" }] : /* istanbul ignore next */ []);
863
+ static ɵfac = i0.ɵɵngDeclareFactory({
864
+ minVersion: "12.0.0",
865
+ version: "22.2.3",
866
+ ngImport: i0,
867
+ type: LayoutNavMinidock,
868
+ deps: [],
869
+ target: i0.ɵɵFactoryTarget.Component
870
+ });
871
+ static ɵcmp = i0.ɵɵngDeclareComponent({
872
+ minVersion: "17.1.0",
873
+ version: "22.2.3",
874
+ type: LayoutNavMinidock,
875
+ isStandalone: true,
876
+ selector: "LayoutNavMinidock",
877
+ inputs: {
878
+ brand: {
879
+ classPropertyName: "brand",
880
+ publicName: "brand",
881
+ isSignal: true,
882
+ isRequired: true,
883
+ transformFunction: null
884
+ },
885
+ user: {
886
+ classPropertyName: "user",
887
+ publicName: "user",
888
+ isSignal: true,
889
+ isRequired: true,
890
+ transformFunction: null
891
+ },
892
+ appearance: {
893
+ classPropertyName: "appearance",
894
+ publicName: "appearance",
895
+ isSignal: true,
896
+ isRequired: false,
897
+ transformFunction: null
898
+ }
899
+ },
900
+ outputs: { logout: "logout" },
901
+ host: { classAttribute: "contents" },
902
+ ngImport: i0,
903
+ template: `
904
+ <NavigationMinidock [class]="shellClass()">
905
+ <NavigationHeader>
906
+ <LayoutBrand [brand]="brand()" />
907
+ </NavigationHeader>
908
+ <NavigationFooter class="px-3">
909
+ <LayoutUser [user]="user()" detailed (logout)="logout.emit()" />
910
+ </NavigationFooter>
911
+ </NavigationMinidock>
912
+ `,
913
+ isInline: true,
914
+ dependencies: [
915
+ {
916
+ kind: "component",
917
+ type: NavigationMinidockComponent,
918
+ selector: "NavigationMinidock",
919
+ inputs: ["position", "class"]
920
+ },
921
+ {
922
+ kind: "component",
923
+ type: NavigationHeaderComponent,
924
+ selector: "NavigationHeader",
925
+ inputs: ["toggle", "class"]
926
+ },
927
+ {
928
+ kind: "component",
929
+ type: NavigationFooterComponent,
930
+ selector: "NavigationFooter",
931
+ inputs: ["class"]
932
+ },
933
+ {
934
+ kind: "component",
935
+ type: LayoutBrand,
936
+ selector: "LayoutBrand",
937
+ inputs: ["brand", "compact"]
938
+ },
939
+ {
940
+ kind: "component",
941
+ type: LayoutUser,
942
+ selector: "LayoutUser",
943
+ inputs: [
944
+ "user",
945
+ "detailed",
946
+ "logoutLabel",
947
+ "logoutIcon"
948
+ ],
949
+ outputs: ["logout"]
950
+ }
951
+ ]
952
+ });
953
+ };
954
+ i0.ɵɵngDeclareClassMetadata({
955
+ minVersion: "12.0.0",
956
+ version: "22.2.3",
957
+ ngImport: i0,
958
+ type: LayoutNavMinidock,
959
+ decorators: [{
960
+ type: Component,
961
+ args: [{
962
+ selector: "LayoutNavMinidock",
963
+ imports: [
964
+ NavigationMinidockComponent,
965
+ NavigationHeaderComponent,
966
+ NavigationFooterComponent,
967
+ LayoutBrand,
968
+ LayoutUser
969
+ ],
970
+ host: { class: "contents" },
971
+ template: `
972
+ <NavigationMinidock [class]="shellClass()">
973
+ <NavigationHeader>
974
+ <LayoutBrand [brand]="brand()" />
975
+ </NavigationHeader>
976
+ <NavigationFooter class="px-3">
977
+ <LayoutUser [user]="user()" detailed (logout)="logout.emit()" />
978
+ </NavigationFooter>
979
+ </NavigationMinidock>
980
+ `
981
+ }]
982
+ }],
983
+ propDecorators: {
984
+ brand: [{
985
+ type: i0.Input,
986
+ args: [{
987
+ isSignal: true,
988
+ alias: "brand",
989
+ required: true
990
+ }]
991
+ }],
992
+ user: [{
993
+ type: i0.Input,
994
+ args: [{
995
+ isSignal: true,
996
+ alias: "user",
997
+ required: true
998
+ }]
999
+ }],
1000
+ appearance: [{
1001
+ type: i0.Input,
1002
+ args: [{
1003
+ isSignal: true,
1004
+ alias: "appearance",
1005
+ required: false
1006
+ }]
1007
+ }],
1008
+ logout: [{
1009
+ type: i0.Output,
1010
+ args: ["logout"]
1011
+ }]
1012
+ }
1013
+ });
854
1014
  var LayoutNavNavbar = class LayoutNavNavbar {
855
1015
  brand = input.required(...ngDevMode ? [{ debugName: "brand" }] : /* istanbul ignore next */ []);
856
1016
  user = input.required(...ngDevMode ? [{ debugName: "user" }] : /* istanbul ignore next */ []);
@@ -858,7 +1018,7 @@ var LayoutNavNavbar = class LayoutNavNavbar {
858
1018
  logout = output();
859
1019
  static ɵfac = i0.ɵɵngDeclareFactory({
860
1020
  minVersion: "12.0.0",
861
- version: "22.2.0",
1021
+ version: "22.2.3",
862
1022
  ngImport: i0,
863
1023
  type: LayoutNavNavbar,
864
1024
  deps: [],
@@ -866,7 +1026,7 @@ var LayoutNavNavbar = class LayoutNavNavbar {
866
1026
  });
867
1027
  static ɵcmp = i0.ɵɵngDeclareComponent({
868
1028
  minVersion: "17.1.0",
869
- version: "22.2.0",
1029
+ version: "22.2.3",
870
1030
  type: LayoutNavNavbar,
871
1031
  isStandalone: true,
872
1032
  selector: "LayoutNavNavbar",
@@ -953,7 +1113,7 @@ var LayoutNavNavbar = class LayoutNavNavbar {
953
1113
  };
954
1114
  i0.ɵɵngDeclareClassMetadata({
955
1115
  minVersion: "12.0.0",
956
- version: "22.2.0",
1116
+ version: "22.2.3",
957
1117
  ngImport: i0,
958
1118
  type: LayoutNavNavbar,
959
1119
  decorators: [{
@@ -1018,7 +1178,7 @@ var LayoutNavFlyout = class LayoutNavFlyout {
1018
1178
  logout = output();
1019
1179
  static ɵfac = i0.ɵɵngDeclareFactory({
1020
1180
  minVersion: "12.0.0",
1021
- version: "22.2.0",
1181
+ version: "22.2.3",
1022
1182
  ngImport: i0,
1023
1183
  type: LayoutNavFlyout,
1024
1184
  deps: [],
@@ -1026,7 +1186,7 @@ var LayoutNavFlyout = class LayoutNavFlyout {
1026
1186
  });
1027
1187
  static ɵcmp = i0.ɵɵngDeclareComponent({
1028
1188
  minVersion: "17.1.0",
1029
- version: "22.2.0",
1189
+ version: "22.2.3",
1030
1190
  type: LayoutNavFlyout,
1031
1191
  isStandalone: true,
1032
1192
  selector: "LayoutNavFlyout",
@@ -1055,12 +1215,13 @@ var LayoutNavFlyout = class LayoutNavFlyout {
1055
1215
  },
1056
1216
  outputs: { logout: "logout" },
1057
1217
  host: { classAttribute: "contents" },
1218
+ providers: [provideIcons(LucideGrip)],
1058
1219
  ngImport: i0,
1059
1220
  template: `
1060
1221
  <NavigationFlyout
1061
1222
  [nav-type-style]="appearance()"
1062
1223
  label="Menu"
1063
- icon="apps"
1224
+ icon="grip"
1064
1225
  class="border-b border-border"
1065
1226
  >
1066
1227
  <NavigationHeader>
@@ -1127,13 +1288,14 @@ var LayoutNavFlyout = class LayoutNavFlyout {
1127
1288
  };
1128
1289
  i0.ɵɵngDeclareClassMetadata({
1129
1290
  minVersion: "12.0.0",
1130
- version: "22.2.0",
1291
+ version: "22.2.3",
1131
1292
  ngImport: i0,
1132
1293
  type: LayoutNavFlyout,
1133
1294
  decorators: [{
1134
1295
  type: Component,
1135
1296
  args: [{
1136
1297
  selector: "LayoutNavFlyout",
1298
+ providers: [provideIcons(LucideGrip)],
1137
1299
  imports: [
1138
1300
  NavigationFlyoutComponent,
1139
1301
  NavigationHeaderComponent,
@@ -1146,7 +1308,7 @@ i0.ɵɵngDeclareClassMetadata({
1146
1308
  <NavigationFlyout
1147
1309
  [nav-type-style]="appearance()"
1148
1310
  label="Menu"
1149
- icon="apps"
1311
+ icon="grip"
1150
1312
  class="border-b border-border"
1151
1313
  >
1152
1314
  <NavigationHeader>
@@ -1194,7 +1356,7 @@ var LayoutNavMinimal = class LayoutNavMinimal {
1194
1356
  brand = input.required(...ngDevMode ? [{ debugName: "brand" }] : /* istanbul ignore next */ []);
1195
1357
  static ɵfac = i0.ɵɵngDeclareFactory({
1196
1358
  minVersion: "12.0.0",
1197
- version: "22.2.0",
1359
+ version: "22.2.3",
1198
1360
  ngImport: i0,
1199
1361
  type: LayoutNavMinimal,
1200
1362
  deps: [],
@@ -1202,7 +1364,7 @@ var LayoutNavMinimal = class LayoutNavMinimal {
1202
1364
  });
1203
1365
  static ɵcmp = i0.ɵɵngDeclareComponent({
1204
1366
  minVersion: "17.1.0",
1205
- version: "22.2.0",
1367
+ version: "22.2.3",
1206
1368
  type: LayoutNavMinimal,
1207
1369
  isStandalone: true,
1208
1370
  selector: "LayoutNavMinimal",
@@ -1253,7 +1415,7 @@ var LayoutNavMinimal = class LayoutNavMinimal {
1253
1415
  };
1254
1416
  i0.ɵɵngDeclareClassMetadata({
1255
1417
  minVersion: "12.0.0",
1256
- version: "22.2.0",
1418
+ version: "22.2.3",
1257
1419
  ngImport: i0,
1258
1420
  type: LayoutNavMinimal,
1259
1421
  decorators: [{
@@ -1285,6 +1447,8 @@ i0.ɵɵngDeclareClassMetadata({
1285
1447
  }] }
1286
1448
  });
1287
1449
  const EMPTY_NAVIGATION_BADGE_CONTEXT = Object.freeze({});
1450
+ const MAIN_NAVIGATION_ID = "main";
1451
+ const MINIDOCK_NAVIGATION_DATA_ID = "main-minidock";
1288
1452
  var LayoutWrapperDefault = class LayoutWrapperDefault {
1289
1453
  surface = input(LAYOUT_DEFAULT_SURFACE, ...ngDevMode ? [{ debugName: "surface" }] : /* istanbul ignore next */ []);
1290
1454
  appearance = input(LAYOUT_DEFAULT_APPEARANCE, {
@@ -1343,6 +1507,7 @@ var LayoutWrapperDefault = class LayoutWrapperDefault {
1343
1507
  identity = inject(LayoutIdentityService);
1344
1508
  navigation = inject(NAVIGATION_ADAPTER);
1345
1509
  desktopNavigationDataOwner = {};
1510
+ minidockMainDataOwner = {};
1346
1511
  document = inject(DOCUMENT, { optional: true });
1347
1512
  mobileNavTriggerRef = viewChild("mobileNavTrigger", ...ngDevMode ? [{ debugName: "mobileNavTriggerRef" }] : /* istanbul ignore next */ []);
1348
1513
  constructor() {
@@ -1350,8 +1515,14 @@ var LayoutWrapperDefault = class LayoutWrapperDefault {
1350
1515
  effect(() => this.identity.setUser(this.user()));
1351
1516
  effect((onCleanup) => {
1352
1517
  if (this.navType() !== "desktop") return;
1353
- this.navigation.publishData(LAYOUT_DESKTOP_NAVIGATION_DATA_ID, this.data(), this.desktopNavigationDataOwner);
1354
- onCleanup(() => this.navigation.clearData(LAYOUT_DESKTOP_NAVIGATION_DATA_ID, this.desktopNavigationDataOwner));
1518
+ const dataId = this.effectiveLayoutType() === "empty" ? MAIN_NAVIGATION_ID : LAYOUT_DESKTOP_NAVIGATION_DATA_ID;
1519
+ this.navigation.publishData(dataId, this.data(), this.desktopNavigationDataOwner);
1520
+ onCleanup(() => this.navigation.clearData(dataId, this.desktopNavigationDataOwner));
1521
+ });
1522
+ effect((onCleanup) => {
1523
+ if (this.navKind() !== "minidock") return;
1524
+ this.navigation.publishData(MAIN_NAVIGATION_ID, this.data(), this.minidockMainDataOwner);
1525
+ onCleanup(() => this.navigation.clearData(MAIN_NAVIGATION_ID, this.minidockMainDataOwner));
1355
1526
  });
1356
1527
  effect((onCleanup) => {
1357
1528
  const media = this.document?.defaultView?.matchMedia?.("(min-width: 640px)");
@@ -1378,6 +1549,9 @@ var LayoutWrapperDefault = class LayoutWrapperDefault {
1378
1549
  const navType = this.navType();
1379
1550
  return layoutType === "empty" || layoutType === "fluid" || navType === "desktop" ? "brand" : navType;
1380
1551
  }, ...ngDevMode ? [{ debugName: "navKind" }] : /* istanbul ignore next */ []);
1552
+ minidockData = computed(() => toMinidockItems(this.data()), ...ngDevMode ? [{ debugName: "minidockData" }] : /* istanbul ignore next */ []);
1553
+ desktopDataId = computed(() => this.navKind() === "minidock" ? MINIDOCK_NAVIGATION_DATA_ID : MAIN_NAVIGATION_ID, ...ngDevMode ? [{ debugName: "desktopDataId" }] : /* istanbul ignore next */ []);
1554
+ desktopData = computed(() => this.navKind() === "minidock" ? this.minidockData() : this.data(), ...ngDevMode ? [{ debugName: "desktopData" }] : /* istanbul ignore next */ []);
1381
1555
  navClass = computed(() => this.effectiveLayoutType() === "horizontal" ? "w-full" : "h-full", ...ngDevMode ? [{ debugName: "navClass" }] : /* istanbul ignore next */ []);
1382
1556
  showsMobileNavigation = computed(() => {
1383
1557
  if (this.navType() === "desktop") return false;
@@ -1392,7 +1566,7 @@ var LayoutWrapperDefault = class LayoutWrapperDefault {
1392
1566
  contentClass = computed(() => cn(this.effectiveLayoutType() === "fluid" ? "w-full max-w-3xl" : "", this.contentClassInput()), ...ngDevMode ? [{ debugName: "contentClass" }] : /* istanbul ignore next */ []);
1393
1567
  static ɵfac = i0.ɵɵngDeclareFactory({
1394
1568
  minVersion: "12.0.0",
1395
- version: "22.2.0",
1569
+ version: "22.2.3",
1396
1570
  ngImport: i0,
1397
1571
  type: LayoutWrapperDefault,
1398
1572
  deps: [],
@@ -1400,7 +1574,7 @@ var LayoutWrapperDefault = class LayoutWrapperDefault {
1400
1574
  });
1401
1575
  static ɵcmp = i0.ɵɵngDeclareComponent({
1402
1576
  minVersion: "17.0.0",
1403
- version: "22.2.0",
1577
+ version: "22.2.3",
1404
1578
  type: LayoutWrapperDefault,
1405
1579
  isStandalone: true,
1406
1580
  selector: "LayoutWrapperDefault",
@@ -1588,12 +1762,14 @@ var LayoutWrapperDefault = class LayoutWrapperDefault {
1588
1762
  </div>
1589
1763
 
1590
1764
  @defer (when mobileNavOpen()) {
1765
+ <!-- Inside the sheet, closing is the action: the sidebar's own collapse
1766
+ toggle is hidden so the sheet close is the one control in the corner. -->
1591
1767
  <Sheet
1592
1768
  [open]="mobileNavOpen()"
1593
1769
  (openChange)="mobileNavOpen.set($event)"
1594
1770
  [restoreFocus]="mobileNavTriggerRef()?.nativeElement ?? null"
1595
1771
  side="left"
1596
- class="w-3/4 p-0! sm:max-w-sm [&_.sheet-close-button]:z-50"
1772
+ class="w-3/4 p-0! sm:max-w-sm [&_.sheet-close-button]:z-50 [&_[data-navigation-header-toggle]]:hidden"
1597
1773
  [closeButtonLabel]="closeMobileNavLabel()"
1598
1774
  >
1599
1775
  <SheetTitle class="sr-only">{{ mobileNavLabel() }}</SheetTitle>
@@ -1623,7 +1799,12 @@ var LayoutWrapperDefault = class LayoutWrapperDefault {
1623
1799
  [landmark]="false"
1624
1800
  class="max-sm:hidden"
1625
1801
  >
1626
- <Navigation id="main" data-id="main" [data]="data()" [class]="navClass()">
1802
+ <Navigation
1803
+ id="main"
1804
+ [data-id]="desktopDataId()"
1805
+ [data]="desktopData()"
1806
+ [class]="navClass()"
1807
+ >
1627
1808
  @switch (navKind()) {
1628
1809
  @case ('navbar') {
1629
1810
  <LayoutNavNavbar
@@ -1652,6 +1833,14 @@ var LayoutWrapperDefault = class LayoutWrapperDefault {
1652
1833
  (logout)="logout.emit()"
1653
1834
  />
1654
1835
  }
1836
+ @case ('minidock') {
1837
+ <LayoutNavMinidock
1838
+ [brand]="brand()"
1839
+ [user]="user()"
1840
+ [appearance]="appearance()"
1841
+ (logout)="logout.emit()"
1842
+ />
1843
+ }
1655
1844
  @case ('brand') {
1656
1845
  <LayoutNavMinimal [brand]="brand()" />
1657
1846
  }
@@ -1824,6 +2013,17 @@ var LayoutWrapperDefault = class LayoutWrapperDefault {
1824
2013
  ],
1825
2014
  outputs: ["logout"]
1826
2015
  },
2016
+ {
2017
+ kind: "component",
2018
+ type: LayoutNavMinidock,
2019
+ selector: "LayoutNavMinidock",
2020
+ inputs: [
2021
+ "brand",
2022
+ "user",
2023
+ "appearance"
2024
+ ],
2025
+ outputs: ["logout"]
2026
+ },
1827
2027
  {
1828
2028
  kind: "component",
1829
2029
  type: LayoutNavNavbar,
@@ -1863,7 +2063,7 @@ var LayoutWrapperDefault = class LayoutWrapperDefault {
1863
2063
  };
1864
2064
  i0.ɵɵngDeclareClassMetadataAsync({
1865
2065
  minVersion: "18.0.0",
1866
- version: "22.2.0",
2066
+ version: "22.2.3",
1867
2067
  ngImport: i0,
1868
2068
  type: LayoutWrapperDefault,
1869
2069
  resolveDeferredDeps: () => [import("@ojiepermana/angular/component/sheet").then((m) => m.SheetComponent), import("@ojiepermana/angular/component/sheet").then((m) => m.SheetTitleComponent)],
@@ -1888,6 +2088,7 @@ i0.ɵɵngDeclareClassMetadataAsync({
1888
2088
  LayoutBrand,
1889
2089
  LayoutNavSidebar,
1890
2090
  LayoutNavDockbar,
2091
+ LayoutNavMinidock,
1891
2092
  LayoutNavNavbar,
1892
2093
  LayoutNavFlyout,
1893
2094
  LayoutNavMinimal
@@ -1935,12 +2136,14 @@ i0.ɵɵngDeclareClassMetadataAsync({
1935
2136
  </div>
1936
2137
 
1937
2138
  @defer (when mobileNavOpen()) {
2139
+ <!-- Inside the sheet, closing is the action: the sidebar's own collapse
2140
+ toggle is hidden so the sheet close is the one control in the corner. -->
1938
2141
  <Sheet
1939
2142
  [open]="mobileNavOpen()"
1940
2143
  (openChange)="mobileNavOpen.set($event)"
1941
2144
  [restoreFocus]="mobileNavTriggerRef()?.nativeElement ?? null"
1942
2145
  side="left"
1943
- class="w-3/4 p-0! sm:max-w-sm [&_.sheet-close-button]:z-50"
2146
+ class="w-3/4 p-0! sm:max-w-sm [&_.sheet-close-button]:z-50 [&_[data-navigation-header-toggle]]:hidden"
1944
2147
  [closeButtonLabel]="closeMobileNavLabel()"
1945
2148
  >
1946
2149
  <SheetTitle class="sr-only">{{ mobileNavLabel() }}</SheetTitle>
@@ -1970,7 +2173,12 @@ i0.ɵɵngDeclareClassMetadataAsync({
1970
2173
  [landmark]="false"
1971
2174
  class="max-sm:hidden"
1972
2175
  >
1973
- <Navigation id="main" data-id="main" [data]="data()" [class]="navClass()">
2176
+ <Navigation
2177
+ id="main"
2178
+ [data-id]="desktopDataId()"
2179
+ [data]="desktopData()"
2180
+ [class]="navClass()"
2181
+ >
1974
2182
  @switch (navKind()) {
1975
2183
  @case ('navbar') {
1976
2184
  <LayoutNavNavbar
@@ -1999,6 +2207,14 @@ i0.ɵɵngDeclareClassMetadataAsync({
1999
2207
  (logout)="logout.emit()"
2000
2208
  />
2001
2209
  }
2210
+ @case ('minidock') {
2211
+ <LayoutNavMinidock
2212
+ [brand]="brand()"
2213
+ [user]="user()"
2214
+ [appearance]="appearance()"
2215
+ (logout)="logout.emit()"
2216
+ />
2217
+ }
2002
2218
  @case ('brand') {
2003
2219
  <LayoutNavMinimal [brand]="brand()" />
2004
2220
  }
@@ -2212,4 +2428,4 @@ i0.ɵɵngDeclareClassMetadataAsync({
2212
2428
  }
2213
2429
  })
2214
2430
  });
2215
- export { LAYOUT_DESKTOP_NAVIGATION_DATA_ID, LayoutBrand, LayoutIdentityService, LayoutNavDockbar, LayoutNavFlyout, LayoutNavMinimal, LayoutNavNavbar, LayoutNavSidebar, LayoutUser, LayoutWrapperDefault };
2431
+ export { LAYOUT_DESKTOP_NAVIGATION_DATA_ID, LayoutBrand, LayoutIdentityService, LayoutNavDockbar, LayoutNavFlyout, LayoutNavMinidock, LayoutNavMinimal, LayoutNavNavbar, LayoutNavSidebar, LayoutUser, LayoutWrapperDefault };