@ojiepermana/angular 21.1.22 → 21.1.24
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/etos/styles/style.css +4 -2
- package/fesm2022/ojiepermana-angular-brand-etos.mjs +25 -23
- package/fesm2022/ojiepermana-angular-brand-etos.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-chart.mjs +72 -72
- package/fesm2022/ojiepermana-angular-component.mjs +889 -295
- package/fesm2022/ojiepermana-angular-component.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-layout.mjs +104 -26
- package/fesm2022/ojiepermana-angular-layout.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-navigation.mjs +52 -41
- package/fesm2022/ojiepermana-angular-navigation.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-theme.mjs +27 -6
- package/fesm2022/ojiepermana-angular-theme.mjs.map +1 -1
- package/package.json +9 -1
- package/theme/styles/themes/library/_components.css +18 -0
- package/theme/styles/themes/library/_tokens.css +11 -10
- package/theme/styles/themes/library/color/amber.css +24 -11
- package/theme/styles/themes/library/color/base.css +36 -0
- package/theme/styles/themes/library/color/blue.css +23 -15
- package/theme/styles/themes/library/color/cyan.css +31 -0
- package/theme/styles/themes/library/color/emerald.css +31 -0
- package/theme/styles/themes/library/color/fuchsia.css +31 -0
- package/theme/styles/themes/library/color/green.css +23 -10
- package/theme/styles/themes/library/color/index.css +15 -2
- package/theme/styles/themes/library/color/indigo.css +31 -0
- package/theme/styles/themes/library/color/lime.css +31 -0
- package/theme/styles/themes/library/color/orange.css +31 -0
- package/theme/styles/themes/library/color/pink.css +31 -0
- package/theme/styles/themes/library/color/purple.css +23 -10
- package/theme/styles/themes/library/color/red.css +23 -10
- package/theme/styles/themes/library/color/rose.css +31 -0
- package/theme/styles/themes/library/color/sky.css +31 -0
- package/theme/styles/themes/library/color/teal.css +31 -0
- package/theme/styles/themes/library/color/violet.css +31 -0
- package/theme/styles/themes/library/color/yellow.css +31 -0
- package/theme/styles/themes/library/style/brutal.css +4 -2
- package/theme/styles/themes/library/style/default.css +4 -2
- package/theme/styles/themes/library/style/sharp.css +4 -2
- package/theme/styles/themes/library/style/soft.css +4 -2
- package/theme/styles/themes/tailwind.css +3 -1
- package/types/ojiepermana-angular-component.d.ts +215 -6
- package/types/ojiepermana-angular-layout.d.ts +19 -3
- package/types/ojiepermana-angular-navigation.d.ts +7 -2
- package/types/ojiepermana-angular-theme.d.ts +4 -4
|
@@ -197,10 +197,10 @@ class NavigationService {
|
|
|
197
197
|
/* ignore */
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
201
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
200
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
201
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NavigationService, providedIn: 'root' });
|
|
202
202
|
}
|
|
203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NavigationService, decorators: [{
|
|
204
204
|
type: Injectable,
|
|
205
205
|
args: [{ providedIn: 'root' }]
|
|
206
206
|
}], ctorParameters: () => [] });
|
|
@@ -240,10 +240,10 @@ class UiNavIconComponent {
|
|
|
240
240
|
link.setAttribute(MATERIAL_SYMBOLS_FONT_ATTR, MATERIAL_SYMBOLS_FONT_ID);
|
|
241
241
|
this.doc.head.appendChild(link);
|
|
242
242
|
}
|
|
243
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
244
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
243
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: UiNavIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
244
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.13", type: UiNavIconComponent, isStandalone: true, selector: "ui-nav-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-hidden": "true", "translate": "no" }, properties: { "class": "classes()", "style.font-size.px": "size()", "style.font-variation-settings": "fontVariationSettings" } }, ngImport: i0, template: `{{ name() }}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
245
245
|
}
|
|
246
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: UiNavIconComponent, decorators: [{
|
|
247
247
|
type: Component,
|
|
248
248
|
args: [{
|
|
249
249
|
selector: 'ui-nav-icon',
|
|
@@ -323,8 +323,8 @@ class UiNavItemComponent {
|
|
|
323
323
|
item.action(item);
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
327
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
326
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: UiNavItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
327
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: UiNavItemComponent, isStandalone: true, selector: "ui-nav-item", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
328
328
|
@switch (type()) {
|
|
329
329
|
@case ('divider') {
|
|
330
330
|
<hr class="my-2 border-t border-border" role="separator" />
|
|
@@ -355,7 +355,7 @@ class UiNavItemComponent {
|
|
|
355
355
|
type="button"
|
|
356
356
|
[class]="
|
|
357
357
|
cn(
|
|
358
|
-
'ui-nav-text group/ni flex w-full items-center gap-3 rounded
|
|
358
|
+
'ui-nav-text ui-nav-hover-surface group/ni flex w-full items-center gap-3 rounded p-3 text-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
|
|
359
359
|
isTrailActive() && 'text-primary',
|
|
360
360
|
item().classes?.wrapper
|
|
361
361
|
)
|
|
@@ -395,7 +395,7 @@ class UiNavItemComponent {
|
|
|
395
395
|
<div
|
|
396
396
|
[id]="id + '-panel'"
|
|
397
397
|
role="region"
|
|
398
|
-
class="relative ml-6.5 mt-0.5 flex flex-col gap-0.5 pl-3 before:absolute before:bottom-0 before:left-0 before:-top-3.5 before:w-px before:bg-
|
|
398
|
+
class="relative ml-6.5 mt-0.5 flex flex-col gap-0.5 pl-3 before:absolute before:bottom-0 before:left-0 before:-top-3.5 before:w-px before:bg-primary/30 before:content-['']">
|
|
399
399
|
@for (child of collapsableItem().children; track child.id) {
|
|
400
400
|
<ui-nav-item [item]="child" [level]="level() + 1" [compact]="false" />
|
|
401
401
|
}
|
|
@@ -421,7 +421,7 @@ class UiNavItemComponent {
|
|
|
421
421
|
<a
|
|
422
422
|
[class]="
|
|
423
423
|
cn(
|
|
424
|
-
'ui-nav-text flex items-center gap-3 rounded
|
|
424
|
+
'ui-nav-text ui-nav-hover-surface flex items-center gap-3 rounded px-3 py-2 text-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring aria-[current=page]:text-primary',
|
|
425
425
|
item().classes?.wrapper
|
|
426
426
|
)
|
|
427
427
|
"
|
|
@@ -449,7 +449,7 @@ class UiNavItemComponent {
|
|
|
449
449
|
<a
|
|
450
450
|
[class]="
|
|
451
451
|
cn(
|
|
452
|
-
'ui-nav-text flex items-center gap-3 rounded
|
|
452
|
+
'ui-nav-text ui-nav-hover-surface flex items-center gap-3 rounded px-3 py-2 text-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring aria-[current=page]:text-primary aria-disabled:pointer-events-none aria-disabled:opacity-50',
|
|
453
453
|
item().classes?.wrapper
|
|
454
454
|
)
|
|
455
455
|
"
|
|
@@ -484,7 +484,7 @@ class UiNavItemComponent {
|
|
|
484
484
|
<a
|
|
485
485
|
[class]="
|
|
486
486
|
cn(
|
|
487
|
-
'ui-nav-text flex items-center gap-3 rounded
|
|
487
|
+
'ui-nav-text ui-nav-hover-surface flex items-center gap-3 rounded px-3 py-2 text-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
|
|
488
488
|
item().classes?.wrapper
|
|
489
489
|
)
|
|
490
490
|
"
|
|
@@ -506,7 +506,7 @@ class UiNavItemComponent {
|
|
|
506
506
|
type="button"
|
|
507
507
|
[class]="
|
|
508
508
|
cn(
|
|
509
|
-
'ui-nav-text flex w-full items-center gap-3 rounded
|
|
509
|
+
'ui-nav-text ui-nav-hover-surface flex w-full items-center gap-3 rounded px-3 py-2 text-left text-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50',
|
|
510
510
|
item().classes?.wrapper
|
|
511
511
|
)
|
|
512
512
|
"
|
|
@@ -527,7 +527,7 @@ class UiNavItemComponent {
|
|
|
527
527
|
}
|
|
528
528
|
`, isInline: true, dependencies: [{ kind: "component", type: UiNavItemComponent, selector: "ui-nav-item", inputs: ["item", "level", "compact"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: UiNavIconComponent, selector: "ui-nav-icon", inputs: ["name", "class", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
529
529
|
}
|
|
530
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: UiNavItemComponent, decorators: [{
|
|
531
531
|
type: Component,
|
|
532
532
|
args: [{
|
|
533
533
|
selector: 'ui-nav-item',
|
|
@@ -564,7 +564,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
564
564
|
type="button"
|
|
565
565
|
[class]="
|
|
566
566
|
cn(
|
|
567
|
-
'ui-nav-text group/ni flex w-full items-center gap-3 rounded
|
|
567
|
+
'ui-nav-text ui-nav-hover-surface group/ni flex w-full items-center gap-3 rounded p-3 text-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
|
|
568
568
|
isTrailActive() && 'text-primary',
|
|
569
569
|
item().classes?.wrapper
|
|
570
570
|
)
|
|
@@ -604,7 +604,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
604
604
|
<div
|
|
605
605
|
[id]="id + '-panel'"
|
|
606
606
|
role="region"
|
|
607
|
-
class="relative ml-6.5 mt-0.5 flex flex-col gap-0.5 pl-3 before:absolute before:bottom-0 before:left-0 before:-top-3.5 before:w-px before:bg-
|
|
607
|
+
class="relative ml-6.5 mt-0.5 flex flex-col gap-0.5 pl-3 before:absolute before:bottom-0 before:left-0 before:-top-3.5 before:w-px before:bg-primary/30 before:content-['']">
|
|
608
608
|
@for (child of collapsableItem().children; track child.id) {
|
|
609
609
|
<ui-nav-item [item]="child" [level]="level() + 1" [compact]="false" />
|
|
610
610
|
}
|
|
@@ -630,7 +630,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
630
630
|
<a
|
|
631
631
|
[class]="
|
|
632
632
|
cn(
|
|
633
|
-
'ui-nav-text flex items-center gap-3 rounded
|
|
633
|
+
'ui-nav-text ui-nav-hover-surface flex items-center gap-3 rounded px-3 py-2 text-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring aria-[current=page]:text-primary',
|
|
634
634
|
item().classes?.wrapper
|
|
635
635
|
)
|
|
636
636
|
"
|
|
@@ -658,7 +658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
658
658
|
<a
|
|
659
659
|
[class]="
|
|
660
660
|
cn(
|
|
661
|
-
'ui-nav-text flex items-center gap-3 rounded
|
|
661
|
+
'ui-nav-text ui-nav-hover-surface flex items-center gap-3 rounded px-3 py-2 text-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring aria-[current=page]:text-primary aria-disabled:pointer-events-none aria-disabled:opacity-50',
|
|
662
662
|
item().classes?.wrapper
|
|
663
663
|
)
|
|
664
664
|
"
|
|
@@ -693,7 +693,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
693
693
|
<a
|
|
694
694
|
[class]="
|
|
695
695
|
cn(
|
|
696
|
-
'ui-nav-text flex items-center gap-3 rounded
|
|
696
|
+
'ui-nav-text ui-nav-hover-surface flex items-center gap-3 rounded px-3 py-2 text-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
|
|
697
697
|
item().classes?.wrapper
|
|
698
698
|
)
|
|
699
699
|
"
|
|
@@ -715,7 +715,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
715
715
|
type="button"
|
|
716
716
|
[class]="
|
|
717
717
|
cn(
|
|
718
|
-
'ui-nav-text flex w-full items-center gap-3 rounded
|
|
718
|
+
'ui-nav-text ui-nav-hover-surface flex w-full items-center gap-3 rounded px-3 py-2 text-left text-foreground/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50',
|
|
719
719
|
item().classes?.wrapper
|
|
720
720
|
)
|
|
721
721
|
"
|
|
@@ -761,6 +761,8 @@ class SidebarComponent {
|
|
|
761
761
|
/** Registry key di `NavigationService`. Default `'main'`. */
|
|
762
762
|
navigationId = input(DEFAULT_NAVIGATION_ID, ...(ngDevMode ? [{ debugName: "navigationId" }] : /* istanbul ignore next */ []));
|
|
763
763
|
appearance = input('default', ...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
|
|
764
|
+
/** Desktop border can be owned by the sidebar or by the surrounding layout shell. */
|
|
765
|
+
borderSource = input('component', ...(ngDevMode ? [{ debugName: "borderSource" }] : /* istanbul ignore next */ []));
|
|
764
766
|
position = input('left', ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
|
|
765
767
|
ariaLabel = input('Primary', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
766
768
|
header = input(true, ...(ngDevMode ? [{ debugName: "header" }] : /* istanbul ignore next */ []));
|
|
@@ -822,21 +824,28 @@ class SidebarComponent {
|
|
|
822
824
|
base.push('w-16');
|
|
823
825
|
else
|
|
824
826
|
base.push('[width:17.5rem]');
|
|
825
|
-
if (this.
|
|
826
|
-
|
|
827
|
+
if (this.borderSource() === 'component') {
|
|
828
|
+
if (this.position() === 'right')
|
|
829
|
+
base.push('border-l', 'border-primary/30');
|
|
830
|
+
else
|
|
831
|
+
base.push('border-r', 'border-primary/30');
|
|
832
|
+
}
|
|
827
833
|
return [...base, this.class()].join(' ');
|
|
828
834
|
}, ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
|
|
829
835
|
headerClasses = computed(() => {
|
|
830
|
-
const base = ['flex
|
|
836
|
+
const base = ['flex items-center gap-1 border-b border-primary/30'];
|
|
831
837
|
if (this.isCompact()) {
|
|
832
|
-
base.push('justify-center px-2');
|
|
838
|
+
base.push('h-12', 'justify-center', 'px-2');
|
|
839
|
+
}
|
|
840
|
+
else {
|
|
841
|
+
base.push('h-12', 'pr-2');
|
|
833
842
|
}
|
|
834
843
|
return base.join(' ');
|
|
835
844
|
}, ...(ngDevMode ? [{ debugName: "headerClasses" }] : /* istanbul ignore next */ []));
|
|
836
845
|
headerSlotClasses = computed(() => {
|
|
837
846
|
const base = ['min-w-0'];
|
|
838
847
|
if (this.isCompact()) {
|
|
839
|
-
base.push('flex flex-1 items-center justify-center overflow-hidden', '[&>[sidebar-header]>*]:mx-auto', '[&>[sidebar-header]>*]:max-w-full', '[&>[sidebar-header]>*]:shrink-0');
|
|
848
|
+
base.push('flex flex-1 items-center justify-center overflow-hidden', '[&>[sidebar-header]>*]:mx-auto', '[&>[sidebar-header]>*]:w-auto', '[&>[sidebar-header]>*]:max-w-full', '[&>[sidebar-header]>*]:justify-center', '[&>[sidebar-header]>*]:gap-0', '[&>[sidebar-header]>*]:px-0', '[&>[sidebar-header]>*]:shrink-0', '[&>[sidebar-header]>*>*:first-child]:mx-auto', '[&>[sidebar-header]>*>*:nth-child(n+2)]:hidden');
|
|
840
849
|
}
|
|
841
850
|
else {
|
|
842
851
|
base.push('flex min-w-0 flex-1 items-center');
|
|
@@ -852,7 +861,7 @@ class SidebarComponent {
|
|
|
852
861
|
}, ...(ngDevMode ? [{ debugName: "navClasses" }] : /* istanbul ignore next */ []));
|
|
853
862
|
scrollViewportClasses = computed(() => 'overflow-y-auto overflow-x-hidden scrollbar-thin scrollbar-thumb-primary scrollbar-track-primary/10', ...(ngDevMode ? [{ debugName: "scrollViewportClasses" }] : /* istanbul ignore next */ []));
|
|
854
863
|
footerClasses = computed(() => {
|
|
855
|
-
const base = ['h-12 border-t border-
|
|
864
|
+
const base = ['h-12 border-t border-primary/30'];
|
|
856
865
|
if (this.isCompact()) {
|
|
857
866
|
base.push('flex items-center justify-center px-2');
|
|
858
867
|
}
|
|
@@ -875,7 +884,7 @@ class SidebarComponent {
|
|
|
875
884
|
base.push('bg-background');
|
|
876
885
|
}
|
|
877
886
|
if (overlayActive) {
|
|
878
|
-
base.push('absolute inset-y-0 z-30 shadow-xl [width:17.5rem]', this.position() === 'right' ? 'right-0 border-l border-
|
|
887
|
+
base.push('absolute inset-y-0 z-30 shadow-xl [width:17.5rem]', this.position() === 'right' ? 'right-0 border-l border-primary/30' : 'left-0 border-r border-primary/30');
|
|
879
888
|
}
|
|
880
889
|
else {
|
|
881
890
|
base.push('w-full');
|
|
@@ -954,8 +963,8 @@ class SidebarComponent {
|
|
|
954
963
|
this.previouslyFocused?.focus?.();
|
|
955
964
|
this.previouslyFocused = null;
|
|
956
965
|
}
|
|
957
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
958
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
966
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
967
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: SidebarComponent, isStandalone: true, selector: "sidebar", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, navigationId: { classPropertyName: "navigationId", publicName: "navigationId", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, borderSource: { classPropertyName: "borderSource", publicName: "borderSource", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, autoMobile: { classPropertyName: "autoMobile", publicName: "autoMobile", isSignal: true, isRequired: false, transformFunction: null }, autoRegister: { classPropertyName: "autoRegister", publicName: "autoRegister", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "navigation" }, listeners: { "mouseenter": "onHoverEnter()", "mouseleave": "onHoverLeave()", "focusin": "onHoverEnter()", "click": "onHostClick($event)" }, properties: { "attr.aria-label": "ariaLabel()", "class": "hostClasses()", "attr.data-appearance": "resolvedAppearance()", "attr.data-position": "position()", "attr.data-expanded": "isExpanded()", "hidden": "isMobile()" } }, viewQueries: [{ propertyName: "drawerTpl", first: true, predicate: ["drawerTpl"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
959
968
|
<div [class]="innerClasses()">
|
|
960
969
|
<ng-container [ngTemplateOutlet]="body" />
|
|
961
970
|
</div>
|
|
@@ -970,7 +979,7 @@ class SidebarComponent {
|
|
|
970
979
|
<button
|
|
971
980
|
type="button"
|
|
972
981
|
data-sidebar-toggle
|
|
973
|
-
class="
|
|
982
|
+
class="inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-muted/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background"
|
|
974
983
|
[attr.aria-label]="toggleButtonLabel()"
|
|
975
984
|
[attr.title]="toggleButtonLabel()"
|
|
976
985
|
[attr.aria-pressed]="resolvedAppearance() === 'thin'"
|
|
@@ -999,15 +1008,16 @@ class SidebarComponent {
|
|
|
999
1008
|
role="dialog"
|
|
1000
1009
|
aria-modal="true"
|
|
1001
1010
|
[attr.aria-label]="ariaLabel()"
|
|
1002
|
-
class="flex h-full w-72 max-w-[85vw] flex-col text-foreground shadow-xl"
|
|
1011
|
+
class="flex h-full w-72 max-w-[85vw] flex-col border-primary/30 text-foreground shadow-xl"
|
|
1012
|
+
[class.border-r]="position() === 'left'"
|
|
1003
1013
|
[class.border-l]="position() === 'right'"
|
|
1004
|
-
[class.border-
|
|
1014
|
+
[class.border-primary/30]="position() === 'left' || position() === 'right'">
|
|
1005
1015
|
<ng-container [ngTemplateOutlet]="body" />
|
|
1006
1016
|
</div>
|
|
1007
1017
|
</ng-template>
|
|
1008
1018
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ScrollAreaComponent, selector: "ui-scroll-area", inputs: ["class", "viewportClass"] }, { kind: "component", type: UiNavIconComponent, selector: "ui-nav-icon", inputs: ["name", "class", "size"] }, { kind: "component", type: UiNavItemComponent, selector: "ui-nav-item", inputs: ["item", "level", "compact"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1009
1019
|
}
|
|
1010
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1020
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
1011
1021
|
type: Component,
|
|
1012
1022
|
args: [{
|
|
1013
1023
|
selector: 'sidebar',
|
|
@@ -1041,7 +1051,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
1041
1051
|
<button
|
|
1042
1052
|
type="button"
|
|
1043
1053
|
data-sidebar-toggle
|
|
1044
|
-
class="
|
|
1054
|
+
class="inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-muted/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background"
|
|
1045
1055
|
[attr.aria-label]="toggleButtonLabel()"
|
|
1046
1056
|
[attr.title]="toggleButtonLabel()"
|
|
1047
1057
|
[attr.aria-pressed]="resolvedAppearance() === 'thin'"
|
|
@@ -1070,15 +1080,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
1070
1080
|
role="dialog"
|
|
1071
1081
|
aria-modal="true"
|
|
1072
1082
|
[attr.aria-label]="ariaLabel()"
|
|
1073
|
-
class="flex h-full w-72 max-w-[85vw] flex-col text-foreground shadow-xl"
|
|
1083
|
+
class="flex h-full w-72 max-w-[85vw] flex-col border-primary/30 text-foreground shadow-xl"
|
|
1084
|
+
[class.border-r]="position() === 'left'"
|
|
1074
1085
|
[class.border-l]="position() === 'right'"
|
|
1075
|
-
[class.border-
|
|
1086
|
+
[class.border-primary/30]="position() === 'left' || position() === 'right'">
|
|
1076
1087
|
<ng-container [ngTemplateOutlet]="body" />
|
|
1077
1088
|
</div>
|
|
1078
1089
|
</ng-template>
|
|
1079
1090
|
`,
|
|
1080
1091
|
}]
|
|
1081
|
-
}], ctorParameters: () => [], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], navigationId: [{ type: i0.Input, args: [{ isSignal: true, alias: "navigationId", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], autoMobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoMobile", required: false }] }], autoRegister: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoRegister", required: false }] }], drawerTpl: [{ type: i0.ViewChild, args: ['drawerTpl', { isSignal: true }] }] } });
|
|
1092
|
+
}], ctorParameters: () => [], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], navigationId: [{ type: i0.Input, args: [{ isSignal: true, alias: "navigationId", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], borderSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "borderSource", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], autoMobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoMobile", required: false }] }], autoRegister: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoRegister", required: false }] }], drawerTpl: [{ type: i0.ViewChild, args: ['drawerTpl', { isSignal: true }] }] } });
|
|
1082
1093
|
|
|
1083
1094
|
/**
|
|
1084
1095
|
* Horizontal navigation (topbar) — shadcn-styled.
|
|
@@ -1266,8 +1277,8 @@ class TopbarComponent {
|
|
|
1266
1277
|
const items = this.collectPanelFocusables(panel);
|
|
1267
1278
|
items[0]?.focus();
|
|
1268
1279
|
}
|
|
1269
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1270
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
1280
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1281
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: TopbarComponent, isStandalone: true, selector: "topbar", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, navigationId: { classPropertyName: "navigationId", publicName: "navigationId", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, autoRegister: { classPropertyName: "autoRegister", publicName: "autoRegister", isSignal: true, isRequired: false, transformFunction: null }, showHamburger: { classPropertyName: "showHamburger", publicName: "showHamburger", isSignal: true, isRequired: false, transformFunction: null }, hamburgerLabel: { classPropertyName: "hamburgerLabel", publicName: "hamburgerLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "navigation" }, properties: { "attr.aria-label": "ariaLabel()", "class": "hostClasses()", "attr.data-appearance": "appearance()" } }, viewQueries: [{ propertyName: "dropdownTpl", first: true, predicate: ["dropdownTpl"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
1271
1282
|
<div class="flex h-full w-full items-center gap-3 px-1">
|
|
1272
1283
|
<div data-topbar-slot="start" class="flex shrink-0 items-center gap-2">
|
|
1273
1284
|
@if (showHamburger()) {
|
|
@@ -1372,7 +1383,7 @@ class TopbarComponent {
|
|
|
1372
1383
|
</ng-template>
|
|
1373
1384
|
`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: UiNavIconComponent, selector: "ui-nav-icon", inputs: ["name", "class", "size"] }, { kind: "component", type: UiNavItemComponent, selector: "ui-nav-item", inputs: ["item", "level", "compact"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1374
1385
|
}
|
|
1375
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1386
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: TopbarComponent, decorators: [{
|
|
1376
1387
|
type: Component,
|
|
1377
1388
|
args: [{
|
|
1378
1389
|
selector: 'topbar',
|