orbiq-neural-ui-kit 1.2.51 → 1.2.53
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.
|
@@ -4616,7 +4616,7 @@ class NeuralDropdownComponent {
|
|
|
4616
4616
|
</button>
|
|
4617
4617
|
|
|
4618
4618
|
<!-- Nested Panel -->
|
|
4619
|
-
<div class="absolute left-full top-0
|
|
4619
|
+
<div class="absolute left-full top-0 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 delay-100 group-hover:delay-150 pl-1.5 z-50">
|
|
4620
4620
|
<neural-popover-panel class="block min-w-[180px]">
|
|
4621
4621
|
<ng-container *ngTemplateOutlet="menuList; context: { $implicit: option.children, popover: popover }"></ng-container>
|
|
4622
4622
|
</neural-popover-panel>
|
|
@@ -4721,7 +4721,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
4721
4721
|
</button>
|
|
4722
4722
|
|
|
4723
4723
|
<!-- Nested Panel -->
|
|
4724
|
-
<div class="absolute left-full top-0
|
|
4724
|
+
<div class="absolute left-full top-0 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 delay-100 group-hover:delay-150 pl-1.5 z-50">
|
|
4725
4725
|
<neural-popover-panel class="block min-w-[180px]">
|
|
4726
4726
|
<ng-container *ngTemplateOutlet="menuList; context: { $implicit: option.children, popover: popover }"></ng-container>
|
|
4727
4727
|
</neural-popover-panel>
|
|
@@ -14490,7 +14490,7 @@ class NeuralSidebarItemComponent {
|
|
|
14490
14490
|
<div
|
|
14491
14491
|
data-slot="sidebar-item"
|
|
14492
14492
|
[attr.data-state]="resolvedActive() ? 'active' : 'inactive'"
|
|
14493
|
-
class="group/sidebar-item flex h-8 items-center rounded-4 transition-colors cursor-pointer"
|
|
14493
|
+
class="group/sidebar-item flex h-8 items-center rounded-4 transition-colors cursor-pointer mx-2"
|
|
14494
14494
|
[class]="
|
|
14495
14495
|
resolvedActive()
|
|
14496
14496
|
? 'bg-surface-gray-3 text-ink-gray-9 font-medium'
|
|
@@ -14504,7 +14504,7 @@ class NeuralSidebarItemComponent {
|
|
|
14504
14504
|
#rla="routerLinkActive"
|
|
14505
14505
|
[attr.aria-label]="tooltipText() || undefined"
|
|
14506
14506
|
[attr.aria-current]="resolvedActive() ? 'page' : undefined"
|
|
14507
|
-
class="flex h-full
|
|
14507
|
+
class="flex h-full w-full items-center rounded-4 focus-visible:ring-0 focus-visible:focus-ring overflow-hidden transition-all duration-300 ease-in-out"
|
|
14508
14508
|
(click)="handleClick($event)"
|
|
14509
14509
|
>
|
|
14510
14510
|
<ng-container *ngTemplateOutlet="itemContent"></ng-container>
|
|
@@ -14513,7 +14513,7 @@ class NeuralSidebarItemComponent {
|
|
|
14513
14513
|
<button
|
|
14514
14514
|
type="button"
|
|
14515
14515
|
[attr.aria-label]="tooltipText() || undefined"
|
|
14516
|
-
class="flex h-full
|
|
14516
|
+
class="flex h-full w-full text-left items-center rounded-4 focus-visible:ring-0 focus-visible:focus-ring overflow-hidden transition-all duration-300 ease-in-out"
|
|
14517
14517
|
(click)="handleClick($event)"
|
|
14518
14518
|
>
|
|
14519
14519
|
<ng-container *ngTemplateOutlet="itemContent"></ng-container>
|
|
@@ -14539,19 +14539,18 @@ class NeuralSidebarItemComponent {
|
|
|
14539
14539
|
|
|
14540
14540
|
<!-- Content Template to avoid duplication -->
|
|
14541
14541
|
<ng-template #itemContent>
|
|
14542
|
-
|
|
14542
|
+
<!-- Icon Container (32px wide to center perfectly in a 32px collapsed container) -->
|
|
14543
|
+
<span class="flex-none w-8 flex items-center justify-center h-full">
|
|
14543
14544
|
<ng-content select="[prefix]"></ng-content>
|
|
14544
14545
|
@if (!hasPrefixSlot() && icon()) {
|
|
14545
14546
|
<span [class]="icon() + ' size-4.5'"></span>
|
|
14546
14547
|
}
|
|
14547
14548
|
</span>
|
|
14549
|
+
|
|
14550
|
+
<!-- Text Container (Shrinks naturally with flex-1) -->
|
|
14548
14551
|
<span
|
|
14549
|
-
class="min-w-0
|
|
14550
|
-
[class]="
|
|
14551
|
-
isCollapsed()
|
|
14552
|
-
? 'ml-0 w-0 overflow-hidden opacity-0'
|
|
14553
|
-
: 'ml-2 w-auto opacity-100'
|
|
14554
|
-
"
|
|
14552
|
+
class="flex-1 min-w-0 pl-1 transition-opacity duration-300 ease-in-out"
|
|
14553
|
+
[class.opacity-0]="isCollapsed()"
|
|
14555
14554
|
>
|
|
14556
14555
|
<span class="flex min-w-0 items-center">
|
|
14557
14556
|
<ng-content></ng-content>
|
|
@@ -14560,17 +14559,19 @@ class NeuralSidebarItemComponent {
|
|
|
14560
14559
|
}
|
|
14561
14560
|
</span>
|
|
14562
14561
|
</span>
|
|
14562
|
+
|
|
14563
|
+
<!-- Suffix Container -->
|
|
14563
14564
|
<div
|
|
14564
14565
|
data-slot="sidebar-item-suffix"
|
|
14565
|
-
class="flex
|
|
14566
|
-
[class]="isCollapsed()
|
|
14566
|
+
class="flex-none flex items-center transition-opacity duration-300 ease-in-out pr-2"
|
|
14567
|
+
[class.opacity-0]="isCollapsed()"
|
|
14567
14568
|
>
|
|
14568
14569
|
<ng-content select="[suffix]"></ng-content>
|
|
14569
14570
|
@if (!hasSuffixSlot() && suffix()) {
|
|
14570
14571
|
<span class="mr-2 text-xs text-ink-gray-4">{{ suffix() }}</span>
|
|
14571
14572
|
}
|
|
14572
14573
|
@if (hasChildren()) {
|
|
14573
|
-
<span class="
|
|
14574
|
+
<span class="transition-transform duration-200" [class.rotate-90]="isExpanded()">
|
|
14574
14575
|
<span class="lucide-chevron-right size-3.5 text-ink-gray-4 group-hover/sidebar-item:text-ink-gray-6"></span>
|
|
14575
14576
|
</span>
|
|
14576
14577
|
}
|
|
@@ -14589,7 +14590,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
14589
14590
|
<div
|
|
14590
14591
|
data-slot="sidebar-item"
|
|
14591
14592
|
[attr.data-state]="resolvedActive() ? 'active' : 'inactive'"
|
|
14592
|
-
class="group/sidebar-item flex h-8 items-center rounded-4 transition-colors cursor-pointer"
|
|
14593
|
+
class="group/sidebar-item flex h-8 items-center rounded-4 transition-colors cursor-pointer mx-2"
|
|
14593
14594
|
[class]="
|
|
14594
14595
|
resolvedActive()
|
|
14595
14596
|
? 'bg-surface-gray-3 text-ink-gray-9 font-medium'
|
|
@@ -14603,7 +14604,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
14603
14604
|
#rla="routerLinkActive"
|
|
14604
14605
|
[attr.aria-label]="tooltipText() || undefined"
|
|
14605
14606
|
[attr.aria-current]="resolvedActive() ? 'page' : undefined"
|
|
14606
|
-
class="flex h-full
|
|
14607
|
+
class="flex h-full w-full items-center rounded-4 focus-visible:ring-0 focus-visible:focus-ring overflow-hidden transition-all duration-300 ease-in-out"
|
|
14607
14608
|
(click)="handleClick($event)"
|
|
14608
14609
|
>
|
|
14609
14610
|
<ng-container *ngTemplateOutlet="itemContent"></ng-container>
|
|
@@ -14612,7 +14613,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
14612
14613
|
<button
|
|
14613
14614
|
type="button"
|
|
14614
14615
|
[attr.aria-label]="tooltipText() || undefined"
|
|
14615
|
-
class="flex h-full
|
|
14616
|
+
class="flex h-full w-full text-left items-center rounded-4 focus-visible:ring-0 focus-visible:focus-ring overflow-hidden transition-all duration-300 ease-in-out"
|
|
14616
14617
|
(click)="handleClick($event)"
|
|
14617
14618
|
>
|
|
14618
14619
|
<ng-container *ngTemplateOutlet="itemContent"></ng-container>
|
|
@@ -14638,19 +14639,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
14638
14639
|
|
|
14639
14640
|
<!-- Content Template to avoid duplication -->
|
|
14640
14641
|
<ng-template #itemContent>
|
|
14641
|
-
|
|
14642
|
+
<!-- Icon Container (32px wide to center perfectly in a 32px collapsed container) -->
|
|
14643
|
+
<span class="flex-none w-8 flex items-center justify-center h-full">
|
|
14642
14644
|
<ng-content select="[prefix]"></ng-content>
|
|
14643
14645
|
@if (!hasPrefixSlot() && icon()) {
|
|
14644
14646
|
<span [class]="icon() + ' size-4.5'"></span>
|
|
14645
14647
|
}
|
|
14646
14648
|
</span>
|
|
14649
|
+
|
|
14650
|
+
<!-- Text Container (Shrinks naturally with flex-1) -->
|
|
14647
14651
|
<span
|
|
14648
|
-
class="min-w-0
|
|
14649
|
-
[class]="
|
|
14650
|
-
isCollapsed()
|
|
14651
|
-
? 'ml-0 w-0 overflow-hidden opacity-0'
|
|
14652
|
-
: 'ml-2 w-auto opacity-100'
|
|
14653
|
-
"
|
|
14652
|
+
class="flex-1 min-w-0 pl-1 transition-opacity duration-300 ease-in-out"
|
|
14653
|
+
[class.opacity-0]="isCollapsed()"
|
|
14654
14654
|
>
|
|
14655
14655
|
<span class="flex min-w-0 items-center">
|
|
14656
14656
|
<ng-content></ng-content>
|
|
@@ -14659,17 +14659,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
14659
14659
|
}
|
|
14660
14660
|
</span>
|
|
14661
14661
|
</span>
|
|
14662
|
+
|
|
14663
|
+
<!-- Suffix Container -->
|
|
14662
14664
|
<div
|
|
14663
14665
|
data-slot="sidebar-item-suffix"
|
|
14664
|
-
class="flex
|
|
14665
|
-
[class]="isCollapsed()
|
|
14666
|
+
class="flex-none flex items-center transition-opacity duration-300 ease-in-out pr-2"
|
|
14667
|
+
[class.opacity-0]="isCollapsed()"
|
|
14666
14668
|
>
|
|
14667
14669
|
<ng-content select="[suffix]"></ng-content>
|
|
14668
14670
|
@if (!hasSuffixSlot() && suffix()) {
|
|
14669
14671
|
<span class="mr-2 text-xs text-ink-gray-4">{{ suffix() }}</span>
|
|
14670
14672
|
}
|
|
14671
14673
|
@if (hasChildren()) {
|
|
14672
|
-
<span class="
|
|
14674
|
+
<span class="transition-transform duration-200" [class.rotate-90]="isExpanded()">
|
|
14673
14675
|
<span class="lucide-chevron-right size-3.5 text-ink-gray-4 group-hover/sidebar-item:text-ink-gray-6"></span>
|
|
14674
14676
|
</span>
|
|
14675
14677
|
}
|
|
@@ -14698,24 +14700,23 @@ class NeuralSidebarHeaderComponent {
|
|
|
14698
14700
|
...(ngDevMode ? [{ debugName: "isCollapsed" }] : /* istanbul ignore next */ []));
|
|
14699
14701
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NeuralSidebarHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14700
14702
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: NeuralSidebarHeaderComponent, isStandalone: true, selector: "neural-sidebar-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, appIcon: { classPropertyName: "appIcon", publicName: "appIcon", isSignal: true, isRequired: true, transformFunction: null }, iconClass: { classPropertyName: "iconClass", publicName: "iconClass", isSignal: true, isRequired: false, transformFunction: null }, menuOptions: { classPropertyName: "menuOptions", publicName: "menuOptions", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "block w-full" }, ngImport: i0, template: `
|
|
14701
|
-
<neural-dropdown class="block w-full" [options]="menuOptions()" [hasTriggerSlot]="true" align="start" [offset]="4"
|
|
14703
|
+
<neural-dropdown class="block w-full" [options]="menuOptions()" [hasTriggerSlot]="true" align="start" [offset]="4" triggerClass="block mx-2" (openChange)="isOpen = $event">
|
|
14702
14704
|
<div trigger
|
|
14703
|
-
class="flex items-center
|
|
14704
|
-
[class.duration-0]="isOpen"
|
|
14705
|
-
[class.justify-center]="isCollapsed()"
|
|
14706
|
-
[class.h-10]="isCollapsed()"
|
|
14705
|
+
class="flex items-center h-10 rounded-6 transition-all duration-300 ease-in-out cursor-pointer overflow-hidden"
|
|
14707
14706
|
[ngClass]="isOpen && !isCollapsed() ? 'bg-surface-elevation-2 shadow-sm ring-1 ring-black/5' : 'hover:bg-surface-gray-2'"
|
|
14708
14707
|
[attr.aria-label]="title()"
|
|
14709
14708
|
[title]="isCollapsed() ? title() : null"
|
|
14710
14709
|
>
|
|
14711
|
-
<!-- App Icon -->
|
|
14712
|
-
<div class="flex items-center justify-center shrink-0
|
|
14713
|
-
<
|
|
14710
|
+
<!-- App Icon Container (32px wide, centers icon exactly) -->
|
|
14711
|
+
<div class="flex-none w-8 flex items-center justify-center shrink-0 h-full">
|
|
14712
|
+
<div class="flex items-center justify-center size-8 rounded-[10px]" [ngClass]="iconClass()">
|
|
14713
|
+
<i [class]="appIcon()" class="size-4.5"></i>
|
|
14714
|
+
</div>
|
|
14714
14715
|
</div>
|
|
14715
14716
|
|
|
14716
|
-
<!-- Texts (
|
|
14717
|
-
<div class="flex flex-col flex-1 min-w-0 transition-
|
|
14718
|
-
[class]="isCollapsed()
|
|
14717
|
+
<!-- Texts (Shrinks naturally with flex-1) -->
|
|
14718
|
+
<div class="flex flex-col flex-1 min-w-0 pl-2 transition-opacity duration-300 ease-in-out"
|
|
14719
|
+
[class.opacity-0]="isCollapsed()"
|
|
14719
14720
|
>
|
|
14720
14721
|
<span class="text-[14px] font-medium text-ink-gray-9 truncate">{{ title() }}</span>
|
|
14721
14722
|
@if (subtitle()) {
|
|
@@ -14723,9 +14724,9 @@ class NeuralSidebarHeaderComponent {
|
|
|
14723
14724
|
}
|
|
14724
14725
|
</div>
|
|
14725
14726
|
|
|
14726
|
-
<!-- Chevron
|
|
14727
|
-
<div class="
|
|
14728
|
-
[class]="isCollapsed()
|
|
14727
|
+
<!-- Chevron -->
|
|
14728
|
+
<div class="flex-none w-8 flex items-center justify-center transition-opacity duration-300 ease-in-out"
|
|
14729
|
+
[class.opacity-0]="isCollapsed()"
|
|
14729
14730
|
>
|
|
14730
14731
|
<i class="lucide-chevron-down size-4 text-ink-gray-5 transition-transform duration-200" [class.rotate-180]="isOpen"></i>
|
|
14731
14732
|
</div>
|
|
@@ -14741,24 +14742,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
14741
14742
|
imports: [CommonModule, NeuralDropdownComponent],
|
|
14742
14743
|
host: { class: 'block w-full' },
|
|
14743
14744
|
template: `
|
|
14744
|
-
<neural-dropdown class="block w-full" [options]="menuOptions()" [hasTriggerSlot]="true" align="start" [offset]="4"
|
|
14745
|
+
<neural-dropdown class="block w-full" [options]="menuOptions()" [hasTriggerSlot]="true" align="start" [offset]="4" triggerClass="block mx-2" (openChange)="isOpen = $event">
|
|
14745
14746
|
<div trigger
|
|
14746
|
-
class="flex items-center
|
|
14747
|
-
[class.duration-0]="isOpen"
|
|
14748
|
-
[class.justify-center]="isCollapsed()"
|
|
14749
|
-
[class.h-10]="isCollapsed()"
|
|
14747
|
+
class="flex items-center h-10 rounded-6 transition-all duration-300 ease-in-out cursor-pointer overflow-hidden"
|
|
14750
14748
|
[ngClass]="isOpen && !isCollapsed() ? 'bg-surface-elevation-2 shadow-sm ring-1 ring-black/5' : 'hover:bg-surface-gray-2'"
|
|
14751
14749
|
[attr.aria-label]="title()"
|
|
14752
14750
|
[title]="isCollapsed() ? title() : null"
|
|
14753
14751
|
>
|
|
14754
|
-
<!-- App Icon -->
|
|
14755
|
-
<div class="flex items-center justify-center shrink-0
|
|
14756
|
-
<
|
|
14752
|
+
<!-- App Icon Container (32px wide, centers icon exactly) -->
|
|
14753
|
+
<div class="flex-none w-8 flex items-center justify-center shrink-0 h-full">
|
|
14754
|
+
<div class="flex items-center justify-center size-8 rounded-[10px]" [ngClass]="iconClass()">
|
|
14755
|
+
<i [class]="appIcon()" class="size-4.5"></i>
|
|
14756
|
+
</div>
|
|
14757
14757
|
</div>
|
|
14758
14758
|
|
|
14759
|
-
<!-- Texts (
|
|
14760
|
-
<div class="flex flex-col flex-1 min-w-0 transition-
|
|
14761
|
-
[class]="isCollapsed()
|
|
14759
|
+
<!-- Texts (Shrinks naturally with flex-1) -->
|
|
14760
|
+
<div class="flex flex-col flex-1 min-w-0 pl-2 transition-opacity duration-300 ease-in-out"
|
|
14761
|
+
[class.opacity-0]="isCollapsed()"
|
|
14762
14762
|
>
|
|
14763
14763
|
<span class="text-[14px] font-medium text-ink-gray-9 truncate">{{ title() }}</span>
|
|
14764
14764
|
@if (subtitle()) {
|
|
@@ -14766,9 +14766,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
14766
14766
|
}
|
|
14767
14767
|
</div>
|
|
14768
14768
|
|
|
14769
|
-
<!-- Chevron
|
|
14770
|
-
<div class="
|
|
14771
|
-
[class]="isCollapsed()
|
|
14769
|
+
<!-- Chevron -->
|
|
14770
|
+
<div class="flex-none w-8 flex items-center justify-center transition-opacity duration-300 ease-in-out"
|
|
14771
|
+
[class.opacity-0]="isCollapsed()"
|
|
14772
14772
|
>
|
|
14773
14773
|
<i class="lucide-chevron-down size-4 text-ink-gray-5 transition-transform duration-200" [class.rotate-180]="isOpen"></i>
|
|
14774
14774
|
</div>
|