@covalent/core 4.2.0 → 4.4.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.
Files changed (68) hide show
  1. package/breadcrumbs/breadcrumbs.component.d.ts +1 -2
  2. package/esm2020/breadcrumbs/breadcrumbs.component.mjs +10 -9
  3. package/esm2020/layout/navigation-drawer/navigation-drawer.component.mjs +8 -6
  4. package/esm2020/loading/covalent-core-loading.mjs +5 -0
  5. package/esm2020/loading/directives/loading.directive.mjs +126 -0
  6. package/esm2020/loading/loading.component.mjs +187 -0
  7. package/esm2020/loading/loading.module.mjs +43 -0
  8. package/esm2020/loading/public_api.mjs +6 -0
  9. package/esm2020/loading/services/loading.factory.mjs +207 -0
  10. package/esm2020/loading/services/loading.service.mjs +213 -0
  11. package/fesm2015/covalent-core-breadcrumbs.mjs +9 -8
  12. package/fesm2015/covalent-core-breadcrumbs.mjs.map +1 -1
  13. package/fesm2015/covalent-core-common.mjs.map +1 -1
  14. package/fesm2015/covalent-core-dialogs.mjs.map +1 -1
  15. package/fesm2015/covalent-core-dynamic-menu.mjs.map +1 -1
  16. package/fesm2015/covalent-core-file.mjs.map +1 -1
  17. package/fesm2015/covalent-core-json-formatter.mjs.map +1 -1
  18. package/fesm2015/covalent-core-layout.mjs +7 -5
  19. package/fesm2015/covalent-core-layout.mjs.map +1 -1
  20. package/fesm2015/covalent-core-loading.mjs +768 -0
  21. package/fesm2015/covalent-core-loading.mjs.map +1 -0
  22. package/fesm2015/covalent-core-menu.mjs.map +1 -1
  23. package/fesm2015/covalent-core-message.mjs.map +1 -1
  24. package/fesm2015/covalent-core-search.mjs.map +1 -1
  25. package/fesm2015/covalent-core-side-sheet.mjs.map +1 -1
  26. package/fesm2015/covalent-core-user-profile.mjs.map +1 -1
  27. package/fesm2015/covalent-core.mjs.map +1 -1
  28. package/fesm2020/covalent-core-breadcrumbs.mjs +9 -8
  29. package/fesm2020/covalent-core-breadcrumbs.mjs.map +1 -1
  30. package/fesm2020/covalent-core-common.mjs.map +1 -1
  31. package/fesm2020/covalent-core-dialogs.mjs.map +1 -1
  32. package/fesm2020/covalent-core-dynamic-menu.mjs.map +1 -1
  33. package/fesm2020/covalent-core-file.mjs.map +1 -1
  34. package/fesm2020/covalent-core-json-formatter.mjs.map +1 -1
  35. package/fesm2020/covalent-core-layout.mjs +7 -5
  36. package/fesm2020/covalent-core-layout.mjs.map +1 -1
  37. package/fesm2020/covalent-core-loading.mjs +760 -0
  38. package/fesm2020/covalent-core-loading.mjs.map +1 -0
  39. package/fesm2020/covalent-core-menu.mjs.map +1 -1
  40. package/fesm2020/covalent-core-message.mjs.map +1 -1
  41. package/fesm2020/covalent-core-search.mjs.map +1 -1
  42. package/fesm2020/covalent-core-side-sheet.mjs.map +1 -1
  43. package/fesm2020/covalent-core-user-profile.mjs.map +1 -1
  44. package/fesm2020/covalent-core.mjs.map +1 -1
  45. package/layout/navigation-drawer/navigation-drawer.component.d.ts +1 -1
  46. package/loading/README.md +188 -0
  47. package/loading/_loading-theme.scss +11 -0
  48. package/loading/covalent-core-loading.d.ts +5 -0
  49. package/loading/directives/loading.directive.d.ts +70 -0
  50. package/loading/loading.component.d.ts +90 -0
  51. package/loading/loading.module.d.ts +13 -0
  52. package/loading/package.json +10 -0
  53. package/loading/public_api.d.ts +5 -0
  54. package/loading/services/loading.factory.d.ts +69 -0
  55. package/loading/services/loading.service.d.ts +118 -0
  56. package/package.json +10 -2
  57. package/side-sheet/README.md +3 -3
  58. package/theming/_all-theme.scss +2 -0
  59. package/theming/prebuilt/blue-grey-deep-orange.css +1 -1
  60. package/theming/prebuilt/blue-grey-deep-orange.css.map +1 -1
  61. package/theming/prebuilt/blue-orange.css +1 -1
  62. package/theming/prebuilt/blue-orange.css.map +1 -1
  63. package/theming/prebuilt/indigo-pink.css +1 -1
  64. package/theming/prebuilt/indigo-pink.css.map +1 -1
  65. package/theming/prebuilt/orange-light-blue.css +1 -1
  66. package/theming/prebuilt/orange-light-blue.css.map +1 -1
  67. package/theming/prebuilt/teal-orange.css +1 -1
  68. package/theming/prebuilt/teal-orange.css.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-core-breadcrumbs.mjs","sources":["../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.module.ts","../../../../libs/angular/breadcrumbs/src/covalent-core-breadcrumbs.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n HostBinding,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n selector: 'td-breadcrumb, a[td-breadcrumb]',\n styleUrls: ['./breadcrumb.component.scss'],\n templateUrl: './breadcrumb.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbComponent implements AfterViewInit {\n private _displayCrumb = true;\n private _width = 0;\n private _displayIcon = true;\n private _separatorIcon = 'chevron_right';\n\n @HostBinding('class.mat-button') matButtonClass = true;\n @HostBinding('class.td-breadcrumb') tdBreadCrumbClass = true;\n\n // Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n // Should show the right chevron or not before the label\n public get displayIcon(): boolean {\n return this._displayIcon;\n }\n public set displayIcon(displayIcon: boolean) {\n this._displayIcon = displayIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n get displayCrumb(): boolean {\n return this._displayCrumb;\n }\n\n /**\n * Whether to display the crumb or not\n */\n set displayCrumb(shouldDisplay: boolean) {\n this._displayCrumb = shouldDisplay;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Width of the DOM element of the crumb\n */\n get width(): number {\n return this._width;\n }\n\n /**\n * Gets the display style of the crumb\n */\n @HostBinding('style.display')\n get displayBinding(): string | undefined {\n // Set the display to none on the component, just in case the end user is hiding\n // and showing them instead of the component doing itself for reasons like responsive\n return this._displayCrumb ? undefined : 'none';\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n // set the width from the actual rendered DOM element\n setTimeout(() => {\n this._width = (<HTMLElement>(\n this._elementRef.nativeElement\n )).getBoundingClientRect().width;\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Stop click propagation when clicking on icon\n */\n _handleIconClick(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n }\n}\n","<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n >{{ separatorIcon }}</mat-icon\n>\n","import {\n Component,\n ContentChildren,\n QueryList,\n OnInit,\n OnDestroy,\n ChangeDetectionStrategy,\n AfterContentInit,\n ChangeDetectorRef,\n ElementRef,\n Input,\n HostBinding,\n} from '@angular/core';\n\nimport { Subscription, fromEvent } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\n\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@Component({\n selector: 'td-breadcrumbs',\n styleUrls: ['./breadcrumbs.component.scss'],\n templateUrl: './breadcrumbs.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbsComponent\n implements OnInit, AfterContentInit, OnDestroy\n{\n private _resizeSubscription: Subscription = Subscription.EMPTY;\n private _contentChildrenSub!: Subscription;\n private _resizing = false;\n private _separatorIcon = 'chevron_right';\n\n @HostBinding('class.td-breadcrumbs') tdBreadCrumbsClass = true;\n\n // all the sub components, which are the individual breadcrumbs\n @ContentChildren(TdBreadcrumbComponent, { descendants: true })\n _breadcrumbs!: QueryList<TdBreadcrumbComponent>;\n // the list of hidden breadcrumbs not shown right now (responsive)\n hiddenBreadcrumbs: TdBreadcrumbComponent[] = [];\n\n /**\n * Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'.\n */\n @Input() public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n this.setCrumbIcons();\n }\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this._resizeSubscription = fromEvent(window, 'resize')\n .pipe(debounceTime(10))\n .subscribe(() => {\n if (!this._resizing) {\n this._resizing = true;\n setTimeout(() => {\n this._calculateVisibility();\n this._resizing = false;\n this._changeDetectorRef.markForCheck();\n }, 100);\n }\n });\n }\n\n ngAfterContentInit(): void {\n this._contentChildrenSub = this._breadcrumbs.changes\n .pipe(startWith(this._breadcrumbs))\n .subscribe(() => {\n this.setCrumbIcons();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this._resizeSubscription.unsubscribe();\n this._contentChildrenSub.unsubscribe();\n }\n\n /*\n * Current width of the element container\n */\n get nativeElementWidth(): number {\n const element: HTMLElement = <HTMLElement>this._elementRef.nativeElement;\n // Need to take into account border, margin and padding that might be around all the crumbs\n const style: CSSStyleDeclaration = window.getComputedStyle(element);\n const borderLeft: number = parseInt(style.borderLeft, 10);\n const borderRight: number = parseInt(style.borderRight, 10);\n const marginLeft: number = parseInt(style.marginLeft, 10);\n const marginRight: number = parseInt(style.marginRight, 10);\n const paddingLeft: number = parseInt(style.paddingLeft, 10);\n const paddingRight: number = parseInt(style.paddingRight, 10);\n\n return (\n element.getBoundingClientRect().width -\n borderLeft -\n borderRight -\n marginLeft -\n marginRight -\n paddingLeft -\n paddingRight\n );\n }\n\n /**\n * The total count of individual breadcrumbs\n */\n get count(): number {\n return this._breadcrumbs ? this._breadcrumbs.length : 0;\n }\n\n /**\n * Set the crumb icon separators\n */\n private setCrumbIcons(): void {\n if (this._breadcrumbs) {\n const breadcrumbArray: TdBreadcrumbComponent[] =\n this._breadcrumbs.toArray();\n breadcrumbArray.forEach(\n (breadcrumb: TdBreadcrumbComponent, index: number) => {\n breadcrumb.separatorIcon = this.separatorIcon;\n // don't show the icon on the last breadcrumb\n breadcrumb.displayIcon = index < breadcrumbArray.length - 1;\n }\n );\n }\n }\n\n private _calculateVisibility(): void {\n const crumbsArray: TdBreadcrumbComponent[] = this._breadcrumbs.toArray();\n let crumbWidthSum = 0;\n const hiddenCrumbs: TdBreadcrumbComponent[] = [];\n // loop through crumbs in reverse order to calculate which ones should be removed\n for (let i: number = crumbsArray.length - 1; i >= 0; i--) {\n const breadcrumb: TdBreadcrumbComponent = crumbsArray[i];\n\n // if crumb exceeds width, then we skip it from the sum and add it into the hiddencrumbs array\n // and hide it\n if (crumbWidthSum + breadcrumb.width > this.nativeElementWidth) {\n breadcrumb.displayCrumb = false;\n hiddenCrumbs.push(breadcrumb);\n } else {\n // else we show it\n breadcrumb.displayCrumb = true;\n }\n crumbWidthSum += breadcrumb.width;\n }\n\n this.hiddenBreadcrumbs = hiddenCrumbs;\n this._changeDetectorRef.markForCheck();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TdBreadcrumbsComponent } from './breadcrumbs.component';\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@NgModule({\n imports: [CommonModule, MatIconModule],\n declarations: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n exports: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n})\nexport class CovalentBreadcrumbsModule {}\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":"covalent-core-breadcrumbs.mjs","sources":["../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.module.ts","../../../../libs/angular/breadcrumbs/src/covalent-core-breadcrumbs.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n HostBinding,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n selector: 'td-breadcrumb, a[td-breadcrumb]',\n styleUrls: ['./breadcrumb.component.scss'],\n templateUrl: './breadcrumb.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbComponent implements AfterViewInit {\n private _displayCrumb = true;\n private _width = 0;\n private _displayIcon = true;\n private _separatorIcon = 'chevron_right';\n\n @HostBinding('class.mat-button') matButtonClass = true;\n @HostBinding('class.td-breadcrumb') tdBreadCrumbClass = true;\n\n // Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n // Should show the right chevron or not before the label\n public get displayIcon(): boolean {\n return this._displayIcon;\n }\n public set displayIcon(displayIcon: boolean) {\n this._displayIcon = displayIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n get displayCrumb(): boolean {\n return this._displayCrumb;\n }\n\n /**\n * Whether to display the crumb or not\n */\n set displayCrumb(shouldDisplay: boolean) {\n this._displayCrumb = shouldDisplay;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Width of the DOM element of the crumb\n */\n get width(): number {\n return this._width;\n }\n\n /**\n * Gets the display style of the crumb\n */\n @HostBinding('style.display')\n get displayBinding(): string | undefined {\n // Set the display to none on the component, just in case the end user is hiding\n // and showing them instead of the component doing itself for reasons like responsive\n return this._displayCrumb ? undefined : 'none';\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n // set the width from the actual rendered DOM element\n setTimeout(() => {\n this._width = (<HTMLElement>(\n this._elementRef.nativeElement\n )).getBoundingClientRect().width;\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Stop click propagation when clicking on icon\n */\n _handleIconClick(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n }\n}\n","<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n >{{ separatorIcon }}</mat-icon\n>\n","import {\n Component,\n ContentChildren,\n QueryList,\n OnInit,\n OnDestroy,\n ChangeDetectionStrategy,\n AfterContentInit,\n ChangeDetectorRef,\n ElementRef,\n Input,\n HostBinding,\n} from '@angular/core';\n\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, startWith, takeUntil } from 'rxjs/operators';\n\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@Component({\n selector: 'td-breadcrumbs',\n styleUrls: ['./breadcrumbs.component.scss'],\n templateUrl: './breadcrumbs.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbsComponent\n implements OnInit, AfterContentInit, OnDestroy\n{\n private _resizing = false;\n private _separatorIcon = 'chevron_right';\n private _destroy$ = new Subject<void>();\n\n @HostBinding('class.td-breadcrumbs') tdBreadCrumbsClass = true;\n\n // all the sub components, which are the individual breadcrumbs\n @ContentChildren(TdBreadcrumbComponent, { descendants: true })\n _breadcrumbs!: QueryList<TdBreadcrumbComponent>;\n // the list of hidden breadcrumbs not shown right now (responsive)\n hiddenBreadcrumbs: TdBreadcrumbComponent[] = [];\n\n /**\n * Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'.\n */\n @Input() public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n this.setCrumbIcons();\n }\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n fromEvent(window, 'resize')\n .pipe(debounceTime(10), takeUntil(this._destroy$))\n .subscribe(() => {\n if (!this._resizing) {\n this._resizing = true;\n setTimeout(() => {\n this._calculateVisibility();\n this._resizing = false;\n this._changeDetectorRef.markForCheck();\n }, 100);\n }\n });\n }\n\n ngAfterContentInit(): void {\n // Note: doesn't need to unsubscribe since `QueryList.changes`\n // gets completed by Angular when the view is destroyed.\n this._breadcrumbs.changes\n .pipe(startWith(this._breadcrumbs))\n .subscribe(() => {\n this.setCrumbIcons();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n /*\n * Current width of the element container\n */\n get nativeElementWidth(): number {\n const element: HTMLElement = <HTMLElement>this._elementRef.nativeElement;\n // Need to take into account border, margin and padding that might be around all the crumbs\n const style: CSSStyleDeclaration = window.getComputedStyle(element);\n const borderLeft: number = parseInt(style.borderLeft, 10);\n const borderRight: number = parseInt(style.borderRight, 10);\n const marginLeft: number = parseInt(style.marginLeft, 10);\n const marginRight: number = parseInt(style.marginRight, 10);\n const paddingLeft: number = parseInt(style.paddingLeft, 10);\n const paddingRight: number = parseInt(style.paddingRight, 10);\n\n return (\n element.getBoundingClientRect().width -\n borderLeft -\n borderRight -\n marginLeft -\n marginRight -\n paddingLeft -\n paddingRight\n );\n }\n\n /**\n * The total count of individual breadcrumbs\n */\n get count(): number {\n return this._breadcrumbs ? this._breadcrumbs.length : 0;\n }\n\n /**\n * Set the crumb icon separators\n */\n private setCrumbIcons(): void {\n if (this._breadcrumbs) {\n const breadcrumbArray: TdBreadcrumbComponent[] =\n this._breadcrumbs.toArray();\n breadcrumbArray.forEach(\n (breadcrumb: TdBreadcrumbComponent, index: number) => {\n breadcrumb.separatorIcon = this.separatorIcon;\n // don't show the icon on the last breadcrumb\n breadcrumb.displayIcon = index < breadcrumbArray.length - 1;\n }\n );\n }\n }\n\n private _calculateVisibility(): void {\n const crumbsArray: TdBreadcrumbComponent[] = this._breadcrumbs.toArray();\n let crumbWidthSum = 0;\n const hiddenCrumbs: TdBreadcrumbComponent[] = [];\n // loop through crumbs in reverse order to calculate which ones should be removed\n for (let i: number = crumbsArray.length - 1; i >= 0; i--) {\n const breadcrumb: TdBreadcrumbComponent = crumbsArray[i];\n\n // if crumb exceeds width, then we skip it from the sum and add it into the hiddencrumbs array\n // and hide it\n if (crumbWidthSum + breadcrumb.width > this.nativeElementWidth) {\n breadcrumb.displayCrumb = false;\n hiddenCrumbs.push(breadcrumb);\n } else {\n // else we show it\n breadcrumb.displayCrumb = true;\n }\n crumbWidthSum += breadcrumb.width;\n }\n\n this.hiddenBreadcrumbs = hiddenCrumbs;\n this._changeDetectorRef.markForCheck();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TdBreadcrumbsComponent } from './breadcrumbs.component';\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@NgModule({\n imports: [CommonModule, MatIconModule],\n declarations: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n exports: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n})\nexport class CovalentBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}