@design-factory/angular 21.0.3 → 21.1.0-next.0
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/drawer/README.md +54 -0
- package/fesm2022/design-factory-angular-drawer.mjs +202 -67
- package/fesm2022/design-factory-angular-drawer.mjs.map +1 -1
- package/fesm2022/design-factory-angular-internals.mjs +439 -17
- package/fesm2022/design-factory-angular-internals.mjs.map +1 -1
- package/fesm2022/design-factory-angular-sidenav.mjs +223 -210
- package/fesm2022/design-factory-angular-sidenav.mjs.map +1 -1
- package/fesm2022/design-factory-angular-theme.mjs +198 -0
- package/fesm2022/design-factory-angular-theme.mjs.map +1 -0
- package/fesm2022/design-factory-angular-topnav.mjs +1538 -0
- package/fesm2022/design-factory-angular-topnav.mjs.map +1 -0
- package/node_modules/@agnos-ui/core/README.md +5 -0
- package/node_modules/@agnos-ui/core/accordion-BC_9xn23.cjs +314 -0
- package/node_modules/@agnos-ui/core/accordion-Ca_0T8Bc.js +315 -0
- package/node_modules/@agnos-ui/core/alert-AhaliJ17.cjs +9 -0
- package/node_modules/@agnos-ui/core/alert-Cb9FhbFQ.js +10 -0
- package/node_modules/@agnos-ui/core/collapse-COriZO7o.cjs +94 -0
- package/node_modules/@agnos-ui/core/collapse-CP79atna.js +95 -0
- package/node_modules/@agnos-ui/core/common-B5jS-Ih_.cjs +73 -0
- package/node_modules/@agnos-ui/core/common-DFyZvkII.js +74 -0
- package/node_modules/@agnos-ui/core/components/accordion/accordion.d.ts +333 -0
- package/node_modules/@agnos-ui/core/components/accordion/index.cjs +7 -0
- package/node_modules/@agnos-ui/core/components/accordion/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/accordion/index.js +7 -0
- package/node_modules/@agnos-ui/core/components/alert/alert.d.ts +37 -0
- package/node_modules/@agnos-ui/core/components/alert/common.d.ts +138 -0
- package/node_modules/@agnos-ui/core/components/alert/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/alert/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/alert/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/carousel/carousel.d.ts +247 -0
- package/node_modules/@agnos-ui/core/components/carousel/index.cjs +292 -0
- package/node_modules/@agnos-ui/core/components/carousel/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/carousel/index.js +292 -0
- package/node_modules/@agnos-ui/core/components/collapse/collapse.d.ts +135 -0
- package/node_modules/@agnos-ui/core/components/collapse/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/collapse/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/collapse/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/commonProps.d.ts +11 -0
- package/node_modules/@agnos-ui/core/components/drawer/drawer.d.ts +279 -0
- package/node_modules/@agnos-ui/core/components/drawer/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/drawer/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/drawer/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/modal/index.cjs +8 -0
- package/node_modules/@agnos-ui/core/components/modal/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/modal/index.js +8 -0
- package/node_modules/@agnos-ui/core/components/modal/modal.d.ts +245 -0
- package/node_modules/@agnos-ui/core/components/pagination/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/pagination/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/pagination/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/pagination/pagination.d.ts +313 -0
- package/node_modules/@agnos-ui/core/components/progressbar/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/progressbar/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/progressbar/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/progressbar/progressbar.d.ts +91 -0
- package/node_modules/@agnos-ui/core/components/rating/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/rating/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/rating/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/rating/rating.d.ts +191 -0
- package/node_modules/@agnos-ui/core/components/slider/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/slider/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/slider/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/slider/slider-utils.d.ts +25 -0
- package/node_modules/@agnos-ui/core/components/slider/slider.d.ts +383 -0
- package/node_modules/@agnos-ui/core/components/toast/index.cjs +7 -0
- package/node_modules/@agnos-ui/core/components/toast/index.d.ts +2 -0
- package/node_modules/@agnos-ui/core/components/toast/index.js +7 -0
- package/node_modules/@agnos-ui/core/components/toast/toast.d.ts +66 -0
- package/node_modules/@agnos-ui/core/components/toast/toaster.d.ts +128 -0
- package/node_modules/@agnos-ui/core/components/tree/index.cjs +5 -0
- package/node_modules/@agnos-ui/core/components/tree/index.d.ts +1 -0
- package/node_modules/@agnos-ui/core/components/tree/index.js +5 -0
- package/node_modules/@agnos-ui/core/components/tree/tree.d.ts +143 -0
- package/node_modules/@agnos-ui/core/config.cjs +36 -0
- package/node_modules/@agnos-ui/core/config.d.ts +117 -0
- package/node_modules/@agnos-ui/core/config.js +36 -0
- package/node_modules/@agnos-ui/core/directive-Bsreu2z1.js +523 -0
- package/node_modules/@agnos-ui/core/directive-DCaXmRe_.cjs +522 -0
- package/node_modules/@agnos-ui/core/drawer-BbFAHV07.cjs +328 -0
- package/node_modules/@agnos-ui/core/drawer-C6Qa0xEu.js +329 -0
- package/node_modules/@agnos-ui/core/index.cjs +134 -0
- package/node_modules/@agnos-ui/core/index.d.ts +29 -0
- package/node_modules/@agnos-ui/core/index.js +134 -0
- package/node_modules/@agnos-ui/core/isFocusable-Ckwus82R.js +32 -0
- package/node_modules/@agnos-ui/core/isFocusable-DfzDLeAN.cjs +31 -0
- package/node_modules/@agnos-ui/core/modal-BsNuHhT7.cjs +252 -0
- package/node_modules/@agnos-ui/core/modal-CgzY8ezz.js +253 -0
- package/node_modules/@agnos-ui/core/package.json +57 -0
- package/node_modules/@agnos-ui/core/pagination-ZxGaNWZz.js +255 -0
- package/node_modules/@agnos-ui/core/pagination-xbcOHnhd.cjs +254 -0
- package/node_modules/@agnos-ui/core/progressbar-CRbMKp4b.cjs +86 -0
- package/node_modules/@agnos-ui/core/progressbar-CSEIFnlD.js +87 -0
- package/node_modules/@agnos-ui/core/promise-CxCD3NYv.cjs +118 -0
- package/node_modules/@agnos-ui/core/promise-D-RZVPuv.js +119 -0
- package/node_modules/@agnos-ui/core/rating-BIdiiPUo.js +184 -0
- package/node_modules/@agnos-ui/core/rating-qx1xaBmz.cjs +183 -0
- package/node_modules/@agnos-ui/core/scrollbars-CT87iv_6.cjs +30 -0
- package/node_modules/@agnos-ui/core/scrollbars-CcxSrnCx.js +31 -0
- package/node_modules/@agnos-ui/core/services/extendWidget.cjs +41 -0
- package/node_modules/@agnos-ui/core/services/extendWidget.d.ts +31 -0
- package/node_modules/@agnos-ui/core/services/extendWidget.js +41 -0
- package/node_modules/@agnos-ui/core/services/floatingUI.cjs +111 -0
- package/node_modules/@agnos-ui/core/services/floatingUI.d.ts +76 -0
- package/node_modules/@agnos-ui/core/services/floatingUI.js +111 -0
- package/node_modules/@agnos-ui/core/services/focusElement.cjs +46 -0
- package/node_modules/@agnos-ui/core/services/focusElement.d.ts +9 -0
- package/node_modules/@agnos-ui/core/services/focusElement.js +46 -0
- package/node_modules/@agnos-ui/core/services/focustrack.cjs +47 -0
- package/node_modules/@agnos-ui/core/services/focustrack.d.ts +40 -0
- package/node_modules/@agnos-ui/core/services/focustrack.js +47 -0
- package/node_modules/@agnos-ui/core/services/hash.cjs +15 -0
- package/node_modules/@agnos-ui/core/services/hash.d.ts +3 -0
- package/node_modules/@agnos-ui/core/services/hash.js +15 -0
- package/node_modules/@agnos-ui/core/services/intersection.cjs +53 -0
- package/node_modules/@agnos-ui/core/services/intersection.d.ts +30 -0
- package/node_modules/@agnos-ui/core/services/intersection.js +53 -0
- package/node_modules/@agnos-ui/core/services/matchMedia.cjs +14 -0
- package/node_modules/@agnos-ui/core/services/matchMedia.d.ts +8 -0
- package/node_modules/@agnos-ui/core/services/matchMedia.js +14 -0
- package/node_modules/@agnos-ui/core/services/navManager.cjs +166 -0
- package/node_modules/@agnos-ui/core/services/navManager.d.ts +144 -0
- package/node_modules/@agnos-ui/core/services/navManager.js +166 -0
- package/node_modules/@agnos-ui/core/services/pointerdownPosition.cjs +60 -0
- package/node_modules/@agnos-ui/core/services/pointerdownPosition.d.ts +42 -0
- package/node_modules/@agnos-ui/core/services/pointerdownPosition.js +60 -0
- package/node_modules/@agnos-ui/core/services/portal.cjs +42 -0
- package/node_modules/@agnos-ui/core/services/portal.d.ts +16 -0
- package/node_modules/@agnos-ui/core/services/portal.js +42 -0
- package/node_modules/@agnos-ui/core/services/resizeObserver.cjs +54 -0
- package/node_modules/@agnos-ui/core/services/resizeObserver.d.ts +18 -0
- package/node_modules/@agnos-ui/core/services/resizeObserver.js +54 -0
- package/node_modules/@agnos-ui/core/services/siblingsInert.cjs +44 -0
- package/node_modules/@agnos-ui/core/services/siblingsInert.d.ts +16 -0
- package/node_modules/@agnos-ui/core/services/siblingsInert.js +44 -0
- package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.cjs +186 -0
- package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.d.ts +166 -0
- package/node_modules/@agnos-ui/core/services/transitions/baseTransitions.js +186 -0
- package/node_modules/@agnos-ui/core/services/transitions/collapse.cjs +40 -0
- package/node_modules/@agnos-ui/core/services/transitions/collapse.d.ts +49 -0
- package/node_modules/@agnos-ui/core/services/transitions/collapse.js +40 -0
- package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.cjs +32 -0
- package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.d.ts +25 -0
- package/node_modules/@agnos-ui/core/services/transitions/cssTransitions.js +32 -0
- package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.cjs +37 -0
- package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.d.ts +47 -0
- package/node_modules/@agnos-ui/core/services/transitions/simpleClassTransition.js +37 -0
- package/node_modules/@agnos-ui/core/slider-B93hE0ag.cjs +807 -0
- package/node_modules/@agnos-ui/core/slider-Cjiq9FgI.js +808 -0
- package/node_modules/@agnos-ui/core/textDirection-cNgt24LJ.js +4 -0
- package/node_modules/@agnos-ui/core/textDirection-zqcZ5-eK.cjs +3 -0
- package/node_modules/@agnos-ui/core/toaster-BQWqxYv-.cjs +190 -0
- package/node_modules/@agnos-ui/core/toaster-BzEkshT2.js +191 -0
- package/node_modules/@agnos-ui/core/tree-DY04XPPg.cjs +228 -0
- package/node_modules/@agnos-ui/core/tree-HwcvZ0_p.js +229 -0
- package/node_modules/@agnos-ui/core/types.cjs +6 -0
- package/node_modules/@agnos-ui/core/types.d.ts +246 -0
- package/node_modules/@agnos-ui/core/types.js +6 -0
- package/node_modules/@agnos-ui/core/utils/directive.cjs +28 -0
- package/node_modules/@agnos-ui/core/utils/directive.d.ts +352 -0
- package/node_modules/@agnos-ui/core/utils/directive.js +28 -0
- package/node_modules/@agnos-ui/core/utils/func.cjs +7 -0
- package/node_modules/@agnos-ui/core/utils/func.d.ts +11 -0
- package/node_modules/@agnos-ui/core/utils/func.js +7 -0
- package/node_modules/@agnos-ui/core/utils/id.cjs +5 -0
- package/node_modules/@agnos-ui/core/utils/id.d.ts +6 -0
- package/node_modules/@agnos-ui/core/utils/id.js +5 -0
- package/node_modules/@agnos-ui/core/utils/internal/assign.d.ts +10 -0
- package/node_modules/@agnos-ui/core/utils/internal/checks.d.ts +57 -0
- package/node_modules/@agnos-ui/core/utils/internal/dom.d.ts +75 -0
- package/node_modules/@agnos-ui/core/utils/internal/isFocusable.d.ts +9 -0
- package/node_modules/@agnos-ui/core/utils/internal/math.d.ts +5 -0
- package/node_modules/@agnos-ui/core/utils/internal/promise.d.ts +98 -0
- package/node_modules/@agnos-ui/core/utils/internal/scrollbars.d.ts +8 -0
- package/node_modules/@agnos-ui/core/utils/internal/sort.d.ts +16 -0
- package/node_modules/@agnos-ui/core/utils/internal/ssrHTMLElement.d.ts +17 -0
- package/node_modules/@agnos-ui/core/utils/internal/textDirection.d.ts +7 -0
- package/node_modules/@agnos-ui/core/utils/internal/traversal.d.ts +54 -0
- package/node_modules/@agnos-ui/core/utils/stores.cjs +172 -0
- package/node_modules/@agnos-ui/core/utils/stores.d.ts +224 -0
- package/node_modules/@agnos-ui/core/utils/stores.js +172 -0
- package/node_modules/@agnos-ui/core/utils/widget.cjs +8 -0
- package/node_modules/@agnos-ui/core/utils/widget.d.ts +11 -0
- package/node_modules/@agnos-ui/core/utils/widget.js +8 -0
- package/node_modules/@agnos-ui/core/utils/writables.cjs +16 -0
- package/node_modules/@agnos-ui/core/utils/writables.d.ts +95 -0
- package/node_modules/@agnos-ui/core/utils/writables.js +16 -0
- package/node_modules/@agnos-ui/core/writables-DYGjj5T3.js +103 -0
- package/node_modules/@agnos-ui/core/writables-Dt68gADJ.cjs +102 -0
- package/package.json +25 -6
- package/schematics/collection.json +1 -1
- package/types/design-factory-angular-drawer.d.ts +71 -13
- package/types/design-factory-angular-internals.d.ts +220 -31
- package/types/design-factory-angular-sidenav.d.ts +15 -7
- package/types/design-factory-angular-theme.d.ts +122 -0
- package/types/design-factory-angular-topnav.d.ts +435 -0
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { createNavManager
|
|
1
|
+
import { createNavManager } from '@agnos-ui/core/services/navManager';
|
|
2
|
+
import { toAngularSignal, md$, lg$, useDirectiveForHost } from '@design-factory/angular/internals';
|
|
2
3
|
import { NgTemplateOutlet, isPlatformBrowser } from '@angular/common';
|
|
3
4
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { input, model, inject, contentChild, computed, Directive, effect, ChangeDetectionStrategy, Component, signal, viewChild, contentChildren, booleanAttribute, linkedSignal, ElementRef, PLATFORM_ID, Injector, afterRenderEffect, afterNextRender } from '@angular/core';
|
|
5
|
-
import
|
|
6
|
-
import * as i1$1 from '@angular/forms';
|
|
5
|
+
import { input, model, inject, contentChild, computed, Directive, effect, ChangeDetectionStrategy, Component, signal, viewChild, contentChildren, booleanAttribute, linkedSignal, ElementRef, PLATFORM_ID, Injector, afterRenderEffect, untracked, afterNextRender, ViewEncapsulation } from '@angular/core';
|
|
6
|
+
import * as i1 from '@angular/forms';
|
|
7
7
|
import { FormsModule } from '@angular/forms';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import * as i1 from '@angular/router';
|
|
11
|
-
import { RouterModule } from '@angular/router';
|
|
8
|
+
import { DfDrawer } from '@design-factory/angular/drawer';
|
|
9
|
+
import { RouterLink, RouterLinkActive } from '@angular/router';
|
|
12
10
|
|
|
13
11
|
/**
|
|
14
12
|
* Base item class that is extended by desktop and mobile item components
|
|
@@ -68,10 +66,10 @@ class DfSidenavItemBaseComponent {
|
|
|
68
66
|
this.collapsed.set(!this.collapsed());
|
|
69
67
|
}
|
|
70
68
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
72
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavItemBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
70
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.0", type: DfSidenavItemBaseComponent, isStandalone: true, inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, wrapperHasIconContent: { classPropertyName: "wrapperHasIconContent", publicName: "wrapperHasIconContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapsed: "collapsedChange" }, queries: [{ propertyName: "iconContent", first: true, predicate: ["dfSidenavIcon"], descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
73
71
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavItemBaseComponent, decorators: [{
|
|
75
73
|
type: Directive
|
|
76
74
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }, { type: i0.Output, args: ["collapsedChange"] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], wrapperHasIconContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "wrapperHasIconContent", required: false }] }], iconContent: [{ type: i0.ContentChild, args: ['dfSidenavIcon', { isSignal: true }] }] } });
|
|
77
75
|
|
|
@@ -111,8 +109,8 @@ class DfSidenavItemDesktopComponent extends DfSidenavItemBaseComponent {
|
|
|
111
109
|
}
|
|
112
110
|
});
|
|
113
111
|
}
|
|
114
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
115
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavItemDesktopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DfSidenavItemDesktopComponent, isStandalone: true, selector: "df-sidenav-item-desktop", host: { properties: { "class.d-none": "!isVisible() || (sidenav.isMinimized() && (!isFirstLevel || !wrapperHasIconContent()))" } }, usesInheritance: true, ngImport: i0, template: `
|
|
116
114
|
<button
|
|
117
115
|
class="btn df-sidenav-button d-flex gap-3"
|
|
118
116
|
[class.df-sidenav-active-level]="sidenav.isMinimized() && hasActiveChildren() && isFirstLevel"
|
|
@@ -136,7 +134,7 @@ class DfSidenavItemDesktopComponent extends DfSidenavItemBaseComponent {
|
|
|
136
134
|
}
|
|
137
135
|
</button>
|
|
138
136
|
|
|
139
|
-
<div [class.
|
|
137
|
+
<div [class.df-sidenav-item-hidden]="collapsed()" [attr.aria-hidden]="collapsed()" role="list">
|
|
140
138
|
<ng-container [ngTemplateOutlet]="content" />
|
|
141
139
|
</div>
|
|
142
140
|
<ng-template #content>
|
|
@@ -144,7 +142,7 @@ class DfSidenavItemDesktopComponent extends DfSidenavItemBaseComponent {
|
|
|
144
142
|
</ng-template>
|
|
145
143
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
146
144
|
}
|
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavItemDesktopComponent, decorators: [{
|
|
148
146
|
type: Component,
|
|
149
147
|
args: [{
|
|
150
148
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -173,7 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
173
171
|
}
|
|
174
172
|
</button>
|
|
175
173
|
|
|
176
|
-
<div [class.
|
|
174
|
+
<div [class.df-sidenav-item-hidden]="collapsed()" [attr.aria-hidden]="collapsed()" role="list">
|
|
177
175
|
<ng-container [ngTemplateOutlet]="content" />
|
|
178
176
|
</div>
|
|
179
177
|
<ng-template #content>
|
|
@@ -277,8 +275,8 @@ class DfSidenavItemMobileComponent extends DfSidenavItemBaseComponent {
|
|
|
277
275
|
handleBackClick() {
|
|
278
276
|
this.sidenav.navigateBack();
|
|
279
277
|
}
|
|
280
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
281
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
278
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavItemMobileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
279
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DfSidenavItemMobileComponent, isStandalone: true, selector: "df-sidenav-item-mobile", host: { properties: { "class.d-none": "shouldHideComponent() || (sidenav.isMinimized() && (!isFirstLevel || !wrapperHasIconContent()))" }, classAttribute: "mobile" }, usesInheritance: true, ngImport: i0, template: `
|
|
282
280
|
@if (shouldShowMobileHeader()) {
|
|
283
281
|
<div class="df-sidenav-mobile-header mobile mb-2" role="listitem">
|
|
284
282
|
<button
|
|
@@ -338,7 +336,7 @@ class DfSidenavItemMobileComponent extends DfSidenavItemBaseComponent {
|
|
|
338
336
|
</ng-template>
|
|
339
337
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
340
338
|
}
|
|
341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
339
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavItemMobileComponent, decorators: [{
|
|
342
340
|
type: Component,
|
|
343
341
|
args: [{
|
|
344
342
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -440,7 +438,6 @@ class DfSidenavLinkBaseComponent {
|
|
|
440
438
|
* Options to determine when the router link is considered active
|
|
441
439
|
*/
|
|
442
440
|
this.routerLinkActiveOptions = input({ exact: false }, ...(ngDevMode ? [{ debugName: "routerLinkActiveOptions" }] : []));
|
|
443
|
-
this.isSmallScreen = toSignal(inject(DfMedia).getObservable(['sm', 'xs']), { initialValue: false });
|
|
444
441
|
this.sidenav = inject(DfSidenavComponent);
|
|
445
442
|
this.parentItem = inject(DfSidenavItemComponent, {
|
|
446
443
|
optional: true,
|
|
@@ -459,10 +456,16 @@ class DfSidenavLinkBaseComponent {
|
|
|
459
456
|
return this.label().toLowerCase().includes(search);
|
|
460
457
|
}, ...(ngDevMode ? [{ debugName: "isVisible" }] : []));
|
|
461
458
|
}
|
|
462
|
-
|
|
463
|
-
|
|
459
|
+
toggleSidenavOnSmallScreen() {
|
|
460
|
+
if (this.sidenav['isSmallScreen']()) {
|
|
461
|
+
this.sidenav.toggleMinimize();
|
|
462
|
+
}
|
|
463
|
+
return true;
|
|
464
|
+
}
|
|
465
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavLinkBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
466
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.0", type: DfSidenavLinkBaseComponent, isStandalone: true, inputs: { linkPath: { classPropertyName: "linkPath", publicName: "linkPath", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, wrapperHasIconContent: { classPropertyName: "wrapperHasIconContent", publicName: "wrapperHasIconContent", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActiveOptions: { classPropertyName: "routerLinkActiveOptions", publicName: "routerLinkActiveOptions", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "iconContent", first: true, predicate: ["dfSidenavIcon"], descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
464
467
|
}
|
|
465
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
468
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavLinkBaseComponent, decorators: [{
|
|
466
469
|
type: Directive
|
|
467
470
|
}], propDecorators: { linkPath: [{ type: i0.Input, args: [{ isSignal: true, alias: "linkPath", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], wrapperHasIconContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "wrapperHasIconContent", required: false }] }], routerLinkActiveOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLinkActiveOptions", required: false }] }], iconContent: [{ type: i0.ContentChild, args: ['dfSidenavIcon', { isSignal: true }] }] } });
|
|
468
471
|
|
|
@@ -475,8 +478,8 @@ class DfSidenavLinkDesktopComponent extends DfSidenavLinkBaseComponent {
|
|
|
475
478
|
super(...arguments);
|
|
476
479
|
this.anchor = viewChild.required('anchor');
|
|
477
480
|
}
|
|
478
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
479
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
481
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavLinkDesktopComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
482
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DfSidenavLinkDesktopComponent, isStandalone: true, selector: "df-sidenav-link-desktop", host: { properties: { "class.d-none": "!isVisible() || (sidenav.isMinimized() && (!isFirstLevel || !wrapperHasIconContent()))" }, classAttribute: "d-flex" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
480
483
|
<a
|
|
481
484
|
class="btn df-sidenav-button d-flex gap-3"
|
|
482
485
|
[class.w-100]="!sidenav.isMinimized()"
|
|
@@ -487,7 +490,7 @@ class DfSidenavLinkDesktopComponent extends DfSidenavLinkBaseComponent {
|
|
|
487
490
|
[class.justify-content-start]="!sidenav.isMinimized()"
|
|
488
491
|
[routerLinkActiveOptions]="routerLinkActiveOptions()"
|
|
489
492
|
[attr.aria-label]="label()"
|
|
490
|
-
(click)="
|
|
493
|
+
(click)="toggleSidenavOnSmallScreen()"
|
|
491
494
|
#anchor
|
|
492
495
|
>
|
|
493
496
|
<ng-container [ngTemplateOutlet]="content" />
|
|
@@ -501,9 +504,9 @@ class DfSidenavLinkDesktopComponent extends DfSidenavLinkBaseComponent {
|
|
|
501
504
|
<span class="sidenav-label" [title]="label()">{{ label() }}</span>
|
|
502
505
|
}
|
|
503
506
|
</ng-template>
|
|
504
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
507
|
+
`, 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: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
505
508
|
}
|
|
506
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
509
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavLinkDesktopComponent, decorators: [{
|
|
507
510
|
type: Component,
|
|
508
511
|
args: [{
|
|
509
512
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -519,7 +522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
519
522
|
[class.justify-content-start]="!sidenav.isMinimized()"
|
|
520
523
|
[routerLinkActiveOptions]="routerLinkActiveOptions()"
|
|
521
524
|
[attr.aria-label]="label()"
|
|
522
|
-
(click)="
|
|
525
|
+
(click)="toggleSidenavOnSmallScreen()"
|
|
523
526
|
#anchor
|
|
524
527
|
>
|
|
525
528
|
<ng-container [ngTemplateOutlet]="content" />
|
|
@@ -538,7 +541,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
538
541
|
'[class.d-none]': '!isVisible() || (sidenav.isMinimized() && (!isFirstLevel || !wrapperHasIconContent()))',
|
|
539
542
|
class: 'd-flex'
|
|
540
543
|
},
|
|
541
|
-
imports: [
|
|
544
|
+
imports: [RouterLink, RouterLinkActive, NgTemplateOutlet]
|
|
542
545
|
}]
|
|
543
546
|
}], propDecorators: { anchor: [{ type: i0.ViewChild, args: ['anchor', { isSignal: true }] }] } });
|
|
544
547
|
|
|
@@ -583,8 +586,8 @@ class DfSidenavLinkMobileComponent extends DfSidenavLinkBaseComponent {
|
|
|
583
586
|
return path;
|
|
584
587
|
}, ...(ngDevMode ? [{ debugName: "breadcrumbPath" }] : []));
|
|
585
588
|
}
|
|
586
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
587
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
589
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavLinkMobileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
590
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DfSidenavLinkMobileComponent, isStandalone: true, selector: "df-sidenav-link-mobile", host: { properties: { "class.d-none": "!isVisibleInList() || (sidenav.isMinimized() && (!isFirstLevel || !wrapperHasIconContent()))" }, classAttribute: "d-flex" }, usesInheritance: true, ngImport: i0, template: `
|
|
588
591
|
<a
|
|
589
592
|
class="btn df-sidenav-button d-flex gap-3 justify-content-start w-100 df-sidenav-breadcrumb-button"
|
|
590
593
|
routerLinkActive="df-sidenav-active-level"
|
|
@@ -592,7 +595,7 @@ class DfSidenavLinkMobileComponent extends DfSidenavLinkBaseComponent {
|
|
|
592
595
|
(isActiveChange)="isActiveLink.set($event)"
|
|
593
596
|
[routerLink]="linkPath()"
|
|
594
597
|
[routerLinkActiveOptions]="routerLinkActiveOptions()"
|
|
595
|
-
(click)="
|
|
598
|
+
(click)="toggleSidenavOnSmallScreen()"
|
|
596
599
|
>
|
|
597
600
|
<ng-container [ngTemplateOutlet]="content" />
|
|
598
601
|
</a>
|
|
@@ -617,9 +620,9 @@ class DfSidenavLinkMobileComponent extends DfSidenavLinkBaseComponent {
|
|
|
617
620
|
</div>
|
|
618
621
|
</div>
|
|
619
622
|
</ng-template>
|
|
620
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
623
|
+
`, 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: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
621
624
|
}
|
|
622
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
625
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavLinkMobileComponent, decorators: [{
|
|
623
626
|
type: Component,
|
|
624
627
|
args: [{
|
|
625
628
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -632,7 +635,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
632
635
|
(isActiveChange)="isActiveLink.set($event)"
|
|
633
636
|
[routerLink]="linkPath()"
|
|
634
637
|
[routerLinkActiveOptions]="routerLinkActiveOptions()"
|
|
635
|
-
(click)="
|
|
638
|
+
(click)="toggleSidenavOnSmallScreen()"
|
|
636
639
|
>
|
|
637
640
|
<ng-container [ngTemplateOutlet]="content" />
|
|
638
641
|
</a>
|
|
@@ -662,7 +665,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
662
665
|
'[class.d-none]': '!isVisibleInList() || (sidenav.isMinimized() && (!isFirstLevel || !wrapperHasIconContent()))',
|
|
663
666
|
class: 'd-flex'
|
|
664
667
|
},
|
|
665
|
-
imports: [
|
|
668
|
+
imports: [RouterLink, RouterLinkActive, NgTemplateOutlet]
|
|
666
669
|
}]
|
|
667
670
|
}] });
|
|
668
671
|
|
|
@@ -673,10 +676,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
673
676
|
* @since 21.0.0
|
|
674
677
|
*/
|
|
675
678
|
class DfSidenavIconDirective {
|
|
676
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
677
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
679
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
680
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DfSidenavIconDirective, isStandalone: true, selector: "[dfSidenavIcon]", ngImport: i0 }); }
|
|
678
681
|
}
|
|
679
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
682
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavIconDirective, decorators: [{
|
|
680
683
|
type: Directive,
|
|
681
684
|
args: [{
|
|
682
685
|
selector: '[dfSidenavIcon]'
|
|
@@ -724,8 +727,8 @@ class DfSidenavLinkComponent {
|
|
|
724
727
|
this.wrapperHasIconContent = computed(() => this.icon() !== '' || this.iconContentQuery() !== undefined, ...(ngDevMode ? [{ debugName: "wrapperHasIconContent" }] : []));
|
|
725
728
|
this.sidenav = inject(DfSidenavComponent);
|
|
726
729
|
}
|
|
727
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
728
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
730
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
731
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DfSidenavLinkComponent, isStandalone: true, selector: "df-sidenav-link", inputs: { linkPath: { classPropertyName: "linkPath", publicName: "linkPath", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActiveOptions: { classPropertyName: "routerLinkActiveOptions", publicName: "routerLinkActiveOptions", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "listitem" }, properties: { "class.mobile": "sidenav['isMobileDevice']()" }, classAttribute: "d-block" }, queries: [{ propertyName: "iconContentQuery", first: true, predicate: DfSidenavIconDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "desktopInstance", first: true, predicate: DfSidenavLinkDesktopComponent, descendants: true, isSignal: true }, { propertyName: "mobileInstance", first: true, predicate: DfSidenavLinkMobileComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
729
732
|
<ng-template #iconSlot>
|
|
730
733
|
<ng-content select="[dfSidenavIcon]" />
|
|
731
734
|
</ng-template>
|
|
@@ -758,7 +761,7 @@ class DfSidenavLinkComponent {
|
|
|
758
761
|
}
|
|
759
762
|
`, isInline: true, dependencies: [{ kind: "component", type: DfSidenavLinkDesktopComponent, selector: "df-sidenav-link-desktop" }, { kind: "component", type: DfSidenavLinkMobileComponent, selector: "df-sidenav-link-mobile" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
760
763
|
}
|
|
761
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
764
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavLinkComponent, decorators: [{
|
|
762
765
|
type: Component,
|
|
763
766
|
args: [{
|
|
764
767
|
selector: 'df-sidenav-link',
|
|
@@ -850,8 +853,8 @@ class DfSidenavItemComponent {
|
|
|
850
853
|
this.wrapperHasIconContent = computed(() => this.icon() !== '' || this.iconContentQuery() !== undefined, ...(ngDevMode ? [{ debugName: "wrapperHasIconContent" }] : []));
|
|
851
854
|
this.sidenav = inject(DfSidenavComponent);
|
|
852
855
|
}
|
|
853
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
854
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
856
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
857
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DfSidenavItemComponent, isStandalone: true, selector: "df-sidenav-item", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapsed: "collapsedChange" }, host: { attributes: { "role": "listitem" }, properties: { "class.mobile": "sidenav['isMobileDevice']()" }, classAttribute: "d-block" }, queries: [{ propertyName: "childrenItems", predicate: DfSidenavItemComponent, descendants: true, isSignal: true }, { propertyName: "childrenLinks", predicate: DfSidenavLinkComponent, descendants: true, isSignal: true }, { propertyName: "iconContentQuery", first: true, predicate: DfSidenavIconDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "desktopInstance", first: true, predicate: DfSidenavItemDesktopComponent, descendants: true, isSignal: true }, { propertyName: "mobileInstance", first: true, predicate: DfSidenavItemMobileComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
855
858
|
<ng-template #iconSlot>
|
|
856
859
|
<ng-content select="[dfSidenavIcon]" />
|
|
857
860
|
</ng-template>
|
|
@@ -882,7 +885,7 @@ class DfSidenavItemComponent {
|
|
|
882
885
|
}
|
|
883
886
|
`, isInline: true, dependencies: [{ kind: "component", type: DfSidenavItemDesktopComponent, selector: "df-sidenav-item-desktop" }, { kind: "component", type: DfSidenavItemMobileComponent, selector: "df-sidenav-item-mobile" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
884
887
|
}
|
|
885
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
888
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavItemComponent, decorators: [{
|
|
886
889
|
type: Component,
|
|
887
890
|
args: [{
|
|
888
891
|
selector: 'df-sidenav-item',
|
|
@@ -961,6 +964,12 @@ class DfSidenavComponent {
|
|
|
961
964
|
* @default true
|
|
962
965
|
*/
|
|
963
966
|
this.enableMobile = input(true, { ...(ngDevMode ? { debugName: "enableMobile" } : {}), transform: booleanAttribute });
|
|
967
|
+
/**
|
|
968
|
+
* @since 21.1.0
|
|
969
|
+
*
|
|
970
|
+
* Flag to disable the automatic scroll to active link on desktop when the sidenav is initialized.
|
|
971
|
+
*/
|
|
972
|
+
this.disableInitialDesktopAutoScroll = input(false, { ...(ngDevMode ? { debugName: "disableInitialDesktopAutoScroll" } : {}), transform: booleanAttribute });
|
|
964
973
|
this._isMinimized = linkedSignal(() => {
|
|
965
974
|
// in mobile devices, the default value is true (hiding the drawer) and does not track changes to the screen size
|
|
966
975
|
if (this.isMobileDevice()) {
|
|
@@ -1010,11 +1019,11 @@ class DfSidenavComponent {
|
|
|
1010
1019
|
const stack = this.mobileNavigationStack();
|
|
1011
1020
|
return stack.length > 0 ? stack[stack.length - 1] : null;
|
|
1012
1021
|
}, ...(ngDevMode ? [{ debugName: "currentMobilePanel" }] : []));
|
|
1013
|
-
this.
|
|
1014
|
-
this.
|
|
1015
|
-
this.
|
|
1016
|
-
|
|
1017
|
-
});
|
|
1022
|
+
this.isMd = toAngularSignal(md$);
|
|
1023
|
+
this.isLg = toAngularSignal(lg$);
|
|
1024
|
+
this.isSmallScreen = computed(() => !this.isMd(), ...(ngDevMode ? [{ debugName: "isSmallScreen" }] : []));
|
|
1025
|
+
this.isMediumScreen = computed(() => this.isMd() && !this.isLg(), ...(ngDevMode ? [{ debugName: "isMediumScreen" }] : []));
|
|
1026
|
+
this.isLargeUpScreen = computed(() => this.isLg(), ...(ngDevMode ? [{ debugName: "isLargeUpScreen" }] : []));
|
|
1018
1027
|
this.isMobileOrSmallScreen = computed(() => this.isSmallScreen() || this.isMediumScreen(), ...(ngDevMode ? [{ debugName: "isMobileOrSmallScreen" }] : []));
|
|
1019
1028
|
this.backdrop = computed(() => this.isMediumScreen(), ...(ngDevMode ? [{ debugName: "backdrop" }] : []));
|
|
1020
1029
|
this.navManager = createNavManager();
|
|
@@ -1043,44 +1052,46 @@ class DfSidenavComponent {
|
|
|
1043
1052
|
});
|
|
1044
1053
|
}
|
|
1045
1054
|
ngAfterContentInit() {
|
|
1046
|
-
if (!this.isMobileDevice() && this.isBrowser && this.isLargeUpScreen()) {
|
|
1055
|
+
if (!this.disableInitialDesktopAutoScroll() && !this.isMobileDevice() && this.isBrowser && this.isLargeUpScreen()) {
|
|
1047
1056
|
void this.initializeDesktopNavigation();
|
|
1048
1057
|
}
|
|
1049
1058
|
}
|
|
1050
1059
|
/**
|
|
1051
1060
|
* This method allows to center and show the active link, when the sidenav is used in desktop and a large screen.
|
|
1052
|
-
*
|
|
1053
|
-
*
|
|
1061
|
+
*
|
|
1062
|
+
* It collapses all items and expands only the parents of the active link and scrolls to the active link to make it visible.
|
|
1054
1063
|
*/
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1064
|
+
initializeDesktopNavigation() {
|
|
1065
|
+
const effectRef = effect(() => {
|
|
1066
|
+
// Find the first active link
|
|
1067
|
+
const activeLink = this.allLinks()
|
|
1068
|
+
.find((link) => link['desktopInstance']()?.isActiveLink())?.['desktopInstance']?.();
|
|
1069
|
+
if (activeLink) {
|
|
1070
|
+
untracked(() => {
|
|
1071
|
+
this.allItems().forEach((item) => {
|
|
1072
|
+
item.collapsed.set(true);
|
|
1073
|
+
});
|
|
1074
|
+
let currentParent = activeLink['parentItem'];
|
|
1075
|
+
while (currentParent) {
|
|
1076
|
+
currentParent.collapsed.set(false);
|
|
1077
|
+
currentParent = currentParent['parentWrapper'];
|
|
1078
|
+
}
|
|
1079
|
+
// We need a render to make sure the getBoundingClientRect calls will be correct AFTER the collapse of the items.
|
|
1080
|
+
afterNextRender({
|
|
1081
|
+
read: () => {
|
|
1082
|
+
const anchorElement = activeLink['anchor']().nativeElement;
|
|
1083
|
+
const containerElement = this.scrollableContainer().nativeElement;
|
|
1084
|
+
const heightPx = anchorElement.getBoundingClientRect().top +
|
|
1085
|
+
anchorElement.clientHeight / 2 -
|
|
1086
|
+
containerElement.getBoundingClientRect().top -
|
|
1087
|
+
containerElement.clientHeight / 3;
|
|
1088
|
+
containerElement.scrollTo({ top: heightPx, behavior: 'instant' });
|
|
1089
|
+
effectRef.destroy();
|
|
1090
|
+
}
|
|
1091
|
+
}, { injector: this.injector });
|
|
1092
|
+
});
|
|
1070
1093
|
}
|
|
1071
|
-
|
|
1072
|
-
afterNextRender({
|
|
1073
|
-
read: () => {
|
|
1074
|
-
const anchorElement = activeLink['anchor']().nativeElement;
|
|
1075
|
-
const containerElement = this.scrollableContainer().nativeElement;
|
|
1076
|
-
const heightPx = anchorElement.getBoundingClientRect().top +
|
|
1077
|
-
anchorElement.clientHeight / 2 -
|
|
1078
|
-
containerElement.getBoundingClientRect().top -
|
|
1079
|
-
containerElement.clientHeight / 3;
|
|
1080
|
-
containerElement.scrollTo({ top: heightPx, behavior: 'instant' });
|
|
1081
|
-
}
|
|
1082
|
-
}, { injector: this.injector });
|
|
1083
|
-
}
|
|
1094
|
+
}, { ...(ngDevMode ? { debugName: "effectRef" } : {}), injector: this.injector });
|
|
1084
1095
|
}
|
|
1085
1096
|
/**
|
|
1086
1097
|
* Toggles the minimized state of the sidenav
|
|
@@ -1177,181 +1188,183 @@ class DfSidenavComponent {
|
|
|
1177
1188
|
this.mobileNavigationStack.set([]);
|
|
1178
1189
|
}
|
|
1179
1190
|
}
|
|
1180
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
1181
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
1191
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1192
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DfSidenavComponent, isStandalone: true, selector: "df-sidenav", inputs: { searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, enableMobile: { classPropertyName: "enableMobile", publicName: "enableMobile", isSignal: true, isRequired: false, transformFunction: null }, disableInitialDesktopAutoScroll: { classPropertyName: "disableInitialDesktopAutoScroll", publicName: "disableInitialDesktopAutoScroll", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.df-sidenav-lg": "isLargeUpScreen()", "class.df-sidenav-withicon": "contentHasIcons()", "class.d-none": "isSmallScreen() && _isMinimized()", "class.df-sidenav-drawer": "isMediumScreen() && !_isMinimized()" }, classAttribute: "df-sidenav" }, queries: [{ propertyName: "allLinks", predicate: DfSidenavLinkComponent, descendants: true, isSignal: true }, { propertyName: "allItems", predicate: DfSidenavItemComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "scrollableContainer", first: true, predicate: ["scrollableContainer"], descendants: true, isSignal: true }, { propertyName: "searchInput", first: true, predicate: ["textInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
1182
1193
|
<df-drawer
|
|
1183
1194
|
#drawer
|
|
1184
|
-
|
|
1195
|
+
position="inline-start"
|
|
1196
|
+
[className]="isSmallScreen() ? 'df-sidenav-mobile-drawer' : ''"
|
|
1185
1197
|
[visible]="!_isMinimized()"
|
|
1186
1198
|
(visibleChange)="visibleChangeHandler($event)"
|
|
1187
1199
|
(minimizedChange)="_isMinimized.set($event)"
|
|
1188
1200
|
(resizingChange)="resizingChangeHandler($event)"
|
|
1189
1201
|
[bodyScroll]="true"
|
|
1190
1202
|
[backdrop]="backdrop()"
|
|
1203
|
+
[keepInDom]="true"
|
|
1191
1204
|
[(size)]="width"
|
|
1192
1205
|
[container]="isSmallScreen() ? null : hostRef.nativeElement"
|
|
1193
1206
|
[resizable]="resizable() && !isSmallScreen()"
|
|
1194
1207
|
[focusOnInit]="false"
|
|
1195
|
-
[
|
|
1208
|
+
[configuration]="isLargeUpScreen() ? 'inline' : 'overlay'"
|
|
1196
1209
|
>
|
|
1197
|
-
<
|
|
1198
|
-
<
|
|
1199
|
-
|
|
1200
|
-
@if (
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
aria-label="Search"
|
|
1208
|
-
></button>
|
|
1209
|
-
} @else {
|
|
1210
|
-
<div class="input-group mb-3">
|
|
1211
|
-
<div class="input-group-prepend">
|
|
1212
|
-
<span class="input-group-text fa-light fa-search"></span>
|
|
1213
|
-
</div>
|
|
1214
|
-
<input
|
|
1215
|
-
type="search"
|
|
1216
|
-
class="form-control df-input-withicon"
|
|
1217
|
-
i18n-placeholder="@@df.sidenav.search.placeholder"
|
|
1218
|
-
placeholder="Search"
|
|
1210
|
+
<div class="h-100 w-100">
|
|
1211
|
+
<nav class="d-flex flex-column w-100 h-100 p-5 pb-3">
|
|
1212
|
+
<div class="df-sidenav-header flex-shrink-0" [class.df-sidenav-header-minimized]="_isMinimized()">
|
|
1213
|
+
@if (searchable()) {
|
|
1214
|
+
@if (_isMinimized()) {
|
|
1215
|
+
<button
|
|
1216
|
+
class="btn btn-outline-neutral df-btn-icononly mb-3 w-100 fa-search"
|
|
1217
|
+
[class.df-sidenav-search-minimized]="!contentHasIcons()"
|
|
1218
|
+
type="button"
|
|
1219
|
+
(click)="focusSearch()"
|
|
1219
1220
|
i18n-aria-label="@@df.sidenav.search.ariaLabel"
|
|
1220
1221
|
aria-label="Search"
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1222
|
+
></button>
|
|
1223
|
+
} @else {
|
|
1224
|
+
<div class="input-group mb-3">
|
|
1225
|
+
<div class="input-group-prepend">
|
|
1226
|
+
<span class="input-group-text fa-light fa-search"></span>
|
|
1227
|
+
</div>
|
|
1228
|
+
<input
|
|
1229
|
+
type="search"
|
|
1230
|
+
class="form-control df-input-withicon"
|
|
1231
|
+
i18n-placeholder="@@df.sidenav.search.placeholder"
|
|
1232
|
+
placeholder="Search"
|
|
1233
|
+
i18n-aria-label="@@df.sidenav.search.ariaLabel"
|
|
1234
|
+
aria-label="Search"
|
|
1235
|
+
[(ngModel)]="searchTerm"
|
|
1236
|
+
#textInput
|
|
1237
|
+
/>
|
|
1238
|
+
<div class="input-group-append">
|
|
1239
|
+
<button
|
|
1240
|
+
class="input-group-text fa-light fa-times"
|
|
1241
|
+
[class.df-sidenav-search-empty]="searchTerm() === ''"
|
|
1242
|
+
(click)="searchTerm.set(''); textInput.focus()"
|
|
1243
|
+
>
|
|
1244
|
+
<span class="visually-hidden" i18n="@@df.sidenav.search.clearText">Clear text</span>
|
|
1245
|
+
</button>
|
|
1246
|
+
</div>
|
|
1232
1247
|
</div>
|
|
1233
|
-
|
|
1248
|
+
}
|
|
1234
1249
|
}
|
|
1235
|
-
|
|
1236
|
-
</div>
|
|
1250
|
+
</div>
|
|
1237
1251
|
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
</div>
|
|
1241
|
-
@if (collapsible() && !isSmallScreen()) {
|
|
1242
|
-
<div class="d-flex sidenav-footer flex-shrink-0 py-3">
|
|
1243
|
-
<button
|
|
1244
|
-
class="btn btn-outline-primary df-btn-icononly df-sidenav-toggle-minimized"
|
|
1245
|
-
(click)="toggleMinimize()"
|
|
1246
|
-
i18n-aria-label="@@df.sidenav.toggleMinimize.ariaLabel"
|
|
1247
|
-
aria-label="Toggle minimized sidenav"
|
|
1248
|
-
>
|
|
1249
|
-
@if (isMinimized()) {
|
|
1250
|
-
<span class="fa-arrow-right-to-line"></span>
|
|
1251
|
-
} @else {
|
|
1252
|
-
<span class="fa-arrow-left-to-line"></span>
|
|
1253
|
-
}
|
|
1254
|
-
</button>
|
|
1252
|
+
<div role="list" class="sidenav-body flex-grow-1 overflow-y-auto" #scrollableContainer>
|
|
1253
|
+
<ng-content />
|
|
1255
1254
|
</div>
|
|
1256
|
-
|
|
1257
|
-
|
|
1255
|
+
@if (collapsible() && !isSmallScreen()) {
|
|
1256
|
+
<div class="d-flex sidenav-footer flex-shrink-0 py-3">
|
|
1257
|
+
<button
|
|
1258
|
+
class="btn btn-outline-primary df-btn-icononly df-sidenav-toggle-minimized"
|
|
1259
|
+
(click)="toggleMinimize()"
|
|
1260
|
+
i18n-aria-label="@@df.sidenav.toggleMinimize.ariaLabel"
|
|
1261
|
+
aria-label="Toggle minimized sidenav"
|
|
1262
|
+
>
|
|
1263
|
+
@if (isMinimized()) {
|
|
1264
|
+
<span class="fa-arrow-right-to-line"></span>
|
|
1265
|
+
} @else {
|
|
1266
|
+
<span class="fa-arrow-left-to-line"></span>
|
|
1267
|
+
}
|
|
1268
|
+
</button>
|
|
1269
|
+
</div>
|
|
1270
|
+
}
|
|
1271
|
+
</nav>
|
|
1272
|
+
</div>
|
|
1258
1273
|
</df-drawer>
|
|
1259
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1
|
|
1274
|
+
`, isInline: true, styles: [".df-sidenav{position:relative;--sidenav-minWidth: 44px;width:var(--sidenav-minWidth)}.df-sidenav.df-sidenav-withicon{--sidenav-minWidth: 90px}.df-sidenav.df-sidenav-lg{width:auto}.df-sidenav.df-sidenav-lg .df-drawer{--df-drawer-size: max-content}.df-sidenav.df-sidenav-light-sky .sidenav-body{scrollbar-color:var(--df-color-primary-soft-default-foreground) var(--df-color-primary-subtle-background)}.df-sidenav.df-sidenav-light-sky .df-drawer,.df-sidenav.df-sidenav-light-sky .df-sidenav-button{background-color:var(--df-color-primary-subtle-background)}.df-sidenav .df-sidenav-search-empty{visibility:hidden}.df-sidenav .df-sidenav-mobile-drawer{top:var(--df-navbar-height, 56px)!important;height:calc(100vh - var(--df-navbar-height, 56px))!important}.df-sidenav nav{border-inline-end:1px solid var(--df-color-inert-neutral-main-border)}.df-sidenav.df-sidenav-drawer .df-drawer{z-index:2010}.df-sidenav .df-drawer{background-color:var(--df-color-inert-neutral-main-background);height:100%;--df-drawer-size: 0;--df-drawer-min-size: var(--sidenav-minWidth);--df-drawer-max-size: max-content;z-index:10;transition:none}.df-sidenav .df-drawer.df-inline-start{border:none}.df-sidenav .df-drawer.df-collapse-show{--df-drawer-size: max-content}.df-sidenav .df-drawer.df-collapse-hide{display:block}.df-sidenav .df-drawer.df-collapse-collapsing.df-collapse-horizontal{transition:none}.df-sidenav .df-sidenav-active{font-weight:var(--df-typo-weight-bold)}.df-sidenav .sidenav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.df-sidenav .sidenav-label:before{content:attr(title);font-weight:var(--df-typo-weight-bold);visibility:hidden;height:0;overflow:hidden;display:block}.df-sidenav .df-sidenav-mobile-header{padding-block-end:var(--df-spacing-2);border-block-end:1px solid var(--df-color-neutral-alt-default-border);font-weight:var(--df-typo-weight-regular)}.df-sidenav .df-sidenav-mobile-header .df-sidenav-mobile-header-back-arrow{color:var(--df-color-primary-alt-default-foreground)}.df-sidenav .df-sidenav-mobile-header .df-sidenav-active .df-sidenav-mobile-header-back-arrow{color:var(--df-color-primary-alt-active-foreground)}.df-sidenav .sidenav-body{padding:var(--df-spacing-2);scrollbar-color:var(--df-color-primary-soft-default-foreground) var(--df-color-inert-neutral-main-background)}.df-sidenav .df-sidenav-search-minimized,.df-sidenav .df-sidenav-toggle-minimized{min-width:36px;position:relative;z-index:1}.df-sidenav .df-sidenav-header{padding-inline:var(--df-spacing-2);overflow:visible;position:relative}.df-sidenav .df-sidenav-header.df-sidenav-header-minimized{padding-inline:0}.df-sidenav .sidenav-footer{overflow:visible;position:relative}.df-sidenav [role=list] [role=listitem]{padding-inline-start:0}.df-sidenav [role=list] [role=listitem] [role=listitem]:not(.mobile){padding-inline-start:var(--df-spacing-6);position:relative}.df-sidenav [role=list] [role=listitem] [role=listitem]:not(.mobile):before{content:\"\";position:absolute;left:var(--df-spacing-5);top:0;bottom:0;width:1px;background-color:var(--df-color-neutral-soft-default-background)}.df-sidenav [role=list] [role=listitem] [role=listitem]:not(.mobile) [role=listitem]:not(.mobile){padding-inline-start:var(--df-spacing-6)}.df-sidenav .df-drawer-splitter{position:absolute;inset-block:0;inset-inline-end:-4px;width:1rem;cursor:ew-resize;background:transparent;display:flex;align-items:center;justify-content:center;touch-action:none}.df-sidenav .df-drawer-splitter .df-drawer-splitter-handle{--df-btn-bg: transparent;flex-shrink:0;transform:translate(40%);border:none;cursor:ew-resize}.df-sidenav .df-sidenav-button{--df-box-shadow-color: var(--df-color-focus-main-border);--df-btn-font-weight: var(--df-typo-weight-regular);background-color:var(--df-color-inert-neutral-main-background);padding-inline:var(--df-spacing-5);margin-block-end:1px;height:40px;border:none;position:relative}.df-sidenav .df-sidenav-button:focus-visible{z-index:1}.df-sidenav .df-sidenav-button.df-sidenav-breadcrumb-button{height:3rem}.df-sidenav .df-sidenav-button .df-sidenav-collapse-toggle{transition:transform .3s;color:var(--df-color-primary-alt-default-foreground)}.df-sidenav .df-sidenav-button .df-sidenav-collapse-toggle.expanded{transform:rotate(180deg)}.df-sidenav .df-sidenav-button:hover{background-color:var(--df-color-primary-alt-hovered-background)}.df-sidenav .df-sidenav-button:hover .df-sidenav-collapse-toggle{color:var(--df-color-primary-alt-hovered-foreground)}.df-sidenav .df-sidenav-button:active{background-color:var(--df-color-primary-alt-active-background)}.df-sidenav .df-sidenav-button:active .df-sidenav-collapse-toggle{color:var(--df-color-primary-alt-active-foreground)}.df-sidenav .df-sidenav-button.df-sidenav-active-level{font-weight:var(--df-typo-weight-bold);background-color:var(--df-color-primary-alt-active-background)}.df-sidenav .df-sidenav-button.df-sidenav-active-level:hover{background-color:var(--df-color-primary-alt-activeHovered-background)}.df-sidenav .df-sidenav-item-hidden{visibility:hidden;height:0}.df-sidenav .input-group.df-input-prepend .input-group-prepend{padding-inline-start:15px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DfDrawer, selector: "df-drawer", inputs: ["className", "bodyScroll", "backdrop", "container", "size", "resizable", "visible", "keepInDom", "configuration", "position", "focusOnInit"], outputs: ["sizeChange", "visibleChange", "minimizedChange", "maximizedChange", "resizingChange", "minSize", "maxSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1260
1275
|
}
|
|
1261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1276
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DfSidenavComponent, decorators: [{
|
|
1262
1277
|
type: Component,
|
|
1263
|
-
args: [{
|
|
1264
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1265
|
-
selector: 'df-sidenav',
|
|
1266
|
-
template: `
|
|
1278
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'df-sidenav', template: `
|
|
1267
1279
|
<df-drawer
|
|
1268
1280
|
#drawer
|
|
1269
|
-
|
|
1281
|
+
position="inline-start"
|
|
1282
|
+
[className]="isSmallScreen() ? 'df-sidenav-mobile-drawer' : ''"
|
|
1270
1283
|
[visible]="!_isMinimized()"
|
|
1271
1284
|
(visibleChange)="visibleChangeHandler($event)"
|
|
1272
1285
|
(minimizedChange)="_isMinimized.set($event)"
|
|
1273
1286
|
(resizingChange)="resizingChangeHandler($event)"
|
|
1274
1287
|
[bodyScroll]="true"
|
|
1275
1288
|
[backdrop]="backdrop()"
|
|
1289
|
+
[keepInDom]="true"
|
|
1276
1290
|
[(size)]="width"
|
|
1277
1291
|
[container]="isSmallScreen() ? null : hostRef.nativeElement"
|
|
1278
1292
|
[resizable]="resizable() && !isSmallScreen()"
|
|
1279
1293
|
[focusOnInit]="false"
|
|
1280
|
-
[
|
|
1294
|
+
[configuration]="isLargeUpScreen() ? 'inline' : 'overlay'"
|
|
1281
1295
|
>
|
|
1282
|
-
<
|
|
1283
|
-
<
|
|
1284
|
-
|
|
1285
|
-
@if (
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
aria-label="Search"
|
|
1293
|
-
></button>
|
|
1294
|
-
} @else {
|
|
1295
|
-
<div class="input-group mb-3">
|
|
1296
|
-
<div class="input-group-prepend">
|
|
1297
|
-
<span class="input-group-text fa-light fa-search"></span>
|
|
1298
|
-
</div>
|
|
1299
|
-
<input
|
|
1300
|
-
type="search"
|
|
1301
|
-
class="form-control df-input-withicon"
|
|
1302
|
-
i18n-placeholder="@@df.sidenav.search.placeholder"
|
|
1303
|
-
placeholder="Search"
|
|
1296
|
+
<div class="h-100 w-100">
|
|
1297
|
+
<nav class="d-flex flex-column w-100 h-100 p-5 pb-3">
|
|
1298
|
+
<div class="df-sidenav-header flex-shrink-0" [class.df-sidenav-header-minimized]="_isMinimized()">
|
|
1299
|
+
@if (searchable()) {
|
|
1300
|
+
@if (_isMinimized()) {
|
|
1301
|
+
<button
|
|
1302
|
+
class="btn btn-outline-neutral df-btn-icononly mb-3 w-100 fa-search"
|
|
1303
|
+
[class.df-sidenav-search-minimized]="!contentHasIcons()"
|
|
1304
|
+
type="button"
|
|
1305
|
+
(click)="focusSearch()"
|
|
1304
1306
|
i18n-aria-label="@@df.sidenav.search.ariaLabel"
|
|
1305
1307
|
aria-label="Search"
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1308
|
+
></button>
|
|
1309
|
+
} @else {
|
|
1310
|
+
<div class="input-group mb-3">
|
|
1311
|
+
<div class="input-group-prepend">
|
|
1312
|
+
<span class="input-group-text fa-light fa-search"></span>
|
|
1313
|
+
</div>
|
|
1314
|
+
<input
|
|
1315
|
+
type="search"
|
|
1316
|
+
class="form-control df-input-withicon"
|
|
1317
|
+
i18n-placeholder="@@df.sidenav.search.placeholder"
|
|
1318
|
+
placeholder="Search"
|
|
1319
|
+
i18n-aria-label="@@df.sidenav.search.ariaLabel"
|
|
1320
|
+
aria-label="Search"
|
|
1321
|
+
[(ngModel)]="searchTerm"
|
|
1322
|
+
#textInput
|
|
1323
|
+
/>
|
|
1324
|
+
<div class="input-group-append">
|
|
1325
|
+
<button
|
|
1326
|
+
class="input-group-text fa-light fa-times"
|
|
1327
|
+
[class.df-sidenav-search-empty]="searchTerm() === ''"
|
|
1328
|
+
(click)="searchTerm.set(''); textInput.focus()"
|
|
1329
|
+
>
|
|
1330
|
+
<span class="visually-hidden" i18n="@@df.sidenav.search.clearText">Clear text</span>
|
|
1331
|
+
</button>
|
|
1332
|
+
</div>
|
|
1317
1333
|
</div>
|
|
1318
|
-
|
|
1334
|
+
}
|
|
1319
1335
|
}
|
|
1320
|
-
|
|
1321
|
-
</div>
|
|
1336
|
+
</div>
|
|
1322
1337
|
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
</div>
|
|
1326
|
-
@if (collapsible() && !isSmallScreen()) {
|
|
1327
|
-
<div class="d-flex sidenav-footer flex-shrink-0 py-3">
|
|
1328
|
-
<button
|
|
1329
|
-
class="btn btn-outline-primary df-btn-icononly df-sidenav-toggle-minimized"
|
|
1330
|
-
(click)="toggleMinimize()"
|
|
1331
|
-
i18n-aria-label="@@df.sidenav.toggleMinimize.ariaLabel"
|
|
1332
|
-
aria-label="Toggle minimized sidenav"
|
|
1333
|
-
>
|
|
1334
|
-
@if (isMinimized()) {
|
|
1335
|
-
<span class="fa-arrow-right-to-line"></span>
|
|
1336
|
-
} @else {
|
|
1337
|
-
<span class="fa-arrow-left-to-line"></span>
|
|
1338
|
-
}
|
|
1339
|
-
</button>
|
|
1338
|
+
<div role="list" class="sidenav-body flex-grow-1 overflow-y-auto" #scrollableContainer>
|
|
1339
|
+
<ng-content />
|
|
1340
1340
|
</div>
|
|
1341
|
-
|
|
1342
|
-
|
|
1341
|
+
@if (collapsible() && !isSmallScreen()) {
|
|
1342
|
+
<div class="d-flex sidenav-footer flex-shrink-0 py-3">
|
|
1343
|
+
<button
|
|
1344
|
+
class="btn btn-outline-primary df-btn-icononly df-sidenav-toggle-minimized"
|
|
1345
|
+
(click)="toggleMinimize()"
|
|
1346
|
+
i18n-aria-label="@@df.sidenav.toggleMinimize.ariaLabel"
|
|
1347
|
+
aria-label="Toggle minimized sidenav"
|
|
1348
|
+
>
|
|
1349
|
+
@if (isMinimized()) {
|
|
1350
|
+
<span class="fa-arrow-right-to-line"></span>
|
|
1351
|
+
} @else {
|
|
1352
|
+
<span class="fa-arrow-left-to-line"></span>
|
|
1353
|
+
}
|
|
1354
|
+
</button>
|
|
1355
|
+
</div>
|
|
1356
|
+
}
|
|
1357
|
+
</nav>
|
|
1358
|
+
</div>
|
|
1343
1359
|
</df-drawer>
|
|
1344
|
-
`,
|
|
1345
|
-
imports: [FormsModule, DfDrawerComponent],
|
|
1346
|
-
host: {
|
|
1360
|
+
`, imports: [FormsModule, DfDrawer], encapsulation: ViewEncapsulation.None, host: {
|
|
1347
1361
|
class: 'df-sidenav',
|
|
1348
1362
|
'[class.df-sidenav-lg]': 'isLargeUpScreen()',
|
|
1349
1363
|
'[class.df-sidenav-withicon]': 'contentHasIcons()',
|
|
1350
1364
|
'[class.d-none]': 'isSmallScreen() && _isMinimized()',
|
|
1351
1365
|
'[class.df-sidenav-drawer]': 'isMediumScreen() && !_isMinimized()'
|
|
1352
|
-
}
|
|
1353
|
-
|
|
1354
|
-
}], ctorParameters: () => [], propDecorators: { searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], resizable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizable", required: false }] }], collapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsible", required: false }] }], enableMobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableMobile", required: false }] }], scrollableContainer: [{ type: i0.ViewChild, args: ['scrollableContainer', { isSignal: true }] }], searchInput: [{ type: i0.ViewChild, args: ['textInput', { isSignal: true }] }], allLinks: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => DfSidenavLinkComponent), { ...{ descendants: true }, isSignal: true }] }], allItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => DfSidenavItemComponent), { ...{ descendants: true }, isSignal: true }] }] } });
|
|
1366
|
+
}, styles: [".df-sidenav{position:relative;--sidenav-minWidth: 44px;width:var(--sidenav-minWidth)}.df-sidenav.df-sidenav-withicon{--sidenav-minWidth: 90px}.df-sidenav.df-sidenav-lg{width:auto}.df-sidenav.df-sidenav-lg .df-drawer{--df-drawer-size: max-content}.df-sidenav.df-sidenav-light-sky .sidenav-body{scrollbar-color:var(--df-color-primary-soft-default-foreground) var(--df-color-primary-subtle-background)}.df-sidenav.df-sidenav-light-sky .df-drawer,.df-sidenav.df-sidenav-light-sky .df-sidenav-button{background-color:var(--df-color-primary-subtle-background)}.df-sidenav .df-sidenav-search-empty{visibility:hidden}.df-sidenav .df-sidenav-mobile-drawer{top:var(--df-navbar-height, 56px)!important;height:calc(100vh - var(--df-navbar-height, 56px))!important}.df-sidenav nav{border-inline-end:1px solid var(--df-color-inert-neutral-main-border)}.df-sidenav.df-sidenav-drawer .df-drawer{z-index:2010}.df-sidenav .df-drawer{background-color:var(--df-color-inert-neutral-main-background);height:100%;--df-drawer-size: 0;--df-drawer-min-size: var(--sidenav-minWidth);--df-drawer-max-size: max-content;z-index:10;transition:none}.df-sidenav .df-drawer.df-inline-start{border:none}.df-sidenav .df-drawer.df-collapse-show{--df-drawer-size: max-content}.df-sidenav .df-drawer.df-collapse-hide{display:block}.df-sidenav .df-drawer.df-collapse-collapsing.df-collapse-horizontal{transition:none}.df-sidenav .df-sidenav-active{font-weight:var(--df-typo-weight-bold)}.df-sidenav .sidenav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.df-sidenav .sidenav-label:before{content:attr(title);font-weight:var(--df-typo-weight-bold);visibility:hidden;height:0;overflow:hidden;display:block}.df-sidenav .df-sidenav-mobile-header{padding-block-end:var(--df-spacing-2);border-block-end:1px solid var(--df-color-neutral-alt-default-border);font-weight:var(--df-typo-weight-regular)}.df-sidenav .df-sidenav-mobile-header .df-sidenav-mobile-header-back-arrow{color:var(--df-color-primary-alt-default-foreground)}.df-sidenav .df-sidenav-mobile-header .df-sidenav-active .df-sidenav-mobile-header-back-arrow{color:var(--df-color-primary-alt-active-foreground)}.df-sidenav .sidenav-body{padding:var(--df-spacing-2);scrollbar-color:var(--df-color-primary-soft-default-foreground) var(--df-color-inert-neutral-main-background)}.df-sidenav .df-sidenav-search-minimized,.df-sidenav .df-sidenav-toggle-minimized{min-width:36px;position:relative;z-index:1}.df-sidenav .df-sidenav-header{padding-inline:var(--df-spacing-2);overflow:visible;position:relative}.df-sidenav .df-sidenav-header.df-sidenav-header-minimized{padding-inline:0}.df-sidenav .sidenav-footer{overflow:visible;position:relative}.df-sidenav [role=list] [role=listitem]{padding-inline-start:0}.df-sidenav [role=list] [role=listitem] [role=listitem]:not(.mobile){padding-inline-start:var(--df-spacing-6);position:relative}.df-sidenav [role=list] [role=listitem] [role=listitem]:not(.mobile):before{content:\"\";position:absolute;left:var(--df-spacing-5);top:0;bottom:0;width:1px;background-color:var(--df-color-neutral-soft-default-background)}.df-sidenav [role=list] [role=listitem] [role=listitem]:not(.mobile) [role=listitem]:not(.mobile){padding-inline-start:var(--df-spacing-6)}.df-sidenav .df-drawer-splitter{position:absolute;inset-block:0;inset-inline-end:-4px;width:1rem;cursor:ew-resize;background:transparent;display:flex;align-items:center;justify-content:center;touch-action:none}.df-sidenav .df-drawer-splitter .df-drawer-splitter-handle{--df-btn-bg: transparent;flex-shrink:0;transform:translate(40%);border:none;cursor:ew-resize}.df-sidenav .df-sidenav-button{--df-box-shadow-color: var(--df-color-focus-main-border);--df-btn-font-weight: var(--df-typo-weight-regular);background-color:var(--df-color-inert-neutral-main-background);padding-inline:var(--df-spacing-5);margin-block-end:1px;height:40px;border:none;position:relative}.df-sidenav .df-sidenav-button:focus-visible{z-index:1}.df-sidenav .df-sidenav-button.df-sidenav-breadcrumb-button{height:3rem}.df-sidenav .df-sidenav-button .df-sidenav-collapse-toggle{transition:transform .3s;color:var(--df-color-primary-alt-default-foreground)}.df-sidenav .df-sidenav-button .df-sidenav-collapse-toggle.expanded{transform:rotate(180deg)}.df-sidenav .df-sidenav-button:hover{background-color:var(--df-color-primary-alt-hovered-background)}.df-sidenav .df-sidenav-button:hover .df-sidenav-collapse-toggle{color:var(--df-color-primary-alt-hovered-foreground)}.df-sidenav .df-sidenav-button:active{background-color:var(--df-color-primary-alt-active-background)}.df-sidenav .df-sidenav-button:active .df-sidenav-collapse-toggle{color:var(--df-color-primary-alt-active-foreground)}.df-sidenav .df-sidenav-button.df-sidenav-active-level{font-weight:var(--df-typo-weight-bold);background-color:var(--df-color-primary-alt-active-background)}.df-sidenav .df-sidenav-button.df-sidenav-active-level:hover{background-color:var(--df-color-primary-alt-activeHovered-background)}.df-sidenav .df-sidenav-item-hidden{visibility:hidden;height:0}.df-sidenav .input-group.df-input-prepend .input-group-prepend{padding-inline-start:15px}\n"] }]
|
|
1367
|
+
}], ctorParameters: () => [], propDecorators: { searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], resizable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizable", required: false }] }], collapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsible", required: false }] }], enableMobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableMobile", required: false }] }], disableInitialDesktopAutoScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableInitialDesktopAutoScroll", required: false }] }], scrollableContainer: [{ type: i0.ViewChild, args: ['scrollableContainer', { isSignal: true }] }], searchInput: [{ type: i0.ViewChild, args: ['textInput', { isSignal: true }] }], allLinks: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => DfSidenavLinkComponent), { ...{ descendants: true }, isSignal: true }] }], allItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => DfSidenavItemComponent), { ...{ descendants: true }, isSignal: true }] }] } });
|
|
1355
1368
|
|
|
1356
1369
|
/**
|
|
1357
1370
|
* Generated bundle index. Do not edit.
|