@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.
- package/README.md +18 -7
- package/component/icon/README.md +40 -13
- package/fesm2022/ojiepermana-angular-chart-area.mjs +3 -3
- package/fesm2022/ojiepermana-angular-chart-bar.mjs +5 -5
- package/fesm2022/ojiepermana-angular-chart-core.mjs +33 -33
- package/fesm2022/ojiepermana-angular-chart-line.mjs +5 -5
- package/fesm2022/ojiepermana-angular-chart-pie.mjs +5 -5
- package/fesm2022/ojiepermana-angular-chart-primitives.mjs +33 -33
- package/fesm2022/ojiepermana-angular-chart-radar.mjs +5 -5
- package/fesm2022/ojiepermana-angular-chart-radial.mjs +5 -5
- package/fesm2022/ojiepermana-angular-chart-scatter.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-accordion.mjs +17 -17
- package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +27 -27
- package/fesm2022/ojiepermana-angular-component-alert.mjs +12 -12
- package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-avatar.mjs +18 -18
- package/fesm2022/ojiepermana-angular-component-badge.mjs +9 -9
- package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +21 -21
- package/fesm2022/ojiepermana-angular-component-button-group.mjs +10 -10
- package/fesm2022/ojiepermana-angular-component-button.mjs +4 -4
- package/fesm2022/ojiepermana-angular-component-calendar.mjs +5 -5
- package/fesm2022/ojiepermana-angular-component-card.mjs +27 -24
- package/fesm2022/ojiepermana-angular-component-carousel.mjs +18 -18
- package/fesm2022/ojiepermana-angular-component-checkbox.mjs +4 -4
- package/fesm2022/ojiepermana-angular-component-collapsible.mjs +12 -12
- package/fesm2022/ojiepermana-angular-component-combobox.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-command.mjs +28 -28
- package/fesm2022/ojiepermana-angular-component-composer.mjs +22 -22
- package/fesm2022/ojiepermana-angular-component-context-menu.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-date-picker.mjs +5 -5
- package/fesm2022/ojiepermana-angular-component-dialog.mjs +22 -22
- package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +39 -39
- package/fesm2022/ojiepermana-angular-component-editor.mjs +21 -21
- package/fesm2022/ojiepermana-angular-component-empty.mjs +19 -19
- package/fesm2022/ojiepermana-angular-component-form.mjs +36 -36
- package/fesm2022/ojiepermana-angular-component-hover-card.mjs +9 -9
- package/fesm2022/ojiepermana-angular-component-icon.mjs +114 -105
- package/fesm2022/ojiepermana-angular-component-input-group.mjs +19 -19
- package/fesm2022/ojiepermana-angular-component-input-otp.mjs +16 -16
- package/fesm2022/ojiepermana-angular-component-input.mjs +6 -6
- package/fesm2022/ojiepermana-angular-component-item.mjs +31 -31
- package/fesm2022/ojiepermana-angular-component-kanban.mjs +29 -29
- package/fesm2022/ojiepermana-angular-component-kbd.mjs +7 -7
- package/fesm2022/ojiepermana-angular-component-label.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-menubar.mjs +13 -13
- package/fesm2022/ojiepermana-angular-component-native-select.mjs +14 -14
- package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +21 -21
- package/fesm2022/ojiepermana-angular-component-pagination.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-pillbox.mjs +16 -16
- package/fesm2022/ojiepermana-angular-component-popover.mjs +6 -6
- package/fesm2022/ojiepermana-angular-component-progress.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-radio.mjs +7 -7
- package/fesm2022/ojiepermana-angular-component-resizable.mjs +12 -12
- package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +6 -8
- package/fesm2022/ojiepermana-angular-component-select.mjs +8 -8
- package/fesm2022/ojiepermana-angular-component-separator.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-sheet.mjs +41 -28
- package/fesm2022/ojiepermana-angular-component-skeleton.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-slider.mjs +10 -10
- package/fesm2022/ojiepermana-angular-component-spinner.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-switch.mjs +4 -4
- package/fesm2022/ojiepermana-angular-component-table.mjs +24 -24
- package/fesm2022/ojiepermana-angular-component-tabs.mjs +18 -18
- package/fesm2022/ojiepermana-angular-component-textarea.mjs +6 -6
- package/fesm2022/ojiepermana-angular-component-timeline.mjs +19 -19
- package/fesm2022/ojiepermana-angular-component-toast.mjs +5 -5
- package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +9 -9
- package/fesm2022/ojiepermana-angular-component-toggle.mjs +5 -5
- package/fesm2022/ojiepermana-angular-component-tooltip.mjs +15 -15
- package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +3 -3
- package/fesm2022/ojiepermana-angular-navigation-icon.mjs +3 -3
- package/fesm2022/{ojiepermana-angular-navigation-navigation-badge-count.component-DYuysKVf.mjs → ojiepermana-angular-navigation-navigation-badge-count.component-4RIokl1C.mjs} +3 -3
- package/fesm2022/{ojiepermana-angular-navigation-navigation-dockbar-menu.component-COiTaw34.mjs → ojiepermana-angular-navigation-navigation-dockbar-menu.component-CGfu2V6f.mjs} +22 -15
- package/fesm2022/{ojiepermana-angular-navigation-navigation-entry-grid.component-YIz0IsIb.mjs → ojiepermana-angular-navigation-navigation-entry-grid.component-zBCXDa4c.mjs} +15 -24
- package/fesm2022/{ojiepermana-angular-navigation-navigation-flyout-menu.component-D2vwEwBY.mjs → ojiepermana-angular-navigation-navigation-flyout-menu.component-DYkYIIHd.mjs} +14 -13
- package/fesm2022/{ojiepermana-angular-navigation-navigation-horizontal.component-B5D7yXfb.mjs → ojiepermana-angular-navigation-navigation-horizontal.component-LNTertHr.mjs} +5 -5
- package/fesm2022/{ojiepermana-angular-navigation-navigation-item.component-CUb68MZH.mjs → ojiepermana-angular-navigation-navigation-item.component-DiGOcizS.mjs} +21 -22
- package/fesm2022/{ojiepermana-angular-navigation-navigation-list.component-CrK16trj.mjs → ojiepermana-angular-navigation-navigation-list.component-DB22Gl-5.mjs} +4 -4
- package/fesm2022/ojiepermana-angular-navigation-service.mjs +13 -5
- package/fesm2022/ojiepermana-angular-navigation.mjs +94 -87
- package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +127 -72
- package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +6 -6
- package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +56 -48
- package/fesm2022/ojiepermana-angular-theme-layout.mjs +30 -30
- package/fesm2022/ojiepermana-angular-theme-page-core.mjs +3 -3
- package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +7 -7
- package/fesm2022/ojiepermana-angular-theme-page-overview.mjs +3 -3
- package/fesm2022/ojiepermana-angular-theme-page-root.mjs +8 -6
- package/fesm2022/ojiepermana-angular-theme-page-side.mjs +7 -7
- package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +12 -12
- package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +3 -3
- package/fesm2022/ojiepermana-angular-theme-shell.mjs +16 -12
- package/fesm2022/ojiepermana-angular-theme-styles.mjs +17 -33
- package/navigation/README.md +2 -2
- package/package.json +3 -2
- package/theme/README.md +4 -10
- package/theme/page/README.md +2 -0
- package/theme/shell/README.md +5 -1
- package/theme/styles/README.md +32 -8
- package/theme/styles/css/base/components.css +13 -9
- package/theme/styles/css/base/tailwind.css +43 -0
- package/theme/styles/css/base/theme.css +4 -25
- package/theme/styles/css/base/tokens.css +21 -0
- package/theme/styles/css/fonts.css +85 -0
- package/types/ojiepermana-angular-chart-radar.d.ts +2 -1
- package/types/ojiepermana-angular-component-avatar.d.ts +2 -1
- package/types/ojiepermana-angular-component-calendar.d.ts +2 -1
- package/types/ojiepermana-angular-component-card.d.ts +6 -1
- package/types/ojiepermana-angular-component-editor.d.ts +2 -1
- package/types/ojiepermana-angular-component-icon.d.ts +64 -79
- package/types/ojiepermana-angular-component-input-otp.d.ts +2 -1
- package/types/ojiepermana-angular-component-pillbox.d.ts +2 -1
- package/types/ojiepermana-angular-component-radio.d.ts +2 -1
- package/types/ojiepermana-angular-component-resizable.d.ts +2 -1
- package/types/ojiepermana-angular-component-segmented-control.d.ts +1 -1
- package/types/ojiepermana-angular-component-select.d.ts +2 -1
- package/types/ojiepermana-angular-navigation-service.d.ts +8 -0
- package/types/ojiepermana-angular-navigation-types.d.ts +1 -1
- package/types/ojiepermana-angular-navigation.d.ts +12 -5
- package/types/ojiepermana-angular-theme-layout-services.d.ts +2 -1
- package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +4 -3
- package/types/ojiepermana-angular-theme-page-root.d.ts +1 -1
- package/types/ojiepermana-angular-theme-shell-services.d.ts +2 -1
- 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-
|
|
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 {
|
|
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-
|
|
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.
|
|
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.
|
|
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="
|
|
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
|
-
"
|
|
459
|
-
"
|
|
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.
|
|
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="
|
|
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-
|
|
2
|
-
import { t as NavigationEntryGridComponent } from "./ojiepermana-angular-navigation-navigation-entry-grid.component-
|
|
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 {
|
|
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-
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
"
|
|
384
|
-
"
|
|
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.
|
|
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
|
|
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-
|
|
2
|
-
import { t as NavigationEntryGridComponent } from "./ojiepermana-angular-navigation-navigation-entry-grid.component-
|
|
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.
|
|
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.
|
|
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.
|
|
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 {
|
|
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-
|
|
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.
|
|
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.
|
|
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"
|
|
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
|
-
"
|
|
138
|
-
"
|
|
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.
|
|
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"
|
|
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-
|
|
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-
|
|
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.
|
|
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.
|
|
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="
|
|
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
|
-
"
|
|
782
|
-
"
|
|
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.
|
|
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="
|
|
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-
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
551
|
+
version: "22.2.3",
|
|
544
552
|
ngImport: i0,
|
|
545
553
|
type: NavigationService,
|
|
546
554
|
decorators: [{ type: Service }],
|