@ojiepermana/angular 22.2.1 → 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 (125) 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-dropdown-menu.mjs +39 -39
  33. package/fesm2022/ojiepermana-angular-component-editor.mjs +21 -21
  34. package/fesm2022/ojiepermana-angular-component-empty.mjs +19 -19
  35. package/fesm2022/ojiepermana-angular-component-form.mjs +36 -36
  36. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +9 -9
  37. package/fesm2022/ojiepermana-angular-component-icon.mjs +114 -105
  38. package/fesm2022/ojiepermana-angular-component-input-group.mjs +19 -19
  39. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +16 -16
  40. package/fesm2022/ojiepermana-angular-component-input.mjs +6 -6
  41. package/fesm2022/ojiepermana-angular-component-item.mjs +31 -31
  42. package/fesm2022/ojiepermana-angular-component-kanban.mjs +29 -29
  43. package/fesm2022/ojiepermana-angular-component-kbd.mjs +7 -7
  44. package/fesm2022/ojiepermana-angular-component-label.mjs +3 -3
  45. package/fesm2022/ojiepermana-angular-component-menubar.mjs +13 -13
  46. package/fesm2022/ojiepermana-angular-component-native-select.mjs +14 -14
  47. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +21 -21
  48. package/fesm2022/ojiepermana-angular-component-pagination.mjs +3 -3
  49. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +16 -16
  50. package/fesm2022/ojiepermana-angular-component-popover.mjs +6 -6
  51. package/fesm2022/ojiepermana-angular-component-progress.mjs +3 -3
  52. package/fesm2022/ojiepermana-angular-component-radio.mjs +7 -7
  53. package/fesm2022/ojiepermana-angular-component-resizable.mjs +12 -12
  54. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +3 -3
  55. package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +6 -8
  56. package/fesm2022/ojiepermana-angular-component-select.mjs +8 -8
  57. package/fesm2022/ojiepermana-angular-component-separator.mjs +3 -3
  58. package/fesm2022/ojiepermana-angular-component-sheet.mjs +41 -28
  59. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +3 -3
  60. package/fesm2022/ojiepermana-angular-component-slider.mjs +10 -10
  61. package/fesm2022/ojiepermana-angular-component-spinner.mjs +3 -3
  62. package/fesm2022/ojiepermana-angular-component-switch.mjs +4 -4
  63. package/fesm2022/ojiepermana-angular-component-table.mjs +24 -24
  64. package/fesm2022/ojiepermana-angular-component-tabs.mjs +18 -18
  65. package/fesm2022/ojiepermana-angular-component-textarea.mjs +6 -6
  66. package/fesm2022/ojiepermana-angular-component-timeline.mjs +19 -19
  67. package/fesm2022/ojiepermana-angular-component-toast.mjs +5 -5
  68. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +9 -9
  69. package/fesm2022/ojiepermana-angular-component-toggle.mjs +5 -5
  70. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +15 -15
  71. package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +3 -3
  72. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +3 -3
  73. package/fesm2022/{ojiepermana-angular-navigation-navigation-badge-count.component-DYuysKVf.mjs → ojiepermana-angular-navigation-navigation-badge-count.component-4RIokl1C.mjs} +3 -3
  74. package/fesm2022/{ojiepermana-angular-navigation-navigation-dockbar-menu.component-COiTaw34.mjs → ojiepermana-angular-navigation-navigation-dockbar-menu.component-CGfu2V6f.mjs} +22 -15
  75. package/fesm2022/{ojiepermana-angular-navigation-navigation-entry-grid.component-YIz0IsIb.mjs → ojiepermana-angular-navigation-navigation-entry-grid.component-zBCXDa4c.mjs} +15 -24
  76. package/fesm2022/{ojiepermana-angular-navigation-navigation-flyout-menu.component-D2vwEwBY.mjs → ojiepermana-angular-navigation-navigation-flyout-menu.component-DYkYIIHd.mjs} +14 -13
  77. package/fesm2022/{ojiepermana-angular-navigation-navigation-horizontal.component-B5D7yXfb.mjs → ojiepermana-angular-navigation-navigation-horizontal.component-LNTertHr.mjs} +5 -5
  78. package/fesm2022/{ojiepermana-angular-navigation-navigation-item.component-CUb68MZH.mjs → ojiepermana-angular-navigation-navigation-item.component-DiGOcizS.mjs} +21 -22
  79. package/fesm2022/{ojiepermana-angular-navigation-navigation-list.component-CrK16trj.mjs → ojiepermana-angular-navigation-navigation-list.component-DB22Gl-5.mjs} +4 -4
  80. package/fesm2022/ojiepermana-angular-navigation-service.mjs +13 -5
  81. package/fesm2022/ojiepermana-angular-navigation.mjs +94 -87
  82. package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +127 -72
  83. package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +6 -6
  84. package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +56 -48
  85. package/fesm2022/ojiepermana-angular-theme-layout.mjs +30 -30
  86. package/fesm2022/ojiepermana-angular-theme-page-core.mjs +3 -3
  87. package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +7 -7
  88. package/fesm2022/ojiepermana-angular-theme-page-overview.mjs +3 -3
  89. package/fesm2022/ojiepermana-angular-theme-page-root.mjs +8 -6
  90. package/fesm2022/ojiepermana-angular-theme-page-side.mjs +7 -7
  91. package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +12 -12
  92. package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +3 -3
  93. package/fesm2022/ojiepermana-angular-theme-shell.mjs +16 -12
  94. package/fesm2022/ojiepermana-angular-theme-styles.mjs +17 -33
  95. package/navigation/README.md +2 -2
  96. package/package.json +3 -2
  97. package/theme/README.md +4 -10
  98. package/theme/page/README.md +2 -0
  99. package/theme/shell/README.md +5 -1
  100. package/theme/styles/README.md +32 -8
  101. package/theme/styles/css/base/components.css +13 -9
  102. package/theme/styles/css/base/tailwind.css +43 -0
  103. package/theme/styles/css/base/theme.css +4 -25
  104. package/theme/styles/css/base/tokens.css +21 -0
  105. package/theme/styles/css/fonts.css +85 -0
  106. package/types/ojiepermana-angular-chart-radar.d.ts +2 -1
  107. package/types/ojiepermana-angular-component-avatar.d.ts +2 -1
  108. package/types/ojiepermana-angular-component-calendar.d.ts +2 -1
  109. package/types/ojiepermana-angular-component-card.d.ts +6 -1
  110. package/types/ojiepermana-angular-component-editor.d.ts +2 -1
  111. package/types/ojiepermana-angular-component-icon.d.ts +64 -79
  112. package/types/ojiepermana-angular-component-input-otp.d.ts +2 -1
  113. package/types/ojiepermana-angular-component-pillbox.d.ts +2 -1
  114. package/types/ojiepermana-angular-component-radio.d.ts +2 -1
  115. package/types/ojiepermana-angular-component-resizable.d.ts +2 -1
  116. package/types/ojiepermana-angular-component-segmented-control.d.ts +1 -1
  117. package/types/ojiepermana-angular-component-select.d.ts +2 -1
  118. package/types/ojiepermana-angular-navigation-service.d.ts +8 -0
  119. package/types/ojiepermana-angular-navigation-types.d.ts +1 -1
  120. package/types/ojiepermana-angular-navigation.d.ts +12 -5
  121. package/types/ojiepermana-angular-theme-layout-services.d.ts +2 -1
  122. package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +4 -3
  123. package/types/ojiepermana-angular-theme-page-root.d.ts +1 -1
  124. package/types/ojiepermana-angular-theme-shell-services.d.ts +2 -1
  125. package/types/ojiepermana-angular-theme-styles.d.ts +0 -12
@@ -1,11 +1,12 @@
1
- import { n as navigationPanelId, t as NavigationItemComponent } from "./ojiepermana-angular-navigation-navigation-item.component-CUb68MZH.mjs";
1
+ import { n as navigationPanelId, t as NavigationItemComponent } from "./ojiepermana-angular-navigation-navigation-item.component-DiGOcizS.mjs";
2
2
  import * as i0 from "@angular/core";
3
3
  import { Component, computed, inject, input, output, signal } from "@angular/core";
4
4
  import { ActivatedRoute, Router, RouterLink } from "@angular/router";
5
5
  import { cn } from "@ojiepermana/angular/component/utils/core";
6
6
  import { NAVIGATION_ADAPTER, NAVIGATION_ROUTE_CONTEXT_ADAPTER } from "@ojiepermana/angular/navigation/core";
7
7
  import { NgTemplateOutlet } from "@angular/common";
8
- import { IconComponent } from "@ojiepermana/angular/component/icon";
8
+ import { LucideChevronRight } from "@lucide/angular";
9
+ import { IconComponent, provideIcons } from "@ojiepermana/angular/component/icon";
9
10
  var NavigationEntryGridComponent = class NavigationEntryGridComponent {
10
11
  nav = inject(NAVIGATION_ADAPTER);
11
12
  routeContext = inject(NAVIGATION_ROUTE_CONTEXT_ADAPTER);
@@ -111,14 +112,14 @@ var NavigationEntryGridComponent = class NavigationEntryGridComponent {
111
112
  return cn("nav-subtitle mt-0.5 block truncate text-muted-foreground", item.classes?.subtitle);
112
113
  }
113
114
  entryChevronClasses(item) {
114
- return cn("shrink-0 self-center text-(length:--nav-icon-size-sub) text-muted-foreground transition-transform duration-200", this.isEntryOpen(item) && "rotate-90");
115
+ return cn("shrink-0 self-center text-(length:--nav-icon-size-sub) text-muted-foreground transition-transform duration-normal", this.isEntryOpen(item) && "rotate-90");
115
116
  }
116
117
  nestedListClasses() {
117
118
  return cn("relative mt-1 flex list-none flex-col gap-0.5 p-0 pl-[calc((var(--nav-entry-box-size)-var(--nav-icon-size))/2)] before:pointer-events-none before:absolute before:inset-y-0 before:left-[calc(var(--nav-item-padding-x)+var(--nav-entry-box-size)/2)] before:w-0 before:border-l before:content-['']", this.isBorderRail() ? "before:border-dashed before:border-border/40" : "before:border-[hsl(var(--border)/var(--section-border-opacity))]");
118
119
  }
119
120
  static ɵfac = i0.ɵɵngDeclareFactory({
120
121
  minVersion: "12.0.0",
121
- version: "22.2.2",
122
+ version: "22.2.3",
122
123
  ngImport: i0,
123
124
  type: NavigationEntryGridComponent,
124
125
  deps: [],
@@ -126,7 +127,7 @@ var NavigationEntryGridComponent = class NavigationEntryGridComponent {
126
127
  });
127
128
  static ɵcmp = i0.ɵɵngDeclareComponent({
128
129
  minVersion: "17.0.0",
129
- version: "22.2.2",
130
+ version: "22.2.3",
130
131
  type: NavigationEntryGridComponent,
131
132
  isStandalone: true,
132
133
  selector: "NavigationEntryGrid",
@@ -200,6 +201,7 @@ var NavigationEntryGridComponent = class NavigationEntryGridComponent {
200
201
  itemSelected: "itemSelected"
201
202
  },
202
203
  host: { classAttribute: "contents" },
204
+ providers: [provideIcons(LucideChevronRight)],
203
205
  ngImport: i0,
204
206
  template: `
205
207
  @let branchItem = branch();
@@ -240,7 +242,7 @@ var NavigationEntryGridComponent = class NavigationEntryGridComponent {
240
242
  [ngTemplateOutletContext]="{ $implicit: child, active: isItemActive(child) }"
241
243
  />
242
244
  <Icon
243
- name="chevron_right"
245
+ name="chevron-right"
244
246
  size="inherit"
245
247
  [class]="entryChevronClasses(child)"
246
248
  />
@@ -382,12 +384,7 @@ var NavigationEntryGridComponent = class NavigationEntryGridComponent {
382
384
  [ngTemplateOutletContext]="iconContext(child, active)"
383
385
  />
384
386
  } @else {
385
- <Icon
386
- [name]="child.icon"
387
- size="inherit"
388
- [fill]="1"
389
- [class]="entryIconGlyphClasses(child)"
390
- />
387
+ <Icon [name]="child.icon" size="inherit" [class]="entryIconGlyphClasses(child)" />
391
388
  }
392
389
  } @else {
393
390
  <span
@@ -455,10 +452,8 @@ var NavigationEntryGridComponent = class NavigationEntryGridComponent {
455
452
  "name",
456
453
  "class",
457
454
  "size",
458
- "fill",
459
- "weight",
460
- "grade",
461
- "opticalSize"
455
+ "strokeWidth",
456
+ "label"
462
457
  ]
463
458
  },
464
459
  {
@@ -491,7 +486,7 @@ var NavigationEntryGridComponent = class NavigationEntryGridComponent {
491
486
  };
492
487
  i0.ɵɵngDeclareClassMetadata({
493
488
  minVersion: "12.0.0",
494
- version: "22.2.2",
489
+ version: "22.2.3",
495
490
  ngImport: i0,
496
491
  type: NavigationEntryGridComponent,
497
492
  decorators: [{
@@ -504,6 +499,7 @@ i0.ɵɵngDeclareClassMetadata({
504
499
  IconComponent,
505
500
  NavigationItemComponent
506
501
  ],
502
+ providers: [provideIcons(LucideChevronRight)],
507
503
  host: { class: "contents" },
508
504
  template: `
509
505
  @let branchItem = branch();
@@ -544,7 +540,7 @@ i0.ɵɵngDeclareClassMetadata({
544
540
  [ngTemplateOutletContext]="{ $implicit: child, active: isItemActive(child) }"
545
541
  />
546
542
  <Icon
547
- name="chevron_right"
543
+ name="chevron-right"
548
544
  size="inherit"
549
545
  [class]="entryChevronClasses(child)"
550
546
  />
@@ -686,12 +682,7 @@ i0.ɵɵngDeclareClassMetadata({
686
682
  [ngTemplateOutletContext]="iconContext(child, active)"
687
683
  />
688
684
  } @else {
689
- <Icon
690
- [name]="child.icon"
691
- size="inherit"
692
- [fill]="1"
693
- [class]="entryIconGlyphClasses(child)"
694
- />
685
+ <Icon [name]="child.icon" size="inherit" [class]="entryIconGlyphClasses(child)" />
695
686
  }
696
687
  } @else {
697
688
  <span
@@ -1,11 +1,12 @@
1
- import { r as NavigationItemContentComponent, t as NavigationItemComponent } from "./ojiepermana-angular-navigation-navigation-item.component-CUb68MZH.mjs";
2
- import { t as NavigationEntryGridComponent } from "./ojiepermana-angular-navigation-navigation-entry-grid.component-YIz0IsIb.mjs";
1
+ import { r as NavigationItemContentComponent, t as NavigationItemComponent } from "./ojiepermana-angular-navigation-navigation-item.component-DiGOcizS.mjs";
2
+ import { t as NavigationEntryGridComponent } from "./ojiepermana-angular-navigation-navigation-entry-grid.component-zBCXDa4c.mjs";
3
3
  import * as i0 from "@angular/core";
4
4
  import { Component, ElementRef, Injector, afterNextRender, computed, effect, inject, input, output, signal } from "@angular/core";
5
5
  import { cn } from "@ojiepermana/angular/component/utils/core";
6
6
  import { NAVIGATION_ADAPTER } from "@ojiepermana/angular/navigation/core";
7
7
  import { DOCUMENT } from "@angular/common";
8
- import { IconComponent } from "@ojiepermana/angular/component/icon";
8
+ import { LucideChevronRight, LucideMenu } from "@lucide/angular";
9
+ import { IconComponent, provideIcons } from "@ojiepermana/angular/component/icon";
9
10
  var NavigationFlyoutMenuComponent = class NavigationFlyoutMenuComponent {
10
11
  nav = inject(NAVIGATION_ADAPTER);
11
12
  host = inject(ElementRef);
@@ -175,7 +176,7 @@ var NavigationFlyoutMenuComponent = class NavigationFlyoutMenuComponent {
175
176
  return cn("nav-trigger nav-text group/nav inline-flex h-full min-h-(--nav-item-height) min-w-0 items-center gap-(--nav-item-gap) rounded-md px-(--nav-item-padding-x) transition-colors", this.isBottom() ? "rounded-t-none" : "rounded-b-none", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", this.isBorderRail() ? open || active ? "rounded-none text-primary" : "rounded-none text-foreground/80 hover:text-primary" : open ? "bg-accent text-foreground" : active ? "text-foreground hover:bg-accent hover:text-accent-foreground" : "text-foreground/80 hover:bg-accent hover:text-accent-foreground", item.classes?.wrapper, this.itemClass());
176
177
  }
177
178
  tabChevronClasses(item) {
178
- return cn("shrink-0 self-center text-(length:--nav-icon-size-sub) text-current transition-transform duration-200", this.isBranchOpen(item) && "rotate-90");
179
+ return cn("shrink-0 self-center text-(length:--nav-icon-size-sub) text-current transition-transform duration-normal", this.isBranchOpen(item) && "rotate-90");
179
180
  }
180
181
  onRowKeydown(event) {
181
182
  if (event.key !== "ArrowRight" && event.key !== "ArrowLeft" && event.key !== "ArrowDown") return;
@@ -199,7 +200,7 @@ var NavigationFlyoutMenuComponent = class NavigationFlyoutMenuComponent {
199
200
  }
200
201
  static ɵfac = i0.ɵɵngDeclareFactory({
201
202
  minVersion: "12.0.0",
202
- version: "22.2.2",
203
+ version: "22.2.3",
203
204
  ngImport: i0,
204
205
  type: NavigationFlyoutMenuComponent,
205
206
  deps: [],
@@ -207,7 +208,7 @@ var NavigationFlyoutMenuComponent = class NavigationFlyoutMenuComponent {
207
208
  });
208
209
  static ɵcmp = i0.ɵɵngDeclareComponent({
209
210
  minVersion: "17.0.0",
210
- version: "22.2.2",
211
+ version: "22.2.3",
211
212
  type: NavigationFlyoutMenuComponent,
212
213
  isStandalone: true,
213
214
  selector: "NavigationFlyoutMenu",
@@ -368,8 +369,9 @@ var NavigationFlyoutMenuComponent = class NavigationFlyoutMenuComponent {
368
369
  listeners: { "keydown.escape": "onEscape($event)" },
369
370
  properties: { "class": "hostClasses()" }
370
371
  },
372
+ providers: [provideIcons(LucideChevronRight, LucideMenu)],
371
373
  ngImport: i0,
372
- template: "<button\n type=\"button\"\n data-navigation-flyout-trigger=\"true\"\n [class]=\"triggerClasses()\"\n aria-haspopup=\"menu\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? panelId() : null\"\n [attr.aria-label]=\"showIconOnly() ? label() : null\"\n [attr.title]=\"showIconOnly() ? label() : null\"\n (click)=\"toggleFlyout()\"\n>\n @if (showIconOnly()) {\n <Icon\n [name]=\"triggerIcon() ?? 'menu'\"\n size=\"inherit\"\n [fill]=\"1\"\n class=\"text-(length:--nav-icon-size) text-current\"\n />\n } @else {\n @if (iconPosition() === 'start' && triggerIcon(); as iconName) {\n <Icon\n [name]=\"iconName\"\n size=\"inherit\"\n [fill]=\"1\"\n class=\"shrink-0 text-(length:--nav-icon-size) text-current\"\n />\n }\n\n <span class=\"truncate\">{{ label() }}</span>\n\n @if (iconPosition() === 'end' && triggerIcon(); as iconName) {\n <Icon\n [name]=\"iconName\"\n size=\"inherit\"\n [fill]=\"1\"\n class=\"shrink-0 text-(length:--nav-icon-size) text-current\"\n />\n }\n }\n</button>\n\n@if (isOpen()) {\n <div\n [id]=\"panelId()\"\n data-navigation-flyout-panel=\"true\"\n [attr.data-navigation-flyout-floating]=\"floating() ? 'true' : null\"\n [class]=\"panelWrapperClasses()\"\n [style.left.px]=\"floating() ? null : panelPlacement()?.left\"\n [style.top.px]=\"floating() || isBottom() ? null : panelPlacement()?.top\"\n [style.bottom.px]=\"!floating() && isBottom() ? panelPlacement()?.bottom : null\"\n [style.width.px]=\"floating() ? null : panelPlacement()?.width\"\n >\n <div\n [attr.data-navigation-flyout-floating-card]=\"floating() ? 'true' : null\"\n [class]=\"panelCardClasses()\"\n >\n <div data-navigation-flyout-menu-layout=\"true\" [class]=\"menuClasses()\">\n <!-- ROW 1 = bar (sticky, menutup bar trigger), struktur seperti bar navbar:\n Header (kiri) | menu item (tengah) | Footer (kanan). Hanya ROW 2 (grid child)\n di bawah bar yang ikut scroll. -->\n <div data-navigation-flyout-bar=\"true\" [class]=\"barRowClasses()\">\n <ng-content select=\"NavigationHeader\" />\n\n <ul\n role=\"menu\"\n tabindex=\"-1\"\n data-navigation-flyout-row=\"true\"\n [class]=\"rowClasses()\"\n [attr.aria-label]=\"label()\"\n (keydown)=\"onRowKeydown($event)\"\n >\n @for (item of items(); track item.key) {\n @switch (item.type) {\n @case ('divider') {\n <li role=\"separator\" class=\"mx-1 h-5 w-px bg-border\"></li>\n }\n @case ('spacer') {\n <li role=\"none\" aria-hidden=\"true\" class=\"flex-1\"></li>\n }\n @default {\n @if (item.children.length > 0) {\n <li\n role=\"none\"\n [class]=\"groupContainerClasses(item)\"\n [attr.data-navigation-item-key]=\"item.key\"\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n data-navigation-flyout-tab=\"true\"\n [class]=\"tabClasses(item)\"\n [attr.aria-expanded]=\"isBranchOpen(item)\"\n [attr.aria-controls]=\"isBranchOpen(item) ? panelContentId() : null\"\n [disabled]=\"item.disabled || null\"\n (click)=\"openBranch(item)\"\n >\n <NavigationItemContent\n [item]=\"item\"\n [active]=\"isItemActive(item)\"\n [compact]=\"false\"\n [orientation]=\"'horizontal'\"\n [level]=\"0\"\n [iconTemplate]=\"iconTemplate()\"\n />\n <Icon\n name=\"chevron_right\"\n size=\"inherit\"\n [class]=\"tabChevronClasses(item)\"\n />\n </button>\n </li>\n } @else {\n <li\n NavigationItem\n [navId]=\"navId()\"\n [item]=\"item\"\n [level]=\"0\"\n [orientation]=\"'horizontal'\"\n [compact]=\"false\"\n [itemClass]=\"navItemClass()\"\n [activeIds]=\"activeIds()\"\n [activeUrl]=\"activeUrl()\"\n [iconTemplate]=\"iconTemplate()\"\n [collapseTree]=\"collapseTree()\"\n [openedIds]=\"openedIds()\"\n (openedIdsChange)=\"openedIdsChange.emit($event)\"\n (itemSelected)=\"itemSelected.emit($event)\"\n ></li>\n }\n }\n }\n }\n </ul>\n\n <ng-content select=\"NavigationFooter\" />\n </div>\n\n <!-- ROW 2 = child dari menu item aktif; HANYA area ini yang men-scroll. -->\n <div\n [id]=\"panelContentId()\"\n data-navigation-flyout-scroll=\"true\"\n [attr.role]=\"activeBranch() ? 'menu' : null\"\n [attr.aria-label]=\"activeBranch()?.title || null\"\n [class]=\"scrollRegionClasses()\"\n >\n @if (activeBranch(); as branch) {\n <NavigationEntryGrid\n [navId]=\"navId()\"\n [branch]=\"branch\"\n [typeStyle]=\"typeStyle()\"\n [itemClass]=\"itemClass()\"\n [activeIds]=\"activeIds()\"\n [activeUrl]=\"activeUrl()\"\n [iconTemplate]=\"iconTemplate()\"\n [collapseTree]=\"collapseTree()\"\n [openedIds]=\"openedIds()\"\n (openedIdsChange)=\"openedIdsChange.emit($event)\"\n (itemSelected)=\"itemSelected.emit($event)\"\n />\n }\n </div>\n </div>\n </div>\n </div>\n}\n",
374
+ template: "<button\n type=\"button\"\n data-navigation-flyout-trigger=\"true\"\n [class]=\"triggerClasses()\"\n aria-haspopup=\"menu\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? panelId() : null\"\n [attr.aria-label]=\"showIconOnly() ? label() : null\"\n [attr.title]=\"showIconOnly() ? label() : null\"\n (click)=\"toggleFlyout()\"\n>\n @if (showIconOnly()) {\n <Icon\n [name]=\"triggerIcon() ?? 'menu'\"\n size=\"inherit\"\n class=\"text-(length:--nav-icon-size) text-current\"\n />\n } @else {\n @if (iconPosition() === 'start' && triggerIcon(); as iconName) {\n <Icon\n [name]=\"iconName\"\n size=\"inherit\"\n class=\"shrink-0 text-(length:--nav-icon-size) text-current\"\n />\n }\n\n <span class=\"truncate\">{{ label() }}</span>\n\n @if (iconPosition() === 'end' && triggerIcon(); as iconName) {\n <Icon\n [name]=\"iconName\"\n size=\"inherit\"\n class=\"shrink-0 text-(length:--nav-icon-size) text-current\"\n />\n }\n }\n</button>\n\n@if (isOpen()) {\n <div\n [id]=\"panelId()\"\n data-navigation-flyout-panel=\"true\"\n [attr.data-navigation-flyout-floating]=\"floating() ? 'true' : null\"\n [class]=\"panelWrapperClasses()\"\n [style.left.px]=\"floating() ? null : panelPlacement()?.left\"\n [style.top.px]=\"floating() || isBottom() ? null : panelPlacement()?.top\"\n [style.bottom.px]=\"!floating() && isBottom() ? panelPlacement()?.bottom : null\"\n [style.width.px]=\"floating() ? null : panelPlacement()?.width\"\n >\n <div\n [attr.data-navigation-flyout-floating-card]=\"floating() ? 'true' : null\"\n [class]=\"panelCardClasses()\"\n >\n <div data-navigation-flyout-menu-layout=\"true\" [class]=\"menuClasses()\">\n <!-- ROW 1 = bar (sticky, menutup bar trigger), struktur seperti bar navbar:\n Header (kiri) | menu item (tengah) | Footer (kanan). Hanya ROW 2 (grid child)\n di bawah bar yang ikut scroll. -->\n <div data-navigation-flyout-bar=\"true\" [class]=\"barRowClasses()\">\n <ng-content select=\"NavigationHeader\" />\n\n <ul\n role=\"menu\"\n tabindex=\"-1\"\n data-navigation-flyout-row=\"true\"\n [class]=\"rowClasses()\"\n [attr.aria-label]=\"label()\"\n (keydown)=\"onRowKeydown($event)\"\n >\n @for (item of items(); track item.key) {\n @switch (item.type) {\n @case ('divider') {\n <li role=\"separator\" class=\"mx-1 h-5 w-px bg-border\"></li>\n }\n @case ('spacer') {\n <li role=\"none\" aria-hidden=\"true\" class=\"flex-1\"></li>\n }\n @default {\n @if (item.children.length > 0) {\n <li\n role=\"none\"\n [class]=\"groupContainerClasses(item)\"\n [attr.data-navigation-item-key]=\"item.key\"\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n data-navigation-flyout-tab=\"true\"\n [class]=\"tabClasses(item)\"\n [attr.aria-expanded]=\"isBranchOpen(item)\"\n [attr.aria-controls]=\"isBranchOpen(item) ? panelContentId() : null\"\n [disabled]=\"item.disabled || null\"\n (click)=\"openBranch(item)\"\n >\n <NavigationItemContent\n [item]=\"item\"\n [active]=\"isItemActive(item)\"\n [compact]=\"false\"\n [orientation]=\"'horizontal'\"\n [level]=\"0\"\n [iconTemplate]=\"iconTemplate()\"\n />\n <Icon\n name=\"chevron-right\"\n size=\"inherit\"\n [class]=\"tabChevronClasses(item)\"\n />\n </button>\n </li>\n } @else {\n <li\n NavigationItem\n [navId]=\"navId()\"\n [item]=\"item\"\n [level]=\"0\"\n [orientation]=\"'horizontal'\"\n [compact]=\"false\"\n [itemClass]=\"navItemClass()\"\n [activeIds]=\"activeIds()\"\n [activeUrl]=\"activeUrl()\"\n [iconTemplate]=\"iconTemplate()\"\n [collapseTree]=\"collapseTree()\"\n [openedIds]=\"openedIds()\"\n (openedIdsChange)=\"openedIdsChange.emit($event)\"\n (itemSelected)=\"itemSelected.emit($event)\"\n ></li>\n }\n }\n }\n }\n </ul>\n\n <ng-content select=\"NavigationFooter\" />\n </div>\n\n <!-- ROW 2 = child dari menu item aktif; HANYA area ini yang men-scroll. -->\n <div\n [id]=\"panelContentId()\"\n data-navigation-flyout-scroll=\"true\"\n [attr.role]=\"activeBranch() ? 'menu' : null\"\n [attr.aria-label]=\"activeBranch()?.title || null\"\n [class]=\"scrollRegionClasses()\"\n >\n @if (activeBranch(); as branch) {\n <NavigationEntryGrid\n [navId]=\"navId()\"\n [branch]=\"branch\"\n [typeStyle]=\"typeStyle()\"\n [itemClass]=\"itemClass()\"\n [activeIds]=\"activeIds()\"\n [activeUrl]=\"activeUrl()\"\n [iconTemplate]=\"iconTemplate()\"\n [collapseTree]=\"collapseTree()\"\n [openedIds]=\"openedIds()\"\n (openedIdsChange)=\"openedIdsChange.emit($event)\"\n (itemSelected)=\"itemSelected.emit($event)\"\n />\n }\n </div>\n </div>\n </div>\n </div>\n}\n",
373
375
  styles: ["[data-navigation-flyout-floating=true]{width:var(--nav-flyout-floating-width, min(22rem, 85vw));max-width:var(--nav-flyout-floating-max-width, 85vw)}[data-navigation-flyout-floating-card=true]{border-radius:var(--nav-flyout-floating-radius, var(--radius-xl))}[data-navigation-flyout-panel=true]{-webkit-app-region:no-drag;app-region:no-drag}\n"],
374
376
  dependencies: [
375
377
  {
@@ -380,10 +382,8 @@ var NavigationFlyoutMenuComponent = class NavigationFlyoutMenuComponent {
380
382
  "name",
381
383
  "class",
382
384
  "size",
383
- "fill",
384
- "weight",
385
- "grade",
386
- "opticalSize"
385
+ "strokeWidth",
386
+ "label"
387
387
  ]
388
388
  },
389
389
  {
@@ -446,7 +446,7 @@ var NavigationFlyoutMenuComponent = class NavigationFlyoutMenuComponent {
446
446
  };
447
447
  i0.ɵɵngDeclareClassMetadata({
448
448
  minVersion: "12.0.0",
449
- version: "22.2.2",
449
+ version: "22.2.3",
450
450
  ngImport: i0,
451
451
  type: NavigationFlyoutMenuComponent,
452
452
  decorators: [{
@@ -459,11 +459,12 @@ i0.ɵɵngDeclareClassMetadata({
459
459
  NavigationItemComponent,
460
460
  NavigationItemContentComponent
461
461
  ],
462
+ providers: [provideIcons(LucideChevronRight, LucideMenu)],
462
463
  host: {
463
464
  "[class]": "hostClasses()",
464
465
  "(keydown.escape)": "onEscape($event)"
465
466
  },
466
- template: "<button\n type=\"button\"\n data-navigation-flyout-trigger=\"true\"\n [class]=\"triggerClasses()\"\n aria-haspopup=\"menu\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? panelId() : null\"\n [attr.aria-label]=\"showIconOnly() ? label() : null\"\n [attr.title]=\"showIconOnly() ? label() : null\"\n (click)=\"toggleFlyout()\"\n>\n @if (showIconOnly()) {\n <Icon\n [name]=\"triggerIcon() ?? 'menu'\"\n size=\"inherit\"\n [fill]=\"1\"\n class=\"text-(length:--nav-icon-size) text-current\"\n />\n } @else {\n @if (iconPosition() === 'start' && triggerIcon(); as iconName) {\n <Icon\n [name]=\"iconName\"\n size=\"inherit\"\n [fill]=\"1\"\n class=\"shrink-0 text-(length:--nav-icon-size) text-current\"\n />\n }\n\n <span class=\"truncate\">{{ label() }}</span>\n\n @if (iconPosition() === 'end' && triggerIcon(); as iconName) {\n <Icon\n [name]=\"iconName\"\n size=\"inherit\"\n [fill]=\"1\"\n class=\"shrink-0 text-(length:--nav-icon-size) text-current\"\n />\n }\n }\n</button>\n\n@if (isOpen()) {\n <div\n [id]=\"panelId()\"\n data-navigation-flyout-panel=\"true\"\n [attr.data-navigation-flyout-floating]=\"floating() ? 'true' : null\"\n [class]=\"panelWrapperClasses()\"\n [style.left.px]=\"floating() ? null : panelPlacement()?.left\"\n [style.top.px]=\"floating() || isBottom() ? null : panelPlacement()?.top\"\n [style.bottom.px]=\"!floating() && isBottom() ? panelPlacement()?.bottom : null\"\n [style.width.px]=\"floating() ? null : panelPlacement()?.width\"\n >\n <div\n [attr.data-navigation-flyout-floating-card]=\"floating() ? 'true' : null\"\n [class]=\"panelCardClasses()\"\n >\n <div data-navigation-flyout-menu-layout=\"true\" [class]=\"menuClasses()\">\n <!-- ROW 1 = bar (sticky, menutup bar trigger), struktur seperti bar navbar:\n Header (kiri) | menu item (tengah) | Footer (kanan). Hanya ROW 2 (grid child)\n di bawah bar yang ikut scroll. -->\n <div data-navigation-flyout-bar=\"true\" [class]=\"barRowClasses()\">\n <ng-content select=\"NavigationHeader\" />\n\n <ul\n role=\"menu\"\n tabindex=\"-1\"\n data-navigation-flyout-row=\"true\"\n [class]=\"rowClasses()\"\n [attr.aria-label]=\"label()\"\n (keydown)=\"onRowKeydown($event)\"\n >\n @for (item of items(); track item.key) {\n @switch (item.type) {\n @case ('divider') {\n <li role=\"separator\" class=\"mx-1 h-5 w-px bg-border\"></li>\n }\n @case ('spacer') {\n <li role=\"none\" aria-hidden=\"true\" class=\"flex-1\"></li>\n }\n @default {\n @if (item.children.length > 0) {\n <li\n role=\"none\"\n [class]=\"groupContainerClasses(item)\"\n [attr.data-navigation-item-key]=\"item.key\"\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n data-navigation-flyout-tab=\"true\"\n [class]=\"tabClasses(item)\"\n [attr.aria-expanded]=\"isBranchOpen(item)\"\n [attr.aria-controls]=\"isBranchOpen(item) ? panelContentId() : null\"\n [disabled]=\"item.disabled || null\"\n (click)=\"openBranch(item)\"\n >\n <NavigationItemContent\n [item]=\"item\"\n [active]=\"isItemActive(item)\"\n [compact]=\"false\"\n [orientation]=\"'horizontal'\"\n [level]=\"0\"\n [iconTemplate]=\"iconTemplate()\"\n />\n <Icon\n name=\"chevron_right\"\n size=\"inherit\"\n [class]=\"tabChevronClasses(item)\"\n />\n </button>\n </li>\n } @else {\n <li\n NavigationItem\n [navId]=\"navId()\"\n [item]=\"item\"\n [level]=\"0\"\n [orientation]=\"'horizontal'\"\n [compact]=\"false\"\n [itemClass]=\"navItemClass()\"\n [activeIds]=\"activeIds()\"\n [activeUrl]=\"activeUrl()\"\n [iconTemplate]=\"iconTemplate()\"\n [collapseTree]=\"collapseTree()\"\n [openedIds]=\"openedIds()\"\n (openedIdsChange)=\"openedIdsChange.emit($event)\"\n (itemSelected)=\"itemSelected.emit($event)\"\n ></li>\n }\n }\n }\n }\n </ul>\n\n <ng-content select=\"NavigationFooter\" />\n </div>\n\n <!-- ROW 2 = child dari menu item aktif; HANYA area ini yang men-scroll. -->\n <div\n [id]=\"panelContentId()\"\n data-navigation-flyout-scroll=\"true\"\n [attr.role]=\"activeBranch() ? 'menu' : null\"\n [attr.aria-label]=\"activeBranch()?.title || null\"\n [class]=\"scrollRegionClasses()\"\n >\n @if (activeBranch(); as branch) {\n <NavigationEntryGrid\n [navId]=\"navId()\"\n [branch]=\"branch\"\n [typeStyle]=\"typeStyle()\"\n [itemClass]=\"itemClass()\"\n [activeIds]=\"activeIds()\"\n [activeUrl]=\"activeUrl()\"\n [iconTemplate]=\"iconTemplate()\"\n [collapseTree]=\"collapseTree()\"\n [openedIds]=\"openedIds()\"\n (openedIdsChange)=\"openedIdsChange.emit($event)\"\n (itemSelected)=\"itemSelected.emit($event)\"\n />\n }\n </div>\n </div>\n </div>\n </div>\n}\n",
467
+ template: "<button\n type=\"button\"\n data-navigation-flyout-trigger=\"true\"\n [class]=\"triggerClasses()\"\n aria-haspopup=\"menu\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? panelId() : null\"\n [attr.aria-label]=\"showIconOnly() ? label() : null\"\n [attr.title]=\"showIconOnly() ? label() : null\"\n (click)=\"toggleFlyout()\"\n>\n @if (showIconOnly()) {\n <Icon\n [name]=\"triggerIcon() ?? 'menu'\"\n size=\"inherit\"\n class=\"text-(length:--nav-icon-size) text-current\"\n />\n } @else {\n @if (iconPosition() === 'start' && triggerIcon(); as iconName) {\n <Icon\n [name]=\"iconName\"\n size=\"inherit\"\n class=\"shrink-0 text-(length:--nav-icon-size) text-current\"\n />\n }\n\n <span class=\"truncate\">{{ label() }}</span>\n\n @if (iconPosition() === 'end' && triggerIcon(); as iconName) {\n <Icon\n [name]=\"iconName\"\n size=\"inherit\"\n class=\"shrink-0 text-(length:--nav-icon-size) text-current\"\n />\n }\n }\n</button>\n\n@if (isOpen()) {\n <div\n [id]=\"panelId()\"\n data-navigation-flyout-panel=\"true\"\n [attr.data-navigation-flyout-floating]=\"floating() ? 'true' : null\"\n [class]=\"panelWrapperClasses()\"\n [style.left.px]=\"floating() ? null : panelPlacement()?.left\"\n [style.top.px]=\"floating() || isBottom() ? null : panelPlacement()?.top\"\n [style.bottom.px]=\"!floating() && isBottom() ? panelPlacement()?.bottom : null\"\n [style.width.px]=\"floating() ? null : panelPlacement()?.width\"\n >\n <div\n [attr.data-navigation-flyout-floating-card]=\"floating() ? 'true' : null\"\n [class]=\"panelCardClasses()\"\n >\n <div data-navigation-flyout-menu-layout=\"true\" [class]=\"menuClasses()\">\n <!-- ROW 1 = bar (sticky, menutup bar trigger), struktur seperti bar navbar:\n Header (kiri) | menu item (tengah) | Footer (kanan). Hanya ROW 2 (grid child)\n di bawah bar yang ikut scroll. -->\n <div data-navigation-flyout-bar=\"true\" [class]=\"barRowClasses()\">\n <ng-content select=\"NavigationHeader\" />\n\n <ul\n role=\"menu\"\n tabindex=\"-1\"\n data-navigation-flyout-row=\"true\"\n [class]=\"rowClasses()\"\n [attr.aria-label]=\"label()\"\n (keydown)=\"onRowKeydown($event)\"\n >\n @for (item of items(); track item.key) {\n @switch (item.type) {\n @case ('divider') {\n <li role=\"separator\" class=\"mx-1 h-5 w-px bg-border\"></li>\n }\n @case ('spacer') {\n <li role=\"none\" aria-hidden=\"true\" class=\"flex-1\"></li>\n }\n @default {\n @if (item.children.length > 0) {\n <li\n role=\"none\"\n [class]=\"groupContainerClasses(item)\"\n [attr.data-navigation-item-key]=\"item.key\"\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n data-navigation-flyout-tab=\"true\"\n [class]=\"tabClasses(item)\"\n [attr.aria-expanded]=\"isBranchOpen(item)\"\n [attr.aria-controls]=\"isBranchOpen(item) ? panelContentId() : null\"\n [disabled]=\"item.disabled || null\"\n (click)=\"openBranch(item)\"\n >\n <NavigationItemContent\n [item]=\"item\"\n [active]=\"isItemActive(item)\"\n [compact]=\"false\"\n [orientation]=\"'horizontal'\"\n [level]=\"0\"\n [iconTemplate]=\"iconTemplate()\"\n />\n <Icon\n name=\"chevron-right\"\n size=\"inherit\"\n [class]=\"tabChevronClasses(item)\"\n />\n </button>\n </li>\n } @else {\n <li\n NavigationItem\n [navId]=\"navId()\"\n [item]=\"item\"\n [level]=\"0\"\n [orientation]=\"'horizontal'\"\n [compact]=\"false\"\n [itemClass]=\"navItemClass()\"\n [activeIds]=\"activeIds()\"\n [activeUrl]=\"activeUrl()\"\n [iconTemplate]=\"iconTemplate()\"\n [collapseTree]=\"collapseTree()\"\n [openedIds]=\"openedIds()\"\n (openedIdsChange)=\"openedIdsChange.emit($event)\"\n (itemSelected)=\"itemSelected.emit($event)\"\n ></li>\n }\n }\n }\n }\n </ul>\n\n <ng-content select=\"NavigationFooter\" />\n </div>\n\n <!-- ROW 2 = child dari menu item aktif; HANYA area ini yang men-scroll. -->\n <div\n [id]=\"panelContentId()\"\n data-navigation-flyout-scroll=\"true\"\n [attr.role]=\"activeBranch() ? 'menu' : null\"\n [attr.aria-label]=\"activeBranch()?.title || null\"\n [class]=\"scrollRegionClasses()\"\n >\n @if (activeBranch(); as branch) {\n <NavigationEntryGrid\n [navId]=\"navId()\"\n [branch]=\"branch\"\n [typeStyle]=\"typeStyle()\"\n [itemClass]=\"itemClass()\"\n [activeIds]=\"activeIds()\"\n [activeUrl]=\"activeUrl()\"\n [iconTemplate]=\"iconTemplate()\"\n [collapseTree]=\"collapseTree()\"\n [openedIds]=\"openedIds()\"\n (openedIdsChange)=\"openedIdsChange.emit($event)\"\n (itemSelected)=\"itemSelected.emit($event)\"\n />\n }\n </div>\n </div>\n </div>\n </div>\n}\n",
467
468
  styles: ["[data-navigation-flyout-floating=true]{width:var(--nav-flyout-floating-width, min(22rem, 85vw));max-width:var(--nav-flyout-floating-max-width, 85vw)}[data-navigation-flyout-floating-card=true]{border-radius:var(--nav-flyout-floating-radius, var(--radius-xl))}[data-navigation-flyout-panel=true]{-webkit-app-region:no-drag;app-region:no-drag}\n"]
468
469
  }]
469
470
  }],
@@ -1,5 +1,5 @@
1
- import { n as navigationPanelId, r as NavigationItemContentComponent, t as NavigationItemComponent } from "./ojiepermana-angular-navigation-navigation-item.component-CUb68MZH.mjs";
2
- import { t as NavigationEntryGridComponent } from "./ojiepermana-angular-navigation-navigation-entry-grid.component-YIz0IsIb.mjs";
1
+ import { n as navigationPanelId, r as NavigationItemContentComponent, t as NavigationItemComponent } from "./ojiepermana-angular-navigation-navigation-item.component-DiGOcizS.mjs";
2
+ import { t as NavigationEntryGridComponent } from "./ojiepermana-angular-navigation-navigation-entry-grid.component-zBCXDa4c.mjs";
3
3
  import * as i0 from "@angular/core";
4
4
  import { Component, ElementRef, Injector, afterNextRender, computed, effect, inject, input, output, signal } from "@angular/core";
5
5
  import { cn } from "@ojiepermana/angular/component/utils/core";
@@ -155,7 +155,7 @@ var NavigationHorizontalComponent = class NavigationHorizontalComponent {
155
155
  }
156
156
  static ɵfac = i0.ɵɵngDeclareFactory({
157
157
  minVersion: "12.0.0",
158
- version: "22.2.2",
158
+ version: "22.2.3",
159
159
  ngImport: i0,
160
160
  type: NavigationHorizontalComponent,
161
161
  deps: [],
@@ -163,7 +163,7 @@ var NavigationHorizontalComponent = class NavigationHorizontalComponent {
163
163
  });
164
164
  static ɵcmp = i0.ɵɵngDeclareComponent({
165
165
  minVersion: "17.0.0",
166
- version: "22.2.2",
166
+ version: "22.2.3",
167
167
  type: NavigationHorizontalComponent,
168
168
  isStandalone: true,
169
169
  selector: "NavigationHorizontal",
@@ -433,7 +433,7 @@ var NavigationHorizontalComponent = class NavigationHorizontalComponent {
433
433
  };
434
434
  i0.ɵɵngDeclareClassMetadata({
435
435
  minVersion: "12.0.0",
436
- version: "22.2.2",
436
+ version: "22.2.3",
437
437
  ngImport: i0,
438
438
  type: NavigationHorizontalComponent,
439
439
  decorators: [{
@@ -4,7 +4,8 @@ import { ActivatedRoute, Router, RouterLink } from "@angular/router";
4
4
  import { cn } from "@ojiepermana/angular/component/utils/core";
5
5
  import { NAVIGATION_ADAPTER, NAVIGATION_ROUTE_CONTEXT_ADAPTER } from "@ojiepermana/angular/navigation/core";
6
6
  import { NgTemplateOutlet } from "@angular/common";
7
- import { IconComponent } from "@ojiepermana/angular/component/icon";
7
+ import { LucideChevronRight } from "@lucide/angular";
8
+ import { IconComponent, provideIcons } from "@ojiepermana/angular/component/icon";
8
9
  import { TooltipDirective } from "@ojiepermana/angular/component/tooltip";
9
10
  var NavigationItemContentComponent = class NavigationItemContentComponent {
10
11
  nav = inject(NAVIGATION_ADAPTER);
@@ -14,7 +15,7 @@ var NavigationItemContentComponent = class NavigationItemContentComponent {
14
15
  orientation = input("vertical", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
15
16
  level = input(0, ...ngDevMode ? [{ debugName: "level" }] : /* istanbul ignore next */ []);
16
17
  iconTemplate = input(void 0, ...ngDevMode ? [{ debugName: "iconTemplate" }] : /* istanbul ignore next */ []);
17
- iconSlotClasses = computed(() => cn("relative z-10 inline-flex shrink-0 items-center justify-center transition-colors duration-200", this.compact() && "mx-auto", this.active() ? "text-current" : "text-muted-foreground group-hover/nav:text-current"), ...ngDevMode ? [{ debugName: "iconSlotClasses" }] : /* istanbul ignore next */ []);
18
+ iconSlotClasses = computed(() => cn("relative z-10 inline-flex shrink-0 items-center justify-center transition-colors duration-normal", this.compact() && "mx-auto", this.active() ? "text-current" : "text-muted-foreground group-hover/nav:text-current"), ...ngDevMode ? [{ debugName: "iconSlotClasses" }] : /* istanbul ignore next */ []);
18
19
  titleClasses = computed(() => cn("block truncate", this.active() && "text-foreground", this.item().classes?.title), ...ngDevMode ? [{ debugName: "titleClasses" }] : /* istanbul ignore next */ []);
19
20
  showSubtitle = computed(() => !!this.item().subtitle && !(this.orientation() === "horizontal" && this.level() === 0), ...ngDevMode ? [{ debugName: "showSubtitle" }] : /* istanbul ignore next */ []);
20
21
  subtitleClasses = computed(() => cn("nav-subtitle block truncate text-muted-foreground", this.item().classes?.subtitle), ...ngDevMode ? [{ debugName: "subtitleClasses" }] : /* istanbul ignore next */ []);
@@ -27,7 +28,7 @@ var NavigationItemContentComponent = class NavigationItemContentComponent {
27
28
  }
28
29
  static ɵfac = i0.ɵɵngDeclareFactory({
29
30
  minVersion: "12.0.0",
30
- version: "22.2.2",
31
+ version: "22.2.3",
31
32
  ngImport: i0,
32
33
  type: NavigationItemContentComponent,
33
34
  deps: [],
@@ -35,7 +36,7 @@ var NavigationItemContentComponent = class NavigationItemContentComponent {
35
36
  });
36
37
  static ɵcmp = i0.ɵɵngDeclareComponent({
37
38
  minVersion: "17.0.0",
38
- version: "22.2.2",
39
+ version: "22.2.3",
39
40
  type: NavigationItemContentComponent,
40
41
  isStandalone: true,
41
42
  selector: "NavigationItemContent",
@@ -94,7 +95,7 @@ var NavigationItemContentComponent = class NavigationItemContentComponent {
94
95
  [ngTemplateOutletContext]="iconContext()"
95
96
  />
96
97
  } @else {
97
- <Icon [name]="iconName" [class]="defaultIconClasses()" size="inherit" [fill]="1" />
98
+ <Icon [name]="iconName" [class]="defaultIconClasses()" size="inherit" />
98
99
  }
99
100
  </span>
100
101
  }
@@ -134,17 +135,15 @@ var NavigationItemContentComponent = class NavigationItemContentComponent {
134
135
  "name",
135
136
  "class",
136
137
  "size",
137
- "fill",
138
- "weight",
139
- "grade",
140
- "opticalSize"
138
+ "strokeWidth",
139
+ "label"
141
140
  ]
142
141
  }]
143
142
  });
144
143
  };
145
144
  i0.ɵɵngDeclareClassMetadata({
146
145
  minVersion: "12.0.0",
147
- version: "22.2.2",
146
+ version: "22.2.3",
148
147
  ngImport: i0,
149
148
  type: NavigationItemContentComponent,
150
149
  decorators: [{
@@ -162,7 +161,7 @@ i0.ɵɵngDeclareClassMetadata({
162
161
  [ngTemplateOutletContext]="iconContext()"
163
162
  />
164
163
  } @else {
165
- <Icon [name]="iconName" [class]="defaultIconClasses()" size="inherit" [fill]="1" />
164
+ <Icon [name]="iconName" [class]="defaultIconClasses()" size="inherit" />
166
165
  }
167
166
  </span>
168
167
  }
@@ -361,11 +360,11 @@ var NavigationItemComponent = class NavigationItemComponent {
361
360
  }
362
361
  interactiveStateClasses(active) {
363
362
  const showsNestedActiveConnector = active && this.orientation() === "vertical" && !this.compact() && this.stairsRail();
364
- if (this.orientation() === "vertical" && !this.compact()) return cn("relative isolate", "before:pointer-events-none before:absolute before:inset-y-0 before:left-2 before:right-2 before:-z-10 before:rounded-md before:border before:border-transparent before:bg-transparent before:transition-colors before:duration-200 before:content-['']", showsNestedActiveConnector && "after:pointer-events-none after:absolute after:-left-[calc(var(--nav-indent)-var(--nav-rail-offset))] after:top-1/2 after:-z-10 after:h-px after:w-[calc(var(--nav-indent)-var(--nav-rail-offset))] after:-translate-y-1/2 after:rounded-full after:bg-current/25 after:content-['']", active ? "text-foreground before:bg-accent" : "text-foreground/80 hover:text-accent-foreground hover:before:bg-accent");
363
+ if (this.orientation() === "vertical" && !this.compact()) return cn("relative isolate", "before:pointer-events-none before:absolute before:inset-y-0 before:left-2 before:right-2 before:-z-10 before:rounded-md before:border before:border-transparent before:bg-transparent before:transition-colors before:duration-normal before:content-['']", showsNestedActiveConnector && "after:pointer-events-none after:absolute after:-left-[calc(var(--nav-indent)-var(--nav-rail-offset))] after:top-1/2 after:-z-10 after:h-px after:w-[calc(var(--nav-indent)-var(--nav-rail-offset))] after:-translate-y-1/2 after:rounded-full after:bg-current/25 after:content-['']", active ? "text-foreground before:bg-accent" : "text-foreground/80 hover:text-accent-foreground hover:before:bg-accent");
365
364
  return active ? "text-foreground bg-accent" : "text-foreground/80 hover:bg-accent hover:text-accent-foreground";
366
365
  }
367
366
  chevronClasses() {
368
- return cn("ml-auto shrink-0 self-center text-(length:--nav-icon-size-sub) text-muted-foreground transition-transform duration-200", this.isOpen() && "rotate-90");
367
+ return cn("ml-auto shrink-0 self-center text-(length:--nav-icon-size-sub) text-muted-foreground transition-transform duration-normal", this.isOpen() && "rotate-90");
369
368
  }
370
369
  itemContainerClasses() {
371
370
  return cn(this.orientation() === "horizontal" && this.level() === 0 ? "relative" : "w-full", this.compact() && "flex justify-center", this.straightRailClasses());
@@ -396,7 +395,7 @@ var NavigationItemComponent = class NavigationItemComponent {
396
395
  }
397
396
  static ɵfac = i0.ɵɵngDeclareFactory({
398
397
  minVersion: "12.0.0",
399
- version: "22.2.2",
398
+ version: "22.2.3",
400
399
  ngImport: i0,
401
400
  type: NavigationItemComponent,
402
401
  deps: [],
@@ -404,7 +403,7 @@ var NavigationItemComponent = class NavigationItemComponent {
404
403
  });
405
404
  static ɵcmp = i0.ɵɵngDeclareComponent({
406
405
  minVersion: "17.0.0",
407
- version: "22.2.2",
406
+ version: "22.2.3",
408
407
  type: NavigationItemComponent,
409
408
  isStandalone: true,
410
409
  selector: "li[NavigationItem]",
@@ -539,6 +538,7 @@ var NavigationItemComponent = class NavigationItemComponent {
539
538
  "attr.data-navigation-item-key": "item().key",
540
539
  "attr.aria-hidden": "item().type === \"spacer\" || item().type === \"divider\" ? \"true\" : null"
541
540
  } },
541
+ providers: [provideIcons(LucideChevronRight)],
542
542
  ngImport: i0,
543
543
  template: `
544
544
  @switch (item().type) {
@@ -596,7 +596,7 @@ var NavigationItemComponent = class NavigationItemComponent {
596
596
  />
597
597
 
598
598
  @if (!compact()) {
599
- <Icon name="chevron_right" size="inherit" [class]="chevronClasses()" />
599
+ <Icon name="chevron-right" size="inherit" [class]="chevronClasses()" />
600
600
  }
601
601
  </button>
602
602
 
@@ -778,10 +778,8 @@ var NavigationItemComponent = class NavigationItemComponent {
778
778
  "name",
779
779
  "class",
780
780
  "size",
781
- "fill",
782
- "weight",
783
- "grade",
784
- "opticalSize"
781
+ "strokeWidth",
782
+ "label"
785
783
  ]
786
784
  },
787
785
  {
@@ -844,7 +842,7 @@ var NavigationItemComponent = class NavigationItemComponent {
844
842
  };
845
843
  i0.ɵɵngDeclareClassMetadata({
846
844
  minVersion: "12.0.0",
847
- version: "22.2.2",
845
+ version: "22.2.3",
848
846
  ngImport: i0,
849
847
  type: NavigationItemComponent,
850
848
  decorators: [{
@@ -858,6 +856,7 @@ i0.ɵɵngDeclareClassMetadata({
858
856
  RouterLink,
859
857
  TooltipDirective
860
858
  ],
859
+ providers: [provideIcons(LucideChevronRight)],
861
860
  host: {
862
861
  "[class]": "hostClasses()",
863
862
  "[attr.role]": "hostRole()",
@@ -920,7 +919,7 @@ i0.ɵɵngDeclareClassMetadata({
920
919
  />
921
920
 
922
921
  @if (!compact()) {
923
- <Icon name="chevron_right" size="inherit" [class]="chevronClasses()" />
922
+ <Icon name="chevron-right" size="inherit" [class]="chevronClasses()" />
924
923
  }
925
924
  </button>
926
925
 
@@ -1,4 +1,4 @@
1
- import { t as NavigationItemComponent } from "./ojiepermana-angular-navigation-navigation-item.component-CUb68MZH.mjs";
1
+ import { t as NavigationItemComponent } from "./ojiepermana-angular-navigation-navigation-item.component-DiGOcizS.mjs";
2
2
  import * as i0 from "@angular/core";
3
3
  import { Component, computed, input, output } from "@angular/core";
4
4
  import { cn } from "@ojiepermana/angular/component/utils/core";
@@ -22,7 +22,7 @@ var NavigationListComponent = class NavigationListComponent {
22
22
  listClasses = computed(() => cn(this.isCollapsed() ? "flex list-none flex-col items-center gap-0.5 p-0" : cn("flex list-none flex-col gap-0.5 p-0", this.position() === "right" && "items-end"), this.fill() && "flex-1"), ...ngDevMode ? [{ debugName: "listClasses" }] : /* istanbul ignore next */ []);
23
23
  static ɵfac = i0.ɵɵngDeclareFactory({
24
24
  minVersion: "12.0.0",
25
- version: "22.2.2",
25
+ version: "22.2.3",
26
26
  ngImport: i0,
27
27
  type: NavigationListComponent,
28
28
  deps: [],
@@ -30,7 +30,7 @@ var NavigationListComponent = class NavigationListComponent {
30
30
  });
31
31
  static ɵcmp = i0.ɵɵngDeclareComponent({
32
32
  minVersion: "17.0.0",
33
- version: "22.2.2",
33
+ version: "22.2.3",
34
34
  type: NavigationListComponent,
35
35
  isStandalone: true,
36
36
  selector: "NavigationList",
@@ -181,7 +181,7 @@ var NavigationListComponent = class NavigationListComponent {
181
181
  };
182
182
  i0.ɵɵngDeclareClassMetadata({
183
183
  minVersion: "12.0.0",
184
- version: "22.2.2",
184
+ version: "22.2.3",
185
185
  ngImport: i0,
186
186
  type: NavigationListComponent,
187
187
  decorators: [{
@@ -1,4 +1,4 @@
1
- import { DOCUMENT } from "@angular/common";
1
+ import { DOCUMENT, Location } from "@angular/common";
2
2
  import * as i0 from "@angular/core";
3
3
  import { Service, computed, inject, isDevMode, signal } from "@angular/core";
4
4
  import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
@@ -213,7 +213,8 @@ var NavigationService = class NavigationService {
213
213
  persistence = new NavigationPersistence(this.documentRef);
214
214
  router = inject(Router, { optional: true });
215
215
  urlResolver = new NavigationActiveUrlResolver(this.router);
216
- routerUrl = signal(this.router?.url ?? "/", ...ngDevMode ? [{ debugName: "routerUrl" }] : /* istanbul ignore next */ []);
216
+ location = inject(Location, { optional: true });
217
+ routerUrl = signal(this.initialUrl(), ...ngDevMode ? [{ debugName: "routerUrl" }] : /* istanbul ignore next */ []);
217
218
  states = signal({}, ...ngDevMode ? [{ debugName: "states" }] : /* istanbul ignore next */ []);
218
219
  openPanelKeys = signal({}, ...ngDevMode ? [{ debugName: "openPanelKeys" }] : /* istanbul ignore next */ []);
219
220
  drawerOpenState = signal({}, ...ngDevMode ? [{ debugName: "drawerOpenState" }] : /* istanbul ignore next */ []);
@@ -250,6 +251,13 @@ var NavigationService = class NavigationService {
250
251
  releasePanelsAfterNavigation() {
251
252
  this.openPanelKeys.update((state) => Object.values(state).some((key) => key !== null) ? {} : state);
252
253
  }
254
+ initialUrl() {
255
+ if (this.router && !this.router.navigated) {
256
+ const path = this.location?.path(true);
257
+ if (path) return path;
258
+ }
259
+ return this.router?.url ?? "/";
260
+ }
253
261
  urlPath(url) {
254
262
  const end = url.search(/[?#]/);
255
263
  return end === -1 ? url : url.slice(0, end);
@@ -525,7 +533,7 @@ var NavigationService = class NavigationService {
525
533
  }
526
534
  static ɵfac = i0.ɵɵngDeclareFactory({
527
535
  minVersion: "12.0.0",
528
- version: "22.2.2",
536
+ version: "22.2.3",
529
537
  ngImport: i0,
530
538
  type: NavigationService,
531
539
  deps: [],
@@ -533,14 +541,14 @@ var NavigationService = class NavigationService {
533
541
  });
534
542
  static ɵprov = i0.ɵɵngDeclareService({
535
543
  minVersion: "22.0.0",
536
- version: "22.2.2",
544
+ version: "22.2.3",
537
545
  ngImport: i0,
538
546
  type: NavigationService
539
547
  });
540
548
  };
541
549
  i0.ɵɵngDeclareClassMetadata({
542
550
  minVersion: "12.0.0",
543
- version: "22.2.2",
551
+ version: "22.2.3",
544
552
  ngImport: i0,
545
553
  type: NavigationService,
546
554
  decorators: [{ type: Service }],