@factor_ec/ui 3.0.1 → 4.0.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 (86) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/io/avatar/avatar.component.mjs +75 -0
  3. package/esm2022/lib/io/icon/icon.component.mjs +96 -0
  4. package/esm2022/lib/io/image/image.component.mjs +84 -0
  5. package/esm2022/lib/io/progress/progress.component.mjs +43 -0
  6. package/esm2022/lib/io/rating/rating.component.mjs +61 -0
  7. package/esm2022/lib/io/timeline/timeline.component.mjs +102 -0
  8. package/esm2022/lib/observe-inersecting.directive.mjs +43 -0
  9. package/esm2022/lib/ui.module.mjs +27 -0
  10. package/esm2022/public-api.mjs +12 -0
  11. package/fesm2022/factor_ec-ui.mjs +515 -0
  12. package/fesm2022/factor_ec-ui.mjs.map +1 -0
  13. package/lib/io/avatar/avatar.component.d.ts +1 -1
  14. package/lib/io/icon/icon.component.d.ts +1 -1
  15. package/lib/io/image/image.component.d.ts +1 -1
  16. package/lib/io/progress/progress.component.d.ts +1 -1
  17. package/lib/io/rating/rating.component.d.ts +1 -1
  18. package/lib/io/timeline/timeline.component.d.ts +1 -1
  19. package/lib/observe-inersecting.directive.d.ts +16 -0
  20. package/lib/ui.module.d.ts +4 -7
  21. package/package.json +9 -18
  22. package/public-api.d.ts +2 -13
  23. package/esm2020/lib/io/avatar/avatar.component.mjs +0 -74
  24. package/esm2020/lib/io/expression-builder/expression-builder.component.mjs +0 -72
  25. package/esm2020/lib/io/icon/icon.component.mjs +0 -95
  26. package/esm2020/lib/io/image/image.component.mjs +0 -80
  27. package/esm2020/lib/io/io.module.mjs +0 -81
  28. package/esm2020/lib/io/message/message.component.mjs +0 -30
  29. package/esm2020/lib/io/message-content/message-content.component.mjs +0 -19
  30. package/esm2020/lib/io/message.service.mjs +0 -58
  31. package/esm2020/lib/io/observe-intersecting.directive.mjs +0 -43
  32. package/esm2020/lib/io/progress/progress.component.mjs +0 -42
  33. package/esm2020/lib/io/progress.service.mjs +0 -48
  34. package/esm2020/lib/io/rating/rating.component.mjs +0 -60
  35. package/esm2020/lib/io/timeline/timeline.component.mjs +0 -101
  36. package/esm2020/lib/layout/collapsible/collapsible.component.mjs +0 -37
  37. package/esm2020/lib/layout/layout.module.mjs +0 -28
  38. package/esm2020/lib/models/action.mjs +0 -2
  39. package/esm2020/lib/models/content.mjs +0 -2
  40. package/esm2020/lib/models/icon.mjs +0 -2
  41. package/esm2020/lib/models/message-options.mjs +0 -2
  42. package/esm2020/lib/models/module-configuration.mjs +0 -2
  43. package/esm2020/lib/navigation/list/list.component.mjs +0 -100
  44. package/esm2020/lib/navigation/navigation.module.mjs +0 -49
  45. package/esm2020/lib/navigation/toolbar/toolbar.component.mjs +0 -53
  46. package/esm2020/lib/ui.module.mjs +0 -47
  47. package/esm2020/public-api.mjs +0 -23
  48. package/fesm2015/factor_ec-ui.mjs +0 -1053
  49. package/fesm2015/factor_ec-ui.mjs.map +0 -1
  50. package/fesm2020/factor_ec-ui.mjs +0 -1044
  51. package/fesm2020/factor_ec-ui.mjs.map +0 -1
  52. package/lib/io/expression-builder/expression-builder.component.d.ts +0 -46
  53. package/lib/io/io.module.d.ts +0 -20
  54. package/lib/io/message/message.component.d.ts +0 -11
  55. package/lib/io/message-content/message-content.component.d.ts +0 -7
  56. package/lib/io/message.service.d.ts +0 -15
  57. package/lib/io/observe-intersecting.directive.d.ts +0 -16
  58. package/lib/io/progress.service.d.ts +0 -15
  59. package/lib/layout/collapsible/collapsible.component.d.ts +0 -10
  60. package/lib/layout/layout.module.d.ts +0 -9
  61. package/lib/models/action.d.ts +0 -14
  62. package/lib/models/content.d.ts +0 -4
  63. package/lib/models/icon.d.ts +0 -6
  64. package/lib/models/message-options.d.ts +0 -13
  65. package/lib/models/module-configuration.d.ts +0 -6
  66. package/lib/navigation/list/list.component.d.ts +0 -23
  67. package/lib/navigation/navigation.module.d.ts +0 -14
  68. package/lib/navigation/toolbar/toolbar.component.d.ts +0 -17
  69. package/scss/all.scss +0 -5
  70. package/scss/components/avatar.scss +0 -15
  71. package/scss/components/collapsible.scss +0 -46
  72. package/scss/components/dropdown.scss +0 -56
  73. package/scss/components/icon.scss +0 -40
  74. package/scss/components/list.scss +0 -65
  75. package/scss/components/ph.scss +0 -27
  76. package/scss/components/popup.scss +0 -7
  77. package/scss/components/rating.scss +0 -61
  78. package/scss/components.scss +0 -8
  79. package/scss/mixins/breakpoints.scss +0 -123
  80. package/scss/mixins.scss +0 -1
  81. package/scss/reboot.scss +0 -586
  82. package/scss/root.scss +0 -52
  83. package/scss/variables.scss +0 -116
  84. /package/{esm2020 → esm2022}/factor_ec-ui.mjs +0 -0
  85. /package/{esm2020 → esm2022}/lib/models/task.mjs +0 -0
  86. /package/{esm2020 → esm2022}/lib/models/ui-configuration.mjs +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"factor_ec-ui.mjs","sources":["../../../projects/ui/src/lib/io/avatar/avatar.component.ts","../../../projects/ui/src/lib/io/avatar/avatar.component.html","../../../projects/ui/src/lib/io/icon/icon.component.ts","../../../projects/ui/src/lib/io/icon/icon.component.html","../../../projects/ui/src/lib/io/image/image.component.ts","../../../projects/ui/src/lib/io/image/image.component.html","../../../projects/ui/src/lib/io/message-content/message-content.component.ts","../../../projects/ui/src/lib/io/message-content/message-content.component.html","../../../projects/ui/src/lib/io/message/message.component.ts","../../../projects/ui/src/lib/io/message/message.component.html","../../../projects/ui/src/lib/io/message.service.ts","../../../projects/ui/src/lib/io/progress/progress.component.ts","../../../projects/ui/src/lib/io/progress/progress.component.html","../../../projects/ui/src/lib/io/progress.service.ts","../../../projects/ui/src/lib/io/observe-intersecting.directive.ts","../../../projects/ui/src/lib/io/rating/rating.component.ts","../../../projects/ui/src/lib/io/rating/rating.component.html","../../../projects/ui/src/lib/io/timeline/timeline.component.ts","../../../projects/ui/src/lib/io/timeline/timeline.component.html","../../../projects/ui/src/lib/io/expression-builder/expression-builder.component.ts","../../../projects/ui/src/lib/io/expression-builder/expression-builder.component.html","../../../projects/ui/src/lib/io/io.module.ts","../../../projects/ui/src/lib/layout/collapsible/collapsible.component.ts","../../../projects/ui/src/lib/layout/collapsible/collapsible.component.html","../../../projects/ui/src/lib/layout/layout.module.ts","../../../projects/ui/src/lib/navigation/list/list.component.ts","../../../projects/ui/src/lib/navigation/list/list.component.html","../../../projects/ui/src/lib/navigation/toolbar/toolbar.component.ts","../../../projects/ui/src/lib/navigation/toolbar/toolbar.component.html","../../../projects/ui/src/lib/navigation/navigation.module.ts","../../../projects/ui/src/lib/ui.module.ts","../../../projects/ui/src/public-api.ts","../../../projects/ui/src/factor_ec-ui.ts"],"sourcesContent":["import { Component, HostBinding, Input } from '@angular/core';\n\nimport { ColorService } from '@factor_ec/utils';\n\n@Component({\n selector: 'ft-avatar',\n templateUrl: './avatar.component.html'\n})\nexport class AvatarComponent {\n _label!: string;\n _src!: string;\n @Input() color!: string;\n initials!: string;\n loaded!: boolean;\n @Input() set src(value: string | undefined) {\n if (value && value.trim() != '') {\n this._src = value;\n let image = new Image();\n image.src = value;\n image.onload = () => {\n if (\"decode\" in image) {\n image.decode().then(() => {\n this.loaded = true;\n });\n } else {\n console.error('Image.decode not available.');\n }\n };\n }\n }\n @Input() set label(value: string) {\n this._label = value;\n this.initials = this.getInitials(value);\n }\n @HostBinding('style.background-color') get backgroundColor(): string {\n return this.color || this.colorService.hex(this._label);\n }\n @HostBinding('style.background-image') get backgroundImage(): string {\n return this._src ? `url(${this._src})` : '';\n }\n @Input() class: string = '';\n @HostBinding('class') get hostClasses(): string {\n return [\n 'ft-avatar',\n this.class\n ].join(' ');\n }\n\n constructor(\n private colorService: ColorService\n ) { }\n\n ngOnInit() {\n\n }\n getInitials(value: string): string {\n let allInitials: string[] = value.match(/\\b\\w/g) || [];\n let initials: string = ((allInitials.shift() || '') + (allInitials.pop() || '')).toUpperCase();\n return initials;\n }\n}\n","<div *ngIf=\"!loaded\">{{ initials }}</div>","import { Component, HostBinding, Inject, Input } from '@angular/core';\nimport { UiConfiguration } from '../../models/ui-configuration';\n\n@Component({\n selector: 'ft-icon',\n templateUrl: './icon.component.html'\n})\nexport class IconComponent {\n _collection!: string;\n _name!: string;\n _mode!: 'inline' | 'external';\n _path!: string;\n @Input() set collection(collection: string) {\n this._collection = collection;\n this.update();\n }\n @Input() set mode(mode: 'inline' | 'external') {\n this._mode = mode;\n this.update();\n }\n @Input() set name(name: string) {\n this._name = name;\n this.update();\n }\n @Input() set path(path: string) {\n this._path = path;\n this.update();\n }\n @Input() src!: string;\n url!: string;\n\n @Input() class: string = '';\n @HostBinding('class') get hostClasses(): string {\n return [\n 'ft-icon',\n this.class\n ].join(' ');\n }\n\n constructor(\n @Inject('FactorUiConfiguration') private configuration: UiConfiguration\n ) { }\n\n ngOnInit() {\n this.update();\n }\n private update() {\n // Set the default collection if the mode is external\n if (!this._collection) {\n if (this.configuration.icon && this.configuration.icon.collection) {\n this._collection = this.configuration.icon.collection;\n } else if (this._mode === 'external') {\n this._collection = 'icons';\n }\n }\n if (!this._mode) {\n if (this.configuration.icon && this.configuration.icon.mode) {\n this._mode = this.configuration.icon.mode;\n } else {\n this._mode = 'external';\n }\n }\n if (this._mode === 'external') {\n // If the icon mode is external\n if (!this._path) {\n if (this.configuration.icon && this.configuration.icon.path) {\n this._path = this.configuration.icon.path;\n } else {\n this._path = 'assets';\n }\n }\n this.url = `${this._path}/${this._collection}.svg#${this._name}`;\n } else {\n // If the icon mode is inline\n const name = this._collection && this._collection !== 'unset' ? `${this._collection}--${this._name}` : this._name;\n this.url = `#${name}`;\n }\n }\n}\n","<svg *ngIf=\"!src; else imageTemplate\">\n <use attr.xlink:href=\"{{ url }}\" attr.href=\"{{ url }}\" />\n</svg>\n<ng-template #imageTemplate>\n <img [src]=\"src\" />\n</ng-template>","import { Component, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'ft-image',\n templateUrl: './image.component.html',\n styleUrls: ['./image.component.scss']\n})\nexport class ImageComponent {\n @Input() class: string = '';\n @HostBinding('class.ft-image--error') error!: boolean;\n @HostBinding('class.ft-image--loading') loading: boolean = false;\n @Input() src!: string;\n shown: boolean = false;\n\n constructor(\n private element: ElementRef\n ) { }\n\n ngOnInit() {\n if (\"IntersectionObserver\" in window) {\n let elementObserver = new IntersectionObserver((entries, observer) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n let image = new Image();\n image.src = this.src;\n setTimeout(() => {\n if (!this.shown && !this.error) {\n this.loading = true;\n }\n }, 100);\n image.onerror = () => {\n this.error = true;\n this.loading = false;\n };\n image.onload = () => {\n if (\"decode\" in image) {\n image.decode().then(() => {\n this.loading = false;\n this.shown = true;\n });\n } else {\n this.loading = false;\n this.shown = true;\n }\n };\n elementObserver.unobserve(this.element.nativeElement);\n }\n });\n }, {\n rootMargin: \"0px 0px 200px 0px\"\n });\n elementObserver.observe(this.element.nativeElement);\n } else {\n console.error('IntersectionObserver not available.');\n this.loading = false;\n this.shown = true;\n }\n }\n @HostBinding('class') get hostClasses(): string {\n return [\n 'ft-image',\n this.class\n ].join(' ');\n }\n}\n","<img *ngIf=\"shown\" [src]=\"src\" />\n<ft-icon name=\"warning\" size=\"2\" *ngIf=\"error\"></ft-icon>\n","import { Component, Inject } from '@angular/core';\n\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'ft-message-content',\n templateUrl: './message-content.component.html',\n styleUrls: ['./message-content.component.scss']\n})\nexport class MessageContentComponent {\n constructor(\n @Inject(MAT_SNACK_BAR_DATA) public data: any\n ) { }\n}\n","<ng-container [ngSwitch]=\"data.message?.type\">\n <div *ngSwitchCase=\"'html'\" [innerHTML]=\"data.message?.content\"></div>\n <ng-container *ngSwitchDefault>{{ data.message?.content }}</ng-container>\n</ng-container>","import { Component, EventEmitter, Inject, Output } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'ft-message',\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.scss']\n})\nexport class MessageComponent {\n @Output() beforeSelect: EventEmitter<any> = new EventEmitter();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit() {\n }\n select(value: string) {\n this.beforeSelect.emit(value);\n }\n}\n","<h1 mat-dialog-title class=\"ft-message__title\" *ngIf=\"data.options?.title\">\n <ft-icon *ngIf=\"data.options?.titleIcon\" [name]=\"data.options?.titleIcon?.name\"\n [collection]=\"data.options?.titleIcon?.collection\" [ngClass]=\"data.options?.titleIcon?.class\"></ft-icon>\n <div>{{ data.options?.title }}</div>\n</h1>\n<div mat-dialog-content class=\"ft-message__content\" [ngClass]=\"data.options?.class\">\n <ft-icon *ngIf=\"data.options?.icon\" [name]=\"data.options?.icon?.name\" [collection]=\"data.options?.icon?.collection\"\n [ngClass]=\"data.options?.icon?.class\"></ft-icon>\n <ng-container [ngSwitch]=\"data.message?.type\">\n <div *ngSwitchCase=\"'html'\" [innerHTML]=\"data.message?.content\"></div>\n <ng-container *ngSwitchDefault>{{ data.message?.content }}</ng-container>\n </ng-container>\n</div>\n<div mat-dialog-actions class=\"ft-message__actions\" *ngIf=\"data.options.actionsVisible\">\n <ng-container *ngIf=\"data.options?.actions?.length > 0; else acceptTemplate\">\n <ng-container *ngFor=\"let action of data.options?.actions; let i = index\">\n <ng-container [ngSwitch]=\"action.type\">\n <button type=\"button\" *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchDefault mat-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\">{{ action.label }}</button>\n </ng-container>\n </ng-container>\n </ng-container>\n</div>\n<ng-template #acceptTemplate>\n <button type=\"button\" mat-stroked-button color=\"primary\" autofocus (click)=\"select('-1')\" i18n>Accept</button>\n</ng-template>","import { Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { Content } from '../models/content';\nimport { MessageOptions } from '../models/message-options';\nimport { MessageContentComponent } from './message-content/message-content.component';\nimport { MessageComponent } from './message/message.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService {\n element: any;\n\n constructor(\n private snackBar: MatSnackBar,\n private dialog: MatDialog\n ) { }\n\n show(message: string | Content, options?: MessageOptions): Observable<any> {\n let selectionSource: ReplaySubject<string> = new ReplaySubject<string>(undefined);\n let selection: Observable<string> = selectionSource.asObservable();\n const defaults: MessageOptions = {\n type: 'notification',\n duration: 2000,\n actionsVisible: true\n };\n options = Object.assign(defaults, options);\n const data = { message: typeof message === 'string' ? { content: message, type: 'text' } : message, options };\n switch (options.type) {\n default:\n case 'notification':\n this.snackBar.openFromComponent(MessageContentComponent, {\n data,\n panelClass: ['ft-message', 'ft-message--notification'],\n duration: options.duration || 2000,\n });\n break;\n case 'modal':\n const dialogRef = this.dialog.open(MessageComponent, {\n width: options.width || '350px',\n data,\n panelClass: ['ft-message', 'ft-message--modal'],\n autoFocus: false,\n disableClose: true\n });\n dialogRef.componentInstance.beforeSelect.subscribe((response: any) => {\n selectionSource.next(response);\n dialogRef.close();\n });\n this.snackBar.dismiss();\n break;\n }\n return selection;\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'ft-progress',\n templateUrl: './progress.component.html',\n styleUrls: ['./progress.component.scss']\n})\nexport class ProgressComponent {\n @Input() class: string = '';\n @Input() color!: string;\n @Input() mode: 'determinate' | 'indeterminate' = 'indeterminate';\n @Input() overlay: boolean = false;\n @Input() size!: number;\n @Input() value!: number;\n\n constructor() { }\n\n ngOnInit() {\n this.value = 0;\n }\n @HostBinding('class')\n get hostClasses(): string {\n return [\n 'ft-progress',\n this.overlay ? 'ft-progress--overlay' : '',\n this.class\n ].join(' ');\n }\n}\n","<svg [ngStyle]=\"{'--ft-bar-color': color}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"\n preserveAspectRatio=\"xMidYMid\">\n <circle class=\"ft-track\" cx=\"50\" cy=\"50\" r=\"40\" />\n <circle class=\"ft-bar\" [ngClass]=\"mode === 'determinate' ? 'ft-bar--determinate' : 'ft-bar--indeterminate'\" cx=\"50\" cy=\"50\" r=\"40\"\n [ngStyle]=\"{'stroke-dashoffset': mode=='determinate'? 'calc((3.14159265 * 40 * 2 * (100 - '+value+')) / 100)' : null}\">\n </circle>\n</svg>","import { ApplicationRef, ComponentRef, EmbeddedViewRef, Injectable, Injector, ViewContainerRef } from '@angular/core';\nimport { ProgressComponent } from './progress/progress.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProgressService {\n appRef!: ApplicationRef;\n componentRef!: ComponentRef<ProgressComponent> | null;\n domElem!: HTMLElement;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private injector: Injector\n ) { }\n\n show(): boolean {\n if (!this.componentRef) {\n this.appRef = this.injector.get(ApplicationRef);\n // 1. Create a component reference from the component \n this.componentRef = this.viewContainerRef.createComponent(ProgressComponent);\n\n // 2. Attach component to the appRef so that it's inside the ng component tree\n this.appRef.attachView(this.componentRef.hostView);\n this.componentRef.instance.overlay = true;\n\n // 3. Get DOM element from component\n const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>)\n .rootNodes[0] as HTMLElement;\n\n // 4. Append DOM element to the body\n document.body.appendChild(domElem);\n return true;\n } else {\n return false;\n }\n }\n hide(): boolean {\n if (this.componentRef) {\n this.appRef.detachView(this.componentRef.hostView);\n this.componentRef.destroy();\n this.componentRef = null;\n return true;\n } else {\n return false;\n }\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, EventEmitter, Inject, Input, Output, PLATFORM_ID } from '@angular/core';\n\n@Directive({\n selector: '[ftObserveIntersecting]'\n})\nexport class ObserveIntersectingDirective {\n @Input('ftObserveIntersectingOptions') options!: { root: any, rootMargin: any, threshold: any };\n @Output('ftObserveIntersecting') event: EventEmitter<boolean> = new EventEmitter();\n\n constructor(\n private element: ElementRef,\n @Inject(PLATFORM_ID) private platformId: Object\n ) { }\n\n ngOnInit() {\n if (isPlatformBrowser(this.platformId)) {\n if (\"IntersectionObserver\" in window) {\n const elementObserver = new IntersectionObserver((entries, observer) => {\n entries.forEach((entry) => {\n this.event.emit(entry.isIntersecting);\n });\n }, this.options);\n elementObserver.observe(this.element.nativeElement);\n } else {\n console.error('ftObserveIntersecting not available in this browser.');\n }\n }\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ft-rating',\n templateUrl: './rating.component.html'\n})\nexport class RatingComponent {\n disabled: boolean = false;\n hoverValue!: number;\n propagateChange = (_: any) => { };\n @Input() readOnly: boolean = false;\n stars: any[] = [\n { value: 1 },\n { value: 2 },\n { value: 3 },\n { value: 4 },\n { value: 5 }\n ];\n _value!: number;\n\n constructor() { }\n\n ngOnInit() {\n }\n get value() {\n return this._value;\n }\n @Input() set value(value: any) {\n this._value = value;\n this.propagateChange(this._value);\n }\n registerOnChange(fn: (_: any) => void) {\n this.propagateChange = fn;\n }\n registerOnTouched(fn: (_: any) => void) {\n //this.propagateChange = fn;\n }\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n setRate(value: number, isHover?: boolean) {\n if (isHover) {\n this.hoverValue = value;\n } else {\n this.value = value;\n }\n }\n updateValue(event: any) {\n this.value = event.target.value;\n }\n writeValue(value: string) {\n this.value = value;\n }\n}\n","<ng-container *ngFor=\"let star of stars\">\n <ng-container *ngTemplateOutlet=\"!readOnly? buttonTemplate : starTemplate; context:{star:star}\"></ng-container>\n</ng-container>\n<ng-template #buttonTemplate let-star=\"star\">\n <button type=\"button\" class=\"ft-rating__item\" *ngIf=\"!readOnly; else starTemplate\" [disabled]=\"disabled\"\n (mouseover)=\"setRate(star.value, true)\" (focus)=\"setRate(star.value, true)\" (blur)=\"setRate(0, true)\"\n (mouseout)=\"setRate(0, true)\" (click)=\"setRate(star.value)\">\n <ng-container *ngTemplateOutlet=\"starTemplate; context:{star:star}\"></ng-container>\n </button>\n</ng-template>\n<ng-template #starTemplate let-star=\"star\">\n <svg [ngClass]=\"{'ft-rating__item-icon--hover': hoverValue >= star.value, 'ft-rating__item-icon--active': value >= star.value}\" viewBox=\"0 0 24 24\">\n <path\n d=\"M17.93 21.315c-.534.408-5.22-3.186-5.881-3.181-.663 0-5.307 3.656-5.846 3.254-.537-.403 1.29-6.165 1.081-6.822-.209-.656-4.972-4.138-4.772-4.796.201-.658 6.015-.627 6.55-1.036.533-.41 2.233-6.215 2.895-6.219.663 0 2.43 5.779 2.968 6.182.539.403 6.352.297 6.56.953.21.656-4.513 4.197-4.714 4.856-.2.658 1.692 6.398 1.159 6.808z\" />\n </svg>\n</ng-template>","import { Component, HostBinding, Input } from '@angular/core';\nimport { Task } from '../../models/task';\n\n@Component({\n selector: 'ft-timeline',\n templateUrl: './timeline.component.html',\n styleUrls: ['./timeline.component.scss']\n})\nexport class TimelineComponent {\n startDate: Date | string = new Date();\n @Input() data: Task[] = [];\n @HostBinding('style.--current-date')\n currentDate!: number;\n dataParsed: any = {\n months: [],\n days: [],\n weekends: []\n };\n\n @Input() class: string = '';\n @HostBinding('class') get hostClasses(): string {\n return [\n 'ft-timeline',\n this.class\n ].join(' ');\n };\n\n constructor() { }\n\n ngOnInit(): void {\n this.addMonth(this.calcStartDate());\n }\n addMonth(date: Date): void {\n const month = this.getMonth(date.getMonth(), date.getFullYear());\n const currentDays = this.dataParsed.days.length;\n this.dataParsed.months = [...this.dataParsed.months, { date: month.days[0], daysInMonth: month.days.length }];\n this.dataParsed.days = [...this.dataParsed.days, ...month.days];\n this.dataParsed.weekends = [...this.dataParsed.weekends, ...month.weekends];\n if (!this.currentDate && month.currentDate) {\n this.currentDate = currentDays + month.currentDate;\n }\n this.dataParsed.days.some((day: Date, index: number) => {\n if ([0, 6].includes(day.getDay())) {\n this.dataParsed.weekendStart = index;\n return true;\n }\n return false;\n });\n this.parseTasks();\n }\n calcStartDate(): Date {\n return new Date();\n }\n getMonth(month: number, year: number): any {\n const days = [];\n const weekends = [];\n let currentDate: number | null = null;\n let today = new Date();\n const date = new Date(year, month + 1, 0);\n for (let i = 1; i <= date.getDate(); i++) {\n const idate = new Date(year, month, i);\n if ([0, 6].includes(idate.getDay())) {\n if (idate.getDay() === 6) {\n weekends.push([idate]);\n } else {\n weekends[weekends.length - 1].push(idate);\n }\n }\n if (idate.getTime() === new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime()) {\n currentDate = i - 1;\n }\n days.push(idate);\n }\n const data: any = { days, weekends };\n if (currentDate) {\n data.currentDate = currentDate;\n }\n return data;\n }\n parseTasks(): void {\n let tasks = this.data.filter(task => task.endAt)/*.sort((a, b) => a.)*/;\n this.dataParsed.tasks = tasks.map((task) => {\n return {\n label: task.label,\n start: 10,\n type: task.type,\n size: 1\n };\n });\n }\n}\n","<div class=\"ft-weekends\" [style.--start]=\"dataParsed.weekendStart\">\n <div class=\"ft-weekends__item\" [style.--weekend-size]=\"weekend.length\" *ngFor=\"let weekend of dataParsed.weekends\">\n </div>\n</div>\n<div class=\"ft-current-date\" *ngIf=\"currentDate\"></div>\n<div class=\"ft-header\">\n <div class=\"ft-header__months\">\n <div [style.--days-in-month]=\"month.daysInMonth\" *ngFor=\"let month of dataParsed.months; let i = index\">{{\n month.date\n | date: 'MMMM, yyyy' }}</div>\n </div>\n <div class=\"ft-header__days\">\n <div *ngFor=\"let day of dataParsed.days; let i = index\">\n <div [ngClass]=\"{active: currentDate && currentDate === i}\">{{ day | date:'d' }}</div>\n </div>\n </div>\n</div>\n<div class=\"ft-tasks\">\n <button type=\"button\" class=\"ft-tasks__item\" [class.tasks__item--milestone]=\"task.type === 'milestone'\"\n [style.--start]=\"task.start\" [style.--days]=\"task.type === 'milestone' ? 1 : task.size\"\n style=\" --color-rgb: 130, 121, 210;\" *ngFor=\"let task of dataParsed.tasks;\">{{ task.label }}</button>\n</div>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ft-expression-builder',\n templateUrl: './expression-builder.component.html',\n styleUrls: ['./expression-builder.component.scss']\n})\nexport class ExpressionBuilderComponent {\n properties = [\n { label: 'Nombre', type: 'string', field: 'name' },\n { label: 'Monto', type: 'number', field: 'amount' },\n { label: 'Tarjeta adicional', type: 'boolean', field: 'additional' }\n ];\n groupOperators = [\n { label: 'Y', value: 'AND' },\n { label: 'O', value: 'OR' }\n ];\n filters = {\n id: 'root',\n type: 'group',\n operator: 'AND',\n children: [\n {\n type: 'filter',\n property: '',\n operator: '>',\n value: ''\n },\n {\n type: 'filter',\n property: '',\n operator: true,\n value: ''\n },\n {\n type: 'filter',\n property: '',\n operator: '==',\n value: ''\n },\n {\n type: 'group',\n operator: 'OR',\n children: [\n {\n type: 'filter',\n property: '',\n operator: '==',\n value: ''\n }\n ]\n }\n ]\n };\n\n constructor() { }\n\n add(type: string, filter: any): void {\n if (!filter.children) {\n filter.children = [];\n }\n filter.children.push({ type });\n filter.children = filter.children.sort((a: any, b: any) => a.type !== 'group' ? -1 : 0);\n }\n remove(filter: any, parent: any[]): void {\n const index = parent.indexOf(filter);\n parent.splice(index, 1);\n }\n}\n","<ng-container [ngTemplateOutlet]=\"filterGroupTemplate\" [ngTemplateOutletContext]=\"{filter:filters, parent:null}\">\n</ng-container>\n<ng-template #filterGroupTemplate let-filter=\"filter\" let-parent=\"parent\">\n <div class=\"ft-filter\">\n <div class=\"ft-filter__tools\">\n <button type=\"button\" class=\"filter__button filter__button--icon filter__button--toggle\"\n (click)=\"filter.collapsed = !filter.collapsed\" *ngIf=\"filter.children && filter.children.length > 0\">\n <ft-icon name=\"angle-right\" [ngClass]=\"{'ft-icon--open': !filter.collapsed}\"></ft-icon>\n </button>\n <div class=\"ft-filter__button-group\">\n <button type=\"button\" class=\"filter__button\"\n [ngClass]=\"{'ft-filter__button--active': filter.operator === operator.value}\"\n *ngFor=\"let operator of groupOperators\" (click)=\"filter.operator = operator.value\">{{ operator.label\n }}</button>\n </div>\n <button type=\"button\" class=\"ft-filter__button\" (click)=\"add('filter', filter)\" *ngIf=\"filter.operator\">Agregar\n filtro</button>\n <button type=\"button\" class=\"ft-filter__button\" (click)=\"add('group', filter)\" *ngIf=\"filter.operator\">Agregar\n grupo</button>\n <button type=\"button\" class=\"ft-filter__button filter__button--icon filter__button--remove\"\n (click)=\"remove(filter, parent)\" *ngIf=\"parent\">\n <ft-icon name=\"close\"></ft-icon>\n </button>\n </div>\n <div class=\"ft-filter__children\" *ngIf=\"filter.children && filter.children.length > 0 && !filter.collapsed\">\n <ng-container *ngFor=\"let child of filter.children\">\n <ng-container [ngTemplateOutlet]=\"child.type === 'group' ? filterGroupTemplate : filterTemplate\"\n [ngTemplateOutletContext]=\"{filter:child, parent:filter.children}\">\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n<ng-template #filterTemplate let-filter=\"filter\" let-parent=\"parent\">\n <div class=\"ft-filter\">\n <div class=\"ft-filter__tools\">\n <select class=\"filter__input\">\n <option *ngFor=\"let property of properties\" value=\"property.value\">{{ property.label }}</option>\n </select>\n <select class=\"ft-filter__input\">\n <option>Mayor que</option>\n <option>Mayor igual que</option>\n <option>Igual que</option>\n <option>Menor que</option>\n <option>Menor igual que</option>\n </select>\n <input type=\"text\" class=\"ft-filter__input\" />\n <button type=\"button\" class=\"filter__button filter__button--icon\" (click)=\"remove(filter, parent)\">\n <ft-icon name=\"close\"></ft-icon>\n </button>\n </div>\n </div>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\n\nimport { AvatarComponent } from './avatar/avatar.component';\nimport { IconComponent } from './icon/icon.component';\nimport { ImageComponent } from './image/image.component';\nimport { MessageComponent } from './message/message.component';\nimport { ProgressComponent } from './progress/progress.component';\nimport { RatingComponent } from './rating/rating.component';\nimport { ObserveIntersectingDirective } from './observe-intersecting.directive';\nimport { TimelineComponent } from './timeline/timeline.component';\nimport { MessageContentComponent } from './message-content/message-content.component';\nimport { ExpressionBuilderComponent } from './expression-builder/expression-builder.component';\n\n@NgModule({\n declarations: [\n AvatarComponent,\n IconComponent,\n ImageComponent,\n MessageComponent,\n ProgressComponent,\n RatingComponent,\n ObserveIntersectingDirective,\n TimelineComponent,\n MessageContentComponent,\n ExpressionBuilderComponent\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n MatDialogModule,\n MatSnackBarModule\n ],\n exports: [\n AvatarComponent,\n IconComponent,\n ImageComponent,\n MessageComponent,\n ProgressComponent,\n RatingComponent,\n ObserveIntersectingDirective,\n TimelineComponent,\n MessageContentComponent,\n ExpressionBuilderComponent\n ]\n})\nexport class IoModule { }\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'ft-collapsible',\n templateUrl: './collapsible.component.html'\n})\nexport class CollapsibleComponent {\n @Input() class: string = '';\n @HostBinding('class') get hostClasses(): string {\n return [\n 'ft-collapsible',\n this.expanded ? 'ft-collapsible--show' : '',\n this.class\n ].join(' ');\n };\n\n @Input() expanded: boolean = true;\n @Input() header: string = '';\n\n toggleCollapsible(): void {\n this.expanded = !this.expanded;\n }\n\n}\n","<button type=\"button\" class=\"ft-button ft-collapsible__header\" (click)=\"toggleCollapsible()\">\n <div class=\"ft-item\">\n <div class=\"ft-item__label\">{{ header }}</div>\n <ft-icon class=\"ft-item__toggle\" name=\"angle-down\"></ft-icon>\n </div>\n</button>\n<div class=\"ft-collapsible__content\">\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CollapsibleComponent } from './collapsible/collapsible.component';\nimport { IoModule } from '../io/io.module';\n\n@NgModule({\n declarations: [\n CollapsibleComponent\n ],\n exports: [\n CollapsibleComponent\n ],\n imports: [\n CommonModule,\n IoModule\n ]\n})\nexport class LayoutModule { }\n","import { Component, EventEmitter, HostBinding, Input, Output, TemplateRef } from '@angular/core';\n\nimport { Action } from '../../models/action';\n\n@Component({\n selector: 'ft-list',\n templateUrl: './list.component.html'\n})\nexport class ListComponent {\n @Output() actionSelected = new EventEmitter<Action>();\n @Input() iconCollection!: string;\n @Input() iconNameField: string = 'iconName';\n @Input() iconPath!: string;\n @Input() labelField: string = 'label';\n @Input() items!: Action[];\n @Input() selectable: null | 'single' | 'multiple' = null;\n @Input() selection: Action[] = [];\n @Input() itemTemplate!: TemplateRef<any>;\n\n @Input() class: string = '';\n @HostBinding('class') get hostClasses(): string {\n return [\n 'ft-list',\n this.class\n ].join(' ');\n };\n\n constructor() {\n this.actionSelected.subscribe((action: Action) => {\n switch (this.selectable) {\n case 'single':\n this.selection = [action];\n break;\n case 'multiple':\n this.selection.push(action);\n break;\n }\n });\n }\n\n updateAction(action: Action): Action {\n action.metadata = action.metadata || {};\n if (!action.id) {\n action.id = Math.floor(Math.random() * 1000000).toString();\n }\n if (!action.url) {\n action.metadata.componentType = 'button';\n } else {\n action.metadata.componentType = 'link';\n const urlParts = action.url.split('?');\n if (urlParts.length > 1) {\n const queryString = urlParts.at(-1);\n const searchParams = new URLSearchParams(queryString);\n action.url = urlParts[0];\n action.metadata.queryParams = Object.fromEntries(searchParams.entries());\n }\n }\n return action;\n }\n handleClick(action: Action): void {\n this.actionSelected.emit(action);\n if (action.url && action.url.match(/^(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?/)) {\n window.location.href = action.url;\n } else if (typeof action.click === 'function') {\n action.click();\n }\n }\n toggleCollapsible(action: Action): void {\n action.metadata = action.metadata || {};\n action.metadata.show = !action.metadata?.show;\n this.actionSelected.emit(action);\n }\n trackById(index: number, action: Action): any {\n return action.id || index;\n }\n}\n","<ng-container *ngTemplateOutlet=\"switchTemplate; context: { children: items }\"></ng-container>\n<ng-template #switchTemplate let-children=\"children\" let-level=\"level\">\n <ng-container *ngFor=\"let action of children; trackBy: trackById\" [ngSwitch]=\"action.type\">\n <ng-container *ngSwitchCase=\"'collapsible'\">\n <ng-container *ngTemplateOutlet=\"collapsibleTemplate; context: { action: action }\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'header'\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { action: action }\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"actionTemplate; context: { action: updateAction(action) }\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n<ng-template #actionTemplate let-action=\"action\">\n <ng-container [ngSwitch]=\"action.metadata.componentType\">\n <button *ngSwitchCase=\"'button'\" type=\"button\" class=\"ft-button ft-list__item\"\n [ngClass]=\"[action.class || '', selectable && selection.indexOf(action) !== -1 ? 'ft-list__item--selected' : '']\"\n (click)=\"handleClick(action)\" [disabled]=\"action.disabled\">\n <ng-container *ngTemplateOutlet=\"itemTemplate || textTemplate; context: { action: action }\"></ng-container>\n </button>\n <a *ngSwitchCase=\"'link'\" [routerLink]=\"action.url\" [queryParams]=\"action.metadata?.queryParams\"\n routerLinkActive=\"ft-list__item--active\" class=\"ft-button ft-list__item\"\n [ngClass]=\"[action.class || '', selectable && selection.indexOf(action) !== -1 ? 'ft-list__item--selected' : '']\"\n (click)=\"handleClick(action)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate || textTemplate; context: { action: action }\"></ng-container>\n </a>\n </ng-container>\n</ng-template>\n<ng-template #collapsibleTemplate let-action=\"action\">\n <ft-collapsible [header]=\"action[labelField]\" [expanded]=\"action.metadata?.show\">\n <div class=\"ft-list\">\n <ng-container *ngTemplateOutlet=\"switchTemplate; context: { children: action.children }\"></ng-container>\n </div>\n </ft-collapsible>\n</ng-template>\n<ng-template #headerTemplate let-action=\"action\">\n <div class=\"ft-list__header\" [ngClass]=\"action.class\">\n {{ action[labelField] }}\n </div>\n</ng-template>\n<ng-template #textTemplate let-action=\"action\">\n <div class=\"ft-item\">\n <ft-icon class=\"ft-item__icon\" *ngIf=\"action[iconNameField] || (selectable && selection.indexOf(action) !== -1)\"\n [name]=\"action[iconNameField]\" [collection]=\"iconCollection\" [path]=\"iconPath\"></ft-icon>\n <div class=\"ft-item__label\">{{ action[labelField] }}</div>\n </div>\n</ng-template>","import { Component, HostBinding, Input } from '@angular/core';\nimport { Action } from '../../models/action';\n\n@Component({\n selector: 'ft-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrls: ['./toolbar.component.scss']\n})\nexport class ToolbarComponent {\n @Input() actionOptions!: Action[];\n @Input() currentTitleOption!: Action;\n @Input() title!: string;\n @Input() titleOptions!: Action[];\n overlapped!: boolean;\n rootMargin: any = { rootMargin: '0px 0px 0px 0px' };\n\n @Input() class: string = '';\n @HostBinding('class') get hostClasses(): string {\n return [\n 'ft-toolbar',\n this.class,\n this.overlapped ? 'overlapped' : ''\n ].join(' ');\n };\n\n constructor() {\n const breakpointSm = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--breakpoint-sm'));\n if (window.innerWidth < breakpointSm) {\n this.rootMargin = { rootMargin: '0px 0px 0px 0px' };\n }\n }\n\n ngOnInit(): void {\n if (this.titleOptions && !this.currentTitleOption) {\n this.currentTitleOption = this.titleOptions[0];\n }\n }\n setOverlapped(overlapped: boolean): void {\n this.overlapped = !overlapped;\n }\n}\n","<div (ftObserveIntersecting)=\"setOverlapped($event)\" [ftObserveIntersectingOptions]=\"rootMargin\"></div>\n<div class=\"content\">\n <div class=\"container p-2 p-sm-3 pb-md-3 pt-md-5 px-md-3 px-lg-5\">\n <div class=\"d-flex align-items-center\">\n <h5 class=\"title ml-2 ml-md-0 mb-0 mr-auto\" *ngIf=\"!titleOptions; else titleForm\">{{ title }}</h5>\n <ng-container *ngFor=\"let option of actionOptions\">\n <button type=\"button\" class=\"p-2\" mat-button [ngClass]=\"option.class || ''\" *ngIf=\"!option.children\"\n (click)=\"option.click ? option.click($event) : null\" title=\"{{ option.label }}\">\n <div class=\"d-flex align-items-center\">\n <ft-icon *ngIf=\"option.iconName\" [name]=\"option.iconName\" size=\"2\"></ft-icon>\n <div *ngIf=\"option.label\" class=\"label d-none d-sm-inline-block ml-1\">{{ option.label }}</div>\n </div>\n </button>\n <ng-container *ngIf=\"option.children\">\n <button type=\"button\" class=\"p-2\" mat-button [matMenuTriggerFor]=\"menu\"\n [ngClass]=\"option.class || ''\" title=\"{{ option.label }}\">\n <div class=\"d-flex align-items-center\">\n <ft-icon *ngIf=\"option.iconName\" [name]=\"option.iconName\" size=\"2\"></ft-icon>\n <div *ngIf=\"option.label\" class=\"label d-none d-sm-inline-block ml-1\">{{ option.label }}\n </div>\n </div>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let childOption of option.children\"\n (click)=\"childOption.click ? childOption.click($event): null\">{{ childOption.label\n }}</button>\n </mat-menu>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n<ng-template #titleForm>\n <button type=\"button\" class=\"title p-2 pl-3 mr-auto\" mat-button [matMenuTriggerFor]=\"titleMenu\">\n <div class=\"d-flex align-items-center\">\n <div class=\"label mr-1\">{{ currentTitleOption.label }}</div>\n <ft-icon name=\"angle-down\" size=\"1\"></ft-icon>\n </div>\n </button>\n <mat-menu #titleMenu=\"matMenu\">\n <button class=\"mr-4\" mat-menu-item [disabled]=\"option == currentTitleOption\" *ngFor=\"let option of titleOptions\"\n (click)=\"currentTitleOption = option; option.click ? option.click($event) : null\">\n <div class=\"d-flex align-items-center\">\n <ft-icon [name]=\"option == currentTitleOption? 'check' : ''\" class=\"mr-1\"></ft-icon>\n <div>{{ option.label }}</div>\n </div>\n </button>\n </mat-menu>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport {MatMenuModule} from '@angular/material/menu';\nimport { RouterModule } from '@angular/router';\n\nimport { ListComponent } from './list/list.component';\nimport { ToolbarComponent } from './toolbar/toolbar.component';\nimport { IoModule } from '../io/io.module';\nimport { LayoutModule } from '../layout/layout.module';\n\n@NgModule({\n declarations: [\n ListComponent,\n ToolbarComponent\n ],\n exports: [\n ListComponent,\n ToolbarComponent\n ],\n imports: [\n CommonModule,\n IoModule,\n LayoutModule,\n RouterModule,\n MatButtonModule,\n MatMenuModule\n ]\n})\nexport class NavigationModule { }\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { LayoutModule } from '../public-api';\nimport { IoModule } from './io/io.module';\nimport { ModuleConfiguration } from './models/module-configuration';\nimport { NavigationModule } from './navigation/navigation.module';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n IoModule,\n LayoutModule,\n NavigationModule\n ],\n exports: [\n IoModule,\n LayoutModule,\n NavigationModule\n ]\n})\nexport class UiModule { \n public static forRoot(configuration?: ModuleConfiguration): ModuleWithProviders<UiModule> {\n return {\n ngModule: UiModule,\n providers: [\n { provide: 'FactorUiConfiguration', useValue: configuration }\n ]\n };\n }\n}\n","/*\n * Public API Surface of ui\n */\n\nexport * from './lib/io/avatar/avatar.component';\nexport * from './lib/io/icon/icon.component';\nexport * from './lib/io/image/image.component';\nexport * from './lib/io/message-content/message-content.component';\nexport * from './lib/io/message/message.component';\nexport * from './lib/io/message.service';\nexport * from './lib/io/progress/progress.component';\nexport * from './lib/io/progress.service';\nexport * from './lib/io/observe-intersecting.directive';\nexport * from './lib/io/rating/rating.component';\nexport * from './lib/io/timeline/timeline.component';\nexport * from './lib/io/expression-builder/expression-builder.component';\nexport * from './lib/io/io.module';\n\nexport * from './lib/layout/collapsible/collapsible.component';\nexport * from './lib/layout/layout.module';\n\nexport * from './lib/navigation/list/list.component';\nexport * from './lib/navigation/toolbar/toolbar.component';\nexport * from './lib/navigation/navigation.module';\n\nexport * from './lib/ui.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i2.IconComponent","i4.IconComponent","i1.IconComponent","i3.CollapsibleComponent","i3.ObserveIntersectingDirective","i4"],"mappings":"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"}