@bootkit/ng0 0.0.0-alpha.48 → 0.0.0-alpha.49
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.
|
@@ -157,7 +157,7 @@ class SidenavComponent {
|
|
|
157
157
|
this._resizeSubscription?.unsubscribe();
|
|
158
158
|
}
|
|
159
159
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: SidenavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
160
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.11", type: SidenavComponent, isStandalone: true, selector: "ng0-sidenav", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, fixedInViewport: { classPropertyName: "fixedInViewport", publicName: "fixedInViewport", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backdropClick: "backdropClick" }, host: { properties: { "class.ng0-sidenav-open": "open()", "class.ng0-sidenav-fixed": "fixedInViewport()", "class.ng0-sidenav-has-backdrop": "hasBackdrop()", "style.width": "position() == 'start' || position() == 'end' ? _getFixedSize() : undefined", "style.height": "undefined", "style.z-index": "zIndex()", "class.ng0-sidenav-start": "position() == 'start'", "class.ng0-sidenav-end": "position() == 'end'", "class.ng0-sidenav-top": "position() == 'top'", "class.ng0-sidenav-bottom": "position() == 'bottom'", "class.ng0-sidenav-small": "size() == 'small'", "class.ng0-sidenav-medium": "size() == 'medium'", "class.ng0-sidenav-large": "size() == 'large'", "class.ng0-sidenav-full": "size() == 'full'" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":root{--ng0-sidenav-backdrop-background: rgba(0, 0, 0, .5)}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}ng0-sidenav{position:absolute;will-change:transform,width,height;overflow:auto;display:none}.ng0-sidenav-backdrop{position:absolute;inset:0;background-color:var(--ng0-sidenav-backdrop-background)!important;pointer-events:all}.ng0-sidenav-backdrop.ng0-sidenav-backdrop-fullscreen{position:fixed}.ng0-sidenav-backdrop.ng0-sidenav-backdrop-opening{animation:backdropFadeIn var(--ng0-sidenav-
|
|
160
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.11", type: SidenavComponent, isStandalone: true, selector: "ng0-sidenav", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, fixedInViewport: { classPropertyName: "fixedInViewport", publicName: "fixedInViewport", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backdropClick: "backdropClick" }, host: { properties: { "class.ng0-sidenav-open": "open()", "class.ng0-sidenav-fixed": "fixedInViewport()", "class.ng0-sidenav-has-backdrop": "hasBackdrop()", "style.width": "position() == 'start' || position() == 'end' ? _getFixedSize() : undefined", "style.height": "undefined", "style.z-index": "zIndex()", "class.ng0-sidenav-start": "position() == 'start'", "class.ng0-sidenav-end": "position() == 'end'", "class.ng0-sidenav-top": "position() == 'top'", "class.ng0-sidenav-bottom": "position() == 'bottom'", "class.ng0-sidenav-small": "size() == 'small'", "class.ng0-sidenav-medium": "size() == 'medium'", "class.ng0-sidenav-large": "size() == 'large'", "class.ng0-sidenav-full": "size() == 'full'" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":root{--ng0-sidenav-backdrop-background: rgba(0, 0, 0, .5)}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}ng0-sidenav{position:absolute;will-change:transform,width,height;overflow:auto;display:none}.ng0-sidenav-backdrop{position:absolute;inset:0;background-color:var(--ng0-sidenav-backdrop-background)!important;pointer-events:all}.ng0-sidenav-backdrop.ng0-sidenav-backdrop-fullscreen{position:fixed}.ng0-sidenav-backdrop.ng0-sidenav-backdrop-opening{animation:backdropFadeIn var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function) forwards}.ng0-sidenav-backdrop.ng0-sidenav-backdrop-closing{animation:backdropFadeOut var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function) forwards}.ng0-sidenav-transition ng0-sidenav{transition:transform var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function),width var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function),height var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function)}.ng0-sidenav-fixed{position:fixed!important}.ng0-sidenav-top{display:block;left:0;right:0;top:0;transform:translateY(-100%)}.ng0-sidenav-top.ng0-sidenav-open{transform:translateY(0)!important}.ng0-sidenav-bottom{display:block;left:0;right:0;bottom:0;transform:translateY(100%)}.ng0-sidenav-bottom.ng0-sidenav-open{transform:translateY(0)!important}.ng0-sidenav-start{display:block;top:0;bottom:0;inset-inline-start:0;transform:translate(-100%)}:dir(rtl) .ng0-sidenav-start,body[dir=rtl] .ng0-sidenav-start{transform:translate(100%)}.ng0-sidenav-start.ng0-sidenav-open{transform:translate(0)!important}.ng0-sidenav-end{display:block;top:0;bottom:0;inset-inline-end:0;transform:translate(100%)}:dir(rtl) .ng0-sidenav-end,body[dir=rtl] .ng0-sidenav-end{transform:translate(-100%)}.ng0-sidenav-end.ng0-sidenav-open{transform:translate(0)!important}.ng0-sidenav-small.ng0-sidenav-start,.ng0-sidenav-small.ng0-sidenav-end{width:min(350px,95%)}.ng0-sidenav-small.ng0-sidenav-top,.ng0-sidenav-small.ng0-sidenav-bottom{height:min(350px,95%)}@media (min-width: 0){.ng0-sidenav-medium.ng0-sidenav-start,.ng0-sidenav-medium.ng0-sidenav-end{width:min(350px,95%)}}@media (min-width: 576px){.ng0-sidenav-medium.ng0-sidenav-start,.ng0-sidenav-medium.ng0-sidenav-end{width:min(500px,95%)}}@media (min-width: 768px){.ng0-sidenav-medium.ng0-sidenav-start,.ng0-sidenav-medium.ng0-sidenav-end{width:min(700px,95%)}}@media (min-height: 0){.ng0-sidenav-medium.ng0-sidenav-top,.ng0-sidenav-medium.ng0-sidenav-bottom{height:min(350px,95%)}}@media (min-height: 576px){.ng0-sidenav-medium.ng0-sidenav-top,.ng0-sidenav-medium.ng0-sidenav-bottom{height:min(500px,95%)}}@media (min-height: 768px){.ng0-sidenav-medium.ng0-sidenav-top,.ng0-sidenav-medium.ng0-sidenav-bottom{height:min(700px,95%)}}@media (min-width: 0){.ng0-sidenav-large.ng0-sidenav-start,.ng0-sidenav-large.ng0-sidenav-end{width:min(350px,95%)}}@media (min-width: 576px){.ng0-sidenav-large.ng0-sidenav-start,.ng0-sidenav-large.ng0-sidenav-end{width:min(500px,95%)}}@media (min-width: 768px){.ng0-sidenav-large.ng0-sidenav-start,.ng0-sidenav-large.ng0-sidenav-end{width:min(700px,95%)}}@media (min-width: 992px){.ng0-sidenav-large.ng0-sidenav-start,.ng0-sidenav-large.ng0-sidenav-end{width:min(900px,95%)}}@media (min-width: 1200px){.ng0-sidenav-large.ng0-sidenav-start,.ng0-sidenav-large.ng0-sidenav-end{width:min(1200px,95%)}}@media (min-height: 0){.ng0-sidenav-large.ng0-sidenav-top,.ng0-sidenav-large.ng0-sidenav-bottom{height:min(350px,95%)}}@media (min-height: 576px){.ng0-sidenav-large.ng0-sidenav-top,.ng0-sidenav-large.ng0-sidenav-bottom{height:min(500px,95%)}}@media (min-height: 768px){.ng0-sidenav-large.ng0-sidenav-top,.ng0-sidenav-large.ng0-sidenav-bottom{height:min(700px,95%)}}@media (min-height: 992px){.ng0-sidenav-large.ng0-sidenav-top,.ng0-sidenav-large.ng0-sidenav-bottom{height:min(900px,95%)}}@media (min-height: 1200px){.ng0-sidenav-large.ng0-sidenav-top,.ng0-sidenav-large.ng0-sidenav-bottom{height:min(1200px,95%)}}.ng0-sidenav-full{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
161
161
|
}
|
|
162
162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: SidenavComponent, decorators: [{
|
|
163
163
|
type: Component,
|
|
@@ -176,7 +176,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImpo
|
|
|
176
176
|
"[class.ng0-sidenav-medium]": "size() == 'medium'",
|
|
177
177
|
"[class.ng0-sidenav-large]": "size() == 'large'",
|
|
178
178
|
"[class.ng0-sidenav-full]": "size() == 'full'",
|
|
179
|
-
}, styles: [":root{--ng0-sidenav-backdrop-background: rgba(0, 0, 0, .5)}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}ng0-sidenav{position:absolute;will-change:transform,width,height;overflow:auto;display:none}.ng0-sidenav-backdrop{position:absolute;inset:0;background-color:var(--ng0-sidenav-backdrop-background)!important;pointer-events:all}.ng0-sidenav-backdrop.ng0-sidenav-backdrop-fullscreen{position:fixed}.ng0-sidenav-backdrop.ng0-sidenav-backdrop-opening{animation:backdropFadeIn var(--ng0-sidenav-
|
|
179
|
+
}, styles: [":root{--ng0-sidenav-backdrop-background: rgba(0, 0, 0, .5)}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}ng0-sidenav{position:absolute;will-change:transform,width,height;overflow:auto;display:none}.ng0-sidenav-backdrop{position:absolute;inset:0;background-color:var(--ng0-sidenav-backdrop-background)!important;pointer-events:all}.ng0-sidenav-backdrop.ng0-sidenav-backdrop-fullscreen{position:fixed}.ng0-sidenav-backdrop.ng0-sidenav-backdrop-opening{animation:backdropFadeIn var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function) forwards}.ng0-sidenav-backdrop.ng0-sidenav-backdrop-closing{animation:backdropFadeOut var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function) forwards}.ng0-sidenav-transition ng0-sidenav{transition:transform var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function),width var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function),height var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function)}.ng0-sidenav-fixed{position:fixed!important}.ng0-sidenav-top{display:block;left:0;right:0;top:0;transform:translateY(-100%)}.ng0-sidenav-top.ng0-sidenav-open{transform:translateY(0)!important}.ng0-sidenav-bottom{display:block;left:0;right:0;bottom:0;transform:translateY(100%)}.ng0-sidenav-bottom.ng0-sidenav-open{transform:translateY(0)!important}.ng0-sidenav-start{display:block;top:0;bottom:0;inset-inline-start:0;transform:translate(-100%)}:dir(rtl) .ng0-sidenav-start,body[dir=rtl] .ng0-sidenav-start{transform:translate(100%)}.ng0-sidenav-start.ng0-sidenav-open{transform:translate(0)!important}.ng0-sidenav-end{display:block;top:0;bottom:0;inset-inline-end:0;transform:translate(100%)}:dir(rtl) .ng0-sidenav-end,body[dir=rtl] .ng0-sidenav-end{transform:translate(-100%)}.ng0-sidenav-end.ng0-sidenav-open{transform:translate(0)!important}.ng0-sidenav-small.ng0-sidenav-start,.ng0-sidenav-small.ng0-sidenav-end{width:min(350px,95%)}.ng0-sidenav-small.ng0-sidenav-top,.ng0-sidenav-small.ng0-sidenav-bottom{height:min(350px,95%)}@media (min-width: 0){.ng0-sidenav-medium.ng0-sidenav-start,.ng0-sidenav-medium.ng0-sidenav-end{width:min(350px,95%)}}@media (min-width: 576px){.ng0-sidenav-medium.ng0-sidenav-start,.ng0-sidenav-medium.ng0-sidenav-end{width:min(500px,95%)}}@media (min-width: 768px){.ng0-sidenav-medium.ng0-sidenav-start,.ng0-sidenav-medium.ng0-sidenav-end{width:min(700px,95%)}}@media (min-height: 0){.ng0-sidenav-medium.ng0-sidenav-top,.ng0-sidenav-medium.ng0-sidenav-bottom{height:min(350px,95%)}}@media (min-height: 576px){.ng0-sidenav-medium.ng0-sidenav-top,.ng0-sidenav-medium.ng0-sidenav-bottom{height:min(500px,95%)}}@media (min-height: 768px){.ng0-sidenav-medium.ng0-sidenav-top,.ng0-sidenav-medium.ng0-sidenav-bottom{height:min(700px,95%)}}@media (min-width: 0){.ng0-sidenav-large.ng0-sidenav-start,.ng0-sidenav-large.ng0-sidenav-end{width:min(350px,95%)}}@media (min-width: 576px){.ng0-sidenav-large.ng0-sidenav-start,.ng0-sidenav-large.ng0-sidenav-end{width:min(500px,95%)}}@media (min-width: 768px){.ng0-sidenav-large.ng0-sidenav-start,.ng0-sidenav-large.ng0-sidenav-end{width:min(700px,95%)}}@media (min-width: 992px){.ng0-sidenav-large.ng0-sidenav-start,.ng0-sidenav-large.ng0-sidenav-end{width:min(900px,95%)}}@media (min-width: 1200px){.ng0-sidenav-large.ng0-sidenav-start,.ng0-sidenav-large.ng0-sidenav-end{width:min(1200px,95%)}}@media (min-height: 0){.ng0-sidenav-large.ng0-sidenav-top,.ng0-sidenav-large.ng0-sidenav-bottom{height:min(350px,95%)}}@media (min-height: 576px){.ng0-sidenav-large.ng0-sidenav-top,.ng0-sidenav-large.ng0-sidenav-bottom{height:min(500px,95%)}}@media (min-height: 768px){.ng0-sidenav-large.ng0-sidenav-top,.ng0-sidenav-large.ng0-sidenav-bottom{height:min(700px,95%)}}@media (min-height: 992px){.ng0-sidenav-large.ng0-sidenav-top,.ng0-sidenav-large.ng0-sidenav-bottom{height:min(900px,95%)}}@media (min-height: 1200px){.ng0-sidenav-large.ng0-sidenav-top,.ng0-sidenav-large.ng0-sidenav-bottom{height:min(1200px,95%)}}.ng0-sidenav-full{width:100%;height:100%}\n"] }]
|
|
180
180
|
}], ctorParameters: () => [], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], hasBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasBackdrop", required: false }] }], zIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "zIndex", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], fixedInViewport: [{ type: i0.Input, args: [{ isSignal: true, alias: "fixedInViewport", required: false }] }], backdropClick: [{
|
|
181
181
|
type: Output
|
|
182
182
|
}] } });
|
|
@@ -231,7 +231,7 @@ class SidenavContainerComponent {
|
|
|
231
231
|
return true;
|
|
232
232
|
}
|
|
233
233
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: SidenavContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
234
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.11", type: SidenavContainerComponent, isStandalone: true, selector: "ng0-sidenav-container", host: { properties: { "style.padding-inline-start": "_getPadding('start')", "style.padding-inline-end": "_getPadding('end')", "style.padding-top": "_getPadding('top')", "style.padding-bottom": "_getPadding('bottom')", "class.ng0-sidenav-transition": "_isTransitionEnabled", "class.ng0-sidenav-content-hidden": "!_canComputePadding()" } }, queries: [{ propertyName: "_sidenavs", predicate: SidenavComponent }], ngImport: i0, template: "<ng-content select=\"ng0-sidenav-content\"></ng-content>\n<ng-content></ng-content>", styles: [":root{--ng0-sidenav-
|
|
234
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.11", type: SidenavContainerComponent, isStandalone: true, selector: "ng0-sidenav-container", host: { properties: { "style.padding-inline-start": "_getPadding('start')", "style.padding-inline-end": "_getPadding('end')", "style.padding-top": "_getPadding('top')", "style.padding-bottom": "_getPadding('bottom')", "class.ng0-sidenav-transition": "_isTransitionEnabled", "class.ng0-sidenav-content-hidden": "!_canComputePadding()" } }, queries: [{ propertyName: "_sidenavs", predicate: SidenavComponent }], ngImport: i0, template: "<ng-content select=\"ng0-sidenav-content\"></ng-content>\n<ng-content></ng-content>", styles: [":root{--ng0-sidenav-animation-duration: .2s;--ng0-sidenav-animation-function: ease-out}ng0-sidenav-container{position:relative;display:block;overflow:hidden;will-change:padding}ng0-sidenav-container.ng0-sidenav-transition{transition:padding var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function)}ng0-sidenav-container.ng0-sidenav-content-hidden ng0-sidenav-content{opacity:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
235
235
|
}
|
|
236
236
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: SidenavContainerComponent, decorators: [{
|
|
237
237
|
type: Component,
|
|
@@ -242,7 +242,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImpo
|
|
|
242
242
|
"[style.padding-bottom]": "_getPadding('bottom')",
|
|
243
243
|
"[class.ng0-sidenav-transition]": "_isTransitionEnabled",
|
|
244
244
|
"[class.ng0-sidenav-content-hidden]": "!_canComputePadding()",
|
|
245
|
-
}, template: "<ng-content select=\"ng0-sidenav-content\"></ng-content>\n<ng-content></ng-content>", styles: [":root{--ng0-sidenav-
|
|
245
|
+
}, template: "<ng-content select=\"ng0-sidenav-content\"></ng-content>\n<ng-content></ng-content>", styles: [":root{--ng0-sidenav-animation-duration: .2s;--ng0-sidenav-animation-function: ease-out}ng0-sidenav-container{position:relative;display:block;overflow:hidden;will-change:padding}ng0-sidenav-container.ng0-sidenav-transition{transition:padding var(--ng0-sidenav-animation-duration) var(--ng0-sidenav-animation-function)}ng0-sidenav-container.ng0-sidenav-content-hidden ng0-sidenav-content{opacity:0}\n"] }]
|
|
246
246
|
}], propDecorators: { _sidenavs: [{
|
|
247
247
|
type: ContentChildren,
|
|
248
248
|
args: [SidenavComponent]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-components-sidenav.mjs","sources":["../../../projects/ng0/components/sidenav/sidenav.component.ts","../../../projects/ng0/components/sidenav/sidenav-container.component.ts","../../../projects/ng0/components/sidenav/sidenav-container.component.html","../../../projects/ng0/components/sidenav/sidenav-content.component.ts","../../../projects/ng0/components/sidenav/sidenav.module.ts","../../../projects/ng0/components/sidenav/bootkit-ng0-components-sidenav.ts"],"sourcesContent":["import { booleanAttribute, numberAttribute, Component, effect, ElementRef, EventEmitter, input, OnDestroy, Output, Renderer2, ViewContainerRef, inject, ChangeDetectionStrategy, ViewEncapsulation, PLATFORM_ID, Inject, DOCUMENT, OnInit, Injector, AfterViewInit } from '@angular/core';\nimport { SidenavMode, SidenavPosition, SidenavSize } from './types';\nimport { isPlatformServer } from '@angular/common';\nimport { SidenavContainerComponent } from './sidenav-container.component';\nimport { Observable, Subscription, throttleTime } from 'rxjs';\n\n/**\n * A sidenav component that displays a sliding navigation panel.\n */\n@Component({\n selector: 'ng0-sidenav',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./sidenav.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n host: {\n \"[class.ng0-sidenav-open]\": \"open()\",\n \"[class.ng0-sidenav-fixed]\": \"fixedInViewport()\",\n \"[class.ng0-sidenav-has-backdrop]\": \"hasBackdrop()\",\n \"[style.width]\": \"position() == 'start' || position() == 'end' ? _getFixedSize() : undefined\",\n \"[style.height]\": \"undefined\",\n \"[style.z-index]\": \"zIndex()\",\n \"[class.ng0-sidenav-start]\": \"position() == 'start'\",\n \"[class.ng0-sidenav-end]\": \"position() == 'end'\",\n \"[class.ng0-sidenav-top]\": \"position() == 'top'\",\n \"[class.ng0-sidenav-bottom]\": \"position() == 'bottom'\",\n \"[class.ng0-sidenav-small]\": \"size() == 'small'\",\n \"[class.ng0-sidenav-medium]\": \"size() == 'medium'\",\n \"[class.ng0-sidenav-large]\": \"size() == 'large'\",\n \"[class.ng0-sidenav-full]\": \"size() == 'full'\",\n }\n})\nexport class SidenavComponent implements OnDestroy {\n private _bodyOverflowStyle?: string;\n private readonly _sidenavContainer = inject(SidenavContainerComponent);\n private readonly _document = inject(DOCUMENT);\n private readonly _renderer = inject(Renderer2);\n private _backdropRef?: HTMLDivElement;\n private _backdropClickUnlistenFunc?: () => void;\n private _backdropAnimationEndUnlistenFunc?: () => void;\n private _platformId = inject(PLATFORM_ID);\n protected _isPlatformServer = isPlatformServer(this._platformId)\n private _resizeSubscription?: Subscription;\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n\n /**\n * Whether the sidenav is open.\n */\n public readonly open = input(false, { transform: booleanAttribute });\n\n /**\n * Sidenav mode.\n * Determines how the sidenav is displayed.\n * Can be either 'push' or 'over'.\n * - 'push': The content is pushed aside to make room for the sidenav.\n * - 'over': The sidenav is displayed on top of the content.\n */\n public readonly mode = input<SidenavMode>('push');\n\n /**\n * Whether the sidenav has a backdrop.\n * The backdrop is shown only when the sidenav is open and mode is 'over'.\n */\n public readonly hasBackdrop = input(false, { transform: booleanAttribute });\n\n /**\n * Sidenav z-index.\n * Determines the stack order of the sidenav.\n */\n public readonly zIndex = input(1000, { transform: numberAttribute });\n\n /**\n * Sidenav position.\n * Determines the position of the sidenav.\n * Can be either 'start', 'end', 'top', or 'bottom'.\n */\n public readonly position = input<SidenavPosition>('start');\n\n /**\n * Sidenav size.\n * Determines the size of the sidenav. \n * Can be either 'small', 'medium', 'large', 'full', or a specific value. \n * If a specific value is provided, it will be used as the width/height of the sidenav.\n * @example\n * - 100, '300px', '50%', '50vh', 'small', 'full', ...\n */\n public readonly size = input<SidenavSize>();\n\n /**\n * Whether the sidenav is fixed in the viewport.\n */\n public readonly fixedInViewport = input(false, { transform: booleanAttribute });\n\n public readonly elmentRef = inject(ElementRef);\n\n /**\n * Emits when the backdrop is clicked.\n */\n @Output() public readonly backdropClick = new EventEmitter<PointerEvent>();\n\n constructor() {\n effect(() => {\n var mode = this.mode();\n var open = this.open();\n var hasBackdrop = this.hasBackdrop();\n\n if (hasBackdrop) {\n if (mode == 'over' && open) {\n this._createBackdrop();\n\n // disable body scroll when sidenav is open and fixedInViewport is true\n if (!this._isPlatformServer && this.fixedInViewport()) {\n const body = this._document.getElementsByTagName('body')[0];\n this._bodyOverflowStyle = body.style.overflow;\n this._renderer.setStyle(body, 'overflow', 'hidden');\n }\n } else {\n // trigger closing animation\n if (this._backdropRef) {\n this._renderer.addClass(this._backdropRef, 'ng0-sidenav-backdrop-closing');\n }\n\n // restore body scroll when sidenav is closed\n if (!this._isPlatformServer && this.fixedInViewport()) {\n const body = document.getElementsByTagName('body')[0];\n this._renderer.setStyle(body, 'overflow', this._bodyOverflowStyle);\n }\n }\n }\n });\n\n if (!this._isPlatformServer) {\n this._observeResize()\n .pipe(throttleTime(100, undefined, { leading: true, trailing: true }))\n .subscribe(entries => {\n this._sidenavContainer.changeDetectorRef.markForCheck();\n // console.log('Resized to:', entries[0].contentRect.width, entries[0].contentRect.height);\n });\n }\n }\n\n _getFixedSize(): string | undefined {\n let size = this.size();\n let t = typeof size;\n if (t == 'string') {\n return ['small', 'medium', 'large', 'full'].includes(size as string) ? undefined : size as string;\n } else if (t == 'number') {\n return `${size}px`;\n } else {\n return undefined;\n }\n };\n\n private _observeResize(): Observable<ResizeObserverEntry[]> {\n return new Observable(observer => {\n const resizeObserver = new ResizeObserver(entries => observer.next(entries));\n resizeObserver.observe(this._elementRef.nativeElement);\n return () => resizeObserver.disconnect();\n });\n }\n\n private _createBackdrop() {\n this._backdropRef = this._renderer.createElement('div');\n let classes = ['ng0-sidenav-backdrop', 'ng0-sidenav-backdrop-opening'];\n if(this.fixedInViewport()) {\n classes.push('ng0-sidenav-backdrop-fullscreen');\n }\n\n classes.forEach(x => this._renderer.addClass(this._backdropRef, x));\n \n this._backdropClickUnlistenFunc = this._renderer.listen(this._backdropRef, 'click', (e) => {\n this.backdropClick.emit(e);\n });\n\n this._backdropAnimationEndUnlistenFunc = this._renderer.listen(this._backdropRef, 'animationend', (e) => {\n if (!this.open()) {\n this._destroyBackdrop();\n }\n });\n\n if (this.zIndex() != undefined) {\n this._renderer.setStyle(this._backdropRef, 'z-index', this.zIndex());\n }\n\n // Move backdrop element before Host element\n const parent = this._renderer.parentNode(this.elmentRef.nativeElement);\n this._renderer.insertBefore(parent, this._backdropRef, this.elmentRef.nativeElement);\n }\n\n private _destroyBackdrop() {\n if (this._backdropRef) {\n this._backdropClickUnlistenFunc?.();\n this._backdropAnimationEndUnlistenFunc?.();\n this._renderer.removeChild(this._elementRef.nativeElement.parentNode, this._backdropRef);\n this._backdropRef = undefined;\n }\n }\n\n ngOnDestroy(): void {\n this._destroyBackdrop();\n this._resizeSubscription?.unsubscribe();\n }\n}\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, inject, PLATFORM_ID, QueryList, ViewEncapsulation } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { SidenavComponent } from './sidenav.component';\nimport { SidenavPosition } from './types';\n\n/**\n * Sidenav container component\n */\n@Component({\n selector: 'ng0-sidenav-container',\n templateUrl: './sidenav-container.component.html',\n styleUrls: ['./sidenav-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n host: {\n \"[style.padding-inline-start]\": \"_getPadding('start')\",\n \"[style.padding-inline-end]\": \"_getPadding('end')\",\n \"[style.padding-top]\": \"_getPadding('top')\",\n \"[style.padding-bottom]\": \"_getPadding('bottom')\",\n \"[class.ng0-sidenav-transition]\": \"_isTransitionEnabled\",\n \"[class.ng0-sidenav-content-hidden]\": \"!_canComputePadding()\",\n }\n})\nexport class SidenavContainerComponent implements AfterViewInit {\n private readonly _platformId = inject(PLATFORM_ID);\n protected readonly _isPlatformServer = isPlatformServer(this._platformId)\n protected _isTransitionEnabled = false;\n @ContentChildren(SidenavComponent) protected _sidenavs!: QueryList<SidenavComponent>;\n\n public readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n protected _getPadding(position: SidenavPosition) {\n let openSidenavs = this._sidenavs.filter(x => x.open() && x.mode() == 'push');\n let filteredSidenavs = openSidenavs.filter(x => x.position() == position);\n if(filteredSidenavs.length == 0) return undefined;\n\n if (this._isPlatformServer) {\n let hasDynamicSidenavs = openSidenavs.some(x => x._getFixedSize() == undefined);\n if (hasDynamicSidenavs) {\n // we cannot compute padding on the server\n return undefined;\n } else {\n let fixedSizes = filteredSidenavs.map(x => x._getFixedSize());\n return fixedSizes.length > 1 ? `max(${fixedSizes.join(', ')})` : fixedSizes[0];\n }\n } else {\n let horizontal = position == 'start' || position == 'end';\n let sizes = filteredSidenavs.map(x => horizontal ? x.elmentRef.nativeElement.offsetWidth : x.elmentRef.nativeElement.offsetHeight);\n return `${Math.max(...sizes)}px`;\n }\n };\n\n ngAfterViewInit() {\n if (!this._isPlatformServer) {\n setTimeout(() => this._isTransitionEnabled = true);\n }\n }\n\n // In some modes the content is pushed based on the width of the opened sidenavs, however on\n // the server we can't measure the sidenav-container padding, so the padding is always zero. This can cause the\n // content to jump around when it's rendered on the server and hydrated on the client.\n // We avoid it by hiding the content on the initial render and then showing it once the sidenav\n // has been measured on the client.\n protected _canComputePadding() {\n if (this._isPlatformServer) {\n let hasDynamicSizenavs = this._sidenavs.some(x => x.open() && x.mode() == 'push' && x._getFixedSize() == undefined);\n return !hasDynamicSizenavs;\n }\n\n return true;\n }\n}\n","<ng-content select=\"ng0-sidenav-content\"></ng-content>\n<ng-content></ng-content>","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Sidenav content component\n */\n@Component({\n selector: 'ng0-sidenav-content',\n template: `<ng-content></ng-content>`,\n styles: `ng0-sidenav-content {display: block}`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class SidenavContentComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { SidenavContainerComponent } from './sidenav-container.component';\nimport { SidenavComponent } from './sidenav.component';\nimport { SidenavContentComponent } from './sidenav-content.component';\n\n/**\n * Sidenav module\n */\n@NgModule({\n imports: [\n SidenavContainerComponent,\n SidenavComponent,\n SidenavContentComponent\n ],\n exports: [\n SidenavContainerComponent,\n SidenavComponent,\n SidenavContentComponent\n ]\n})\nexport class SidenavModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-components-sidenav.mjs","sources":["../../../projects/ng0/components/sidenav/sidenav.component.ts","../../../projects/ng0/components/sidenav/sidenav-container.component.ts","../../../projects/ng0/components/sidenav/sidenav-container.component.html","../../../projects/ng0/components/sidenav/sidenav-content.component.ts","../../../projects/ng0/components/sidenav/sidenav.module.ts","../../../projects/ng0/components/sidenav/bootkit-ng0-components-sidenav.ts"],"sourcesContent":["import { booleanAttribute, numberAttribute, Component, effect, ElementRef, EventEmitter, input, OnDestroy, Output, Renderer2, ViewContainerRef, inject, ChangeDetectionStrategy, ViewEncapsulation, PLATFORM_ID, Inject, DOCUMENT, OnInit, Injector, AfterViewInit } from '@angular/core';\nimport { SidenavMode, SidenavPosition, SidenavSize } from './types';\nimport { isPlatformServer } from '@angular/common';\nimport { SidenavContainerComponent } from './sidenav-container.component';\nimport { Observable, Subscription, throttleTime } from 'rxjs';\n\n/**\n * A sidenav component that displays a sliding navigation panel.\n */\n@Component({\n selector: 'ng0-sidenav',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./sidenav.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n host: {\n \"[class.ng0-sidenav-open]\": \"open()\",\n \"[class.ng0-sidenav-fixed]\": \"fixedInViewport()\",\n \"[class.ng0-sidenav-has-backdrop]\": \"hasBackdrop()\",\n \"[style.width]\": \"position() == 'start' || position() == 'end' ? _getFixedSize() : undefined\",\n \"[style.height]\": \"undefined\",\n \"[style.z-index]\": \"zIndex()\",\n \"[class.ng0-sidenav-start]\": \"position() == 'start'\",\n \"[class.ng0-sidenav-end]\": \"position() == 'end'\",\n \"[class.ng0-sidenav-top]\": \"position() == 'top'\",\n \"[class.ng0-sidenav-bottom]\": \"position() == 'bottom'\",\n \"[class.ng0-sidenav-small]\": \"size() == 'small'\",\n \"[class.ng0-sidenav-medium]\": \"size() == 'medium'\",\n \"[class.ng0-sidenav-large]\": \"size() == 'large'\",\n \"[class.ng0-sidenav-full]\": \"size() == 'full'\",\n }\n})\nexport class SidenavComponent implements OnDestroy {\n private _bodyOverflowStyle?: string;\n private readonly _sidenavContainer = inject(SidenavContainerComponent);\n private readonly _document = inject(DOCUMENT);\n private readonly _renderer = inject(Renderer2);\n private _backdropRef?: HTMLDivElement;\n private _backdropClickUnlistenFunc?: () => void;\n private _backdropAnimationEndUnlistenFunc?: () => void;\n private _platformId = inject(PLATFORM_ID);\n protected _isPlatformServer = isPlatformServer(this._platformId)\n private _resizeSubscription?: Subscription;\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n\n /**\n * Whether the sidenav is open.\n */\n public readonly open = input(false, { transform: booleanAttribute });\n\n /**\n * Sidenav mode.\n * Determines how the sidenav is displayed.\n * Can be either 'push' or 'over'.\n * - 'push': The content is pushed aside to make room for the sidenav.\n * - 'over': The sidenav is displayed on top of the content.\n */\n public readonly mode = input<SidenavMode>('push');\n\n /**\n * Whether the sidenav has a backdrop.\n * The backdrop is shown only when the sidenav is open and mode is 'over'.\n */\n public readonly hasBackdrop = input(false, { transform: booleanAttribute });\n\n /**\n * Sidenav z-index.\n * Determines the stack order of the sidenav.\n */\n public readonly zIndex = input(1000, { transform: numberAttribute });\n\n /**\n * Sidenav position.\n * Determines the position of the sidenav.\n * Can be either 'start', 'end', 'top', or 'bottom'.\n */\n public readonly position = input<SidenavPosition>('start');\n\n /**\n * Sidenav size.\n * Determines the size of the sidenav. \n * Can be either 'small', 'medium', 'large', 'full', or a specific value. \n * If a specific value is provided, it will be used as the width/height of the sidenav.\n * @example\n * - 100, '300px', '50%', '50vh', 'small', 'full', ...\n */\n public readonly size = input<SidenavSize>();\n\n /**\n * Whether the sidenav is fixed in the viewport.\n */\n public readonly fixedInViewport = input(false, { transform: booleanAttribute });\n\n public readonly elmentRef = inject(ElementRef);\n\n /**\n * Emits when the backdrop is clicked.\n */\n @Output() public readonly backdropClick = new EventEmitter<PointerEvent>();\n\n constructor() {\n effect(() => {\n var mode = this.mode();\n var open = this.open();\n var hasBackdrop = this.hasBackdrop();\n\n if (hasBackdrop) {\n if (mode == 'over' && open) {\n this._createBackdrop();\n\n // disable body scroll when sidenav is open and fixedInViewport is true\n if (!this._isPlatformServer && this.fixedInViewport()) {\n const body = this._document.getElementsByTagName('body')[0];\n this._bodyOverflowStyle = body.style.overflow;\n this._renderer.setStyle(body, 'overflow', 'hidden');\n }\n } else {\n // trigger closing animation\n if (this._backdropRef) {\n this._renderer.addClass(this._backdropRef, 'ng0-sidenav-backdrop-closing');\n }\n\n // restore body scroll when sidenav is closed\n if (!this._isPlatformServer && this.fixedInViewport()) {\n const body = document.getElementsByTagName('body')[0];\n this._renderer.setStyle(body, 'overflow', this._bodyOverflowStyle);\n }\n }\n }\n });\n\n if (!this._isPlatformServer) {\n this._observeResize()\n .pipe(throttleTime(100, undefined, { leading: true, trailing: true }))\n .subscribe(entries => {\n this._sidenavContainer.changeDetectorRef.markForCheck();\n // console.log('Resized to:', entries[0].contentRect.width, entries[0].contentRect.height);\n });\n }\n }\n\n _getFixedSize(): string | undefined {\n let size = this.size();\n let t = typeof size;\n if (t == 'string') {\n return ['small', 'medium', 'large', 'full'].includes(size as string) ? undefined : size as string;\n } else if (t == 'number') {\n return `${size}px`;\n } else {\n return undefined;\n }\n };\n\n private _observeResize(): Observable<ResizeObserverEntry[]> {\n return new Observable(observer => {\n const resizeObserver = new ResizeObserver(entries => observer.next(entries));\n resizeObserver.observe(this._elementRef.nativeElement);\n return () => resizeObserver.disconnect();\n });\n }\n\n private _createBackdrop() {\n this._backdropRef = this._renderer.createElement('div');\n let classes = ['ng0-sidenav-backdrop', 'ng0-sidenav-backdrop-opening'];\n if(this.fixedInViewport()) {\n classes.push('ng0-sidenav-backdrop-fullscreen');\n }\n\n classes.forEach(x => this._renderer.addClass(this._backdropRef, x));\n \n this._backdropClickUnlistenFunc = this._renderer.listen(this._backdropRef, 'click', (e) => {\n this.backdropClick.emit(e);\n });\n\n this._backdropAnimationEndUnlistenFunc = this._renderer.listen(this._backdropRef, 'animationend', (e) => {\n if (!this.open()) {\n this._destroyBackdrop();\n }\n });\n\n if (this.zIndex() != undefined) {\n this._renderer.setStyle(this._backdropRef, 'z-index', this.zIndex());\n }\n\n // Move backdrop element before Host element\n const parent = this._renderer.parentNode(this.elmentRef.nativeElement);\n this._renderer.insertBefore(parent, this._backdropRef, this.elmentRef.nativeElement);\n }\n\n private _destroyBackdrop() {\n if (this._backdropRef) {\n this._backdropClickUnlistenFunc?.();\n this._backdropAnimationEndUnlistenFunc?.();\n this._renderer.removeChild(this._elementRef.nativeElement.parentNode, this._backdropRef);\n this._backdropRef = undefined;\n }\n }\n\n ngOnDestroy(): void {\n this._destroyBackdrop();\n this._resizeSubscription?.unsubscribe();\n }\n}\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, inject, PLATFORM_ID, QueryList, ViewEncapsulation } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { SidenavComponent } from './sidenav.component';\nimport { SidenavPosition } from './types';\n\n/**\n * Sidenav container component\n */\n@Component({\n selector: 'ng0-sidenav-container',\n templateUrl: './sidenav-container.component.html',\n styleUrls: ['./sidenav-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n host: {\n \"[style.padding-inline-start]\": \"_getPadding('start')\",\n \"[style.padding-inline-end]\": \"_getPadding('end')\",\n \"[style.padding-top]\": \"_getPadding('top')\",\n \"[style.padding-bottom]\": \"_getPadding('bottom')\",\n \"[class.ng0-sidenav-transition]\": \"_isTransitionEnabled\",\n \"[class.ng0-sidenav-content-hidden]\": \"!_canComputePadding()\",\n }\n})\nexport class SidenavContainerComponent implements AfterViewInit {\n private readonly _platformId = inject(PLATFORM_ID);\n protected readonly _isPlatformServer = isPlatformServer(this._platformId)\n protected _isTransitionEnabled = false;\n @ContentChildren(SidenavComponent) protected _sidenavs!: QueryList<SidenavComponent>;\n\n public readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n protected _getPadding(position: SidenavPosition) {\n let openSidenavs = this._sidenavs.filter(x => x.open() && x.mode() == 'push');\n let filteredSidenavs = openSidenavs.filter(x => x.position() == position);\n if(filteredSidenavs.length == 0) return undefined;\n\n if (this._isPlatformServer) {\n let hasDynamicSidenavs = openSidenavs.some(x => x._getFixedSize() == undefined);\n if (hasDynamicSidenavs) {\n // we cannot compute padding on the server\n return undefined;\n } else {\n let fixedSizes = filteredSidenavs.map(x => x._getFixedSize());\n return fixedSizes.length > 1 ? `max(${fixedSizes.join(', ')})` : fixedSizes[0];\n }\n } else {\n let horizontal = position == 'start' || position == 'end';\n let sizes = filteredSidenavs.map(x => horizontal ? x.elmentRef.nativeElement.offsetWidth : x.elmentRef.nativeElement.offsetHeight);\n return `${Math.max(...sizes)}px`;\n }\n };\n\n ngAfterViewInit() {\n if (!this._isPlatformServer) {\n setTimeout(() => this._isTransitionEnabled = true);\n }\n }\n\n // In some modes the content is pushed based on the width of the opened sidenavs, however on\n // the server we can't measure the sidenav-container padding, so the padding is always zero. This can cause the\n // content to jump around when it's rendered on the server and hydrated on the client.\n // We avoid it by hiding the content on the initial render and then showing it once the sidenav\n // has been measured on the client.\n protected _canComputePadding() {\n if (this._isPlatformServer) {\n let hasDynamicSizenavs = this._sidenavs.some(x => x.open() && x.mode() == 'push' && x._getFixedSize() == undefined);\n return !hasDynamicSizenavs;\n }\n\n return true;\n }\n}\n","<ng-content select=\"ng0-sidenav-content\"></ng-content>\n<ng-content></ng-content>","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Sidenav content component\n */\n@Component({\n selector: 'ng0-sidenav-content',\n template: `<ng-content></ng-content>`,\n styles: `ng0-sidenav-content {display: block}`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class SidenavContentComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { SidenavContainerComponent } from './sidenav-container.component';\nimport { SidenavComponent } from './sidenav.component';\nimport { SidenavContentComponent } from './sidenav-content.component';\n\n/**\n * Sidenav module\n */\n@NgModule({\n imports: [\n SidenavContainerComponent,\n SidenavComponent,\n SidenavContentComponent\n ],\n exports: [\n SidenavContainerComponent,\n SidenavComponent,\n SidenavContentComponent\n ]\n})\nexport class SidenavModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|