@bootkit/ng0 0.0.0-alpha.23 → 0.0.0-alpha.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/sidenav/index.d.ts +2 -2
- package/fesm2022/bootkit-ng0-components-sidenav.mjs +3 -3
- package/fesm2022/bootkit-ng0-components-sidenav.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-routing.mjs +3 -3
- package/fesm2022/bootkit-ng0-routing.mjs.map +1 -1
- package/package.json +17 -17
- package/routing/index.d.ts +3 -3
|
@@ -13,13 +13,13 @@ declare class SidenavComponent implements OnInit, OnDestroy {
|
|
|
13
13
|
private _vcr;
|
|
14
14
|
private _elmentRef;
|
|
15
15
|
private _renderer;
|
|
16
|
-
open: _angular_core.
|
|
16
|
+
open: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
17
17
|
mode: _angular_core.InputSignal<SidenavMode>;
|
|
18
18
|
hasBackdrop: _angular_core.InputSignal<boolean>;
|
|
19
19
|
zIndex: _angular_core.InputSignal<number | undefined>;
|
|
20
20
|
position: _angular_core.InputSignal<SidenavPosition>;
|
|
21
21
|
sidenavWidth: _angular_core.InputSignal<number>;
|
|
22
|
-
fixedInViewport: _angular_core.
|
|
22
|
+
fixedInViewport: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
23
23
|
backdropClick: EventEmitter<MouseEvent>;
|
|
24
24
|
private _backdropRef?;
|
|
25
25
|
private _backdropClickHandlerUnlisten?;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, EventEmitter, effect, Output, Component, computed, ContentChildren, NgModule } from '@angular/core';
|
|
2
|
+
import { input, booleanAttribute, EventEmitter, effect, Output, Component, computed, ContentChildren, NgModule } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { BackdropComponent } from '@bootkit/ng0/components/backdrop';
|
|
5
5
|
|
|
@@ -12,13 +12,13 @@ class SidenavComponent {
|
|
|
12
12
|
_vcr;
|
|
13
13
|
_elmentRef;
|
|
14
14
|
_renderer;
|
|
15
|
-
open = input(true, ...(ngDevMode ? [{ debugName: "open" }] : []));
|
|
15
|
+
open = input(true, ...(ngDevMode ? [{ debugName: "open", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
16
16
|
mode = input('push', ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
17
17
|
hasBackdrop = input(true, ...(ngDevMode ? [{ debugName: "hasBackdrop" }] : []));
|
|
18
18
|
zIndex = input(...(ngDevMode ? [undefined, { debugName: "zIndex" }] : []));
|
|
19
19
|
position = input('start', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
20
20
|
sidenavWidth = input.required(...(ngDevMode ? [{ debugName: "sidenavWidth" }] : []));
|
|
21
|
-
fixedInViewport = input(false, ...(ngDevMode ? [{ debugName: "fixedInViewport" }] : []));
|
|
21
|
+
fixedInViewport = input(false, ...(ngDevMode ? [{ debugName: "fixedInViewport", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
22
22
|
backdropClick = new EventEmitter();
|
|
23
23
|
_backdropRef;
|
|
24
24
|
_backdropClickHandlerUnlisten;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-components-sidenav.mjs","sources":["../../../projects/ng0/components/sidenav/sidenav.component.ts","../../../projects/ng0/components/sidenav/sidenav.component.html","../../../projects/ng0/components/sidenav/sidenav-container.component.ts","../../../projects/ng0/components/sidenav/sidenav-container.component.html","../../../projects/ng0/components/sidenav/sidenav.module.ts","../../../projects/ng0/components/sidenav/bootkit-ng0-components-sidenav.ts"],"sourcesContent":["import { Component, ComponentRef, effect, ElementRef, EventEmitter, input, OnDestroy, OnInit, Output, Renderer2, ViewContainerRef } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SidenavMode, SidenavPosition } from './types';\r\nimport { BackdropComponent } from '@bootkit/ng0/components/backdrop';\r\n\r\n/**\r\n * This component is used to display a sidenav panel.\r\n * It can be positioned on the left or right side of the screen.\r\n * It can be opened or closed and can have a backdrop.\r\n */\r\n@Component({\r\n selector: 'ng0-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n providers: [],\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ],\r\n host: {\r\n \"[style.width]\": \"sidenavWidth() + 'px'\",\r\n \"[style.z-index]\": \"zIndex()\",\r\n \"[class.ng0-sidenav-start]\": \"position() == 'start'\",\r\n \"[class.ng0-sidenav-end]\": \"position() == 'end'\",\r\n \"[class.ng0-sidenav-open]\": \"open()\",\r\n \"[class.ng0-sidenav-show-backdrop]\": \"true\",\r\n \"[class.ng0-sidenav-fixed]\": \"fixedInViewport()\",\r\n }\r\n})\r\nexport class SidenavComponent implements OnInit, OnDestroy {\r\n public open = input(true);\r\n public mode = input<SidenavMode>('push');\r\n public hasBackdrop = input(true);\r\n public zIndex = input<number>();\r\n public position = input<SidenavPosition>('start');\r\n public sidenavWidth = input.required<number>();\r\n public fixedInViewport = input(false);\r\n @Output() public backdropClick = new EventEmitter<MouseEvent>();\r\n private _backdropRef?: ComponentRef<BackdropComponent>;\r\n private _backdropClickHandlerUnlisten?: () => void;\r\n\r\n\r\n constructor(private _vcr: ViewContainerRef, private _elmentRef: ElementRef, private _renderer: Renderer2) {\r\n effect(() => {\r\n var hasBackdrop = this.hasBackdrop();\r\n var mode = this.mode();\r\n var open = this.open();\r\n\r\n if (mode == 'over' && hasBackdrop && open) {\r\n this._createBackdrop();\r\n } else {\r\n this._destroyBackdrop();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n private _createBackdrop() {\r\n this._backdropRef = this._vcr.createComponent(BackdropComponent);\r\n const backdropElm = this._backdropRef.location.nativeElement;\r\n this._backdropRef.instance.fixed.set(this.fixedInViewport());\r\n if(this.zIndex() != undefined) {\r\n this._renderer.setStyle(backdropElm, 'z-index', this.zIndex());\r\n }\r\n this._backdropClickHandlerUnlisten = this._renderer.listen(backdropElm, 'click', (e) => {\r\n this.backdropClick.emit(e);\r\n });\r\n\r\n // Move backdrop element before Host element\r\n const hostElm = this._elmentRef.nativeElement;\r\n const parentElm = hostElm.parentNode;\r\n this._renderer.insertBefore(parentElm, backdropElm, hostElm);\r\n }\r\n\r\n private _destroyBackdrop() {\r\n this._backdropClickHandlerUnlisten?.();\r\n this._backdropRef?.destroy();\r\n\r\n this._backdropClickHandlerUnlisten = undefined;\r\n this._backdropRef = undefined;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._destroyBackdrop();\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n\r\n<!-- @if(open() && mode() == 'over' && hasBackdrop()) {\r\n<div class=\"ng0-sidenav-backdrop\"></div>\r\n} -->","import { Component, computed, ContentChildren, EventEmitter, HostBinding, OnInit, Output, QueryList } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SidenavComponent } from './sidenav.component';\r\n\r\n/**\r\n * This component is used to contain multiple sidenav components and manage their layout.\r\n */\r\n@Component({\r\n selector: 'ng0-sidenav-container',\r\n templateUrl: './sidenav-container.component.html',\r\n styleUrls: ['./sidenav-container.component.scss'],\r\n providers: [],\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ],\r\n host: {\r\n \"[style.padding-inline-start]\": \"_contentPaddingStart()\",\r\n \"[style.padding-inline-end]\": \"_contentPaddingEnd()\",\r\n }\r\n})\r\nexport class SidenavContainerComponent implements OnInit {\r\n\r\n @Output() backdropClick = new EventEmitter();\r\n @ContentChildren(SidenavComponent) protected _sidenavs!: QueryList<SidenavComponent>;\r\n\r\n protected _contentPaddingStart = computed(() => {\r\n let widths = this._sidenavs.filter(x => x.open() && x.position() == 'start' && x.mode() == 'push').map(x => x.sidenavWidth());\r\n return widths.length == 0 ? '0' : `${Math.max(...widths)}px`;\r\n });\r\n\r\n protected _contentPaddingEnd = computed(() => {\r\n let widths = this._sidenavs.filter(x => x.open() && x.position() == 'end' && x.mode() == 'push').map(x => x.sidenavWidth());\r\n return widths.length == 0 ? '0' : `${Math.max(...widths)}px`;\r\n });\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { SidenavContainerComponent } from './sidenav-container.component';\r\nimport { SidenavComponent } from './sidenav.component';\r\n\r\n/**\r\n * This module is used to contain the sidenav components and provide their functionality.\r\n */\r\n@NgModule({\r\n imports: [\r\n SidenavContainerComponent,\r\n SidenavComponent\r\n ],\r\n exports: [\r\n SidenavContainerComponent,\r\n SidenavComponent\r\n ]\r\n})\r\nexport class SidenavModule { }\r\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.component.html","../../../projects/ng0/components/sidenav/sidenav-container.component.ts","../../../projects/ng0/components/sidenav/sidenav-container.component.html","../../../projects/ng0/components/sidenav/sidenav.module.ts","../../../projects/ng0/components/sidenav/bootkit-ng0-components-sidenav.ts"],"sourcesContent":["import { booleanAttribute, Component, ComponentRef, effect, ElementRef, EventEmitter, input, OnDestroy, OnInit, Output, Renderer2, ViewContainerRef } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SidenavMode, SidenavPosition } from './types';\r\nimport { BackdropComponent } from '@bootkit/ng0/components/backdrop';\r\n\r\n/**\r\n * This component is used to display a sidenav panel.\r\n * It can be positioned on the left or right side of the screen.\r\n * It can be opened or closed and can have a backdrop.\r\n */\r\n@Component({\r\n selector: 'ng0-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n providers: [],\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ],\r\n host: {\r\n \"[style.width]\": \"sidenavWidth() + 'px'\",\r\n \"[style.z-index]\": \"zIndex()\",\r\n \"[class.ng0-sidenav-start]\": \"position() == 'start'\",\r\n \"[class.ng0-sidenav-end]\": \"position() == 'end'\",\r\n \"[class.ng0-sidenav-open]\": \"open()\",\r\n \"[class.ng0-sidenav-show-backdrop]\": \"true\",\r\n \"[class.ng0-sidenav-fixed]\": \"fixedInViewport()\",\r\n }\r\n})\r\nexport class SidenavComponent implements OnInit, OnDestroy {\r\n public open = input(true, { transform: booleanAttribute });\r\n public mode = input<SidenavMode>('push');\r\n public hasBackdrop = input(true);\r\n public zIndex = input<number>();\r\n public position = input<SidenavPosition>('start');\r\n public sidenavWidth = input.required<number>();\r\n public fixedInViewport = input(false, { transform: booleanAttribute });\r\n @Output() public backdropClick = new EventEmitter<MouseEvent>();\r\n private _backdropRef?: ComponentRef<BackdropComponent>;\r\n private _backdropClickHandlerUnlisten?: () => void;\r\n\r\n\r\n constructor(private _vcr: ViewContainerRef, private _elmentRef: ElementRef, private _renderer: Renderer2) {\r\n effect(() => {\r\n var hasBackdrop = this.hasBackdrop();\r\n var mode = this.mode();\r\n var open = this.open();\r\n\r\n if (mode == 'over' && hasBackdrop && open) {\r\n this._createBackdrop();\r\n } else {\r\n this._destroyBackdrop();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n private _createBackdrop() {\r\n this._backdropRef = this._vcr.createComponent(BackdropComponent);\r\n const backdropElm = this._backdropRef.location.nativeElement;\r\n this._backdropRef.instance.fixed.set(this.fixedInViewport());\r\n if (this.zIndex() != undefined) {\r\n this._renderer.setStyle(backdropElm, 'z-index', this.zIndex());\r\n }\r\n this._backdropClickHandlerUnlisten = this._renderer.listen(backdropElm, 'click', (e) => {\r\n this.backdropClick.emit(e);\r\n });\r\n\r\n // Move backdrop element before Host element\r\n const hostElm = this._elmentRef.nativeElement;\r\n const parentElm = hostElm.parentNode;\r\n this._renderer.insertBefore(parentElm, backdropElm, hostElm);\r\n }\r\n\r\n private _destroyBackdrop() {\r\n this._backdropClickHandlerUnlisten?.();\r\n this._backdropRef?.destroy();\r\n\r\n this._backdropClickHandlerUnlisten = undefined;\r\n this._backdropRef = undefined;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._destroyBackdrop();\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n\r\n<!-- @if(open() && mode() == 'over' && hasBackdrop()) {\r\n<div class=\"ng0-sidenav-backdrop\"></div>\r\n} -->","import { Component, computed, ContentChildren, EventEmitter, HostBinding, OnInit, Output, QueryList } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SidenavComponent } from './sidenav.component';\r\n\r\n/**\r\n * This component is used to contain multiple sidenav components and manage their layout.\r\n */\r\n@Component({\r\n selector: 'ng0-sidenav-container',\r\n templateUrl: './sidenav-container.component.html',\r\n styleUrls: ['./sidenav-container.component.scss'],\r\n providers: [],\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ],\r\n host: {\r\n \"[style.padding-inline-start]\": \"_contentPaddingStart()\",\r\n \"[style.padding-inline-end]\": \"_contentPaddingEnd()\",\r\n }\r\n})\r\nexport class SidenavContainerComponent implements OnInit {\r\n\r\n @Output() backdropClick = new EventEmitter();\r\n @ContentChildren(SidenavComponent) protected _sidenavs!: QueryList<SidenavComponent>;\r\n\r\n protected _contentPaddingStart = computed(() => {\r\n let widths = this._sidenavs.filter(x => x.open() && x.position() == 'start' && x.mode() == 'push').map(x => x.sidenavWidth());\r\n return widths.length == 0 ? '0' : `${Math.max(...widths)}px`;\r\n });\r\n\r\n protected _contentPaddingEnd = computed(() => {\r\n let widths = this._sidenavs.filter(x => x.open() && x.position() == 'end' && x.mode() == 'push').map(x => x.sidenavWidth());\r\n return widths.length == 0 ? '0' : `${Math.max(...widths)}px`;\r\n });\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { SidenavContainerComponent } from './sidenav-container.component';\r\nimport { SidenavComponent } from './sidenav.component';\r\n\r\n/**\r\n * This module is used to contain the sidenav components and provide their functionality.\r\n */\r\n@NgModule({\r\n imports: [\r\n SidenavContainerComponent,\r\n SidenavComponent\r\n ],\r\n exports: [\r\n SidenavContainerComponent,\r\n SidenavComponent\r\n ]\r\n})\r\nexport class SidenavModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -51,14 +51,14 @@ class RouterService {
|
|
|
51
51
|
configData.title(route, this._router.routerState.snapshot) :
|
|
52
52
|
configData.title;
|
|
53
53
|
}
|
|
54
|
-
let link = configData?.
|
|
54
|
+
let link = configData?.link;
|
|
55
55
|
if (typeof link === 'function') {
|
|
56
56
|
link = link(route, this._router.routerState.snapshot);
|
|
57
57
|
}
|
|
58
58
|
return {
|
|
59
|
-
|
|
59
|
+
activatedRoute: route,
|
|
60
60
|
title,
|
|
61
|
-
|
|
61
|
+
link: link,
|
|
62
62
|
children: route.children
|
|
63
63
|
.filter(x => outlets.includes(x.outlet))
|
|
64
64
|
.map(x => this._mapRoute(x, outlets))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-routing.mjs","sources":["../../../projects/ng0/routing/router.service.ts","../../../projects/ng0/routing/bootkit-ng0-routing.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\r\nimport { filter, map, Observable } from 'rxjs';\r\nimport { RouteData, RouterLinkValueResolver, RouterActivatedRouteSnapshot, RouteTitleResolver } from './types';\r\n\r\n/**\r\n * Service to interact with Angular Router.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class RouterService {\r\n private readonly _router = inject(Router);\r\n\r\n /**\r\n * Get activated route tree.\r\n * @param outlets List of outlets to include, default is ['primary']\r\n * @returns Observable of the activated route tree\r\n */\r\n public getActivatedRouteTree(outlets: string[] = ['primary']): Observable<RouterActivatedRouteSnapshot> {\r\n return this._router.events.pipe(\r\n filter(x => x instanceof NavigationEnd),\r\n map(e => {\r\n let { root } = this._router.routerState.snapshot;\r\n return this._mapRoute(root, outlets);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Get activated routes as a flat array from root to the deepest child for a specific outlet.\r\n * @param outlet The outlet to include, default is 'primary'\r\n * @returns Observable of the activated routes array\r\n */\r\n public getActivatedRoutes(outlet = 'primary'): Observable<RouterActivatedRouteSnapshot[]> {\r\n return this.getActivatedRouteTree([outlet]).pipe(\r\n map(root => {\r\n let result: RouterActivatedRouteSnapshot[] = [];\r\n \r\n do {\r\n result.push(root);\r\n root = root?.children[0];\r\n } while (root !== undefined);\r\n\r\n return result;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Map a route to RouterRouteSnapshot\r\n * @param route The route to map\r\n * @param outlets The outlets to include\r\n * @returns The mapped RouterRouteSnapshot\r\n */\r\n private _mapRoute(route: ActivatedRouteSnapshot, outlets: string[]): RouterActivatedRouteSnapshot {\r\n let configData = route.routeConfig?.data as RouteData | undefined;\r\n let title: string | undefined;\r\n \r\n if(route.title && route.routeConfig?.title)\r\n // Route is resolved by Angular.\r\n title = route.title;\r\n else if (configData?.title) {\r\n title = typeof configData.title === 'function' ?\r\n (configData.title as RouteTitleResolver)(route, this._router.routerState.snapshot) :\r\n configData.title;\r\n }\r\n\r\n let link = configData?.
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-routing.mjs","sources":["../../../projects/ng0/routing/router.service.ts","../../../projects/ng0/routing/bootkit-ng0-routing.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\r\nimport { filter, map, Observable } from 'rxjs';\r\nimport { RouteData, RouterLinkValueResolver, RouterActivatedRouteSnapshot, RouteTitleResolver } from './types';\r\n\r\n/**\r\n * Service to interact with Angular Router.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class RouterService {\r\n private readonly _router = inject(Router);\r\n\r\n /**\r\n * Get activated route tree.\r\n * @param outlets List of outlets to include, default is ['primary']\r\n * @returns Observable of the activated route tree\r\n */\r\n public getActivatedRouteTree(outlets: string[] = ['primary']): Observable<RouterActivatedRouteSnapshot> {\r\n return this._router.events.pipe(\r\n filter(x => x instanceof NavigationEnd),\r\n map(e => {\r\n let { root } = this._router.routerState.snapshot;\r\n return this._mapRoute(root, outlets);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Get activated routes as a flat array from root to the deepest child for a specific outlet.\r\n * @param outlet The outlet to include, default is 'primary'\r\n * @returns Observable of the activated routes array\r\n */\r\n public getActivatedRoutes(outlet = 'primary'): Observable<RouterActivatedRouteSnapshot[]> {\r\n return this.getActivatedRouteTree([outlet]).pipe(\r\n map(root => {\r\n let result: RouterActivatedRouteSnapshot[] = [];\r\n \r\n do {\r\n result.push(root);\r\n root = root?.children[0];\r\n } while (root !== undefined);\r\n\r\n return result;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Map a route to RouterRouteSnapshot\r\n * @param route The route to map\r\n * @param outlets The outlets to include\r\n * @returns The mapped RouterRouteSnapshot\r\n */\r\n private _mapRoute(route: ActivatedRouteSnapshot, outlets: string[]): RouterActivatedRouteSnapshot {\r\n let configData = route.routeConfig?.data as RouteData | undefined;\r\n let title: string | undefined;\r\n \r\n if(route.title && route.routeConfig?.title)\r\n // Route is resolved by Angular.\r\n title = route.title;\r\n else if (configData?.title) {\r\n title = typeof configData.title === 'function' ?\r\n (configData.title as RouteTitleResolver)(route, this._router.routerState.snapshot) :\r\n configData.title;\r\n }\r\n\r\n let link = configData?.link;\r\n if (typeof link === 'function') {\r\n link = (link as RouterLinkValueResolver)(route, this._router.routerState.snapshot);\r\n }\r\n\r\n return {\r\n activatedRoute: route,\r\n title,\r\n link: link,\r\n children: route.children\r\n .filter(x => outlets.includes(x.outlet))\r\n .map(x => this._mapRoute(x, outlets))\r\n } as RouterActivatedRouteSnapshot;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAKA;;AAEG;MAEU,aAAa,CAAA;AACP,IAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;AAEzC;;;;AAIG;AACI,IAAA,qBAAqB,CAAC,OAAA,GAAoB,CAAC,SAAS,CAAC,EAAA;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAC7B,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,EACvC,GAAG,CAAC,CAAC,IAAG;YACN,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ;YAChD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;QACtC,CAAC,CAAC,CACH;IACH;AAEA;;;;AAIG;IACI,kBAAkB,CAAC,MAAM,GAAG,SAAS,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAC9C,GAAG,CAAC,IAAI,IAAG;YACT,IAAI,MAAM,GAAmC,EAAE;AAE/C,YAAA,GAAG;AACD,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACjB,gBAAA,IAAI,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1B,YAAA,CAAC,QAAQ,IAAI,KAAK,SAAS;AAE3B,YAAA,OAAO,MAAM;QACf,CAAC,CAAC,CACH;IACH;AAEA;;;;;AAKG;IACK,SAAS,CAAC,KAA6B,EAAE,OAAiB,EAAA;AAChE,QAAA,IAAI,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,IAA6B;AACjE,QAAA,IAAI,KAAyB;QAE7B,IAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK;;AAExC,YAAA,KAAK,GAAG,KAAK,CAAC,KAAK;AAChB,aAAA,IAAI,UAAU,EAAE,KAAK,EAAE;YAC1B,KAAK,GAAG,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU;AAC5C,gBAAA,UAAU,CAAC,KAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAClF,UAAU,CAAC,KAAK;QACnB;AAEA,QAAA,IAAI,IAAI,GAAG,UAAU,EAAE,IAAI;AAC3B,QAAA,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAC9B,YAAA,IAAI,GAAI,IAAgC,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QACpF;QAEA,OAAO;AACL,YAAA,cAAc,EAAE,KAAK;YACrB,KAAK;AACL,YAAA,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,KAAK,CAAC;AACb,iBAAA,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACtC,iBAAA,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC;SACP;IACnC;uGAtEW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADA,MAAM,EAAA,CAAA;;2FACnB,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACRlC;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bootkit/ng0",
|
|
3
|
-
"version": "0.0.0-alpha.
|
|
3
|
+
"version": "0.0.0-alpha.24",
|
|
4
4
|
"description": "Angular+Bootstrap Component Library",
|
|
5
5
|
"homepage": "https://bootkitlib.github.io/",
|
|
6
6
|
"author": "BootKit",
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
"types": "./common/index.d.ts",
|
|
40
40
|
"default": "./fesm2022/bootkit-ng0-common.mjs"
|
|
41
41
|
},
|
|
42
|
-
"./data": {
|
|
43
|
-
"types": "./data/index.d.ts",
|
|
44
|
-
"default": "./fesm2022/bootkit-ng0-data.mjs"
|
|
45
|
-
},
|
|
46
42
|
"./date": {
|
|
47
43
|
"types": "./date/index.d.ts",
|
|
48
44
|
"default": "./fesm2022/bootkit-ng0-date.mjs"
|
|
49
45
|
},
|
|
46
|
+
"./data": {
|
|
47
|
+
"types": "./data/index.d.ts",
|
|
48
|
+
"default": "./fesm2022/bootkit-ng0-data.mjs"
|
|
49
|
+
},
|
|
50
50
|
"./file": {
|
|
51
51
|
"types": "./file/index.d.ts",
|
|
52
52
|
"default": "./fesm2022/bootkit-ng0-file.mjs"
|
|
@@ -67,14 +67,14 @@
|
|
|
67
67
|
"types": "./routing/index.d.ts",
|
|
68
68
|
"default": "./fesm2022/bootkit-ng0-routing.mjs"
|
|
69
69
|
},
|
|
70
|
-
"./script": {
|
|
71
|
-
"types": "./script/index.d.ts",
|
|
72
|
-
"default": "./fesm2022/bootkit-ng0-script.mjs"
|
|
73
|
-
},
|
|
74
70
|
"./security": {
|
|
75
71
|
"types": "./security/index.d.ts",
|
|
76
72
|
"default": "./fesm2022/bootkit-ng0-security.mjs"
|
|
77
73
|
},
|
|
74
|
+
"./script": {
|
|
75
|
+
"types": "./script/index.d.ts",
|
|
76
|
+
"default": "./fesm2022/bootkit-ng0-script.mjs"
|
|
77
|
+
},
|
|
78
78
|
"./components/accordion": {
|
|
79
79
|
"types": "./components/accordion/index.d.ts",
|
|
80
80
|
"default": "./fesm2022/bootkit-ng0-components-accordion.mjs"
|
|
@@ -83,14 +83,14 @@
|
|
|
83
83
|
"types": "./components/backdrop/index.d.ts",
|
|
84
84
|
"default": "./fesm2022/bootkit-ng0-components-backdrop.mjs"
|
|
85
85
|
},
|
|
86
|
-
"./components/button": {
|
|
87
|
-
"types": "./components/button/index.d.ts",
|
|
88
|
-
"default": "./fesm2022/bootkit-ng0-components-button.mjs"
|
|
89
|
-
},
|
|
90
86
|
"./components/card": {
|
|
91
87
|
"types": "./components/card/index.d.ts",
|
|
92
88
|
"default": "./fesm2022/bootkit-ng0-components-card.mjs"
|
|
93
89
|
},
|
|
90
|
+
"./components/button": {
|
|
91
|
+
"types": "./components/button/index.d.ts",
|
|
92
|
+
"default": "./fesm2022/bootkit-ng0-components-button.mjs"
|
|
93
|
+
},
|
|
94
94
|
"./components/code": {
|
|
95
95
|
"types": "./components/code/index.d.ts",
|
|
96
96
|
"default": "./fesm2022/bootkit-ng0-components-code.mjs"
|
|
@@ -103,14 +103,14 @@
|
|
|
103
103
|
"types": "./components/confirmation/index.d.ts",
|
|
104
104
|
"default": "./fesm2022/bootkit-ng0-components-confirmation.mjs"
|
|
105
105
|
},
|
|
106
|
-
"./components/dropdown": {
|
|
107
|
-
"types": "./components/dropdown/index.d.ts",
|
|
108
|
-
"default": "./fesm2022/bootkit-ng0-components-dropdown.mjs"
|
|
109
|
-
},
|
|
110
106
|
"./components/form-field": {
|
|
111
107
|
"types": "./components/form-field/index.d.ts",
|
|
112
108
|
"default": "./fesm2022/bootkit-ng0-components-form-field.mjs"
|
|
113
109
|
},
|
|
110
|
+
"./components/dropdown": {
|
|
111
|
+
"types": "./components/dropdown/index.d.ts",
|
|
112
|
+
"default": "./fesm2022/bootkit-ng0-components-dropdown.mjs"
|
|
113
|
+
},
|
|
114
114
|
"./components/list": {
|
|
115
115
|
"types": "./components/list/index.d.ts",
|
|
116
116
|
"default": "./fesm2022/bootkit-ng0-components-list.mjs"
|
package/routing/index.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ interface RouteData {
|
|
|
42
42
|
/**
|
|
43
43
|
* A Router link defined for the route.
|
|
44
44
|
*/
|
|
45
|
-
|
|
45
|
+
link?: RouterLinkValue | RouterLinkValueResolver;
|
|
46
46
|
/**
|
|
47
47
|
* linkTarget
|
|
48
48
|
*/
|
|
@@ -69,7 +69,7 @@ interface RouterActivatedRouteSnapshot {
|
|
|
69
69
|
/**
|
|
70
70
|
* The original ActivatedRouteSnapshot
|
|
71
71
|
*/
|
|
72
|
-
|
|
72
|
+
activatedRoute: ActivatedRouteSnapshot;
|
|
73
73
|
/**
|
|
74
74
|
* Resolved title, if any
|
|
75
75
|
*/
|
|
@@ -77,7 +77,7 @@ interface RouterActivatedRouteSnapshot {
|
|
|
77
77
|
/**
|
|
78
78
|
* Resolved link, if any
|
|
79
79
|
*/
|
|
80
|
-
|
|
80
|
+
link: RouterLinkValue;
|
|
81
81
|
/**
|
|
82
82
|
* Children routes
|
|
83
83
|
*/
|