@wizishop/angular-components 15.1.93 → 15.1.95
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/angular-components.scss +14 -0
- package/esm2020/lib/components/switch/switch.component.mjs +7 -4
- package/fesm2015/wizishop-angular-components.mjs +6 -3
- package/fesm2015/wizishop-angular-components.mjs.map +1 -1
- package/fesm2020/wizishop-angular-components.mjs +6 -3
- package/fesm2020/wizishop-angular-components.mjs.map +1 -1
- package/lib/components/switch/switch.component.d.ts +2 -1
- package/package.json +1 -1
- package/wizishop-angular-components-15.1.95.tgz +0 -0
- package/wizishop-angular-components-15.1.93.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizishop-angular-components.mjs","sources":["../../../../projects/angular-components/src/lib/components/loader/loader.component.ts","../../../../projects/angular-components/src/lib/components/loader/loader.component.html","../../../../projects/angular-components/src/lib/directives/abstract-debounce/abstract-debounce.directive.ts","../../../../projects/angular-components/src/lib/directives/abstract-debounce/debounce-keyup.directive.ts","../../../../projects/angular-components/src/lib/services/dom.service.ts","../../../../projects/angular-components/src/lib/directives/auto-hide/auto-hide.directive.ts","../../../../projects/angular-components/src/lib/directives/zindex-toggle/zindex-toggle.directive.ts","../../../../projects/angular-components/src/lib/directives/ng-var.directive.ts","../../../../projects/angular-components/src/lib/directives/keyboard-events/keypress-enter.directive.ts","../../../../projects/angular-components/src/lib/components/select/option/option-selection-handler.token.ts","../../../../projects/angular-components/src/lib/components/select/option/select-option.directive.ts","../../../../projects/angular-components/src/lib/utils/array.ts","../../../../projects/angular-components/src/lib/components/select/select/value-change.service.ts","../../../../projects/angular-components/src/lib/components/select/select/select.directive.ts","../../../../projects/angular-components/src/lib/directives/keyboard-events/only-numbers.directive.ts","../../../../projects/angular-components/src/lib/directives/keyboard-events/two-digital-decimal-number.directive.ts","../../../../projects/angular-components/src/lib/components/radio/radio-directive.ts","../../../../projects/angular-components/src/lib/components/radio/radio-group.directive.ts","../../../../projects/angular-components/src/lib/directives/copy-to-clipboard/copy-to-clipboard.directive.ts","../../../../projects/angular-components/src/lib/directives/scroll-to/scroll-to.directive.ts","../../../../projects/angular-components/src/lib/directives/watch-dom-tree/watch-dom-tree.directive.ts","../../../../projects/angular-components/src/lib/directives/shared-directives.module.ts","../../../../projects/angular-components/src/lib/components/tooltip/tooltip.component.ts","../../../../projects/angular-components/src/lib/components/tooltip/tooltip.component.html","../../../../projects/angular-components/src/lib/components/tooltip/tooltip.module.ts","../../../../projects/angular-components/src/lib/components/progress-bar/progress-bar.component.ts","../../../../projects/angular-components/src/lib/components/progress-bar/progress-bar.component.html","../../../../projects/angular-components/src/lib/components/inputs/input/input.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input/input.component.html","../../../../projects/angular-components/src/lib/components/inputs/input-search/input-search.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input-search/input-search.component.html","../../../../projects/angular-components/src/lib/animations/in-out/in-out-y.animation.ts","../../../../projects/angular-components/src/lib/components/checkbox/checkbox.component.ts","../../../../projects/angular-components/src/lib/components/checkbox/checkbox.component.html","../../../../projects/angular-components/src/lib/utils/html-container.class.ts","../../../../projects/angular-components/src/lib/components/table/shared/table-checkbox-id.service.ts","../../../../projects/angular-components/src/lib/components/table/directives/checkBoxRow.directive.ts","../../../../projects/angular-components/src/lib/services/multiple-selection.service.ts","../../../../projects/angular-components/src/lib/components/table/directives/raw.directive.ts","../../../../projects/angular-components/src/lib/components/table/shared/filters-table.service.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/is-last-page.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/array-pages.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/custom-text.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pagination.component.ts","../../../../projects/angular-components/src/lib/components/pagination/pagination.component.html","../../../../projects/angular-components/src/lib/components/table/table.component.ts","../../../../projects/angular-components/src/lib/components/table/table.component.html","../../../../projects/angular-components/src/lib/components/tag/tag.component.ts","../../../../projects/angular-components/src/lib/components/tag/tag.component.html","../../../../projects/angular-components/src/lib/components/tabs/tab/tab.component.ts","../../../../projects/angular-components/src/lib/components/tabs/tab/tab.component.html","../../../../projects/angular-components/src/lib/components/tabs/tab-body/tab-body.directive.ts","../../../../projects/angular-components/src/lib/components/tabs/tab-body/tab-body.component.ts","../../../../projects/angular-components/src/lib/components/tabs/tab-body/tab-body.component.html","../../../../projects/angular-components/src/lib/components/tabs/tabs.component.ts","../../../../projects/angular-components/src/lib/components/tabs/tabs.component.html","../../../../projects/angular-components/src/lib/components/button/button.component.ts","../../../../projects/angular-components/src/lib/components/button/button.component.html","../../../../projects/angular-components/src/lib/components/info/info.component.ts","../../../../projects/angular-components/src/lib/components/info/info.component.html","../../../../projects/angular-components/src/lib/components/settings/settings.component.ts","../../../../projects/angular-components/src/lib/components/settings/settings.component.html","../../../../projects/angular-components/src/lib/components/delete/delete.component.ts","../../../../projects/angular-components/src/lib/components/delete/delete.component.html","../../../../projects/angular-components/src/lib/components/dropdown/dropdown.component.ts","../../../../projects/angular-components/src/lib/components/dropdown/dropdown.component.html","../../../../projects/angular-components/src/lib/components/image/image.component.ts","../../../../projects/angular-components/src/lib/components/image/image.component.html","../../../../projects/angular-components/src/lib/components/back/back.component.ts","../../../../projects/angular-components/src/lib/components/back/back.component.html","../../../../projects/angular-components/src/lib/components/separator/separator.component.ts","../../../../projects/angular-components/src/lib/components/separator/separator.component.html","../../../../projects/angular-components/src/lib/components/logo/logo.component.ts","../../../../projects/angular-components/src/lib/components/logo/logo.component.html","../../../../projects/angular-components/src/lib/components/radio/radio.component.ts","../../../../projects/angular-components/src/lib/components/radio/radio.component.html","../../../../projects/angular-components/src/lib/components/state/state.component.ts","../../../../projects/angular-components/src/lib/components/state/state.component.html","../../../../projects/angular-components/src/lib/animations/in-out/in-out-x.animation.ts","../../../../projects/angular-components/src/lib/components/tag-label/tag-label.component.ts","../../../../projects/angular-components/src/lib/components/tag-label/tag-label.component.html","../../../../projects/angular-components/src/lib/animations/show/opacity.animation.ts","../../../../projects/angular-components/src/lib/components/optional-disable-container/optional-disable-container.component.ts","../../../../projects/angular-components/src/lib/components/optional-disable-container/optional-disable-container.component.html","../../../../projects/angular-components/src/lib/components/calendar/calendar.component.ts","../../../../projects/angular-components/src/lib/components/calendar/calendar.component.html","../../../../projects/angular-components/src/lib/components/edit-in-place/edit-in-place.component.ts","../../../../projects/angular-components/src/lib/components/edit-in-place/edit-in-place.component.html","../../../../projects/angular-components/src/lib/components/text-area/text-area.component.ts","../../../../projects/angular-components/src/lib/components/text-area/text-area.component.html","../../../../projects/angular-components/src/lib/components/hn/h1/h1.component.ts","../../../../projects/angular-components/src/lib/components/hn/h1/h1.component.html","../../../../projects/angular-components/src/lib/components/hn/h2/h2.component.ts","../../../../projects/angular-components/src/lib/components/hn/h2/h2.component.html","../../../../projects/angular-components/src/lib/components/hn/h3/h3.component.ts","../../../../projects/angular-components/src/lib/components/hn/h3/h3.component.html","../../../../projects/angular-components/src/lib/services/history.service.ts","../../../../projects/angular-components/src/lib/components/header-page/header-page.component.ts","../../../../projects/angular-components/src/lib/components/header-page/header-page.component.html","../../../../projects/angular-components/src/lib/components/link/link.component.ts","../../../../projects/angular-components/src/lib/components/link/link.component.html","../../../../projects/angular-components/src/lib/components/switch/switch.component.ts","../../../../projects/angular-components/src/lib/components/switch/switch.component.html","../../../../projects/angular-components/src/lib/components/alert/alert.component.ts","../../../../projects/angular-components/src/lib/components/alert/alert.component.html","../../../../projects/angular-components/src/lib/components/text/text.component.ts","../../../../projects/angular-components/src/lib/components/text/text.component.html","../../../../projects/angular-components/src/lib/components/pagination/pagination.module.ts","../../../../projects/angular-components/src/lib/components/checkbox/checkbox.module.ts","../../../../projects/angular-components/src/lib/components/table/directives/column.directive.ts","../../../../projects/angular-components/src/lib/components/table/directives/columnHeader.directive.ts","../../../../projects/angular-components/src/lib/components/table/table.module.ts","../../../../projects/angular-components/src/lib/components/upload/upload.component.ts","../../../../projects/angular-components/src/lib/components/upload/upload.component.html","../../../../projects/angular-components/src/lib/components/hn/h4/h4.component.ts","../../../../projects/angular-components/src/lib/components/hn/h4/h4.component.html","../../../../projects/angular-components/src/lib/components/select-in-text/select-in-text.component.ts","../../../../projects/angular-components/src/lib/components/select-in-text/select-in-text.component.html","../../../../projects/angular-components/src/lib/components/multiple-search/multiple-search.component.ts","../../../../projects/angular-components/src/lib/components/multiple-search/multiple-search.component.html","../../../../projects/angular-components/src/lib/components/multiple-search-plus/multiple-search-plus.component.ts","../../../../projects/angular-components/src/lib/components/multiple-search-plus/multiple-search-plus.component.html","../../../../projects/angular-components/src/lib/components/common/label/label.component.ts","../../../../projects/angular-components/src/lib/components/common/label/label.component.html","../../../../projects/angular-components/src/lib/components/inputs/input-with-select/input-with-select.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input-with-select/input-with-select.component.html","../../../../projects/angular-components/src/lib/components/popin/popin.component.ts","../../../../projects/angular-components/src/lib/components/popin/popin.component.html","../../../../projects/angular-components/src/lib/components/free-popin/free-popin.component.ts","../../../../projects/angular-components/src/lib/components/free-popin/free-popin.component.html","../../../../projects/angular-components/src/lib/components/block/separator/block-separator.component.ts","../../../../projects/angular-components/src/lib/components/block/block.component.ts","../../../../projects/angular-components/src/lib/components/block/block.component.html","../../../../projects/angular-components/src/lib/components/wrapper/wrapper.component.ts","../../../../projects/angular-components/src/lib/components/wrapper/wrapper.component.html","../../../../projects/angular-components/src/lib/components/filters/filters.component.ts","../../../../projects/angular-components/src/lib/components/filters/filters.component.html","../../../../projects/angular-components/src/lib/components/wrapper-blocs/wrapper-blocs.component.ts","../../../../projects/angular-components/src/lib/components/wrapper-blocs/wrapper-blocs.component.html","../../../../projects/angular-components/src/lib/components/snackbar/snackbar.component.ts","../../../../projects/angular-components/src/lib/components/snackbar/snackbar.component.html","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup.component.ts","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup.component.html","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup.service.ts","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup-module.ts","../../../../projects/angular-components/src/lib/components/search/search.component.ts","../../../../projects/angular-components/src/lib/components/search/search.component.html","../../../../projects/angular-components/src/lib/pipes/selected-list/are-all-options-selected.pipe.ts","../../../../projects/angular-components/src/lib/components/selected-list/selected-list.component.ts","../../../../projects/angular-components/src/lib/components/selected-list/selected-list.component.html","../../../../projects/angular-components/src/lib/components/tree/tree.component.ts","../../../../projects/angular-components/src/lib/components/tree/tree.component.html","../../../../projects/angular-components/src/lib/pipes/tree/format-object-to-recursif-tree.pipe.ts","../../../../projects/angular-components/src/lib/pipes/tree/format-object-to-simple-tree.pipe.ts","../../../../projects/angular-components/src/lib/pipes/select/select-filters.pipe.ts","../../../../projects/angular-components/src/lib/pipes/select/filter-options.pipe.ts","../../../../projects/angular-components/src/lib/pipes/find-option-selected-field.pipe.ts","../../../../projects/angular-components/src/lib/pipes/call-component-function.pipe.ts","../../../../projects/angular-components/src/lib/pipes/shared-pipes.module.ts","../../../../projects/angular-components/src/lib/components/tree/tree.module.ts","../../../../projects/angular-components/src/lib/utils/uuid.ts","../../../../projects/angular-components/src/lib/components/select/option/option.component.ts","../../../../projects/angular-components/src/lib/components/select/option/option.component.html","../../../../projects/angular-components/src/lib/components/select/select-search-trigger/select-search-trigger.component.ts","../../../../projects/angular-components/src/lib/components/select/select-search-trigger/select-search-trigger.component.html","../../../../projects/angular-components/src/lib/components/select/select/select.component.ts","../../../../projects/angular-components/src/lib/components/select/select/select.component.html","../../../../projects/angular-components/src/lib/components/select/option-call-to-action/option-call-to-action.component.ts","../../../../projects/angular-components/src/lib/components/select/option-call-to-action/option-call-to-action.component.html","../../../../projects/angular-components/src/lib/components/common/placeholder/placeholder.component.ts","../../../../projects/angular-components/src/lib/components/common/placeholder/placeholder.component.html","../../../../projects/angular-components/src/lib/components/wrapper-sidebar/wrapper-sidebar.component.ts","../../../../projects/angular-components/src/lib/components/wrapper-sidebar/wrapper-sidebar.component.html","../../../../projects/angular-components/src/lib/components/breadcrumbs/breadcrumbs.component.ts","../../../../projects/angular-components/src/lib/components/breadcrumbs/breadcrumbs.component.html","../../../../projects/angular-components/src/lib/components/card-price/card-price.component.ts","../../../../projects/angular-components/src/lib/components/card-price/card-price.component.html","../../../../projects/angular-components/src/lib/components/token-check/token-check.component.ts","../../../../projects/angular-components/src/lib/components/token-check/token-check.component.html","../../../../projects/angular-components/src/lib/components/block-with-checkbox/block-with-checkbox.component.ts","../../../../projects/angular-components/src/lib/components/block-with-checkbox/block-with-checkbox.component.html","../../../../projects/angular-components/src/lib/components/confirm-delete/confirm-delete.component.ts","../../../../projects/angular-components/src/lib/components/confirm-delete/confirm-delete.component.html","../../../../projects/angular-components/src/lib/components/mosaic/mosaic.component.ts","../../../../projects/angular-components/src/lib/components/mosaic/mosaic.component.html","../../../../projects/angular-components/src/lib/components/content-with-buttons/content-with-buttons.component.ts","../../../../projects/angular-components/src/lib/components/content-with-buttons/content-with-buttons.component.html","../../../../projects/angular-components/src/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.ts","../../../../projects/angular-components/src/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.html","../../../../projects/angular-components/src/lib/components/draganddrop-list/draganddrop-list.component.ts","../../../../projects/angular-components/src/lib/components/draganddrop-list/draganddrop-list.component.html","../../../../projects/angular-components/src/lib/components/expansion/accordion/accordion-item.token.ts","../../../../projects/angular-components/src/lib/components/expansion/accordion/accordion.component.ts","../../../../projects/angular-components/src/lib/components/expansion/accordion/accordion.component.html","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel-header/expansion-panel-header.token.ts","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel-header/expansion-panel-header.directive.ts","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.ts","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.html","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel/expansion-panel.directive.ts","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel/expansion-panel.component.ts","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel/expansion-panel.component.html","../../../../projects/angular-components/src/lib/components/expansion/expansion.module.ts","../../../../projects/angular-components/src/lib/components/block/block-title-legacy/block-title-legacy.component.ts","../../../../projects/angular-components/src/lib/components/block/block-title-legacy/block-title-legacy.component.html","../../../../projects/angular-components/src/lib/components/summary/summary.component.ts","../../../../projects/angular-components/src/lib/components/summary/summary.component.html","../../../../projects/angular-components/src/lib/components/google-preview/google-preview.component.ts","../../../../projects/angular-components/src/lib/components/google-preview/google-preview.component.html","../../../../projects/angular-components/src/lib/components/charging-bar/charging-bar.component.ts","../../../../projects/angular-components/src/lib/components/charging-bar/charging-bar.component.html","../../../../projects/angular-components/src/lib/components/expanded-panel/expanded-panel.component.ts","../../../../projects/angular-components/src/lib/components/expanded-panel/expanded-panel.component.html","../../../../projects/angular-components/src/lib/components/row/row.component.ts","../../../../projects/angular-components/src/lib/components/row/row.component.html","../../../../projects/angular-components/src/lib/components/column/column.component.ts","../../../../projects/angular-components/src/lib/components/column/column.component.html","../../../../projects/angular-components/src/lib/components/ai-express/ai-express.component.ts","../../../../projects/angular-components/src/lib/components/ai-express/ai-express.component.html","../../../../projects/angular-components/src/lib/components/shared-components.module.ts","../../../../projects/angular-components/src/lib/wizi-components.module.ts","../../../../projects/angular-components/src/lib/components/table/shared/table-filters-group.model.ts","../../../../projects/angular-components/src/lib/components/table/shared/distinct-until-table-filters-changed.ts","../../../../projects/angular-components/src/lib/animations/show/show-from-bottom.animation.ts","../../../../projects/angular-components/src/lib/animations/show/show-from-top.animation.ts","../../../../projects/angular-components/src/lib/animations/show/show-from-left.animation.ts","../../../../projects/angular-components/src/lib/animations/show/show-from-right.animation.ts","../../../../projects/angular-components/src/lib/animations/list/animate-list-from-bottom.animation.ts","../../../../projects/angular-components/src/lib/animations/list/animate-list-from-top.animation.ts","../../../../projects/angular-components/src/lib/animations/list/animate-list-from-right.animation.ts","../../../../projects/angular-components/src/lib/animations/list/animate-list-from-left.animation.ts","../../../../projects/angular-components/src/lib/animations/switch/switch-in-out.animation.ts","../../../../projects/angular-components/src/public-api.ts","../../../../projects/angular-components/src/wizishop-angular-components.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-loader',\n templateUrl: './loader.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule]\n})\nexport class LoaderComponent {\n @Input()\n text = '';\n @Input()\n small = false;\n}\n","<div class=\"wac-loader\" [ngClass]=\"{ 'is-small': small }\">\n <div class=\"loader loader1\">\n <div>\n <div>\n <div>\n <div>\n <div>\n <div></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <p class=\"is-textcentered\" *ngIf=\"!!text\" [innerHTML]=\"text\"></p>\n</div>\n","import { Directive, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, debounceTime, distinctUntilChanged, tap } from 'rxjs/operators';\n\n@Directive({\n selector: 'AbstractDebounceDirective'\n})\nexport class AbstractDebounceDirective implements OnDestroy {\n @Input()\n public debounceTime: number;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n protected emitEvent$: Subject<any>;\n protected subscription$: Subject<void>;\n\n constructor() {\n this.debounceTime = 500;\n this.onEventChange = new EventEmitter<any>();\n this.emitEvent$ = new Subject<any>();\n this.subscription$ = new Subject<void>();\n }\n\n ngOnInit(): void {\n this.emitEvent$\n .pipe(\n takeUntil(this.subscription$),\n debounceTime(this.debounceTime),\n distinctUntilChanged(),\n tap(value => this.emitChange(value))\n )\n .subscribe();\n }\n\n public emitChange(value: any): void {\n this.onEventChange.emit(value);\n }\n\n ngOnDestroy(): void {\n this.subscription$.next();\n this.subscription$.complete();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { AbstractDebounceDirective } from './abstract-debounce.directive';\n@Directive({\n selector: 'input[debounceKeyUp]'\n})\nexport class DebounceKeyupDirective extends AbstractDebounceDirective {\n constructor() {\n super();\n }\n\n @HostListener('keyup', ['$event'])\n public onKeyUp(event: any): void {\n event.preventDefault();\n this.emitEvent$.next(event);\n }\n}\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, EmbeddedViewRef, Injectable, Injector} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport {ComponentType, OverlayContainer} from '@angular/cdk/overlay';\nimport {PortalInjector} from '@angular/cdk/portal';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DomService {\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private overlayContainer: OverlayContainer\n ) {}\n private documentEventSource = new Subject();\n private documentEventDone = this.documentEventSource.asObservable();\n private eventInitialisation = true;\n\n private documentScrollSource = new Subject();\n private documentScrollDone = this.documentScrollSource.asObservable();\n\n documentEvent() {\n this.setDocumentEventListener();\n return this.documentEventDone;\n }\n\n setDocumentEventListener() {\n if (!this.eventInitialisation) {\n return;\n }\n this.eventInitialisation = false;\n document.body.addEventListener('click', event => {\n this.documentEventSource.next(event.target);\n });\n }\n\n documentScroll() {\n return this.documentScrollDone;\n }\n\n setScrollEventListener() {\n window.onscroll = () => {\n this.documentScrollSource.next(window);\n };\n }\n attachComponentPortal<T>(component: ComponentType<T>, injector?: PortalInjector): ComponentRef<T> {\n const componentRef: ComponentRef<T> = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(injector ? injector : this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n\n this.overlayContainer.getContainerElement().appendChild(this._getComponentRootNode(componentRef));\n\n return componentRef;\n }\n\n /** Gets the root HTMLElement for an instantiated component. */\n private _getComponentRootNode(componentRef: ComponentRef<any>): HTMLElement {\n return (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n }\n}\n","import {Directive, ElementRef, Input, Output, EventEmitter, AfterViewInit, OnInit} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DomService } from '../../services/dom.service';\n\n@Directive({\n selector: '[wzAutoHide]'\n})\nexport class AutoHideDirective implements AfterViewInit {\n @Input() triggerElement: string;\n @Input() forceOn: Array<string> = null;\n subscription: Subscription;\n\n constructor(private _elementRef: ElementRef, private domService: DomService) {}\n\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\n\n ngAfterViewInit(): void {\n this.subscription = this.domService.documentEvent().subscribe((targetElement: Element) => {\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n const classNameFromElement = targetElement.getAttribute('class');\n\n if (!clickedInside && (classNameFromElement === null || !classNameFromElement.includes(this.triggerElement))) {\n\n this.clickOutside.emit(null);\n }\n\n if (this.forceOn != null && classNameFromElement !== null) {\n let needToClose = true;\n this.forceOn.forEach(v => {\n if (!classNameFromElement.includes(v)) {\n needToClose = false;\n }\n });\n if (needToClose) {\n this.clickOutside.emit(null);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe()\n }\n}\n","import {Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2} from '@angular/core';\n\n@Directive({\n selector: '[zIndexToggle]'\n})\nexport class ZindexToggleDirective implements OnInit, OnDestroy {\n isActived = false;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n @Input('zIndexToggle')\n set isActive(value: boolean) {\n this.isActived = value;\n this.switchToggle();\n }\n get isActive(): boolean {\n return this.isActived;\n }\n\n constructor(private currentElement: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit(): void {\n }\n\n switchToggle() {\n if (this.isActived) {\n this.renderer.addClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n this.renderer.addClass(this.currentElement.nativeElement.parentElement.parentNode.parentNode, 'zindexToggle');\n } else {\n this.renderer.removeClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n this.renderer.removeClass(this.currentElement.nativeElement.parentElement.parentNode.parentNode, 'zindexToggle');\n }\n }\n\n ngOnDestroy(): void {\n }\n}\n","import { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\n\n@Directive({\n selector: '[ngVar]',\n})\nexport class VarDirective {\n // https://stackoverflow.com/questions/38582293/how-to-declare-a-variable-in-a-template-in-angular\n\n @Input()\n set ngVar(context: unknown) {\n this.context.$implicit = this.context.ngVar = context;\n\n if (!this.hasView) {\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\n this.hasView = true;\n }\n }\n\n private context: {\n $implicit: unknown;\n ngVar: unknown;\n } = {\n $implicit: null,\n ngVar: null,\n };\n\n private hasView: boolean = false;\n\n constructor(\n private templateRef: TemplateRef<any>,\n private vcRef: ViewContainerRef\n ) {}\n}","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({ selector: '[keypressEnter]' })\nexport class KeypressEnterDirective {\n\n private KEYPRESS_ENTER = \"Enter\";\n\n @HostListener('keypress', ['$event']) onKeypress(event: KeyboardEvent){\n if (event.key === this.KEYPRESS_ENTER) {\n this.keypressEnter.next(true);\n }\n }\n\n @Output() keypressEnter = new EventEmitter<boolean>();\n\n constructor() {}\n}","import { InjectionToken } from \"@angular/core\";\nimport { OptionSelectionHandler } from \"./option-selection-handler.interface\";\n\nexport const OPTION_SELECTION_HANDLER = new InjectionToken<OptionSelectionHandler<any>>('OPTION_SELECTION_HANDLER');","import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { OptionSelectionHandler } from './option-selection-handler.interface';\nimport { OPTION_SELECTION_HANDLER } from './option-selection-handler.token';\n\n// todo create a select module and in the select-option.directive.ts\n@Directive({\n selector: '[wacOption]',\n providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: SelectOptionDirective }],\n exportAs: 'wacOption'\n})\nexport class SelectOptionDirective<TOptionValue> implements OptionSelectionHandler<TOptionValue> {\n\n @HostListener('click', ['$event']) onClick(event: PointerEvent) {\n this.onSelectOption();\n if (this.onClickEventPreventDefault) {\n event.preventDefault();\n }\n }\n\n @HostBinding('class.wac-option-selected') get isOptionSelected() {\n return this.selected;\n }\n\n @HostBinding('class.wac-option-disabled') get isOptionDisabled() {\n return this.disabled || this.disabledByParent;\n }\n\n @HostBinding('style.cursor') get cursor () {\n return this.disabled || this.disabledByParent ? 'not-allowed' : 'pointer';\n }\n\n @Input()\n disabled = false;\n\n protected disabledByParent = false;\n\n @Input()\n value: TOptionValue;\n\n @Input()\n selected: boolean = false;\n\n @Input() onClickEventPreventDefault = true;\n\n @Output()\n selectedChange = new EventEmitter<boolean>();\n\n multiple = false;\n\n constructor(protected contentRef: ElementRef, protected changeDetectorRef: ChangeDetectorRef) {}\n\n setSelected(selected: boolean): void {\n this.selected = selected;\n this.changeDetectorRef.markForCheck();\n }\n\n onSelectOption() {\n if (this.disabled || this.disabledByParent) {\n return;\n }\n this.selected = this.multiple ? !this.selected : true; // If not multiple mode -> can not be unselected\n this.selectedChange.emit(this.selected);\n this.changeDetectorRef.markForCheck();\n }\n\n getValue() {\n return this.value;\n }\n\n setValue(value: TOptionValue): void {\n this.value = value;\n this.changeDetectorRef.markForCheck();\n }\n\n isSelected(): boolean {\n return this.selected;\n }\n\n getContentRef(): ElementRef<any> {\n return this.contentRef;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabledByParent = isDisabled;\n this.changeDetectorRef.markForCheck();\n }\n\n setMultiple(multiple: boolean): void {\n this.multiple = multiple;\n this.changeDetectorRef.markForCheck();\n }\n}","export const compareArrays = <TItem>(a: TItem[], b: TItem[]) =>\n a.length === b.length && a.every((element, index) => element === b[index]);\n","import { ChangeDetectorRef, Injectable, OnDestroy, QueryList } from '@angular/core';\nimport { merge, Observable, Subject } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\nimport { compareArrays } from '../../../utils/array';\nimport { OptionComponent } from '../option/option.component';\n\n@Injectable()\nexport class ValueChangeService<TOptionValue> implements OnDestroy {\n\n valueChange$: Subject<TOptionValue | TOptionValue[]> = new Subject();\n\n set value(value: TOptionValue | TOptionValue[]) {\n this._value = value;\n this.handleValueChange();\n this.valueChange$.next(value);\n }\n\n get value(): TOptionValue | TOptionValue[] {\n return this._value;\n }\n\n multiple: boolean = false;\n\n private _value: TOptionValue | TOptionValue[];\n\n disabled: boolean;\n\n optionChildren: QueryList<OptionComponent<TOptionValue>>;\n\n selectedOptionContent: any;\n\n indexSelectedOption: number = null; // todo update to array\n\n resetListeners$: Subject<void> = new Subject();\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n }\n\n handleSelectOptionsChange(optionChildren: QueryList<OptionComponent<TOptionValue>>, value: any) {\n this.resetListeners$.next();\n\n this.optionChildren = optionChildren;\n this._value = value;\n this.indexSelectedOption = null;\n\n this.handleMultipleSelection();\n this.handleInitialSelectedOption();\n this.handleSelectedOptionsEvent();\n }\n\n assignValue(value: TOptionValue | TOptionValue[]) {\n this._value = value;\n this.handleValueChange();\n }\n\n handleValueChange() {\n this.changeSelectedOption();\n this.updateSelectPlaceholder();\n this.changeDetectorRef.markForCheck();\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this.optionChildren?.forEach((option) => option.setDisabledState(isDisabled));\n }\n\n selectNextOption() {\n // TODO : Handle multiple selection\n if (this.indexSelectedOption +1 >= this.optionChildren.length) {\n return;\n }\n\n if (this.indexSelectedOption === null) {\n this.indexSelectedOption = 0;\n } else {\n this.indexSelectedOption = this.indexSelectedOption + 1;\n }\n\n this.value = this.optionChildren.get(this.indexSelectedOption).value;\n }\n\n selectPreviousOption() {\n // TODO : Handle multiple selection\n if (!this.indexSelectedOption) {\n this.indexSelectedOption = null;\n this.assignValue(null);\n return;\n }\n\n this.indexSelectedOption = this.indexSelectedOption - 1;\n this.value = this.optionChildren.get(this.indexSelectedOption).value;\n }\n\n searchOptionByFirstLetter(letter: string) {\n // TODO : Handle multiple selectiong\n const matchedOptionsIndex = this.optionChildren\n .map((option, index) => this.indexOfMatchedOption(option, index, letter))\n .filter(this.isNotNull);\n\n if (!matchedOptionsIndex.length) { // reset the selection\n this.indexSelectedOption = null;\n this.value = null;\n return;\n }\n\n // find the next option after the current selected option, or the first option\n\n const validOptionIndex = matchedOptionsIndex.find(this.highestAndClosestIndex);\n\n this.indexSelectedOption = isNaN(validOptionIndex) ? matchedOptionsIndex[0] : validOptionIndex;\n this.value = this.optionChildren.get(this.indexSelectedOption).value;\n }\n\n setMultiple(value: boolean) {\n this.multiple = value;\n }\n\n private indexOfMatchedOption = (option: OptionComponent<TOptionValue>, index: number, letter: string) => {\n const textOption = option.getContentRef().nativeElement.textContent.trim().toLowerCase();\n return textOption.startsWith(letter) ? index : null;\n }\n\n private isNotNull = (index: number | null) => {\n return index !== null;\n }\n\n private highestAndClosestIndex = (index: number) => {\n if (isNaN(this.indexSelectedOption)) {\n return true;\n }\n if (index > this.indexSelectedOption) {\n return true;\n }\n\n return false;\n }\n\n private handleMultipleSelection() {\n if (this.multiple) {\n setTimeout(() => {\n this.optionChildren.forEach((option) => option.setMultiple(true));\n }, 0);\n }\n }\n\n private handleInitialSelectedOption() {\n setTimeout(() => { // ! Avoid Expression has changed...\n\n if (this.mustUpdateValueWithInitialSelectedOptionValues()) { // initial option value selected win against initial value or ngModel value\n this.value = this.multiple ? this.getSelectedOptionsValues() : this.getSelectedOptionsValues()[0];\n }\n\n if (this.disabled) {\n this.optionChildren.forEach((option) => option.setDisabledState(true));\n }\n\n this.handleValueChange();\n }, 0);\n }\n\n private mustUpdateValueWithInitialSelectedOptionValues() {\n if (!this.getSelectedOptionComponents().length) {\n return false;\n }\n\n if (this.multiple && Array.isArray(this.value)) {\n return !compareArrays(this.value, this.getSelectedOptionsValues());\n }\n\n return this.value !== this.getSelectedOptionsValues()[0];\n }\n\n private handleSelectedOptionsEvent() {\n this.optionSelectedChangeListeners().subscribe((option) => {\n const selectedOptionsValues = this.getSelectedOptionsValues();\n if (this.multiple) {\n this.value = selectedOptionsValues;\n return;\n }\n this.value = option.selected ? option.value : undefined;\n });\n }\n\n private updateSelectPlaceholder() {\n if (!this.value && typeof this.value !== 'number') {\n this.selectedOptionContent = null;\n return;\n }\n\n this.selectedOptionContent = this.getSelectedOptionsContent();\n }\n\n private getSelectedOptionsContent() {\n if (this.multiple) {\n return this.getSelectedOptionComponents().reduce((acc, option) => (acc ? acc + ', ' : '') + option.getContentRef().nativeElement.textContent.trim(), ''); // todo improve for multiple\n }\n return this.getSelectedOptionComponents()[0]?.getContentRef().nativeElement.innerHTML;\n }\n\n private getSelectedOptionComponents(){\n return this.optionChildren.filter((option) => option.selected);\n }\n\n private getSelectedOptionsValues() {\n return this.getSelectedOptionComponents().map((option) => option.value);\n }\n\n private optionSelectedChangeListeners() {\n const selectedChange$ = this.optionChildren.map((option) => {\n return option.selectedChange.pipe(\n filter(() => !this.disabled),\n map(() => option)\n );\n });\n\n return merge(...selectedChange$).pipe(takeUntil(this.resetListeners$));\n }\n\n private changeSelectedOption() {\n this.optionChildren.forEach((optionComponent, index) => {\n optionComponent.setSelected(this.isSelectedValue(optionComponent.value));\n\n if (optionComponent.selected) {\n this.indexSelectedOption = index;\n }\n });\n }\n\n /**\n * May not work with objects values\n */\n private isSelectedValue(value2: TOptionValue) {\n if (this.multiple && Array.isArray(this.value)) {\n return this.value.includes(value2);\n }\n return this.value === value2;\n }\n\n ngOnDestroy() {\n this.resetListeners$.next();\n this.resetListeners$.complete();\n }\n}","import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, A, Z, ZERO, NINE, TAB } from '@angular/cdk/keycodes';\nimport { AfterViewInit, ContentChildren, Directive, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Output, QueryList } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { startWith, Subject, takeUntil } from 'rxjs';\nimport { OptionSelectionHandler } from '../option/option-selection-handler.interface';\nimport { OPTION_SELECTION_HANDLER } from '../option/option-selection-handler.token';\nimport { ValueChangeService } from './value-change.service';\n\n@Directive(\n {\n selector: '[wacSelect]',\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: SelectDirective, multi: true },\n ValueChangeService\n ],\n exportAs: 'wacSelect'\n})\nexport class SelectDirective<TOptionValue> implements OnInit, ControlValueAccessor, AfterViewInit, OnDestroy {\n\n @HostBinding('attr.tabindex') get tabindex() {\n return this.tabIndex;\n }\n\n @HostBinding('class.wac-select-disabled') get isSelectDisabled() {\n return this.disabled;\n }\n\n /** Handles all keydown events on the select. */\n @HostListener('keydown', ['$event']) onKeydown(event: KeyboardEvent): void {\n if (event.keyCode === TAB) {\n return;\n }\n if (this.disabled) {\n return;\n }\n this.handleKeyboardAction(event);\n }\n\n @ContentChildren(OPTION_SELECTION_HANDLER as any, { descendants: true }) optionChildren!: QueryList<OptionSelectionHandler<TOptionValue>>;\n\n @Input()\n set value(value: TOptionValue | TOptionValue[]) {\n this._value = value;\n\n if (!this.optionChildren) {\n return;\n }\n\n this.valueChangeService.assignValue(value);\n }\n\n get value() : TOptionValue | TOptionValue[] {\n return this._value;\n }\n _value: TOptionValue | TOptionValue[];\n\n @Output()\n valueChange = new EventEmitter<any>();\n\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: boolean) {\n this._multiple = value;\n this.valueChangeService.setMultiple(value);\n }\n private _multiple: boolean = false;\n\n @Input()\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.valueChangeService.setDisabledState(disabled);\n }\n get disabled() : boolean {\n return this._disabled;\n }\n _disabled: boolean = false;\n\n\n @Input() tabIndex: number = 0;\n\n @Input() searchByTyping: boolean = false;\n\n isDestroyed$: Subject<void> = new Subject();\n\n constructor(protected valueChangeService: ValueChangeService<TOptionValue>) {\n }\n\n ngOnInit(): void {\n this.handleValueChange();\n }\n\n ngAfterViewInit() {\n this.handleOptionChildren();\n }\n\n private handleValueChange() {\n this.valueChangeService.valueChange$.pipe(takeUntil(this.isDestroyed$)).subscribe(value => {\n this._value = value;\n this.valueChange.emit(this.value);\n this.onChange(this.value);\n this.onTouch(this.value);\n });\n }\n\n private handleOptionChildren() {\n this.optionChildren.changes.pipe(takeUntil(this.isDestroyed$), startWith(this.optionChildren)).subscribe(optionChildren => {\n this.valueChangeService.handleSelectOptionsChange(optionChildren, this.value);\n\n });\n }\n\n /** Handles keyboard events when the selected is open. */\n protected handleKeyboardAction(event: KeyboardEvent): void {\n if (!this.searchByTyping) {\n return;\n }\n const keyCode = event.keyCode;\n const isArrowKey =\n keyCode === DOWN_ARROW ||\n keyCode === UP_ARROW ||\n keyCode === LEFT_ARROW ||\n keyCode === RIGHT_ARROW;\n const isTyping = (keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE);\n if (isArrowKey) {\n event.preventDefault(); // prevents the page from scrolling\n // select the next option on arrow key down\n if (keyCode === DOWN_ARROW || keyCode === RIGHT_ARROW) {\n this.valueChangeService.selectNextOption();\n return;\n }\n this.valueChangeService.selectPreviousOption();\n return;\n }\n\n if (isTyping) {\n this.valueChangeService.searchOptionByFirstLetter(event.key);\n return;\n }\n\n }\n\n // ControlValueAccessor methods\n\n onChange: (value: any) => void = () => {};\n\n onTouch: (value: any) => void = () => {};\n\n writeValue(value: any){\n if (typeof value === 'undefined') {\n return;\n }\n this.value = value;\n }\n\n registerOnChange(fn: any){\n this.onChange = fn;\n }\n registerOnTouched(fn: any){\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n };\n\n ngOnDestroy() {\n this.isDestroyed$.next();\n this.isDestroyed$.complete();\n }\n\n}\n","import { Directive, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[wacOnlyNumber]'\n})\nexport class OnlyNumberDirective {\n\n // https://stackoverflow.com/questions/41465542/angular2-input-field-to-accept-only-numbers?page=1&tab=scoredesc#tab-top\n\n constructor() { }\n\n @Input() wacOnlyNumber: boolean = true;\n\n @HostListener('keydown', ['$event']) onKeyDown(event: KeyboardEvent) {\n if (!this.wacOnlyNumber) {\n return;\n }\n\n if ([46, 8, 9, 27, 13, 110, 190].indexOf(event.keyCode) !== -1 ||\n // Allow: Ctrl+A\n (event.keyCode === 65 && (event.ctrlKey || event.metaKey)) ||\n // Allow: Ctrl+C\n (event.keyCode === 67 && (event.ctrlKey || event.metaKey)) ||\n // Allow: Ctrl+V\n (event.keyCode === 86 && (event.ctrlKey || event.metaKey)) ||\n // Allow: Ctrl+X\n (event.keyCode === 88 && (event.ctrlKey || event.metaKey)) ||\n // Allow: home, end, left, right\n (event.keyCode >= 35 && event.keyCode <= 39)) {\n // let it happen, don't do anything\n return;\n }\n // Ensure that it is a number and stop the keypress\n if ((event.shiftKey || (event.keyCode < 48 || event.keyCode > 57)) && (event.keyCode < 96 || event.keyCode > 105)) {\n event.preventDefault();\n }\n }\n}","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\n\n@Directive({\n selector: '[wacTwoDigitDecimalNumber]',\n })\n export class TwoDigitDecimalNumberDirective {\n\n @Input() decimalSeparator: string[] = ['.', ',']; // user can put . or , char.\n // input also cannot start from , or .\n private specialKeys: Array<string> = ['Backspace', 'Tab', 'End', 'Home', '-', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (this.specialKeys.includes(event.key)) {\n return;\n }\n const current: string = this.el.nativeElement.value;\n const position = this.el.nativeElement.selectionStart;\n const next: string = [current.slice(0, position), event.key == 'Decimal' ? '.' : event.key, current.slice(position)].join('');\n const regex = new RegExp(`^\\\\d+[${this.decimalSeparator.join('')}]?\\\\d{0,2}$`, 'g');\n\n if (next && !regex.test(next)) {\n event.preventDefault();\n }\n }\n }","import { ChangeDetectorRef, Directive, ElementRef } from '@angular/core';\nimport { OPTION_SELECTION_HANDLER } from '../select/option/option-selection-handler.token';\nimport { SelectOptionDirective } from '../select/option/select-option.directive';\n\n@Directive({\n selector: '[wacRadio]',\n exportAs: 'wacRadio',\n providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: RadioDirective }],\n })\nexport class RadioDirective<TOptionValue> extends SelectOptionDirective<TOptionValue> {\n\n constructor(protected contentRef: ElementRef, protected changeDetectorRef: ChangeDetectorRef) {\n super(contentRef, changeDetectorRef);\n }\n}","import { Directive } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectDirective } from '../select/select/select.directive';\nimport { ValueChangeService } from '../select/select/value-change.service';\n\n@Directive({\n selector: '[wacRadioGroup]',\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: RadioGroupDirective, multi: true },\n ValueChangeService\n ],\n })\nexport class RadioGroupDirective<TOptionValue> extends SelectDirective<TOptionValue> {\n\n get multiple() {\n return false;\n }\n set multiple(value: boolean) {\n throw new Error('RadioGroupDirective does not support multiple selection');\n }\n\n constructor(\n protected valueChangeService: ValueChangeService<TOptionValue>,\n ) {\n super(valueChangeService);\n }\n}","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';\n\n@Directive({\n selector: '[wacCopyToClipboard]',\n standalone: true\n })\nexport class CopyToClipBoardDirective {\n @HostListener('click') onClick = () => this.copyToClipboard(this.element.nativeElement.outerText);\n\n @HostBinding('style') cursor = 'cursor:pointer';\n\n @Output() textCopy = new EventEmitter<string>();\n\n constructor(private element: ElementRef) {}\n\n copyToClipboard = (text: string) => {\n navigator.clipboard.writeText(text);\n this.textCopy.emit(text);\n };\n}","import { Directive, HostBinding, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[wacScrollTo]',\n standalone: true,\n })\nexport class ScrollToDirective {\n\n @Input() elementId: string;\n\n @Input() scrollConfig: ScrollIntoViewOptions = {behavior: \"smooth\", block: \"start\", inline: \"nearest\"};\n\n @HostListener('click') onClick() {\n const element = document.getElementById(this.elementId);\n element?.scrollIntoView(this.scrollConfig);\n }\n\n @HostBinding('style.cursor') cursor = 'pointer';\n\n}","import { Directive, ElementRef, OnInit} from '@angular/core';\n// watch dom change and fire (dom-changed) event\n@Directive({\n selector: '[watchDomTree]'\n})\nexport class DomChangedDirective implements OnInit {\n constructor(private elRef: ElementRef) {}\n ngOnInit() {\n this.registerDomChangedEvent(this.elRef.nativeElement);\n }\n\n registerDomChangedEvent(el) {\n const observer = new MutationObserver( list => {\n const evt =\n new CustomEvent('dom-changed',\n {detail: list, bubbles: true});\n el.dispatchEvent(evt);\n });\n const attributes = false;\n const childList = true;\n const subtree = true;\n observer.observe(el, {attributes, childList, subtree});\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { DebounceKeyupDirective } from './abstract-debounce/debounce-keyup.directive';\nimport { AbstractDebounceDirective } from './abstract-debounce/abstract-debounce.directive';\nimport { AutoHideDirective } from './auto-hide/auto-hide.directive';\nimport {ZindexToggleDirective} from './zindex-toggle/zindex-toggle.directive';\nimport { VarDirective } from './ng-var.directive';\nimport { KeypressEnterDirective } from './keyboard-events/keypress-enter.directive';\nimport { SelectOptionDirective } from '../components/select/option/select-option.directive';\nimport { SelectDirective } from '../components/select/select/select.directive';\nimport { OnlyNumberDirective } from './keyboard-events/only-numbers.directive';\nimport { TwoDigitDecimalNumberDirective } from './keyboard-events/two-digital-decimal-number.directive';\nimport { RadioDirective } from '../components/radio/radio-directive';\nimport { RadioGroupDirective } from '../components/radio/radio-group.directive';\nimport { CopyToClipBoardDirective } from './copy-to-clipboard/copy-to-clipboard.directive';\nimport { ScrollToDirective } from './scroll-to/scroll-to.directive';\nimport { DomChangedDirective } from './watch-dom-tree/watch-dom-tree.directive';\n\nconst directives = [\n DebounceKeyupDirective,\n AbstractDebounceDirective,\n AutoHideDirective,\n ZindexToggleDirective,\n VarDirective,\n KeypressEnterDirective,\n SelectOptionDirective,\n SelectDirective,\n OnlyNumberDirective,\n TwoDigitDecimalNumberDirective,\n RadioDirective,\n RadioGroupDirective,\n DomChangedDirective\n];\n\n@NgModule({\n imports: [CommonModule, FormsModule, CopyToClipBoardDirective, ScrollToDirective],\n declarations: directives,\n exports: [...directives, CopyToClipBoardDirective, ScrollToDirective]\n})\nexport class SharedDirectives {}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-tooltip',\n templateUrl: './tooltip.component.html',\n\n})\nexport class TooltipComponent implements OnInit {\n // todo add exemples. Should be a directive. Maybe allow to pass a template like\n @Input()\n tooltipIcon: string;\n @Input()\n tooltipText: string = '';\n @Input()\n tooltipLink: string = '';\n @Input()\n tooltipUrl: string = '#';\n\n constructor() {}\n\n ngOnInit() {\n if (this.tooltipIcon === '') {\n this.tooltipIcon = 'fas fa-info-circle';\n }\n }\n}\n","<span class=\"wac-tooltip\">\n <i [class]=\"tooltipIcon\"></i>\n <span class=\"tooltip-content\"\n >{{ tooltipText }}\n <span *ngIf=\"tooltipUrl\"\n ><a [href]=\"tooltipUrl\" target=\"_blank\">{{ tooltipLink }}</a></span\n >\n </span>\n</span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { TooltipComponent } from './tooltip.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule\n ],\n exports: [TooltipComponent],\n declarations: [TooltipComponent],\n providers: [],\n})\nexport class TooltipModule { }\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'wac-progress-bar',\n templateUrl: './progress-bar.component.html',\n standalone: true,\n imports: [CommonModule],\n})\nexport class ProgressBarComponent {\n @Input()\n valueLength = null;\n @Input()\n min = null;\n @Input()\n max = null;\n\n constructor(private translateService: TranslateService) {}\n\n progressBarClass(spanNumber = -1) {\n const length = this.valueLength;\n const min = this.min;\n const max = this.max;\n\n if (spanNumber === 1) {\n return {\n 'is-danger': length > max,\n 'is-success': length >= min && length <= max\n };\n } else if (spanNumber === 2) {\n return {\n 'is-success': length === max,\n 'is-danger': length > max\n };\n } else {\n return {\n 'is-warning': length < min,\n 'is-danger': length > max,\n 'is-success': length >= min && length <= max\n };\n }\n }\n\n progressBarSpanPosition(index) {\n const min = this.min;\n const max = this.max;\n const maxSize = this.progressBarGetMaxSize(max);\n const successMin = (min / maxSize) * 100;\n const successMax = (max / maxSize) * 100;\n return index === 1 ? successMin : successMax;\n }\n\n progressBarGetMaxSize(max) {\n return max + max / 4;\n }\n\n progressBarGetTextInfo() {\n const length = this.valueLength;\n const min = this.min;\n const max = this.max;\n\n if (length < min) {\n return this.translateService.instant('wac.input.progressbar.information.too.short');\n } else if (length > max) {\n return this.translateService.instant('wac.input.progressbar.information.too.long');\n } else {\n return this.translateService.instant('wac.input.progressbar.information.good');\n }\n }\n}\n","<div class=\"wac-progressBarContent\">\n <div class=\"progressBar\">\n <progress class=\"progress\" [ngClass]=\"progressBarClass()\" [max]=\"progressBarGetMaxSize(max)\" [value]=\"valueLength\"></progress>\n <span [ngClass]=\"progressBarClass(1)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(1) }\"></span>\n <span [ngClass]=\"progressBarClass(2)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(2) }\"></span>\n </div>\n <div class=\"size\">\n <span class=\"is-size-7 wac-input__size\">\n <span *ngIf=\"valueLength\">\n <span [ngClass]=\"progressBarClass()\">{{ progressBarGetTextInfo() }}</span> -\n </span>\n <strong>{{ valueLength }}</strong> / {{ max }}\n </span>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TooltipModule } from '../../tooltip/tooltip.module';\nimport { SharedDirectives } from '../../../directives/shared-directives.module';\nimport { ProgressBarComponent } from '../../progress-bar/progress-bar.component';\n\n@Component({\n selector: 'wac-input',\n templateUrl: './input.component.html',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n SharedDirectives,\n TooltipModule,\n ProgressBarComponent],\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }]\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input()\n label = '';\n @Input()\n value = '';\n @Input()\n type = 'text';\n @Input()\n placeholder = ''; // todo could be handle with ng-content\n @Input()\n textInfo = null; // todo should be handle with ng-content\n @Input()\n textError = null; // todo should be handle with ng-content\n @Input()\n size = null;\n @Input()\n isNumber = null;\n @Input()\n withoutBlock = false;\n @Input()\n icon = '';\n @Input()\n big = false;\n @Input()\n medium = false;\n @Input()\n boldLabel = 'false'; // todo refacto to boolean\n @Input()\n min = null;\n @Input()\n max = null;\n @Input()\n disableMargin = false;\n @Input()\n textPrepend = null; // todo should be handle with ng-content\n @Input()\n textAppend = null; // todo should be handle with ng-content\n @Input()\n progressBar = false;\n @Input()\n extraClasses = '';\n @Input()\n keyPreventDefault = [];\n @Input()\n showTooltip = false;\n @Input()\n textTooltip = '';\n @Input()\n iconTooltip = '';\n @Input()\n urlTooltip = '';\n @Input()\n linkTooltip = '';\n @Input()\n padding = false;\n @Input()\n disabled = false;\n @Input()\n indication = ''; // todo should be handle with ng-content\n @Input()\n success = false;\n @Input()\n error = false;\n @Input()\n maxlength: number | string;\n @Input()\n minlength: number | string;\n @Input()\n indicationLeft = false;\n\n @Output() keypressEnter = new EventEmitter<boolean>();\n @Output() blurred = new EventEmitter<void>();\n\n private KEYPRESS_ENTER = \"Enter\";\n\n id =\n 'wz-input_' +\n Math.random()\n .toString(36)\n .substr(2, 9);\n\n private _onChange = (value: string) => {};\n private _onTouched: Function = () => {};\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n this.value = obj;\n }\n\n onChange(value: string) {\n if (this._onChange) {\n this._onChange(value);\n }\n }\n\n onBlur() {\n if (this._onTouched) {\n this._onTouched();\n }\n this.blurred.next();\n }\n\n checkNumberValue(value) {\n if (this.min && this.min > value) {\n this.value = this.min;\n }\n if (this.max && this.max < value) {\n this.value = this.max;\n }\n }\n\n onFocusOut() {\n if (this.type === 'number') {\n this.checkNumberValue(this.value);\n }\n }\n\n keyPress(event: KeyboardEvent) {\n if (this.keyPreventDefault.includes(event.key)) {\n event.preventDefault();\n }\n\n if (event.key === this.KEYPRESS_ENTER) {\n this.keypressEnter.next(true);\n }\n }\n}\n","<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': (textError || error) && !disabled,\n 'is-empty': value === '',\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SharedDirectives } from '../../../directives/shared-directives.module';\nimport { InputComponent } from '../input/input.component';\n\n@Component({\n selector: 'wac-input-search',\n templateUrl: './input-search.component.html',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n InputComponent,\n SharedDirectives\n ],\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputSearchComponent, multi: true }]\n})\nexport class InputSearchComponent implements ControlValueAccessor {\n\n @Input()\n placeholder: string = '';\n\n @Input()\n withoutgrey: boolean = false;\n\n @Input()\n smallPadding:boolean = false; // todo Try to be more flexible like changing type : export type PaddingConfig = \"default\" | \"small\" | \"big\" | \"no-padding\";\n\n @Input()\n id: string;\n private innerValue: any = '';\n @Output() changeDebounced = new EventEmitter<any>(); // debounced\n\n private onTouchedCallback: () => void = () => {};\n private onChangeCallback: (_: any) => void = () => {};\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v;\n this.onChangeCallback(v);\n }\n }\n\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n }\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n public handleDebouncedKeyUp(): void {\n this.changeDebounced.emit(this.value);\n }\n}\n","<div class=\"wac-field-input-search\" [ngClass]=\"{'small-padding' : smallPadding, 'no-grey': withoutgrey}\">\n <p class=\"control has-icons-left has-icons-right\">\n <input\n [placeholder]=\"placeholder\"\n value=\"\"\n class=\"input\"\n type=\"text\"\n [attr.id]=\"id\"\n [(ngModel)]=\"value\"\n debounceKeyUp\n [debounceTime]=\"1000\"\n (onEventChange)=\"handleDebouncedKeyUp()\"\n />\n <i class=\"icon fal fa-search\"></i>\n </p>\n</div>\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const inOutY = trigger('inOutYAnimation', [\n transition(':enter', [\n style({ transform: 'scaleY(0)', height: 0, opacity: 0 }),\n animate('.3s ease-out', style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }))\n ]),\n transition(':leave', [\n style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }),\n animate('.3s ease-in', style({ transform: 'scaleY(0)', height: 0, opacity: 0 }))\n ])\n]);\n","import { Component, Input, Output, EventEmitter, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { inOutY } from '../../animations/in-out/in-out-y.animation';\n\n@Component({\n selector: 'wac-checkbox',\n templateUrl: './checkbox.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }],\n animations: [inOutY],\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input()\n label = '';\n\n @Input()\n set value(value: boolean) {\n this._value = value;\n this._onChange(value);\n this._onTouched();\n }\n get value() : boolean {\n return this._value;\n }\n _value: boolean;\n\n @Input()\n type: 'checkbox' | 'radio' = 'checkbox';\n @Input()\n alone = false;\n @Input()\n checked = false;\n @Input()\n hasInput = false; // todo remove from it ! That is not a part of a checkbox\n @Input()\n inputPlaceholder = ''; // todo remove from it ! That is not a part of a checkbox\n @Input()\n id = ''; // todo maybe create a static property for unique id\n @Input()\n name: string;\n @Input()\n whiteSpace = true;\n @Input()\n disabled = false;\n\n @Output() valueChange = new EventEmitter<boolean>();\n\n constructor() {}\n\n private _onChange: (value: boolean) => void = (value) => {};\n private _onTouched = () => {};\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(isChecked: boolean): void {\n this._value = isChecked;\n }\n\n onChange(value) {\n this._onChange(value);\n }\n\n inputClick($event) { // todo it is usefull ?\n $event.stopPropagation();\n }\n}\n","<div class=\"wac-field-checkbox\" [ngClass]=\"{ 'disable-wt' : !whiteSpace, alone: alone }\">\n <div class=\"wac-field-checkbox__row\">\n <!-- TODO handle radio styles -->\n <input\n [type]=\"type\"\n [id]=\"id\"\n [class]=\"'is-checkradio' + (value ? ' checked' : '')\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [checked]=\"value\"\n (change)=\"value = !value\"\n />\n <label [attr.for]=\"id\"><span [innerHTML]=\"label\"></span></label>\n </div>\n <input\n *ngIf=\"hasInput && checked\"\n [@inOutYAnimation]\n type=\"text\"\n [placeholder]=\"inputPlaceholder\"\n (click)=\"inputClick($event)\"\n />\n</div>\n","import { ApplicationRef, ComponentFactoryResolver, Injector, Type, ComponentRef, EmbeddedViewRef } from \"@angular/core\";\n\nexport class HtmlContainer {\n private attached: boolean = false;\n\n private disposeFn: () => void;\n\n constructor(\n private hostElement: Element,\n private appRef: ApplicationRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector\n ) {}\n\n attach(component: Type<any>): ComponentRef<any> {\n if (this.attached) {\n throw new Error('component has already been attached');\n }\n\n this.attached = true;\n const childComponentFactory = this.componentFactoryResolver.resolveComponentFactory(component);\n\n let componentRef = childComponentFactory.create(this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n this.disposeFn = () => {\n this.appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n };\n\n this.hostElement.appendChild((componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0]);\n\n return componentRef;\n }\n\n dispose() {\n if (this.attached) {\n this.disposeFn();\n }\n }\n}","import { Injectable } from '@angular/core';\n\n\n@Injectable()\nexport class TableCheckboxIdService {\n\n static tableInstance = 0;\n\n currentTableInstance:number;\n nbCheckboxInstances: number = 0;\n\n constructor() {\n TableCheckboxIdService.tableInstance++;\n this.currentTableInstance = TableCheckboxIdService.tableInstance;\n }\n\n getUniqueId() {\n this.nbCheckboxInstances++;\n return `wac-table-${this.currentTableInstance}-${this.nbCheckboxInstances}`;\n }\n}","import { DOCUMENT } from '@angular/common';\nimport {\n ComponentFactoryResolver,\n EventEmitter,\n Inject,\n Output,\n Renderer2,\n Directive,\n ElementRef,\n Input,\n ComponentRef,\n ApplicationRef,\n Injector,\n} from '@angular/core';\nimport { HtmlContainer } from '../../../utils/html-container.class';\nimport { CheckboxComponent } from '../../checkbox/checkbox.component';\nimport { TableCheckboxIdService } from '../shared/table-checkbox-id.service';\n\n@Directive({\n selector: '[checkBoxRow]'\n})\nexport class CheckBoxRow {\n @Input() checkBoxId: string | number;\n @Input() checkBoxName: string;\n\n @Input() set checkBoxValue(value: boolean) {\n this._value = value;\n if (this.checkboxComponentRef) {\n this.setCheckBoxValue();\n }\n }\n _value: boolean;\n get checkBoxValue(): boolean {\n return this._value;\n }\n\n @Output() checkBoxValueChange: EventEmitter<boolean> = new EventEmitter();\n\n private checkboxComponentRef: ComponentRef<CheckboxComponent>;\n private htmlContainer: HtmlContainer;\n private checkBoxElement;\n\n constructor(\n private currentRow: ElementRef,\n private appRef: ApplicationRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n private tableCheckboxIdService: TableCheckboxIdService\n ) {}\n\n ngOnInit() {\n this.createCheckBoxComponent();\n this.handleChecboxInputs();\n this.handleCheckboxOutputs();\n }\n\n createCheckBoxComponent() {\n // Create the container\n this.checkBoxElement = document.createElement('div');\n this.checkBoxElement.className = 'wac-table__body__line__cell wac-table__body__line__cell--checkbox';\n\n // Insert divCheckBox in the DOM as the first child of the row\n this.renderer.insertBefore(this.currentRow.nativeElement, this.checkBoxElement, this.currentRow.nativeElement.firstChild);\n\n // Insert the CheckBoxComponent inside the container (DOM and Angular DOM)\n this.htmlContainer = new HtmlContainer(this.checkBoxElement, this.appRef, this.resolver, this.injector);\n this.checkboxComponentRef = this.htmlContainer.attach(CheckboxComponent);\n }\n\n private handleChecboxInputs() {\n this.checkboxComponentRef.instance.id = this.checkBoxId ? '' + this.checkBoxId : this.tableCheckboxIdService.getUniqueId();\n this.checkboxComponentRef.instance.name = this.checkBoxName ? this.checkBoxName : undefined;\n this.checkboxComponentRef.instance.alone = true;\n this.setCheckBoxValue();\n }\n\n private setCheckBoxValue() {\n this.checkboxComponentRef.instance.value = this.checkBoxValue;\n }\n\n private handleCheckboxOutputs() {\n // Detect checkbox changes\n this.checkboxComponentRef.instance.registerOnChange(() => {\n this._toggleCheckbox();\n });\n }\n\n private _toggleCheckbox() {\n this.checkBoxValueChange.emit(this.checkBoxValue);\n }\n\n getElement() {\n return this.checkBoxElement.querySelector('.wac-field-checkbox');\n }\n\n isActive(): boolean {\n return !!this.checkboxComponentRef.instance.value;\n }\n\n setActive(isActive: boolean) {\n this.checkboxComponentRef.instance.value = isActive; //? does not trigger output\n }\n\n ngOnDestroy() {\n this.htmlContainer.dispose();\n }\n}\n","import { Injectable, QueryList } from \"@angular/core\";\nimport { Subscription, Subject, merge, fromEvent } from \"rxjs\";\nimport { debounceTime, map } from \"rxjs/operators\";\nimport { SelectionItem } from \"../utils/slection-item.interface\";\n\n@Injectable()\nexport class MultiSelectionService {\n private items: QueryList<SelectionItem>;\n private subscription: Subscription;\n private lastIndex: number;\n private activeChanges: Subject<number[]> = new Subject();\n activeChanges$ = this.activeChanges.asObservable();\n\n constructor() {}\n\n handle(items: QueryList<SelectionItem>, toggleSingleItem: boolean = false): void {\n\n if (!items || !items.first) {\n this.destroy();\n return;\n }\n\n this.destroy(); // close previous subsciption\n\n this.items = items;\n\n const clicks$ = this.getListeners();\n\n this.subscription = merge(...clicks$).subscribe(({ component, isShift: isShiftKeyPressed, index }) => {\n if (!isShiftKeyPressed) {\n if (toggleSingleItem) {\n component.setActive(!component.isActive());\n }\n this.activeChanges.next([index]);\n this.lastIndex = index;\n return;\n }\n\n const start = index;\n const end = this.lastIndex;\n const [first, last] = [Math.min(start, end), Math.max(start, end) + 1];\n const itemsSelection = this.items.toArray().slice(first, last);\n const isBeginnerItemActive = this.items.get(end).isActive();\n\n itemsSelection.forEach(current => current.setActive(isBeginnerItemActive));\n window.getSelection().removeAllRanges(); // remove text selection\n const indexInRange = Array.from({length: last-first}, (x, i) => i + first);\n this.activeChanges.next(indexInRange);\n });\n }\n\n private getListeners() {\n return this.items.map((item, index) => {\n return fromEvent(item.getElement(), 'click').pipe(\n map((event: MouseEvent) => {\n return {\n index,\n isShift: event.shiftKey,\n component: item\n }\n })\n )\n .pipe(debounceTime(100)) // debounced, because when clicking on a wac-checkbox it is emitted twice and can not find why\n });\n }\n\n getActives() {\n return this.items.filter(item => item.isActive());\n }\n\n destroy() {\n this.subscription?.unsubscribe();\n }\n}","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n // The selector has the same name as the tableRaw selector in table.component.html\n selector: '[tableRow]'\n})\nexport class TableRow {\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__body__line');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NwbFilterGroup, NwbFilterRoutingBuilder } from '@wizishop/ng-wizi-bulma';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { TableFiltersGroup } from './table-filters-group.model';\nimport { TableFilters } from './table-filters.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FiltersTableService {\n filterGroups = new Map<string, NwbFilterGroup>();\n\n private sortSubject: Subject<any> = new Subject<any>();\n\n constructor(private filterRoutingBuilder: NwbFilterRoutingBuilder) {}\n\n getTableFilterGroup(dataTableName: string): TableFiltersGroup {\n if (this.filterGroups.has(dataTableName)) {\n return this.filterGroups.get(dataTableName) as TableFiltersGroup;\n }\n\n const dataTableFilters: TableFilters = {\n sort: undefined,\n order: undefined,\n searchValue: undefined,\n totalItems: 0,\n itemsPerPage: 0,\n currentPage: 0\n };\n\n const filterGroup: TableFiltersGroup = this.filterRoutingBuilder.group(dataTableFilters, dataTableName) as TableFiltersGroup;\n filterGroup.tableFiltersValuesChange$ = new ReplaySubject<TableFilters>(1);\n filterGroup.tableFiltersValuesDebouncedChange$ = filterGroup.tableFiltersValuesChange$.pipe(debounceTime(300));\n\n this.filterGroups.set(dataTableName, filterGroup);\n return filterGroup;\n }\n\n /**\n * Use to reset the others sorts of the table\n * @param dataTableName\n * @param sortName\n * @param order\n */\n emitSortChange(dataTableName: string, sortName: string, order: boolean) {\n this.sortSubject.next({ dataTableName, sortName, order });\n }\n\n getSortChangeListner() {\n return this.sortSubject.asObservable();\n }\n\n setPaginationFilters(dataTableName, totalItems, itemsPerPage, currentPage) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage,\n currentPage\n });\n }\n\n /*\n Add defaults filters in the URL if they not exists.\n */\n setInitialPaginationFiltersIfNotExist(dataTableName, itemsPerPage, currentPage) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage: filterGroup.get('itemsPerPage') ? parseInt(filterGroup.get('itemsPerPage')) : itemsPerPage,\n currentPage: filterGroup.get('currentPage') ? parseInt(filterGroup.get('currentPage')) : currentPage\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'IsLastPage'\n})\nexport class PagniationIsLastPage implements PipeTransform {\n /**\n * Return true, if the current page is the last page. Otherwise, return false.\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage, totalItems, itemsPerPage): boolean {\n if (!(currentPage >= 0 && totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('currentPage or totalItems or itemsPerPage is/are missing in PagniationIsLastPage pipe.');\n }\n return currentPage === Math.ceil(totalItems / itemsPerPage);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'ArrayTotalPages'\n})\nexport class PagniationArrayTotalPages implements PipeTransform {\n /**\n * Return an incremental array corresponding with the number page\n * [ 1, 2, 3 ..., last page number ]\n * @param totalItems\n * @param itemsPerPage\n */\n transform(totalItems, itemsPerPage): number[] {\n if (!(totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('totalItems or itemsPerPage missing in ArrayTotalPages pipe.');\n }\n const arrayLength: number = Math.ceil(totalItems / itemsPerPage);\n return Array.apply(null, { length: arrayLength })\n .map(Number.call, Number)\n .map(x => x + 1);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'customPagniationText'\n})\nexport class PagniationText implements PipeTransform {\n constructor(private translateService: TranslateService) {}\n\n /**\n * Update pagination text if at least one entrie change\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage, totalItems, itemsPerPage): any {\n let currentItemsLow = 0,\n currentItemsHigh = 0;\n\n if (totalItems) {\n currentItemsLow = (parseInt(currentPage) - 1) * parseInt(itemsPerPage) + 1;\n currentItemsHigh = parseInt(currentPage) * parseInt(itemsPerPage);\n }\n\n if (currentItemsHigh > totalItems) {\n currentItemsHigh = totalItems;\n }\n\n return this.translateService.get('wac.PaginationComponent.on', { low: currentItemsLow, high: currentItemsHigh, total: totalItems })\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { PagniationIsLastPage } from './pipes/is-last-page.pipe';\n\nexport interface PaginationFilters {\n totalItems: number;\n itemsPerPage: number;\n currentPage: number;\n}\n\n@Component({\n selector: 'wac-pagination',\n templateUrl: './pagination.component.html'\n})\nexport class PaginationComponent {\n @Input()\n set pagination(pagination: PaginationFilters) {\n this._pagination = pagination;\n }\n get pagination(): PaginationFilters {\n return this._pagination;\n }\n private _pagination: PaginationFilters;\n\n @Output() pageChange: EventEmitter<PaginationFilters> = new EventEmitter();\n\n constructor() {}\n\n decrementPage() {\n if (this.pagination.currentPage <= 1) {\n return;\n }\n this.pagination.currentPage--;\n this.pageChange.emit(this.pagination);\n }\n\n incrementPage() {\n const isLastPage = new PagniationIsLastPage().transform(\n this.pagination.currentPage,\n this.pagination.totalItems,\n this.pagination.itemsPerPage\n );\n if (isLastPage) {\n return;\n }\n this.pagination.currentPage++;\n this.pageChange.emit(this.pagination);\n }\n\n onGotoPageChange(event: any) {\n this.pagination.currentPage = parseInt(event.target.value);\n this.pageChange.emit(this.pagination);\n }\n}\n","<div class=\"wac-pagination\" *ngIf=\"pagination && pagination.itemsPerPage\">\n <div class=\"wac-pagination__wrapper\">\n <div class=\"wac-pagination__wrapper__page\">\n <p>{{ 'wac.PaginationComponent.page' | translate }}</p>\n\n <select name=\"page\" (change)=\"onGotoPageChange($event)\">\n <ng-container *ngFor=\"let pageIndex of pagination.totalItems | ArrayTotalPages: pagination.itemsPerPage\">\n <option [selected]=\"pageIndex === pagination.currentPage\" [value]=\"pageIndex\">\n {{ pageIndex }}\n </option>\n </ng-container>\n </select>\n </div>\n\n <div class=\"wac-pagination__wrapper__elements\">\n <p>{{ pagination.currentPage | customPagniationText: pagination.totalItems:pagination.itemsPerPage | async}}</p>\n </div>\n\n <div class=\"wac-pagination__wrapper__arrows\">\n <div\n (click)=\"decrementPage()\"\n class=\"wac-pagination__wrapper__arrows__arrow wac-pagination__wrapper__arrows__arrow--left\"\n [ngClass]=\"{ 'wac-pagination__wrapper__arrows__arrow--disabled': pagination.currentPage === 1 }\"\n >\n <span class=\"wac-pagination__wrapper__arrows__arrow__icon\"></span>\n </div>\n <div\n (click)=\"incrementPage()\"\n class=\"wac-pagination__wrapper__arrows__arrow wac-pagination__wrapper__arrows__arrow--right\"\n [ngClass]=\"{\n 'wac-pagination__wrapper__arrows__arrow--disabled':\n pagination.currentPage | IsLastPage: pagination.totalItems:pagination.itemsPerPage\n }\"\n >\n <span class=\"wac-pagination__wrapper__arrows__arrow__icon\"></span>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ContentChildren, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core';\nimport { FiltersTableService } from './shared/filters-table.service';\nimport { Subscription } from 'rxjs';\nimport { TableFilters } from './shared/table-filters.model';\nimport { TableFiltersGroup } from './shared/table-filters-group.model';\nimport { CheckBoxRow } from './directives/checkBoxRow.directive';\nimport { MultiSelectionService } from '../../services/multiple-selection.service';\nimport { TableCheckboxIdService } from './shared/table-checkbox-id.service';\nimport { TableRow } from './directives/raw.directive';\n\n@Component({\n selector: 'wac-table',\n templateUrl: './table.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [\n TableCheckboxIdService,\n MultiSelectionService\n ]\n})\nexport class TableComponent implements OnInit {\n\n @ContentChildren(CheckBoxRow) checkBoxRows: QueryList<CheckBoxRow>;\n @ContentChildren(TableRow) tableRows: QueryList<TableRow>;\n\n // todo find a way to spotlight the wac-table doc when used on wizi-admin only in dev\n // todo try to use bridge patterne in order to add checkbox and remove checkbowrox directive.\n /// Input/Output of table filters ///\n\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n @Input() tableRoutingName: string; // Name of the table\n @Input() placeholder: string = '';\n\n private _tableFiltersGroup: TableFiltersGroup;\n\n /// Input/Output of checkbox ///\n\n /** Pass to true to display checkbox in the header table */\n @Input() checkbox = false;\n\n @Output() toggleAllCheckBox: EventEmitter<boolean> = new EventEmitter(); // todo replace by checkBoxSelectionChange\n\n @Output() checkBoxSelectionChange: EventEmitter<number[]> = new EventEmitter(); // todo add to doc\n\n /// Input to disable section ///\n\n /** Pass to true to hide search input */\n @Input() disableSearch: boolean = false;\n /** Pass to true to hide the pagniator */\n @Input() disablePagniation: boolean = false;\n\n /// Input for loader on table body ///\n\n @Input() isLoading = false;\n\n /// Private variables ///\n headerCheckBoxId: string;\n private filterGroupChangeSub: Subscription;\n\n constructor(private filtersTableService: FiltersTableService, private tableCheckboxIdService: TableCheckboxIdService, private multiSelectionService: MultiSelectionService) {}\n\n ngOnInit(): void {\n this.headerCheckBoxId = this.tableCheckboxIdService.getUniqueId(); // Create checkbox unique id\n\n /* Handle routing filters */\n if (this.tableRoutingName) {\n\n this.filtersTableService.setInitialPaginationFiltersIfNotExist(\n this.tableRoutingName,\n this.tableFilters.itemsPerPage,\n this.tableFilters.currentPage\n );\n\n this._tableFiltersGroup = this.filtersTableService.getTableFilterGroup(this.tableRoutingName);\n this.setTablesFilters();\n // Listen to filters changes with debounced time to limit multiple api calls\n this.filterGroupChangeSub = this._tableFiltersGroup.valuesChange$.subscribe(() => {\n this.setTablesFilters();\n });\n }\n\n this.multiSelectionService.activeChanges$.subscribe(selectionIndexRawCheckChange => {\n this.checkBoxSelectionChange.emit(selectionIndexRawCheckChange);\n });\n }\n\n ngAfterViewInit() {\n this.multiSelectionService.handle(this.checkBoxRows);\n this.checkBoxRows.changes.subscribe(() => {\n this.multiSelectionService.handle(this.checkBoxRows);\n });\n }\n\n onToggleAllCheckBox(event: any) {\n this.toggleAllCheckBox.emit(event.target.checked);\n }\n\n searchChange() {\n // Reset table filters\n this.tableFilters.sort = undefined;\n this.tableFilters.order = undefined;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n\n // Reset routing filters\n if (this._tableFiltersGroup) {\n this._tableFiltersGroup.setValues({\n searchValue: this.tableFilters.searchValue,\n sort: undefined,\n order: undefined,\n currentPage: 1\n });\n }\n }\n\n pageChange() {\n this.tableFiltersChange.emit(this.tableFilters);\n if (this._tableFiltersGroup) {\n this._tableFiltersGroup.setValues({\n itemsPerPage: this.tableFilters.itemsPerPage,\n currentPage: this.tableFilters.currentPage\n });\n }\n }\n\n /**\n * Set tableFilters from routing data existing in the url\n * */\n private setTablesFilters() {\n this.tableFilters = {\n sort: this._tableFiltersGroup.get('sort'),\n order: this._tableFiltersGroup.get('order') ? this._tableFiltersGroup.get('order') === 'true' : undefined,\n searchValue: this._tableFiltersGroup.get('searchValue'),\n itemsPerPage: this._tableFiltersGroup.get('itemsPerPage') ? parseInt(this._tableFiltersGroup.get('itemsPerPage')) : 0,\n currentPage: this._tableFiltersGroup.get('currentPage') ? parseInt(this._tableFiltersGroup.get('currentPage')) : 0,\n totalItems: this.tableFilters.totalItems\n };\n this.tableFiltersChange.emit(this.tableFilters);\n this._tableFiltersGroup.tableFiltersValuesChange$.next(this.tableFilters);\n }\n\n ngOnDestroy() {\n if (this.filterGroupChangeSub) {\n this.filterGroupChangeSub.unsubscribe();\n }\n this.multiSelectionService.destroy();\n }\n}\n","<div class=\"wac-table\">\n <!-- Header section -->\n <div class=\"wac-table__head\" id=\"headerTable\">\n <div *ngIf=\"checkbox\" class=\"wac-table__head__cell wac-table__head__cell--checkbox\">\n <wac-checkbox [id]=\"headerCheckBoxId\" (change)=\"onToggleAllCheckBox($event)\" [alone]=\"true\"></wac-checkbox>\n </div>\n\n <!-- Header contents are added with the headerCell directive -->\n <ng-content select=\"[headerCell]\"></ng-content>\n </div>\n\n <!-- Search section -->\n <div *ngIf=\"!disableSearch\" class=\"wac-table__search\">\n <wac-input-search\n [(ngModel)]=\"tableFilters.searchValue\"\n (changeDebounced)=\"searchChange()\"\n [placeholder]=\"placeholder\"\n [smallPadding]=\"true\"\n ></wac-input-search>\n </div>\n\n <!-- Body section -->\n <div class=\"wac-table__body\">\n <!-- Loader on body -->\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading\">\n <wac-loader [small]=\"true\"></wac-loader>\n </div>\n <!-- Body contents are added with the tableRow directive -->\n <ng-content select=\".complex-table\" *ngIf=\"!isLoading\"></ng-content>\n <ng-content select=\"[tableRow]\" *ngIf=\"!isLoading\"></ng-content>\n </div>\n\n <!-- Pagination section -->\n <wac-pagination *ngIf=\"!disablePagniation\" [pagination]=\"tableFilters\" (pageChange)=\"pageChange()\"></wac-pagination>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-tag',\n templateUrl: './tag.component.html'\n})\nexport class TagComponent {\n @Input()\n label = '';\n @Input()\n class: 'default'|'success'|'warning'|'error'|'dark'|'gray'|'lightgray'|'white';\n @Input()\n hasClose = false;\n @Input()\n draggable = false;\n\n @Input()\n big = false;\n\n @Input() isOpen:boolean = true;\n @Output() isOpenChange = new EventEmitter<boolean>();\n\n constructor() {}\n\n toggleTag() {\n this.isOpen = !this.isOpen;\n this.isOpenChange.next(this.isOpen);\n }\n}\n","<div class=\"wac-tag\" [classList]=\"'wac-tag--' + class\" [ngClass]=\"{ hover: hasClose, 'big': big , draggable: draggable}\">\n <div *ngIf=\"draggable\" class=\"wac-tag__draggable\">\n <span>\n <span></span>\n </span>\n </div>\n {{ label }}\n <span class=\"wac-tag__close\" *ngIf=\"hasClose\" (click)=\"toggleTag()\"><i class=\"fas fa-times\"></i></span>\n</div>\n","import { TemplatePortal } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, Input, OnInit, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-tab',\n templateUrl: './tab.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TabComponent implements OnInit {\n @Input() label: string;\n\n @Input()\n set selected(value: boolean) {\n this._selected = value;\n this.changeDetectorRef.markForCheck();\n }\n\n get selected(): boolean {\n return this._selected;\n }\n\n private _selected: boolean = false;\n\n private contentPortal: TemplatePortal | null = null;\n\n get content(): TemplatePortal | null {\n return this.contentPortal;\n }\n\n @ContentChild(TabComponent, { read: TemplateRef, static: true})\n private _explicitContent: TemplateRef<any> = undefined;\n\n @ViewChild(TemplateRef, { static: true }) _implicitContent: TemplateRef<any>;\n\n constructor(private changeDetectorRef: ChangeDetectorRef, private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n this.contentPortal = new TemplatePortal(this._explicitContent || this._implicitContent, this.viewContainerRef);\n }\n}\n","<ng-template><ng-content></ng-content></ng-template>","import { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { ComponentFactoryResolver, Directive, Inject, OnInit, ViewContainerRef, forwardRef } from '@angular/core';\nimport { TabBodyComponent } from './tab-body.component';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive(\n {\n selector: '[wacTabBody]',\n exportAs: 'wacTabBody',\n standalone: true,\n})\nexport class TabBodyDirective extends CdkPortalOutlet implements OnInit {\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private viewContainerRef: ViewContainerRef, @Inject(DOCUMENT) private document: any, @Inject(forwardRef(() => TabBodyComponent)) private host: TabBodyComponent) {\n super(componentFactoryResolver, viewContainerRef, document);\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this.attach(this.host.content);\n }\n}\n","import { TemplatePortal } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { Component, Input, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\nimport { TabBodyDirective } from './tab-body.directive';\n\n@Component({\n selector: 'wac-tab-body',\n templateUrl: './tab-body.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, TabBodyDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabBodyComponent {\n @Input() content: TemplatePortal;\n\n @Input() active: boolean;\n\n @HostBinding('style.display') get display(): string {\n return (this.active ? 'initial' : 'none');\n }\n}\n","<div class=\"wac-tab-body\" #content>\n <ng-template wacTabBody></ng-template>\n</div>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, ContentChildren, Input, QueryList, ViewEncapsulation, ChangeDetectionStrategy, AfterViewInit } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TabComponent } from './tab/tab.component';\nimport { SharedDirectives } from '../../directives/shared-directives.module';\nimport { BehaviorSubject, ReplaySubject, combineLatest, delay, distinctUntilChanged, map, startWith, switchMap } from 'rxjs';\nimport { TabBodyComponent } from './tab-body/tab-body.component';\n\n@Component({\n selector: 'wac-tabs',\n templateUrl: './tabs.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, FormsModule, TabComponent, SharedDirectives, TabBodyComponent],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: TabsComponent, multi: true },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabsComponent implements AfterViewInit {\n\n disabled = false;\n\n @ContentChildren(TabComponent) tabList: QueryList<TabComponent>;\n\n index$: BehaviorSubject<number> = new BehaviorSubject<number>(0);\n\n tabList$ = new ReplaySubject<QueryList<TabComponent>>(1);\n\n listIsOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n private onChange: (selectedIndex: number) => void = (selectedIndex) => {};\n private onTouched = () => {};\n\n viewModel$ = combineLatest({\n index: this.index$,\n tabList: this.tabList$.pipe(switchMap((tabList) => {\n return tabList.changes.pipe(startWith(tabList));\n })),\n listIsOpen: this.listIsOpen$.pipe(distinctUntilChanged())\n }).pipe(\n delay(0), \n map((data) => {\n let selected = this.setIndex(data.index, data.tabList);\n this.changeDetectorRef.markForCheck();\n return {...data, selected};\n }));\n\n @Input()\n underline = false;\n\n @Input()\n button = false;\n\n @Input()\n right: boolean = false;\n\n @Input()\n marginBottom = '30px';\n\n get defaultViewModel() {\n return {index: 0, tabList: [], listIsOpen: false, selected: null};\n }\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.tabList$.next(this.tabList);\n }\n\n writeValue(selectedIndex: number): void {\n if (!selectedIndex) {\n return;\n }\n this.index$.next(selectedIndex);\n }\n\n registerOnChange(onChange: any): void {\n this.onChange = onChange;\n }\n\n onBlur(): void {\n this.onTouched();\n }\n\n registerOnTouched(onTouched: any): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n this.changeDetectorRef.markForCheck();\n }\n\n selectTab(index: number) {\n this.index$.next(index);\n }\n\n private setIndex(currentIndex: number, tabList: QueryList<TabComponent>) {\n let selected: TabComponent = null;\n tabList.forEach((tab: TabComponent, index) => {\n tab.selected = currentIndex === index;\n selected = (currentIndex === index ? tab : selected);\n });\n this.onChange(currentIndex);\n return selected;\n }\n\n openList($event: any) {\n $event?.stopPropagation();\n this.listIsOpen$.next(!this.listIsOpen$.getValue());\n }\n}\n","<div class=\"wac-tabs\"\n *ngIf=\"((viewModel$ | async) || defaultViewModel ) as viewModel\"\n [ngClass]=\"{'wac-tabs--underline': underline, 'wac-tabs--button' : button, 'wac-tabs--right' : right}\"\n wzAutoHide\n (clickOutside)=\"listIsOpen$.next(false)\"\n [triggerElement]=\"'wac-select__header__selection'\"\n> \n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__mobile\" (click)=\"openList($event)\">\n <div>{{ viewModel.selected?.label }}</div><i [class]=\"'fa-solid fa-caret-' + (viewModel.listIsOpen ? 'up' : 'down')\"></i>\n </div>\n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__wrapper\" [ngClass]=\"{ 'open' : viewModel.listIsOpen }\" [ngStyle]=\"{'margin-bottom': marginBottom}\">\n <a\n *ngFor=\"let tab of tabList; let i = index\"\n class=\"wac-tabs__wrapper__tab\"\n [ngClass]=\"{'wac-tabs__wrapper__tab--selected': i === viewModel.index}\"\n (click)=\"index$.next(i); listIsOpen$.next(false)\"\n >\n {{ tab.label }}\n </a>\n </div>\n <wac-tab-body\n *ngFor=\"let tab of tabList; let i = index\"\n [content]=\"tab.content\"\n [active]=\"i === viewModel.index\"\n ></wac-tab-body>\n</div>","import {AfterViewInit, Attribute, Component, ElementRef, EventEmitter, Inject, Input, OnInit, Optional, Output, ViewChild} from '@angular/core';\nimport { FormGroupDirective } from '@angular/forms';\nimport { interval } from 'rxjs';\nimport { takeWhile } from 'rxjs/operators';\n\n@Component({\n selector: 'wac-button',\n templateUrl: './button.component.html'\n})\nexport class ButtonComponent implements OnInit, AfterViewInit {\n // todo add button type (ex: for submit and check if it works with template driven forms)\n @Input()\n extraClasses = 'is-info'; // todo make a list of existing class\n\n @Input()\n label = '';\n\n @Input()\n icon = '';\n\n @Input()\n iconNext: string;\n\n @Input()\n textcolor = null;\n\n @Input()\n colorIcon: string;\n\n @Input()\n widthAuto = false;\n\n @Input()\n contentHorizontalPosition: 'left' | 'center' | 'right' = 'center';\n\n @Input()\n iconFontSize = 12;\n\n @Input()\n hasLoader = false;\n\n @Input()\n disabled = false;\n\n @Input()\n whiteSpaceNowrap = false;\n\n @Input()\n opacity = false;\n // TODO MAKE ANNIMATION AVAILABLE FOR MOBILE as CONFIRM DELETE DO (because, its doeant show the text and trigger click)\n @Input()\n animation = false;\n\n @Input()\n animationRight = false;\n\n @Input()\n animationText = '';\n\n @Input()\n confirmDelete = false;\n\n @Input()\n confirmDeleteText = '';\n\n @Input()\n coin: number | string;\n\n @Input()\n tooltip: string;\n\n @Input()\n tooltipWidth: string;\n\n @Input()\n borderColor: string;\n\n @Input()\n noPadding = false;\n\n @Input()\n tooltipPosition: 'top-center' | 'top-right' | 'top-left' | 'bottom-center' | 'bottom-right' | 'bottom-left' | 'left' | 'right' = 'top-center';\n\n @Input()\n tooltipOneline = false;\n\n @Input()\n confirmDeletePosition = 'right';\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() public click: EventEmitter<MouseEvent> = new EventEmitter();\n\n @Input() set isLoading(isLoading : boolean) {\n this._isLoading = isLoading;\n this.isLoadingChange.next(isLoading);\n this.toggleLoading();\n }\n\n @Output() isLoadingChange = new EventEmitter<boolean>();\n\n get isLoading() : boolean {\n return this._isLoading;\n }\n\n private _isLoading: boolean = false;\n\n\n interval = null;\n\n waitForConfirmDelete = false;\n\n buttonMaxWidth = '0px';\n buttonWidth = '0px';\n\n buttonMaxWidthDelete = '0px';\n buttonWidthDelete = '0px';\n\n currentLoading = 0;\n\n @ViewChild('calculWidth')\n calculWidth: ElementRef;\n\n @ViewChild('calculWidthDelete')\n calculWidthDelete: ElementRef;\n\n constructor(\n @Attribute('type') private type: string,\n @Optional() @Inject(FormGroupDirective) private formGroup: FormGroupDirective\n ) {\n }\n\n ngOnInit() {\n if (this.confirmDelete) {\n this.waitForConfirmDelete = true;\n }\n }\n\n toggleLoading() {\n this.currentLoading = this.isLoading ? 10 : 100;\n\n interval(200).pipe(takeWhile( time=> this.isLoading)).subscribe(\n () => {\n if (this.currentLoading < 85) {\n this.currentLoading += Math.floor(Math.random() * 15);\n }\n }\n );\n }\n\n addMaxWidth() {\n this.buttonMaxWidth = this.buttonWidth + 'px';\n }\n\n resetMaxWidth() {\n this.buttonMaxWidth = '0px';\n }\n\n addMaxWidthDelete() {\n this.buttonMaxWidthDelete = this.buttonWidthDelete + 'px';\n }\n\n resetMaxWidthDelete() {\n this.buttonMaxWidthDelete = '0px';\n this.waitForConfirmDelete = true;\n }\n\n onButtonClick(event){\n event.stopPropagation();\n if (this.disabled) {\n return;\n }\n if (this.type === 'submit' && this.formGroup) { // Maybe there is a better way to handle submit\n this.formGroup.onSubmit(this.formGroup.value);\n }\n if (this.hasLoader) {\n this.isLoading = false;\n setTimeout(() => { // trick to reset the animation loading\n this.isLoading = true;\n }, 0);\n }\n\n if (!this.waitForConfirmDelete) {\n this.click.emit(event);\n if (this.confirmDelete) {\n this.resetMaxWidthDelete();\n }\n } else {\n this.waitForConfirmDelete = false;\n }\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n if (this.animation) {\n this.buttonWidth = this.calculWidth.nativeElement.offsetWidth;\n }\n if (this.confirmDelete) {\n this.buttonWidthDelete = this.calculWidthDelete.nativeElement.offsetWidth;\n }\n }, 1000);\n }\n}\n","<a\n [class]=\"'wac-button ' + extraClasses\"\n [style.borderColor]=\"borderColor ? borderColor + '!important' : ''\"\n (click)=\"confirmDelete && waitForConfirmDelete ? addMaxWidthDelete() : '';onButtonClick($event);\"\n (mouseleave)=\"animation ? resetMaxWidth() : '';\"\n (mouseenter)=\"animation ? addMaxWidth() : '';\"\n wzAutoHide (clickOutside)=\"confirmDelete && !waitForConfirmDelete ? resetMaxWidthDelete() : ''\"\n [ngClass]=\"[\n label === '' ? 'alone' : '',\n coin ? 'has-coin width-auto' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n noPadding ? 'no-padding' : '',\n whiteSpaceNowrap ? 'white-space-no-wrap' : '',\n !waitForConfirmDelete && confirmDelete ? 'step-delete' : '',\n confirmDelete ? 'deletePosition-' + confirmDeletePosition : ''\n ]\"\n [ngStyle]=\"{\n 'text-align': contentHorizontalPosition\n }\"\n>\n <span class=\"wac-button__wrapper\" [style.color]=\"textcolor ? textcolor : ''\">\n <i *ngIf=\"icon\" [ngClass]=\"icon\" [style.color]=\"colorIcon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext\" [style.color]=\"colorIcon\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n <span class=\"wac-button__animation\" [style.maxWidth]=\"buttonMaxWidth\" [style.width]=\"buttonWidth + 'px'\">\n <span #calculWidth class=\"wac-button__animation__text\" [innerHTML]=\"animationText\"></span>\n </span>\n <span class=\"wac-button__confirmDelete\" [style.maxWidth]=\"buttonMaxWidthDelete\" [style.width]=\"buttonWidthDelete + 'px'\">\n <span #calculWidthDelete class=\"wac-button__confirmDelete__text\" [innerHTML]=\"confirmDeleteText\"></span>\n </span>\n <span *ngIf=\"coin\" class=\"wac-button__coin\"><i class=\"fa-solid fa-coin-front\"></i><span [innerHTML]=\"coin\"></span></span>\n <span\n class=\"wac-button__loader\"\n [ngClass]=\"extraClasses.includes('is-outlined') ? 'outlined' : ''\"\n *ngIf=\"isLoading\"\n [style.width]=\"currentLoading + '%'\"\n >\n </span>\n <span class=\"wac-button__tooltips {{ tooltipPosition }}\" [ngClass]=\"{'oneline': tooltipOneline}\" [style.minWidth]=\"tooltipWidth\" *ngIf=\"tooltip\">\n {{ tooltip }}\n </span>\n</a>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-info',\n templateUrl: './info.component.html'\n})\nexport class InfoComponent {\n constructor() {}\n}\n","<div class=\"wac-info\">\n <div class=\"wac-info__wrapper\">\n <i class=\"fas fa-info-circle\"></i>\n <div class=\"wac-info__wrapper__sublevel\">\n <div class=\"wac-info__wrapper__sublevel__container\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-settings',\n templateUrl: './settings.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SettingsComponent {\n constructor() {}\n}\n","<div class=\"wac-settings\">\n <div class=\"wac-settings__wrapper\">\n <i class=\"fas fa-cog\"></i>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-delete',\n templateUrl: './delete.component.html'\n})\nexport class DeleteComponent {\n constructor() {}\n}\n","<div class=\"wac-delete\">\n <div class=\"wac-delete__wrapper\">\n <i class=\"fas fa-trash\"></i>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-dropdown',\n templateUrl: './dropdown.component.html'\n})\nexport class DropdownComponent {\n @Input()\n hasIcons = false;\n\n @Input()\n items = [];\n\n @Output() userInput = new EventEmitter<any>();\n\n constructor() {}\n\n onUserInput(itemIndex) {\n this.userInput.emit(itemIndex);\n }\n}\n","<div class=\"wac-dropdown\">\n <div class=\"wac-dropdown__wrapper\">\n <i class=\"wac-dropdown__wrapper__icon far fa-ellipsis-v\"></i>\n <div class=\"wac-dropdown__wrapper__sublevel\">\n <ul class=\"wac-dropdown__wrapper__sublevel__container\">\n <li\n *ngFor=\"let item of items\"\n class=\"wac-dropdown__wrapper__sublevel__container__item\"\n (click)=\"onUserInput(item.index)\"\n >\n <i\n *ngIf=\"hasIcons\"\n [class]=\"item.icon\"\n [style.font-size.px]=\"item.iconFontSize ? item.iconFontSize : '14'\"\n ></i>\n <span>{{ item.label }}</span>\n </li>\n </ul>\n </div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'wac-image',\n templateUrl: './image.component.html'\n})\nexport class ImageComponent {\n @Input()\n src = '';\n\n constructor() {}\n}\n","<div class=\"wac-image\">\n <div class=\"wac-image__wrapper\" [ngClass]=\"src === '' ? 'empty' : ''\" [style.background-image]=\"'url(' + src + ')'\">\n <i class=\"fal fa-images\" *ngIf=\"src === ''\"></i>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-back',\n templateUrl: './back.component.html'\n})\nexport class BackComponent {\n constructor() {}\n}\n","<div class=\"wac-back\">\n <div class=\"wac-back__wrapper\">\n <i class=\"fas fa-chevron-left\"></i>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-separator',\n templateUrl: './separator.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SeparatorComponent {\n @Input()\n dashed = false;\n\n constructor() {}\n}\n","<div class=\"wac-separator\" [ngClass]=\"dashed ? 'dashed' : ''\"></div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-logo',\n templateUrl: './logo.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class LogoComponent {\n @Input()\n isDropizi = false;\n\n @Input()\n isWhite = false;\n\n constructor() {}\n}\n","<div class=\"wac-logo\">\n <div class=\"wac-logo__wrapper\" [ngClass]=\"isWhite ? 'white' : ''\" *ngIf=\"isDropizi\">\n <svg id=\"Calque_1\" data-name=\"Calque 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 102.33 40\">\n <defs>\n <style>\n .cls-0 {\n fill: #fa096a;\n }\n </style>\n </defs>\n <title>Logo_Dropizi</title>\n <path\n id=\"Logo_Dropizi-2\"\n data-name=\"Logo Dropizi-2\"\n class=\"cls-0\"\n d=\"M83,44.94a4.87,4.87,0,0,1-4.36-7,3.81,3.81,0,0,1-.72-2l-.3-5.69a9.61,9.61,0,0,1-3.43,2,13.51,13.51,0,0,1-3.34.63l-1.06,0L70,36.29a3.75,3.75,0,0,1-3.54,3.94l-2.25.11H64a3.69,3.69,0,0,1-3-1.56,12.82,12.82,0,0,1-7.68,2.61,13.45,13.45,0,0,1-5.37-1.14,3.67,3.67,0,0,1-2.46,1.09l-2.15.12h-.2a3.76,3.76,0,0,1-3.17-1.74l-3.29-5.25L36.84,38a3.78,3.78,0,0,1-1,2.7A3.74,3.74,0,0,1,33.28,42L31,42.09h-.19a3.77,3.77,0,0,1-3.06-1.58,12.62,12.62,0,0,1-1.62.87,15,15,0,0,1-5.35,1.24L13.49,43H13.3a3.76,3.76,0,0,1-3.74-3.54L8.5,19.3A3.75,3.75,0,0,1,12,15.36L19.37,15c.3,0,.59,0,.88,0a14.67,14.67,0,0,1,4.56.7,13.17,13.17,0,0,1,1.74.7,3.73,3.73,0,0,1,3.06-1.91l7.14-.37c.35,0,.69,0,1,0,3.65,0,6,1.12,7.41,2.57A13.29,13.29,0,0,1,49,14.33a12.05,12.05,0,0,1,4.44-.82c.23,0,.45,0,.69,0a13.63,13.63,0,0,1,5.2,1.35l.22.11a3.75,3.75,0,0,1,3.25-2.29l5.32-.27c.7,0,1.38-.06,2-.06.92,0,1.78,0,2.57.11a10.17,10.17,0,0,1,4.16,1.26l.37.24a3.78,3.78,0,0,1,3.22-2.2l2.18-.12h.2a3.89,3.89,0,0,1,2,.57,3.63,3.63,0,0,1,2.07-.79l12.9-.67h.11c0-.24-.07-.47-.09-.71a4.88,4.88,0,0,1,4.62-5.12h.25a4.86,4.86,0,0,1,4.88,4.62v.26A4.89,4.89,0,0,1,109,12a3.62,3.62,0,0,1,.72,2l1.06,20.14,0,0a3.75,3.75,0,0,1-3.54,3.94l-2.18.11h-.2a3.83,3.83,0,0,1-2-.57,3.54,3.54,0,0,1-2.06.78l-12.9.68h-.1c0,.24.07.47.09.71a4.87,4.87,0,0,1-1.25,3.51,4.82,4.82,0,0,1-3.37,1.6Zm-2-4.87v.11a2,2,0,0,0,2.1,1.9h0a2,2,0,0,0,1.9-2V40a2,2,0,0,0-2-1.9H83A2,2,0,0,0,81.05,40.07ZM19.54,17.84l-7.34.39a.89.89,0,0,0-.84.93l1.06,20.17a.89.89,0,0,0,.92.83l7.33-.39a11.89,11.89,0,0,0,4.32-1,9.7,9.7,0,0,0,3.3-2.36,8.91,8.91,0,0,0,1.46-2.14L30,38.4a.88.88,0,0,0,.92.84l2.25-.12A.88.88,0,0,0,34,38.2h0l-.34-6.38a.88.88,0,0,1,.84-.93h0l2.67-.14a.89.89,0,0,1,.8.41l4.41,7a.92.92,0,0,0,.8.42l2.17-.12a.88.88,0,0,0,.72-1.34l-4.25-7A.88.88,0,0,1,42,29c.22-.18.44-.37.64-.56a10.07,10.07,0,0,0,.5,3,9.65,9.65,0,0,0,2,3.45,11.39,11.39,0,0,0,3.45,2.5,10,10,0,0,0,8.09.47,11,11,0,0,0,6.08-6l.08-.18.26,4.91a.89.89,0,0,0,.92.84l2.25-.12a.89.89,0,0,0,.84-.92L66.86,31a.87.87,0,0,1,.83-.92h0l3-.16a10.49,10.49,0,0,0,2.6-.5A6.87,6.87,0,0,0,75.75,28a6.67,6.67,0,0,0,1.68-2.36l0-.12A8.77,8.77,0,0,0,78,21.73a9,9,0,0,0-.77-3.49,4.1,4.1,0,0,0-.22-.41,4.71,4.71,0,0,0-1.63-1.63,7.28,7.28,0,0,0-3-.87,28.9,28.9,0,0,0-4.16,0l-5.33.28a.86.86,0,0,0-.61.29.9.9,0,0,0-.22.63L62.33,21a10.85,10.85,0,0,0-.8-1A11.54,11.54,0,0,0,54,16.38,9.3,9.3,0,0,0,50,17a10.46,10.46,0,0,0-3.46,2.22,11.5,11.5,0,0,0-1.92,2.41q-1-5.05-7.73-4.7l-7.14.37a.88.88,0,0,0-.84.93l.22,4.15a9.5,9.5,0,0,0-5.19-4,12.2,12.2,0,0,0-3.65-.56C20.05,17.82,19.79,17.82,19.54,17.84Zm63.22-3.31-2.17.12a.9.9,0,0,0-.61.29.87.87,0,0,0-.23.64l1.06,20.15a.88.88,0,0,0,.93.84L84,36.45a.83.83,0,0,0,.61-.29.87.87,0,0,0,.23-.63l-1-20.09a1,1,0,0,0-1-.9Zm11.48,3.85a.9.9,0,0,1,.07.87L86.94,35a.88.88,0,0,0,.06.86.85.85,0,0,0,.76.4l12.9-.67h0a.76.76,0,0,0,.72-.8h0l-.13-2.48a.75.75,0,0,0-.8-.72l-6.21.33a.89.89,0,0,1-.84-1.26l7.37-15.74a.9.9,0,0,0-.07-.87.87.87,0,0,0-.78-.39L87,14.31a.75.75,0,0,0-.71.8l.13,2.49a.74.74,0,0,0,.25.52.75.75,0,0,0,.55.2L93.46,18h.05A.89.89,0,0,1,94.24,18.38ZM106,13.31l-2.24.12a.89.89,0,0,0-.85.93l.85,16.15v.1l.2,3.83a1,1,0,0,0,1,.91l2.18-.11h0a.9.9,0,0,0,.83-.93l-1.06-20.16a.88.88,0,0,0-.88-.84Zm-3.32-3.5v.1a2,2,0,0,0,4-.1V9.7a2,2,0,0,0-2-1.9h-.1a2,2,0,0,0-1.91,2ZM16.25,35.28l-.66-12.51a.87.87,0,0,1,.23-.64.83.83,0,0,1,.61-.29l3.3-.18a6,6,0,0,1,4.87,1.62,7.74,7.74,0,0,1,1.92,5.19,7.71,7.71,0,0,1-1.37,5.35A6,6,0,0,1,20.47,36l-3.31.17h0a.88.88,0,0,1-.88-.84Zm36.61-.55A6.9,6.9,0,0,1,48,32.44a5.3,5.3,0,0,1-1.12-2.17,6.7,6.7,0,0,1-.09-2.6,11,11,0,0,1,2.57-5.41,6.42,6.42,0,0,1,2.07-1.58,5.52,5.52,0,0,1,2.4-.52,6.36,6.36,0,0,1,2.64.66,5.45,5.45,0,0,1,3.3,3.78A8.32,8.32,0,0,1,59,30.1a10.69,10.69,0,0,1-1.66,2.54,6.76,6.76,0,0,1-2.07,1.57,5.42,5.42,0,0,1-2.31.52.27.27,0,0,1-.09,0Zm-19.2-7.84a.83.83,0,0,1-.29-.61l-.26-4.91a.87.87,0,0,1,.83-.92l2.22-.12a5.2,5.2,0,0,1,3.39.63,3.08,3.08,0,0,1,1,2.41,3.29,3.29,0,0,1-.8,2.6,5.23,5.23,0,0,1-3.43,1l-2.07.11h0a.89.89,0,0,1-.59-.23Zm32.93-1.41-.31-5.84a.9.9,0,0,1,.23-.64.86.86,0,0,1,.61-.29l2.4-.12a8.81,8.81,0,0,1,2,.09,3.1,3.1,0,0,1,1.33.57,2.58,2.58,0,0,1,.75,1.09A6.22,6.22,0,0,1,73.94,22a4.16,4.16,0,0,1-.79,3.14A4.63,4.63,0,0,1,70,26.19l-2.51.13h0a.9.9,0,0,1-.89-.84Z\"\n transform=\"translate(-8.49 -4.94)\"\n />\n </svg>\n </div>\n <div class=\"wac-logo__wrapper\" [ngClass]=\"isWhite ? 'white' : ''\" *ngIf=\"!isDropizi\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128.044 40\">\n <defs>\n <style>\n .cls-1 {\n fill: #a4c445;\n }\n .cls-2 {\n fill: #52aecd;\n }\n </style>\n </defs>\n <g id=\"Logo_WiziShop\" transform=\"translate(0.024 0)\">\n <path\n id=\"Shop\"\n class=\"cls-1\"\n d=\"M50.812,38.431V12.3a2.468,2.468,0,0,1,2.452-1.643A2.307,2.307,0,0,1,55.446,12a7.058,7.058,0,0,1,4.107-1.348A5.245,5.245,0,0,1,63.218,12,6.1,6.1,0,0,1,64.7,16.365v7.208h-.012q0,7.282-5.835,7.282a8.453,8.453,0,0,1-3.224-.674v8.25A2.471,2.471,0,0,1,53.178,40,2.419,2.419,0,0,1,50.812,38.431Zm4.805-21.845V26a7.046,7.046,0,0,0,2.709.834c1.1-.012,1.655-1.091,1.655-3.248V15.912c0-.65-.4-.981-1.226-.981A3.59,3.59,0,0,0,55.617,16.586ZM33.858,19.614q0-9.727,7.159-9.721,4.1,0,5.762,3.065a15.8,15.8,0,0,1,1.067,6.656q0,4.56-1.226,6.8-1.655,3.144-6.031,3.138Q33.858,29.556,33.858,19.614Zm4.462,0c0,3.947.846,5.909,2.538,5.909,1.741.012,2.623-1.961,2.623-5.909q0-5.682-2.538-5.688Q38.315,13.926,38.321,19.614Zm-35.8,8.4A5.577,5.577,0,0,1,.172,23.917L0,22.262l4.536-.6a12.942,12.942,0,0,0,.613,2.317,1.976,1.976,0,0,0,2.01,1.189,1.375,1.375,0,0,0,1.226-.674A4.161,4.161,0,0,0,9,22.4c0-1.2-.736-2.623-2.219-4.266s-2.954-3.273-4.4-4.867A10,10,0,0,1,.025,7.2a9.322,9.322,0,0,1,.441-2.77Q1.955.012,6.84.012a7.629,7.629,0,0,1,4.585,1.5,5.555,5.555,0,0,1,2.317,4.131l.172,1.655-4.585.588a12.943,12.943,0,0,0-.613-2.317,1.976,1.976,0,0,0-2.01-1.189c-.7,0-1.189.429-1.483,1.275A3.756,3.756,0,0,0,4.965,7q0,2.537,4.622,7.416t4.622,8.017a7.691,7.691,0,0,1-1.876,4.72,6.225,6.225,0,0,1-5.185,2.39A7.665,7.665,0,0,1,2.525,28.011Zm23.488-.368V15.3c0-.552-.343-.821-1.042-.821a3.356,3.356,0,0,0-2.954,1.569v11.6a2.629,2.629,0,0,1-2.538,1.716,2.589,2.589,0,0,1-2.452-1.728V1.729A2.578,2.578,0,0,1,19.479,0a2.641,2.641,0,0,1,2.538,1.729v9.292a7.611,7.611,0,0,1,3.751-1.042,5.039,5.039,0,0,1,3.665,1.459,5.748,5.748,0,0,1,1.483,4.3V27.631a2.548,2.548,0,0,1-2.366,1.728l-.136,0A2.521,2.521,0,0,1,26.013,27.643Z\"\n transform=\"translate(63.32 0)\"\n />\n <path\n id=\"Wizi\"\n class=\"cls-2\"\n d=\"M13.341,28.661,12.2,22.617l-1.226,6.044a2.9,2.9,0,0,1-2.353,1.189,3.26,3.26,0,0,1-2.44-1.1L.064,2.55A1.793,1.793,0,0,1,.591.674,2.977,2.977,0,0,1,2.6,0c1.287,0,2.047.478,2.28,1.422L8.535,18.707l1.312-6.055a2.228,2.228,0,0,1,2.524-1.876,2.035,2.035,0,0,1,2.183,1.876l1.213,6.142Q16.816,12.6,18,6.3c.785-4.2,2.06-6.3,3.8-6.3a2.717,2.717,0,0,1,1.054.221,1.774,1.774,0,0,1,1.41,2.329l-6.032,26.1a2.881,2.881,0,0,1-2.354,1.2A3.247,3.247,0,0,1,13.341,28.661Zm39.816-.356V11.67c.293-.6,1.139-.895,2.537-.895,1.336,0,2.182.294,2.538.895V28.305c-.355.65-1.2.968-2.538.968C54.3,29.273,53.451,28.955,53.157,28.305Zm-15.667.968c-1.287-.147-1.924-.772-1.924-1.863a2.936,2.936,0,0,1,.343-1.5l7.16-10.984H37.33a2.307,2.307,0,0,1-1.765-2.182,2.226,2.226,0,0,1,1.778-2.182h10.1a2.144,2.144,0,0,1,1.679,2.1q0,1.8-2.574,5.529-2.483,3.366-4.879,6.73h5.7v-.013a2.235,2.235,0,0,1,0,4.364Zm-11.5-.968V11.67c.294-.6,1.14-.895,2.538-.895,1.336,0,2.182.294,2.537.895V28.305c-.355.65-1.2.968-2.537.968C27.131,29.273,26.285,28.955,25.991,28.305ZM53.9,8.054a2,2,0,0,1-.747-1.544A1.858,1.858,0,0,1,53.9,5a2.969,2.969,0,0,1,3.58,0,1.859,1.859,0,0,1,.748,1.508,1.962,1.962,0,0,1-.748,1.544,2.833,2.833,0,0,1-3.58,0Zm-27.165,0a2,2,0,0,1-.748-1.544A1.859,1.859,0,0,1,26.739,5a2.968,2.968,0,0,1,3.579,0,1.892,1.892,0,0,1,.748,1.508,1.959,1.959,0,0,1-.748,1.544,2.832,2.832,0,0,1-3.579,0Z\"\n transform=\"translate(-0.024 0.086)\"\n />\n </g>\n </svg>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wac-radio',\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: RadioComponent, multi: true }]\n})\nexport class RadioComponent implements ControlValueAccessor {\n // ! refacto\n @Input()\n label = '';\n @Input()\n options: Array<any>; // todo refacto type\n @Input()\n value: any;\n @Input()\n type: string;\n @Input()\n id = '';\n @Input()\n name: string;\n @Input()\n alone = false;\n @Output()\n changeInput = new EventEmitter<any>();\n disabled = false;\n constructor() {}\n private _onChange: Function;\n private _onTouched: Function;\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n }\n }\n\n valueInput(value) {\n this.changeInput.emit(value);\n }\n}\n","<div class=\"wac-radio\" *ngFor=\"let option of options\" [ngClass]=\"{ 'wac-radio--nowrap': type === 'column', alone: alone }\">\n <div class=\"wac-radio__row\">\n <input\n type=\"radio\"\n [id]=\"option.id\"\n class=\"is-checkradio\"\n [name]=\"option.name\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n />\n <label [attr.for]=\"option.id\">{{ option.label }}</label>\n <div class=\"wac-radio__input\" *ngIf=\"value && option.value && option.hasInput\">\n <input type=\"text\" [placeholder]=\"option.placeholderInput\" (blur)=\"valueInput($event)\" />\n </div>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-state',\n templateUrl: './state.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class StateComponent {\n @Input()\n state = 'success';\n constructor() {}\n}\n","<div [class]=\"'wac-state ' + state\"></div>\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const inOutX = trigger('inOutXAnimation', [\n transition(':enter', [\n style({ zIndex: -1, transform: 'scaleX(0)', width: 0, opacity: 0 }),\n animate('.3s ease-out', style({ zIndex: 1, transform: 'scaleX(1)', width: 'auto', opacity: 1 }))\n ]),\n transition(':leave', [\n style({ zIndex: 1, transform: 'scaleX(1)', width: 'auto', opacity: 1 }),\n animate('.3s ease-in', style({ zIndex: -1, transform: 'scaleX(0)', width: 0, opacity: 0 }))\n ])\n]);\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { inOutX } from '../../animations/in-out/in-out-x.animation';\n\n@Component({\n selector: 'wac-tag-label',\n templateUrl: './tag-label.component.html',\n encapsulation: ViewEncapsulation.None,\n animations: [inOutX]\n})\nexport class TagLabelComponent {\n @Input()\n index = 0;\n @Input()\n label = '';\n @Input()\n deleted = false;\n\n @Output() onDeleteLabel = new EventEmitter<any>();\n\n constructor() {}\n\n deleteLabel() {\n this.deleted = true;\n this.onDeleteLabel.emit({\n index: this.index,\n label: this.label\n });\n }\n}\n","<div *ngIf=\"!deleted\" [@inOutXAnimation] class=\"wac-tag-label\">\n <div class=\"wac-label__wrapper\">\n {{ label }}\n <i class=\"far fa-times\" (click)=\"deleteLabel()\"></i>\n </div>\n</div>\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const opacityAnimation = trigger('opacityAnimation', [\n transition(':enter', [style({ opacity: 0 }), animate('0.4s ease-in-out', style({ opacity: 1 }))])\n]);\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-optional-disable-container',\n templateUrl: './optional-disable-container.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class OptionalDisableContainerComponent {\n\n @Input() disabled = false;\n\n constructor() { }\n\n}","<ng-content></ng-content>\n<div class=\"wac-optional-disable-container__disabledSection\" *ngIf=\"disabled\"></div>","import { DatePipe } from '@angular/common';\nimport { Component, Input, EventEmitter, Output, OnChanges, SimpleChanges, ChangeDetectionStrategy, ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NwbDatePickerComponent, NwbDatePickerEvent, NwbDatePickerOptions } from '@wizishop/ng-wizi-bulma';\nimport { opacityAnimation } from '../../animations/show/opacity.animation';\n\n@Component({\n selector: 'wac-calendar',\n templateUrl: './calendar.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CalendarComponent,\n multi: true\n },\n DatePipe\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [opacityAnimation]\n})\nexport class CalendarComponent implements OnChanges, ControlValueAccessor {\n //! At the moment, the component handle only one date (not a range)\n @ViewChild('minutes') minutes: ElementRef;\n @ViewChild('hours') hours: ElementRef;\n @ViewChild('datePicker') datePicker: NwbDatePickerComponent;\n\n @Input()\n label: string | null; // todo use ng-content instead\n\n @Input()\n boldLabel: boolean = false; // todo remove when label will be a ng-content\n\n @Input()\n type: 'input' | 'edit' | 'select' = 'input';\n\n @Input()\n set options(options: Readonly<NwbDatePickerOptions>) {\n this._options = options;\n if (this.isBulmaDatePickerExists()) {\n this.updateBulmaDatePickerOptions(options);\n }\n }\n\n get options() : Readonly<NwbDatePickerOptions> {\n return this._options;\n }\n\n _options: Readonly<NwbDatePickerOptions> = {\n displayMode: 'inline',\n showHeader: false,\n showFooter: true,\n };\n\n @Input()\n position = 'bottom';\n\n @Input()\n set dateSelected(dateSelected: Date) {\n if (this.disabled) {\n return;\n }\n this._dateSelected = new Date(dateSelected); // trigger change detection for pure pipe\n }\n get dateSelected() : Date {\n return this._dateSelected;\n }\n _dateSelected: Date;\n\n @Output() dateSelectedChange = new EventEmitter();\n\n @Input()\n typeDate: 'datetime' | 'datetime-local' | 'date' = 'datetime-local';\n @Input()\n noMargin = false;\n\n @Input() disabled = false;\n\n @Output() changeData = new EventEmitter<{ startDate: Date; endDate: Date; }>();\n open = false;\n startLabel = '';\n endLabel = '';\n\n set calendarMinutes(calendarMinutes: string) {\n if (!this.dateSelected) {\n this.dateSelected = new Date();\n }\n const minutes = this.formatTime(calendarMinutes, 0, 59);\n this.dateSelected.setMinutes(minutes);\n\n this.dateSelected = this.dateSelected; // trigger change detection\n this.minutes.nativeElement.value = this.datePipe.transform(this.dateSelected, 'mm'); // force to update the input value\n this.triggerDateSelectedChange();\n }\n\n get calendarMinutes(): string {\n return this.datePipe.transform(this.dateSelected ?? new Date(), 'mm');\n }\n\n set calendarHours(calendarHours: string) {\n if (!this.dateSelected) {\n this.dateSelected = new Date();\n }\n\n const hours = this.formatTime(calendarHours, 0, 23);\n\n this.dateSelected.setHours(hours);\n this.dateSelected = this.dateSelected; // trigger change detection\n this.hours.nativeElement.value = this.datePipe.transform(this.dateSelected, 'HH'); // force to update the input value\n this.triggerDateSelectedChange();\n }\n\n get calendarHours(): string {\n return this.datePipe.transform(this.dateSelected ?? new Date(), 'HH');\n }\n\n constructor(private datePipe: DatePipe) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.label || changes.type) {\n this.setCalendarLabel();\n }\n }\n\n onChangeDate(selectedDates: NwbDatePickerEvent) {\n if (this.disabled) {\n return;\n }\n\n if (!this.dateSelected) {\n this.dateSelected = new Date();\n }\n\n selectedDates.startDate.setHours(this.dateSelected.getHours());\n selectedDates.startDate.setMinutes(this.dateSelected.getMinutes());\n\n this.dateSelected = selectedDates.startDate;\n this.triggerDateSelectedChange();\n }\n\n private triggerDateSelectedChange() {\n this.onChange(this.dateSelected);\n this.dateSelectedChange.emit(this.dateSelected);\n this.triggerChange({\n startDate: this.dateSelected,\n endDate: this.dateSelected\n });\n }\n\n triggerChange(event: { startDate: Date; endDate: Date; }) {\n this.changeData.emit(event);\n }\n\n openCalendar(value = null) {\n\n if (this.disabled) {\n return;\n }\n\n if (value === 'close') {\n if (this.open) {\n this.open = false;\n this.onTouch();\n }\n } else {\n this.open = !this.open;\n }\n }\n\n private setCalendarLabel() {\n if (this.type === 'edit' && this.label) {\n const splitLabel = this.label.split('{x}');\n if (splitLabel.length > 1) {\n this.startLabel = splitLabel[0];\n this.endLabel = splitLabel[1];\n } else {\n this.startLabel = this.label;\n }\n }\n }\n\n incrementMinutes($event: Event) {\n this.calendarMinutes = parseInt(this.calendarMinutes, 10) + 1 + '';\n $event.preventDefault();\n }\n\n decrementsMinutes($event: Event) {\n this.calendarMinutes = parseInt(this.calendarMinutes, 10) - 1 + '';\n $event.preventDefault();\n }\n\n incrementHours($event: Event) {\n this.calendarHours = parseInt(this.calendarHours, 10) + 1 + '';\n $event.preventDefault();\n }\n\n decrementHours($event: Event) {\n this.calendarHours = parseInt(this.calendarHours, 10) - 1 + '';\n $event.preventDefault();\n }\n\n /*\n Ensure that the input value is a number and that it is between min and max\n */\n private formatTime(time: string | number, min = 0, max = 59) {\n let timeNumber = typeof time === 'string' ? parseInt(time, 10) : time;\n timeNumber = timeNumber > max ? min : timeNumber;\n timeNumber = timeNumber < min ? max : timeNumber;\n timeNumber = parseInt(('' + timeNumber).slice(-2)); // keeps only the last 2 digits\n return timeNumber;\n }\n\n private updateBulmaDatePickerOptions(options: Readonly<NwbDatePickerOptions>) {\n const bulmaCalendarDatePicker = this.datePicker['bulmaCalendar'].datePicker;\n bulmaCalendarDatePicker.min = options.minDate;\n bulmaCalendarDatePicker.max = options.maxDate;\n bulmaCalendarDatePicker.refresh();\n }\n\n private isBulmaDatePickerExists() {\n return this.datePicker && this.datePicker['bulmaCalendar'] && this.datePicker['bulmaCalendar'].datePicker;\n }\n\n // ControlValueAccessor methods\n\n onChange: (value: Date) => void = () => {};\n\n onTouch: () => void = () => {};\n\n writeValue(date: Date): void {\n if (!date) {\n return;\n }\n this.dateSelected = date;\n }\n registerOnChange(fn: any){\n this.onChange = fn;\n }\n registerOnTouched(fn: any){\n this.onTouch = fn;\n }\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div\n class=\"wac-calendar\"\n [ngClass]=\"{\n 'wac-calendar--input': type === 'input',\n 'wac-calendar--onlyDate': typeDate === 'date',\n 'wac-calendar--edit': type === 'edit',\n 'wac-calendar--select': type === 'select',\n 'wac-calendar--no-margin': noMargin,\n 'wac-calendar--open': open\n }\"\n [zIndexToggle]=\"open\"\n>\n <p [class]=\"'wac-calendar__label' + (boldLabel ? ' bold' : '')\" *ngIf=\"label && (type === 'input' || type === 'select')\" (click)=\"openCalendar()\">{{ label }}</p>\n <p class=\"wac-calendar__startLabel\" *ngIf=\"type === 'edit'\">{{ startLabel }}</p>\n <wac-optional-disable-container [disabled]=\"disabled\">\n <div class=\"wac-calendar__autoHide\" wzAutoHide (clickOutside)=\"openCalendar('close')\">\n <div class=\"wac-calendar__wrapper\">\n <div class=\"wac-calendar__wrapper__input\" *ngIf=\"type === 'input'\" (click)=\"openCalendar()\">\n <div class=\"wac-calendar__wrapper__input__icon\">\n <i class=\"far fa-calendar-alt\"></i>\n </div>\n <div class=\"wac-calendar__wrapper__input__date\">\n <span *ngIf=\"dateSelected\" @opacityAnimation>{{ dateSelected | date: 'dd/MM/yyyy'}}</span>\n <span class=\"placeholder-date\" *ngIf=\"!dateSelected\" @opacityAnimation>{{ 'wac.Date.PlaceHolder.dd/mm/yyyy' | translate }}</span>\n </div>\n <div class=\"wac-calendar__wrapper__input__time\">\n <span *ngIf=\"dateSelected\" @opacityAnimation>{{ dateSelected | date: 'HH:mm' }}</span>\n <span class=\"placeholder-date\" *ngIf=\"!dateSelected\" @opacityAnimation>{{ 'wac.Date.PlaceHolder.HH:mm' | translate }}</span>\n </div>\n </div>\n <div class=\"wac-calendar__wrapper__editInPlace\" *ngIf=\"type === 'edit'\" (click)=\"openCalendar()\">\n <div class=\"wac-calendar__wrapper__editInPlace__icon\">\n <i class=\"fal fa-calendar-alt\"></i>\n </div>\n <div class=\"wac-calendar__wrapper__editInPlace__date\">\n <div class=\"wac-calendar__wrapper__input__time\">\n <span *ngIf=\"dateSelected\" @opacityAnimation>{{ dateSelected | date: 'dd/MM/yyyy HH:mm' }}</span>\n <span class=\"placeholder-date\" *ngIf=\"!dateSelected\" @opacityAnimation>{{ 'wac.Date.PlaceHolder.dd/MM/yyyy_HH:mm' | translate }}</span>\n </div>\n </div>\n </div>\n <div class=\"wac-calendar__wrapper__select\" *ngIf=\"type === 'select'\" (click)=\"openCalendar()\">\n <div class=\"wac-calendar__wrapper__select__icon\">\n <i class=\"fal fa-calendar-alt\"></i>\n </div>\n <div class=\"wac-calendar__wrapper__select__date\">\n <span *ngIf=\"dateSelected\" @opacityAnimation>{{ dateSelected | date: 'dd/MM/yyyy HH:mm' }}</span>\n <span class=\"placeholder-date\" *ngIf=\"!dateSelected\" @opacityAnimation>{{ 'wac.Date.PlaceHolder.dd/MM/yyyy_HH:mm' | translate }}</span>\n </div>\n </div>\n </div>\n <div\n class=\"wac-calendar__absolute\"\n [ngClass]=\"{\n top: position === 'top',\n bottom: position === 'bottom',\n left: position === 'left',\n right: position === 'right',\n 'right-top': position === 'right-top',\n 'right-bottom': position === 'right-bottom',\n 'left-top': position === 'left-top',\n 'left-bottom': position === 'left-bottom',\n 'with-time': typeDate === 'datetime-local' || typeDate === 'datetime'\n }\"\n >\n <nwb-date-picker #datePicker (change)=\"onChangeDate($event)\" [options]=\"options\">\n <input [nwbDatepickerStart]=\"datePicker\" type=\"text\" [nwbDateType]=\"'date'\" [value]=\"dateSelected?.toISOString()\" />\n </nwb-date-picker>\n <div class=\"wac-calendar__absolute__time\" *ngIf=\"typeDate === 'datetime-local' || typeDate === 'datetime'\">\n <div class=\"wac-calendar__absolute__time__wrapper\">\n <div class=\"wac-calendar__absolute__time__wrapper__hours\">\n <div class=\"wac-calendar__absolute__time__wrapper__hours__left\">\n <button class=\"wac-calendar__absolute__time__wrapper__hours__btn\" (click)=\"incrementHours($event)\">\n <i class=\"fas fa-plus\"></i>\n </button>\n <button class=\"wac-calendar__absolute__time__wrapper__hours__btn\" (click)=\"decrementHours($event)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n </div>\n <div class=\"wac-calendar__absolute__time__wrapper__hours__right\">\n <input #hours type=\"text\" [(ngModel)]=\"calendarHours\" [wacOnlyNumber]=\"true\"/>\n </div>\n </div>\n <div class=\"wac-calendar__absolute__time__wrapper__minutes\">\n <div class=\"wac-calendar__absolute__time__wrapper__minutes__left\">\n <input #minutes type=\"text\" [(ngModel)]=\"calendarMinutes\" [wacOnlyNumber]=\"true\"/>\n </div>\n <div class=\"wac-calendar__absolute__time__wrapper__minutes__right\">\n <button class=\"wac-calendar__absolute__time__wrapper__minutes__btn\" (click)=\"incrementMinutes($event)\">\n <i class=\"fas fa-plus\"></i>\n </button>\n <button class=\"wac-calendar__absolute__time__wrapper__minutes__btn\" (click)=\"decrementsMinutes($event)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </wac-optional-disable-container>\n <p class=\"wac-calendar__endLabel\" *ngIf=\"type === 'edit'\">{{ endLabel }}</p>\n</div>\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'wac-edit-in-place',\n templateUrl: './edit-in-place.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: WzEditInPlaceComponent,\n multi: true\n }\n ]\n})\nexport class WzEditInPlaceComponent implements ControlValueAccessor, AfterViewChecked, OnChanges {\n //! Refacto aweful to use\n // todo add exemples in showcases\n // ! Not working correctly with ngModel and (ngModelChange)\n @Input()\n type: string;\n @Input()\n nwbOptions: object | string[];\n @Input()\n config: NwbEditInPlaceConfig = {};\n @Input()\n label: string;\n @Output() customChange = new EventEmitter<any>();\n\n @ViewChild('input')\n input: ElementRef;\n\n objectKeys = Object.keys;\n public currentValue: string | number;\n private preValue: string | number;\n\n public inputWidth: number;\n public editing = false;\n public isLoading: boolean;\n private firstEdit: boolean;\n private initialized: boolean;\n\n public onChange: any = Function.prototype;\n public onTouched: any = Function.prototype;\n\n get value(): any {\n return this.currentValue;\n }\n\n set value(v: any) {\n if (v !== this.currentValue) {\n this.currentValue = v;\n }\n }\n\n writeValue(value: any) {\n if (value !== null) {\n if (this.config.currency) {\n this.currentValue = this.parseValueToNumber(value);\n if (this.config.separator !== '.') {\n this.currentValue = this.parseValueToSeparator(this.currentValue);\n }\n this.currentValue += this.config.currency;\n } else {\n this.currentValue = value;\n }\n }\n }\n\n public registerOnChange(fn: (_: any) => {}): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n private _setValue(v: string | number) {\n if (this.type === 'select') {\n this.onChange(v);\n } else if (typeof this.config.currency === 'string') {\n v = this.parseValueToNumber(v);\n this.onChange(v);\n if (this.config.separator !== '.') {\n v = this.parseValueToSeparator(v);\n }\n v = v + this.config.currency;\n this.customChange.emit(v);\n } else {\n this.onChange(v);\n }\n this.writeValue(v);\n this.value = v;\n }\n\n ngAfterViewChecked() {\n if (this.input && this.editing) {\n this.input.nativeElement.focus();\n if (this.config.selectTextUponClick && this.firstEdit && this.preValue && this.input.nativeElement.value) {\n this.input.nativeElement.select();\n this.firstEdit = false;\n }\n }\n this.initialized = true;\n }\n\n startEditing() {\n if (!this.editing) {\n this.editing = true;\n this.currentValue = this.checkAndRemoveCurrency(this.currentValue);\n this.firstEdit = true;\n }\n }\n\n edit() {\n this.preValue = this.currentValue;\n this.editing = true;\n }\n\n onSubmit() {\n this.editing = false;\n if (this.currentValue !== this.preValue) {\n if (typeof this.config.handler === 'function') {\n this.isLoading = true;\n this.config.handler(this.currentValue, this.config.data).subscribe(\n data => {\n let hasChanged: boolean;\n this.isLoading = false;\n if (typeof data !== 'boolean') {\n this.currentValue = data.value;\n hasChanged = data.success;\n } else {\n hasChanged = data;\n }\n if (hasChanged) {\n this._setValue(this.currentValue);\n } else {\n this._setValue(this.preValue);\n }\n },\n () => {\n this.isLoading = false;\n this._setValue(this.preValue);\n }\n );\n } else {\n this._setValue(this.currentValue);\n }\n } else {\n if (typeof this.config.currency === 'string') {\n this.currentValue = this.currentValue + this.config.currency;\n }\n }\n }\n\n checkAndRemoveCurrency(value) {\n if (typeof this.config.currency === 'string') {\n return value.slice(0, -1);\n }\n\n return value;\n }\n\n parseValueToNumber(value) {\n if (!isNaN(value) && value !== '') {\n return parseFloat(value);\n }\n if (typeof this.config.currency === 'string') {\n const indexComma = value.indexOf(',');\n const indexDot = value.indexOf('.');\n if (indexComma > 0 && indexDot === -1) {\n const parsedValue = value.replace(',', '.');\n if (!isNaN(parsedValue)) {\n return parseFloat(parsedValue);\n }\n }\n if (indexDot > 0 && indexComma === -1) {\n if (!isNaN(value)) {\n return parseFloat(value);\n }\n }\n return 0;\n }\n }\n\n parseValueToSeparator(value) {\n if (typeof this.config.separator === 'string') {\n value = parseFloat(value).toFixed(2);\n return value.replace('.', this.config.separator);\n }\n\n return value;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.initialized) {\n this.currentValue = this.checkAndRemoveCurrency(this.currentValue) + this.config.currency;\n this.customChange.emit(this.value);\n }\n }\n\n selectOption(event) {\n this.currentValue = event.target.innerText;\n this.closeSelect(event);\n event.stopPropagation();\n this.customChange.emit(event.target.value);\n }\n\n closeSelect(event) {\n this.editing = false;\n this.isLoading = false;\n event.stopPropagation();\n }\n}\n\nexport interface NwbEditInPlaceConfig {\n /** Whether to select the whole text inside the input upon click */\n selectTextUponClick?: boolean;\n\n /** Data to pass as the second argument for the handler method if any **/\n data?: any;\n\n currency?: string;\n\n separator?: string;\n\n /**\n * handler method to call on change.\n * This allows you to perform any action before setting new value to the model\n * It has to return a boolean observable. If the returned value is true then the model will change.\n */\n handler?: (value: any, data: any) => Observable<boolean | ReturnedData>;\n}\n\nexport interface ReturnedData {\n success: boolean;\n value: any;\n}\n","<div [class.nwb-wrapper--editable]=\"type === 'select' || (!editing && !isLoading)\" class=\"wac-edit-in-place nwb-wrapper\" (click)=\"startEditing()\">\n <span\n data-text=\"dd\"\n [class.nwb-is-loading]=\"type === 'select' ? '' : isLoading\"\n [class.nwb-editing]=\"type === 'select' ? '' : editing\"\n [ngClass]=\"type === 'select' ? 'nwbSelect' : ''\"\n >\n {{ currentValue }}\n </span>\n\n <input\n #input\n *ngIf=\"type !== 'select' && editing\"\n [class.nwb-editable]=\"!editing\"\n [class.nwb-editing]=\"editing\"\n [class.nwb-is-loading]=\"isLoading\"\n type=\"text\"\n [(ngModel)]=\"value\"\n (focus)=\"edit()\"\n (blur)=\"onSubmit()\"\n (keyup.enter)=\"onSubmit()\"\n [ngStyle]=\"{ 'width.px': inputWidth }\"\n />\n <div class=\"nwbSelect__container\" *ngIf=\"type === 'select' && editing\">\n <div class=\"nwbSelect__background\" (click)=\"closeSelect($event)\"></div>\n <ng-container *ngFor=\"let nwbOption of objectKeys(nwbOptions)\">\n <button\n *ngIf=\"nwbOptions[nwbOption]\"\n [ngClass]=\"\n nwbOptions[nwbOption].label === currentValue\n ? 'nwbSelect__container__item nwbSelect__container__item--selected'\n : 'nwbSelect__container__item'\n \"\n (click)=\"selectOption($event)\"\n [value]=\"nwbOptions[nwbOption].value\"\n >\n {{ nwbOptions[nwbOption].label ? nwbOptions[nwbOption].label : nwbOptions[nwbOption].value }}\n </button>\n </ng-container>\n </div>\n\n <span class=\"nwb-loader\" [class.nwb-is-loading]=\"type === 'select' ? '' : isLoading\"></span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ProgressBarComponent } from '../progress-bar/progress-bar.component';\nimport { AutosizeModule } from 'ngx-autosize';\n\n@Component({\n selector: 'wac-text-area',\n templateUrl: './text-area.component.html',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ProgressBarComponent,\n AutosizeModule\n ],\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextAreaComponent, multi: true }]\n})\nexport class TextAreaComponent implements ControlValueAccessor {\n // todo simplify and improve progress bar\n @Input()\n label = '';\n @Input()\n value = '';\n @Input()\n placeholder = '';\n @Input()\n textInfo = '';\n @Input()\n textError = '';\n @Input()\n error: boolean;\n @Input()\n success: boolean;\n @Input()\n size = null;\n @Input()\n min = null;\n @Input()\n max = null;\n @Input()\n minHeight: string;\n @Input()\n dynamicSize = false;\n @Input()\n progressBar = false;\n @Input()\n disabled = false;\n @Input()\n maxlength: number | string;\n @Input()\n minlength: number | string;\n @Input()\n disableResize = false;\n\n id =\n 'wac-textarea__' +\n Math.random()\n .toString(36)\n .substr(2, 9);\n\n private _onChange: Function;\n private _onTouched: Function;\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n this.writeValue(value);\n }\n }\n\n onBlur() {\n if (this._onTouched) {\n this._onTouched();\n }\n }\n}\n","<div class=\"field wac-text-area\" [ngClass]=\"{'dynamic': dynamicSize}\">\n <div class=\"field-label is-normal has-text-left\">\n <label class=\"label has-text-weight-normal\" [innerHTML]=\"label\" [for]=\"id\"></label>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p class=\"control\" [ngClass]=\"{ 'has-icons-right': (textError || error || success) && !disabled }\">\n <textarea\n [class]=\"'textarea' + (disableResize ? ' no-resize' : '')\"\n [id]=\"id\"\n [ngClass]=\"{ 'is-danger': (textError || error) && !disabled, 'is-empty': value === '', 'is-success': success && !disabled, 'has-help-text': textInfo !== '' || size }\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [style.minHeight]=\"minHeight\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n [autosize]=\"dynamicSize\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n ></textarea>\n <!-- Icon error -->\n <span *ngIf=\"(textError || error) && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n <span\n *ngIf=\"textInfo && (textError === null || textError === '')\"\n class=\"is-size-7 wac-text-area__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n <span *ngIf=\"textError\" class=\"is-size-7 wac-text-area__error has-text-danger\" [innerHtml]=\"textError\"></span>\n <span\n *ngIf=\"size && !progressBar\"\n class=\"is-size-7 wac-text-area__size\"\n [ngClass]=\"value && value.length > size ? 'has-text-danger' : ''\"\n ><strong>{{ value ? value.length : 0 }}</strong> / {{ size }}</span\n >\n </p>\n <wac-progress-bar *ngIf=\"progressBar && value\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-h1',\n templateUrl: './h1.component.html'\n})\nexport class H1Component {\n @Input()\n annotation = '';\n @Input()\n withImg = false;\n @Input()\n center = false;\n @Input()\n color = null;\n constructor() {}\n}\n","<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg, 'center': center}\" [style.color]=\"color?color:''\"><ng-content></ng-content><small *ngIf=\"annotation !== ''\">{{ annotation }}</small></h1>\n","import { Component, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'wac-h2',\n templateUrl: './h2.component.html'\n})\nexport class H2Component implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<h2 class=\"wac-h2\"><ng-content></ng-content></h2>\n","import { Component, Input, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'wac-h3',\n templateUrl: './h3.component.html'\n})\nexport class H3Component implements OnInit {\n @Input() grey = false;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<h3 class=\"wac-h3\" [ngClass]=\"{ grey: grey }\"><ng-content></ng-content></h3>\n","import { Injectable } from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HistoryService {\n private history: string[] = [];\n\n constructor(private router: Router) {}\n\n registerHistory() {\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationStart) {\n if (this.history.length > 0 && this.history[this.history.length - 1] === event.url.split('?')[0]) {\n return;\n }\n this.history.push(event.url.split('?')[0])\n }\n })\n }\n\n back(link: string[]) {\n this.history.pop();\n if (this.history.length > 0) {\n const lastlink = this.history[this.history.length - 1];\n this.router.navigate(lastlink.split('/'));\n } else {\n this.redirect(link);\n }\n }\n\n redirect(link: string[]) {\n if (link[0].indexOf('http') !== -1) {\n this.redirectToExternalLink(link);\n } else {\n this.redirectToInternalLink(link);\n }\n }\n\n redirectToExternalLink(link: string[]) {\n window.location.href = link[0];\n }\n\n redirectToInternalLink(link: string[]) {\n this.router.navigate(link);\n }\n}\n","import { Location } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { HistoryService } from '../../services/history.service';\n@Component({\n selector: 'wac-header-page',\n templateUrl: './header-page.component.html'\n})\nexport class HeaderPageComponent {\n @Input()\n title: string;\n @Input()\n linkBack: string[];\n @Input()\n withImg = false;\n @Input()\n center = false;\n @Input()\n useHistory = false;\n\n constructor(private historyService: HistoryService, private location: Location) {}\n back() {\n if (!this.useHistory) {\n this.historyService.redirect(this.linkBack);\n return;\n }\n\n this.historyService.back(this.linkBack);\n }\n}\n","<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" (click)=\"back()\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n","import { AfterViewInit, Component, ElementRef, Input, Renderer2, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'wac-link',\n templateUrl: './link.component.html'\n})\nexport class LinkComponent implements AfterViewInit {\n\n _link: string;\n\n @Input() set href(link : string) {\n this._link = link;\n this.setAttributesLink();\n }\n\n get href(): string {\n return this._link;\n }\n\n @Input() tooltip: string;\n @Input() tooltipWidth: string | number;\n @Input() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n @Input() id: string;\n @Input() class: string;\n @Input() fontSize = '14px';\n\n @ViewChild('linkComponent')\n linkComponent: ElementRef;\n\n constructor(private renderer2: Renderer2) {}\n\n ngAfterViewInit() {\n this.setAttributesLink();\n }\n\n setAttributesLink() {\n if (!this.linkComponent) {\n return;\n }\n\n if (this.href) {\n this.renderer2.setAttribute(this.linkComponent.nativeElement, \"href\", this.href);\n this.renderer2.setAttribute(this.linkComponent.nativeElement, \"target\", this.target);\n } else {\n this.renderer2.removeAttribute(this.linkComponent.nativeElement, \"href\");\n this.renderer2.removeAttribute(this.linkComponent.nativeElement, \"target\");\n }\n }\n}\n","<a #linkComponent class=\"wac-link\" [style.fontSize]=\"fontSize\" [ngClass]=\"{ class: class }\" [id]=\"{ id: id }\">\n <ng-content></ng-content>\n <span class=\"wac-link__tooltip\" [ngStyle]=\"{'min-width': tooltipWidth + 'px'}\" *ngIf=\"tooltip\" [innerHTML]=\"tooltip\"></span>\n</a>\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n@Component({\n selector: 'wac-switch',\n templateUrl: './switch.component.html',\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: SwitchComponent, multi: true },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SwitchComponent implements OnInit, ControlValueAccessor {\n // todo add ngmodel and review texts display (textState is mandatory in order to display textStateEnable and textStateDisable)\n @Input() value = false;\n @Input() textState = '';\n @Input() textStateAfter = '';\n @Input() textStateEnable = '';\n @Input() textStateDisable = '';\n @Input() showInput = false; // todo should not be handle here, but in another component\n @Input() placholderInput: string; // todo should be removed from here\n @Input() danger = false;\n @Input() whiteSpace: boolean = false;\n @Output() switchChange = new EventEmitter<any>(); // todo set emitted type\n @Output() changeInput = new EventEmitter<any>(); // todo set emitted type, should be removed\n valueInput: string;\n public id: string;\n\n disabled: boolean;\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.id = 'switch-' + Math.floor(Math.random() * Math.floor(1000));\n }\n\n changeValue(event: any) {\n if (this.disabled) {\n return;\n }\n this.value = event.target.checked;\n this.switchChange.emit(this.value);\n this.onChange(this.value)\n }\n\n triggerInput() {\n this.changeInput.emit(this.valueInput);\n }\n\n private onChange: (value: boolean) => void = (value) => {};\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n registerOnChange(onChange: any): void {\n this.onChange = onChange;\n }\n\n onBlur(): void {\n this.onTouched();\n }\n\n private onTouched = () => {};\n\n registerOnTouched(onTouched: any): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n this.changeDetectorRef.markForCheck();\n }\n}\n","<div class=\"wac-switch\">\n <input type=\"checkbox\" [checked]=\"value\" (change)=\"changeValue($event)\" [id]=\"id\" [ngClass]=\"{ danger: danger }\" [disabled]=\"disabled\"/>\n <label [for]=\"id\" class=\"wac-switch__label\">\n <span class=\"wac-switch__label__text\">\n <ng-content></ng-content>\n <span\n *ngIf=\"textState\"\n [ngStyle]=\"{'whiteSpace': whiteSpace ? 'nowrap' :'normal'}\"\n >{{ textState }}\n <strong class=\"disable\" *ngIf=\"textStateDisable\">{{ textStateDisable }}</strong>\n <strong class=\"enable\" *ngIf=\"textStateEnable\">{{ textStateEnable }}</strong>\n {{ textStateAfter }}\n </span>\n </span>\n </label>\n</div>\n<div class=\"wac-show-input\" *ngIf=\"showInput && value\">\n <input [placeholder]=\"placholderInput\" type=\"text\" [(ngModel)]=\"valueInput\" (blur)=\"triggerInput()\" />\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-alert',\n templateUrl: './alert.component.html'\n})\nexport class AlertComponent implements OnInit {\n @Input() icon = true;\n @Input() warning = false;\n @Input() success = false;\n @Input() alert = false;\n @Input() iconClass = 'fas fa-info';\n @Input() closeButton = false;\n\n private isClose: boolean = false;\n @Output() isCloseChange = new EventEmitter<boolean>();\n\n constructor() {}\n ngOnInit(): void {}\n\n closeAlert(el) {\n el.remove();\n this.isClose = true;\n this.isCloseChange.next(this.isClose);\n }\n}\n","<div #alertBlock class=\"wac-alert\" [ngClass]=\"{ success: success, warning: warning, alert: alert }\">\n <i *ngIf=\"icon\" [ngClass]=\"iconClass\"></i>\n <p><ng-content></ng-content></p> <!-- ! Refacto : Remove p tag, attention à wizi-admin -->\n <a *ngIf=\"closeButton\" (click)=\"closeAlert(this.alertBlock)\"><i [ngClass]=\"'closeAlert fal fa-circle-xmark'\"></i></a>\n</div>\n","import { Component, Input } from '@angular/core';\n\n\n@Component({\n selector: 'wac-text',\n templateUrl: './text.component.html'\n})\nexport class TextComponent {\n @Input()\n textClass: 'grey'|'yellow'|'red'|'label'|'optional';\n}\n","<div class=\"wac-text\" [class]=\"textClass\">\n <p><ng-content></ng-content></p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { PaginationComponent } from './pagination.component';\nimport { PagniationArrayTotalPages } from './pipes/array-pages.pipe';\nimport { PagniationText } from './pipes/custom-text.pipe';\nimport { PagniationIsLastPage } from './pipes/is-last-page.pipe';\n\nconst pipes = [PagniationArrayTotalPages, PagniationIsLastPage, PagniationText];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TranslateModule\n ],\n exports: [PaginationComponent],\n declarations: [PaginationComponent, ...pipes],\n providers: [],\n})\nexport class PaginationModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n exports: [CheckboxComponent],\n declarations: [CheckboxComponent],\n providers: [],\n})\nexport class CheckboxModule { }\n","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n selector: '[tableColumn]'\n})\nexport class TableColumn {\n @Input() columnSize: string; // Optional.\n @Input() centerCell: 'left'|'center'|'right'; // Optional. left|center|right\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__body__line__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wac-table__body__line__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { EventEmitter, Inject, Output } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\nimport { NwbFilter, NwbFilterGroup } from '@wizishop/ng-wizi-bulma';\nimport { Subscription } from 'rxjs';\nimport { FiltersTableService } from '../shared/filters-table.service';\nimport { TableFilters } from '../shared/table-filters.model';\n\n@Directive({\n // The selector has the same name as the headerCell selector in table.component.html\n selector: '[headerCell]'\n})\nexport class TableColumnHeader {\n @Input() // Optional.\n set headerName(value: string) {\n this._headerName = value;\n this.setHeaderName();\n }\n _headerName: string = '';\n get headerName(): string {\n return this._headerName;\n }\n @Input() columnSize: string; // Optional.\n @Input() filterRouting: boolean = false; // Optional. Set to true to use Filter Routing.\n @Input() tableName: string; // Optional, but mandatory to handle sorting\n @Input() sortName: string; // Optional, but mandatory to handle sorting\n @Input() centerCell: 'left'|'center'|'right'; // Optional. left|center|right\n @Output() onSortChange: EventEmitter<boolean> = new EventEmitter(); // Emit the sort value (true, false, undefuned) of the current sort icon when clicking\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n private contentHeader: HTMLAnchorElement;\n private filterGroup: NwbFilterGroup;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private currentCell: ElementRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private filtersTableService: FiltersTableService\n ) {}\n\n ngOnInit() {\n if (this.tableName && this.sortName) {\n if (this.filterRouting) {\n this.handleSortRouting();\n } else {\n this.handleSortBasic();\n }\n }\n }\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n this.renderHeaderColumn();\n }\n\n handleSortRouting() {\n this.filterGroup = this.filtersTableService.getTableFilterGroup(this.tableName);\n\n const filterGroupChangeSub = this.filterGroup.valuesChange$.subscribe((filters:NwbFilter[]) => {\n if (!filters || !filters.length) {\n return;\n }\n const filterSort = filters.filter(filter => filter.key === 'sort')[0];\n if (this.sortName !== filterSort.value) {\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(filterGroupChangeSub);\n }\n\n handleSortBasic() {\n const sortChangeSub = this.filtersTableService.getSortChangeListner().subscribe(sort => {\n if (this.tableName === sort.dataTableName && this.sortName !== sort.sortName) {\n // Reset the current sort icon\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(sortChangeSub);\n }\n\n resetSortIcon() {\n // Replace current icon with default icon\n this.contentHeader.className = this.contentHeader.className.replace(this.getCurrentSortIcon(), 'idle');\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__head__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wac-table__head__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n\n renderHeaderColumn() {\n this.createHeaderContent();\n this.renderer.appendChild(this.currentCell.nativeElement, this.contentHeader);\n }\n\n createHeaderContent() {\n this.contentHeader = document.createElement('a');\n this.contentHeader.className = 'wac-table__head__cell__search';\n this.setHeaderName();\n if (this.tableName && this.sortName) {\n this.handleSort();\n }\n }\n\n private setHeaderName() {\n if (!this.contentHeader) {\n return;\n }\n this.contentHeader.innerHTML = this.headerName;\n }\n\n handleSort() {\n // Set icon in the header column cell\n this.contentHeader.className += ' wac-table__head__cell__search--' + this.getInitialSortIcon();\n\n // On click on the content header, change the icon and emit event\n this.renderer.listen(this.contentHeader, 'click', () => {\n const currentIcon = this.getCurrentSortIcon();\n let newIcon: string;\n let newSort: string, newOrder: boolean;\n\n switch (currentIcon) {\n case 'idle':\n newIcon = 'up';\n newSort = this.sortName;\n newOrder = true;\n break;\n\n case 'up':\n newIcon = 'down';\n newSort = this.sortName;\n newOrder = false;\n break;\n\n case 'down':\n newIcon = 'idle';\n break;\n\n default:\n newIcon = 'idle';\n break;\n }\n // Replace the icon\n this.contentHeader.className = this.contentHeader.className.replace(currentIcon, newIcon);\n\n this.emitEvents(newSort, newOrder);\n });\n }\n\n getInitialSortIcon() {\n if (!this.filterRouting) {\n return 'idle';\n }\n // Get Initial Sort Icon for Routing Filter\n let initialSortIcon = 'idle';\n if (this.filterGroup.get('sort') === this.sortName) {\n initialSortIcon = this.filterGroup.get('order') == 'true' ? 'up' : 'down';\n }\n return initialSortIcon;\n }\n\n getCurrentSortIcon() {\n const regexp = /wac-table__head__cell__search--(?<icon>\\w+)/;\n const { groups } = regexp.exec(this.contentHeader.className);\n return groups.icon;\n }\n\n emitEvents(newSort, newOrder) {\n if (this.filterRouting) {\n // Will send the filter routing value has changes event\n this.filterGroup.setValues({\n sort: newSort,\n order: newOrder,\n currentPage: 1\n });\n } else {\n // Send the event sort change\n this.filtersTableService.emitSortChange(this.tableName, this.sortName, newOrder);\n }\n if (this.tableFilters) {\n this.tableFilters.sort = this.sortName;\n this.tableFilters.order = newOrder;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n }\n this.onSortChange.emit(newOrder);\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => {\n subscription.unsubscribe();\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\nimport { LoaderComponent } from '../loader/loader.component';\nimport { PaginationModule } from '../pagination/pagination.module';\nimport { CheckBoxRow } from './directives/checkBoxRow.directive';\nimport { TableColumn } from './directives/column.directive';\nimport { TableColumnHeader } from './directives/columnHeader.directive';\nimport { TableRow } from './directives/raw.directive';\n\nimport { TableComponent } from './table.component';\nimport { InputSearchComponent } from '../inputs/input-search/input-search.component';\n\nconst directives = [TableColumn, CheckBoxRow, TableColumnHeader, TableRow,]\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n InputSearchComponent,\n LoaderComponent,\n CheckboxModule,\n PaginationModule\n ],\n exports: [TableComponent, ...directives],\n declarations: [TableComponent, ...directives],\n providers: [],\n})\nexport class TableModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-upload',\n templateUrl: './upload.component.html'\n})\nexport class UploadComponent implements OnInit {\n @Input()\n label: string = 'Choisir les images à importer';\n @Input()\n type: string = 'button';\n @Input()\n icon: string | boolean = 'far fa-images';\n @Input()\n image: string | boolean = 'assets/angular-components/images/upload/icon_picture.svg';\n @Input()\n labelImage: string = 'Glisser-déposer votre image ici';\n\n @Output()\n open = new EventEmitter<any>();\n constructor() {}\n\n ngOnInit(): void {}\n\n triggerEvent(event) {\n this.open.emit(event);\n }\n}\n","<div class=\"wac-upload\" [ngClass]=\"{ portrait: type === 'portrait', landscape: type === 'landscape' }\">\n <div class=\"wac-upload__wrapper\">\n <div *ngIf=\"(type === 'portrait' || type === 'landscape') && image\" class=\"wac-upload__wrapper__visual\">\n <img [src]=\"image\" />\n <strong [innerHTML]=\"labelImage\"></strong>\n </div>\n <span *ngIf=\"(type === 'portrait' || type === 'landscape') && image\">ou</span>\n <button (click)=\"triggerEvent($event)\">\n <span *ngIf=\"icon\"><i [classList]=\"icon\"></i></span>\n <span [innerHTML]=\"label\"></span>\n </button>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-h4',\n templateUrl: './h4.component.html'\n})\nexport class H4Component implements OnInit {\n @Input() grey = false;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<h4 class=\"wac-h4\" [ngClass]=\"{ grey: grey }\"><ng-content></ng-content></h4>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { CalllToAction } from '../select/call-to-action.model';\nimport { SelectItem } from '../select/select-items.dto';\n\n@Component({\n selector: 'wac-select-in-text',\n templateUrl: './select-in-text.component.html',\n})\nexport class SelectInTextComponent implements OnInit {\n @Input()\n set items(items: SelectItem[]) {\n this._items = items;\n this.setInitialValues();\n }\n get items(): SelectItem[] {\n return this._items;\n }\n private _items: SelectItem[];\n\n @Input()\n placeholder: string;\n\n @Input()\n label: string;\n\n @Input()\n maxWidthItems: string;\n\n @Input()\n type = 'default';\n\n @Input()\n callToAction: CalllToAction;\n\n @Input()\n preText: string;\n\n @Input()\n postText: string;\n\n @Input()\n alwaysOpen: boolean = false;\n\n openCategories = false;\n\n currentLabel: string = '';\n currentLabelIcon: string = '';\n\n @Input() maxWidth = '100%';\n\n @Output() selectValue = new EventEmitter<number>();\n\n @Output() clickOnCallToAction = new EventEmitter<any>();\n\n constructor() {}\n\n ngOnInit(): void {\n this.currentLabel = this.placeholder;\n this.setInitialValues();\n }\n\n setInitialValues() {\n if (!this.items.length) {\n return;\n }\n\n const itemSelected: SelectItem = this.getItemSelected();\n this.setCurrentItem(itemSelected);\n }\n\n onClose() {\n this.openCategories = false;\n }\n\n customTB(index: number, item: SelectItem) {\n return item.id;\n }\n\n onSelectItem(index: number) {\n this.unselectAll();\n const itemSelected: SelectItem = this.items[index];\n this.setCurrentItem(itemSelected);\n this.selectValue.emit(index);\n }\n\n onClickCallToAction() {\n this.clickOnCallToAction.emit(this.callToAction.value);\n }\n\n private getItemSelected():SelectItem {\n let itemSelected: SelectItem = null;\n this.items.forEach(item => {\n if (!item.selected) {\n return;\n }\n itemSelected = item;\n });\n return itemSelected;\n }\n\n private setCurrentItem(itemSelected: SelectItem) {\n if (!itemSelected) {\n return;\n }\n itemSelected.selected = true;\n this.currentLabel = itemSelected.name;\n this.currentLabelIcon = itemSelected.icon;\n }\n\n private unselectAll() {\n this.items.forEach(item => item.selected = false);\n }\n}\n","<div class=\"wac-select-in-text\" wzAutoHide (clickOutside)=\"onClose()\" [ngStyle]=\"{ 'max-width': maxWidth }\" [zIndexToggle]=\"openCategories\">\n <div class=\"wac-select-in-text__prepend\" [innerHTML]=\"preText\" *ngIf=\"preText\"></div>\n <div #current class=\"wac-select-in-text__current\" (click)=\"openCategories = !openCategories\">\n <span>{{ currentLabel }}</span>\n <div\n class=\"wac-select-in-text__content\"\n [ngClass]=\"{ hidden: !openCategories && !alwaysOpen, open: type === 'open' }\"\n [ngStyle]=\"{ 'max-width': maxWidthItems }\"\n >\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"items.length > 0\">\n <div class=\"wac-select-in-text__content__item\" *ngFor=\"let item of items; trackBy : customTB; let index = index;\">\n <div [ngClass]=\"{ selected: item.selected }\" (click)=\"onSelectItem(index)\">\n <span class=\"icon\" [innerHTML]=\"item.icon\" *ngIf=\"item.icon\"></span>{{ item.name }}\n </div>\n </div>\n </perfect-scrollbar>\n </div>\n </div>\n <div class=\"wac-select-in-text__after\" [innerHTML]=\"postText\" *ngIf=\"postText\"></div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'wac-multiple-search',\n templateUrl: './multiple-search.component.html'\n})\nexport class MultipleSearchComponent implements OnInit {\n @Input() options = [];\n @Input() alwaysOpen = false;\n label = '';\n placeholder = '';\n icon = '';\n query = '';\n search: any = '';\n openSelect = false;\n error = 'wac.simpleSearchComponent.error';\n showError = false;\n constructor(private translateService: TranslateService) {}\n\n ngOnInit(): void {\n this.setPlaceholder();\n this.setLabel();\n this.setQuery();\n this.setIcon();\n }\n\n setSearchValueToQuery(value) {\n if (value.code !== 'Enter') {\n this.search = encodeURI(value.target.value);\n } else {\n this.submitForm();\n }\n }\n\n submitForm() {\n if (this.search) {\n if (this.search.length > 0) {\n window.location.href = this.query.replace('{s}', this.search);\n } else {\n this.displayError();\n }\n } else {\n this.displayError();\n }\n }\n\n setPlaceholder(value?) {\n if (value) {\n this.placeholder = this.options[value].placeholder;\n } else {\n this.placeholder = this.options[0].placeholder;\n }\n }\n\n setLabel(value?) {\n if (value) {\n this.label = this.options[value].label;\n } else {\n this.label = this.options[0].label;\n }\n }\n\n setQuery(value?) {\n if (value) {\n this.query = this.options[value].queries;\n } else {\n this.query = this.options[0].queries;\n }\n }\n\n displayError() {\n this.showError = true;\n setTimeout(() => {\n this.hideError();\n }, 2000);\n }\n\n hideError() {\n this.showError = false;\n }\n\n setIcon(value?) {\n if (value) {\n this.icon = this.options[value].icon;\n } else {\n this.icon = this.options[0].icon;\n }\n }\n\n openFuncSelect() {\n this.openSelect = !this.openSelect;\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n resetAllVue(value) {\n this.setPlaceholder(value);\n this.setLabel(value);\n this.setQuery(value);\n this.setIcon(value);\n this.search = '';\n this.closeSelect();\n }\n}\n","<div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\">\n <div class=\"wac-multiple-search__wrapper\">\n <div class=\"wac-multiple-search__wrapper__left\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <span>{{ label }}</span>\n <i class=\"fal fa-chevron-down\"></i>\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"openFuncSelect()\"></div>\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect || alwaysOpen\">\n <div\n class=\"wac-multiple-search__wrapper__left__select__item\"\n *ngFor=\"let option of options; let i = index\"\n [attr.data-index]=\"i\"\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\n >\n <i [ngClass]=\"option.icon\"></i>\n <span>{{ option.label }}</span>\n <input type=\"hidden\" value=\"\" />\n </div>\n </div>\n </div>\n <div class=\"wac-multiple-search__wrapper__right\">\n <form [action]=\"query\" method=\"get\">\n <button type=\"submit\" (click)=\"submitForm()\"><i class=\"fal fa-search\"></i></button>\n <input #inputSearch type=\"text\" required [placeholder]=\"placeholder\" (keyup)=\"setSearchValueToQuery($event)\" />\n </form>\n </div>\n </div>\n <div class=\"wac-multiple-search__error\" *ngIf=\"showError\">{{ error | translate}}</div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MultipleSearchPlusOption } from './shared/multiple-search-plus-option.model';\nimport { MultipleSearchPlusResults } from './shared/multiple-search-plus-results.model';\n\n@Component({\n selector: 'wac-multiple-search-plus',\n templateUrl: './multiple-search-plus.component.html'\n})\nexport class MultipleSearchPlusComponent implements OnInit {\n\n currentOption:number;\n label = '';\n placeholder = '';\n openSelect = false;\n openSearchResults = false;\n\n isLoading = true;\n\n @Input() options:MultipleSearchPlusOption[];\n @Input() searchResults:MultipleSearchPlusResults[];\n @Input() disabled: boolean | string = false;\n\n @Output() searchValue = new EventEmitter();\n @Output() optionsChange = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {\n this.setCurrentOption();\n this.setPlaceholder();\n this.setLabel();\n }\n\n setSearchValue(value:any) {\n if(value.target.value != ''){\n this.openSearchResults = true;\n } else {\n this.openSearchResults = false;\n }\n this.searchValue.emit({ currentOption: this.options[this.currentOption].code, value: value.target.value });\n }\n\n setCurrentOption(value?:number) {\n this.currentOption = value || 0;\n }\n\n setPlaceholder(value?:number) {\n this.placeholder = value ? this.options[value].placeholder : this.options[0].placeholder;\n }\n\n setLabel(value?:number) {\n this.label = value ? this.options[value].label : this.options[0].label;\n }\n\n onToggleSelect() {\n this.openSelect = !this.openSelect;\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n closeSearchResults() {\n this.openSearchResults = false;\n }\n\n resetAllVue(value:number) {\n this.searchResults = undefined;\n this.setCurrentOption(value);\n this.setPlaceholder(value);\n this.setLabel(value);\n this.openSearchResults = false;\n this.closeSelect();\n }\n\n addResult(index:number) {\n let alreadyExist = false;\n this.options[this.currentOption].table.forEach(elem => {\n if(elem.id == this.searchResults[index].id){\n alreadyExist = true;\n }\n });\n if(!alreadyExist) {\n this.options[this.currentOption].table.push(this.searchResults[index]);\n }\n this.resetAllVue(this.currentOption);\n this.optionsChange.emit({ currentOption: this.options[this.currentOption].code, action: 'add'});\n }\n\n deleteResult(indexItem:number, index:number) {\n this.options[index].table.splice(indexItem,1);\n this.optionsChange.emit({ currentOption: this.options[index].code, action: 'delete'});\n }\n}\n","<div class=\"wac-multiple-search-plus\" [zIndexToggle]=\"openSelect || openSearchResults\" [ngClass]=\"{ 'disabled': disabled }\">\n <!-- Multiple select with search input -->\n <div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect }\">\n <div class=\"wac-multiple-search__wrapper\">\n <div class=\"wac-multiple-search__wrapper__left\" *ngIf=\"options.length > 1\" [ngClass]=\"{ open: openSelect }\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <span>{{ label }}</span>\n <i class=\"fal fa-chevron-down\"></i>\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"onToggleSelect()\"></div>\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect\">\n <div\n class=\"wac-multiple-search__wrapper__left__select__item\"\n *ngFor=\"let option of options; let i = index\"\n [attr.data-index]=\"i\"\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\n >\n <span>{{ option.label }}</span>\n <input type=\"hidden\" value=\"\" />\n </div>\n </div>\n </div>\n <div class=\"wac-multiple-search__wrapper__right\" wzAutoHide (clickOutside)=\"closeSearchResults()\">\n <button><i class=\"fal fa-search\"></i></button>\n <input\n #inputSearch\n type=\"text\"\n [placeholder]=\"placeholder\"\n debounceKeyUp\n [debounceTime]=\"500\"\n (onEventChange)=\"setSearchValue($event)\"\n />\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSearchResults\">\n <div\n class=\"wac-multiple-search__wrapper__left__select__item\"\n *ngFor=\"let res of searchResults; let i = index\"\n (click)=\"addResult(i); inputSearch.value = ''\"\n >\n <wac-image *ngIf=\"res.image\" [src]=\"res.image\"></wac-image>\n <wac-text>#{{ res.id }} {{ res.name }}</wac-text>\n </div>\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading && !searchResults\">\n <wac-loader [small]=\"true\"></wac-loader>\n </div>\n <div\n class=\"wac-multiple-search__wrapper__left__select__item\"\n *ngIf=\"!searchResults?.length\"\n >\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Results checked -->\n <div *ngFor=\"let option of options; let i = index\">\n <div class=\"wac-multiple-search-plus__wrapper\" *ngIf=\"option.table.length\">\n <wac-h3>{{ option.title }}</wac-h3>\n <div class=\"wac-multiple-search-plus__wrapper__block hover default\" *ngFor=\"let item of option.table; let indexItem = index\">\n <wac-image *ngIf=\"item.image\" [src]=\"item.image\"></wac-image>\n <wac-text>{{ item.name }}</wac-text>\n <span (click)=\"deleteResult(indexItem, i)\"><i class=\"fas fa-times\"></i></span>\n </div>\n </div>\n </div>\n</div>\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-label',\n templateUrl: './label.component.html',\n host: {\n 'class': 'wac-label'\n }\n})\nexport class LabelComponent implements OnInit {\n\n constructor() {}\n\n ngOnInit(): void {\n }\n\n}\n","<ng-content></ng-content>","import { Component, ContentChild, ViewEncapsulation } from '@angular/core';\nimport { LabelComponent } from '../../common/label/label.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wac-input-with-select',\n templateUrl: './input-with-select.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule]\n})\nexport class InputWithSelectComponent {\n @ContentChild(LabelComponent) label: LabelComponent;\n}\n","<p *ngIf=\"!!label\" class=\"wac-select__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n<div class=\"wac-input-with-select\">\n <div class=\"wac-input-with-select__wrapper\">\n <div class=\"wac-input-with-select__wrapper__left\">\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"wac-select\"></ng-content>\n </div>\n <div class=\"wac-input-with-select__wrapper__right\">\n <ng-content select=\"[text]\"></ng-content>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DomService } from '../../services/dom.service';\n\n@Component({\n selector: 'wac-popin',\n templateUrl: './popin.component.html'\n})\nexport class PopinComponent implements OnInit {\n @Input()\n title: string;\n\n @Input()\n content: string;\n\n @Input()\n imgSrc: string;\n\n @Input()\n okButtonLabel: string;\n\n @Input()\n koButtonLabel: string;\n\n @Input()\n okButtonClass: string;\n\n @Input()\n koButtonClass: string;\n\n @Input()\n visible = false;\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Output()\n response = new EventEmitter();\n\n @Input()\n background = true;\n\n @Input()\n closeOnBackgroundClick: boolean = true;\n\n firstOpen = false;\n\n constructor(private domService: DomService) { }\n\n ngOnInit() {\n this.domService.setDocumentEventListener();\n }\n\n validatePopin() {\n this.response.emit(true);\n this.closePopin();\n }\n\n refusePopin(){\n this.response.emit(false);\n this.closePopin();\n }\n\n closePopin(clickOnBackground: boolean = false) {\n if (!this.closeOnBackgroundClick && clickOnBackground) {\n return;\n }\n if (!this.firstOpen){ //trick for auto-hide directive that close immediatly the pop-in\n this.visible = false;\n this.visibleChange.emit(this.visible);\n this.firstOpen = true;\n } else {\n this.firstOpen = false;\n }\n }\n}\n","<div class=\"wac-free\" *ngIf=\"visible\">\n <div class=\"wac-free__wrapper\" wzAutoHide (clickOutside)=\"closePopin(true)\">\n <a class=\"wac-free__wrapper__button-close\" (click)=\"closePopin()\">\n <i class=\"fas fa-times\"></i>\n </a>\n <div class=\"wac-free__wrapper__content\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" alt=\"barre admin\" />\n\n <h2 class=\"wac-popin__wrapper__title\" [innerHTML]=\"title\"></h2>\n\n <p class=\"wac-popin__wrapper__text\" [innerHTML]=\"content\"></p>\n </perfect-scrollbar>\n </div>\n <div class=\"wac-free__wrapper__buttons\">\n <div class=\"wac-free__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\n </div>\n <div class=\"wac-free__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-free__background\" *ngIf=\"background\"></div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DomService } from '../../services/dom.service';\n\n@Component({\n selector: 'wac-free-popin',\n templateUrl: './free-popin.component.html'\n})\nexport class FreePopinComponent implements OnInit {\n @Input()\n okButtonLabel: string;\n\n @Input()\n koButtonLabel: string;\n\n @Input()\n visible = false;\n\n @Input()\n disableCloseOutside = false;\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Output()\n response = new EventEmitter();\n\n @Input()\n background = true;\n\n @Input()\n zIndex: number = 9999;\n\n firstOpen = true;\n\n constructor(private domService: DomService) { }\n\n ngOnInit() {\n if (this.visible) {\n this.firstOpen = false;\n }\n this.domService.setDocumentEventListener();\n }\n\n validatePopin() {\n this.response.emit(true);\n this.closePopin();\n }\n\n refusePopin(){\n this.response.emit(false);\n this.closePopin();\n }\n\n closePopin() {\n if (!this.firstOpen || this.disableCloseOutside) {\n this.visible = false;\n this.visibleChange.emit(this.visible);\n this.firstOpen = true;\n } else {\n this.firstOpen = false;\n }\n }\n}\n","<div class=\"wac-free-popin\" *ngIf=\"visible\" [ngStyle]=\"{'z-index': zIndex}\">\n <div class=\"wac-free-popin__wrapper\" wzAutoHide (clickOutside)=\"!disableCloseOutside ? closePopin() : ''\">\n <a class=\"wac-free-popin__wrapper__button-close\" (click)=\"closePopin()\">\n <i class=\"fas fa-times\"></i>\n </a>\n <div class=\"wac-free-popin__wrapper__content\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content></ng-content>\n </perfect-scrollbar>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons\">\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-free-popin__background\" *ngIf=\"background\"></div>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-block-separator',\n template: ``,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\n\nexport class BlockSeparatorComponent {\n\n constructor() { }\n\n}","import { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ContentChildren, ElementRef, HostBinding, Input, QueryList, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { BlockSeparatorComponent } from './separator/block-separator.component';\n\nexport type WacBlockConfig = Readonly<{\n borderRadius?: string;\n}>;\n\n@Component({\n selector: 'wac-block',\n templateUrl: './block.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CommonModule]\n})\nexport class BlockComponent implements AfterViewInit {\n\n // todo optimize render, add a call by default remove at the end, and add block in correct order, use debugger to help\n\n @ContentChildren(BlockSeparatorComponent) blockSeparators: QueryList<BlockSeparatorComponent>;\n\n @Input()\n config: WacBlockConfig = {\n borderRadius: '3px'\n }\n\n @HostBinding('style') get borderRadius() {\n return `--wac-block-border-radius: ${this.config.borderRadius ? this.config.borderRadius : '3px'};`;\n }\n\n destroy$ = new Subject<void>();\n\n constructor(\n private renderer2: Renderer2,\n private wacBlockElementRef: ElementRef\n ) {}\n\n ngAfterViewInit() {\n const groupedNodesList = this.getSeparatedGroupedOfNodes(this.wacBlockElementRef.nativeElement.childNodes);\n this.attachSeparatedBlocksToTheDom(groupedNodesList, this.wacBlockElementRef.nativeElement);\n\n this.blockSeparators\n .changes.pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.handleAddedSeparator();\n setTimeout(() => { // wait next render, because, Angular will remove child separator after this function is called\n this.handleRemovedSeparator();\n }, 0);\n\n });\n }\n\n private handleRemovedSeparator() {\n const wacBlockComponentChildNodes = this.wacBlockElementRef.nativeElement.childNodes;\n for (let i = 0; i < wacBlockComponentChildNodes.length; i++) {\n\n const childNode = wacBlockComponentChildNodes[i];\n const nextChild = wacBlockComponentChildNodes[i + 1];\n const areWacBlockSideBySide = nextChild && childNode.classList.contains('wac-block') && nextChild.classList.contains('wac-block');\n\n if (!areWacBlockSideBySide) {\n continue;\n }\n\n const parentElement = this.wacBlockElementRef.nativeElement;\n this.fusionNextBlockWithCurrentBlock(parentElement, nextChild, childNode);\n i--; // we remove a child, so we need to go back to the previous index\n\n }\n }\n\n private fusionNextBlockWithCurrentBlock(parentElement: any, nextChild: any, childNode: any) {\n parentElement.removeChild(nextChild); // not working with renderer2, it just freeze the app\n childNode.append(...nextChild.childNodes);\n }\n\n private handleAddedSeparator() {\n const wacBlockComponentChildNodes = [...this.wacBlockElementRef.nativeElement.childNodes];\n\n for (let i = 0; i < wacBlockComponentChildNodes.length; i++) {\n const childNode = wacBlockComponentChildNodes[i];\n if (childNode.nodeName === 'WAC-BLOCK-SEPARATOR') {\n continue;\n }\n if (!this.hasBlockSeparator(childNode.childNodes)) {\n continue;\n }\n\n const groupedNodesList = this.getSeparatedGroupedOfNodes(childNode.childNodes);\n groupedNodesList.shift(); // remove first group, it's the current block\n\n this.attachSeparatedBlocksToTheDom(groupedNodesList, this.wacBlockElementRef.nativeElement, wacBlockComponentChildNodes[i + 1]);\n }\n }\n\n private hasBlockSeparator(childNodes: any) {\n return [...childNodes].some(groupedNodes => groupedNodes?.nodeName === 'WAC-BLOCK-SEPARATOR');\n }\n\n private attachSeparatedBlocksToTheDom(groupedNodesList: any[], parentElement: any, nextElement?: any) {\n for (let index = 0; index < groupedNodesList.length; index++) {\n const groupedNodes = groupedNodesList[index];\n\n if (groupedNodes[0]?.nodeName === 'WAC-BLOCK-SEPARATOR') {\n this.attachToTheDom(groupedNodes[0], parentElement, nextElement);\n\n continue;\n }\n const separatedWacBlock = document.createElement('div');\n separatedWacBlock.classList.add('wac-block');\n groupedNodes.forEach(node => {\n separatedWacBlock.appendChild(node);\n });\n this.attachToTheDom(separatedWacBlock, parentElement, nextElement);\n }\n }\n\n private attachToTheDom(child:any, parentElement:any, nextElement?:any) {\n if (nextElement) {\n this.renderer2.insertBefore(parentElement, child, nextElement, true);\n } else {\n this.renderer2.appendChild(parentElement, child);\n }\n }\n\n\n private getSeparatedGroupedOfNodes(childNodes: any) {\n const groupedNodesList = [];\n let followingNodes = [];\n\n for (const node of childNodes) {\n\n if (node.nodeName === 'WAC-BLOCK-SEPARATOR') {\n groupedNodesList.push(followingNodes, [node]); // close a group and start a new one\n followingNodes = [];\n continue;\n }\n\n followingNodes.push(node);\n\n }\n\n if (followingNodes.length) {\n groupedNodesList.push(followingNodes);\n }\n return groupedNodesList;\n }\n\n ngOnDesTroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n\n","<ng-content></ng-content>","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper',\n templateUrl: './wrapper.component.html'\n})\nexport class WrapperComponent implements OnInit {\n @Input()\n size = 'fullsize';\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"wac-wrapper\" [ngClass]=\"{ fullsize: size === 'fullsize', 'max-width': size === 'max-width' }\">\n <ng-content></ng-content>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FilterItem } from './filter-item.dto';\n\n@Component({\n selector: 'wac-filters',\n templateUrl: './filters.component.html'\n})\nexport class FiltersComponent implements OnInit {\n\n @Input()\n options: FilterItem[];\n\n @Input()\n labelRestart: string = 'Afficher toutes les catégories';\n\n @Output()\n filterChange = new EventEmitter<number>();\n\n filterActiveIndex?: string;\n\n constructor() {}\n\n ngOnInit(): void {\n this.options.forEach((item, index) => {\n\n if (item.active) {\n this.filterActiveIndex = '' + index;\n }\n });\n\n }\n\n activeFilter(index: number) {\n this.options[index].active = true;\n this.filterActiveIndex = '' + index;\n this.filterChange.emit(index);\n }\n\n resetFilter() {\n this.options.forEach((item) => {\n item.active = false;\n });\n this.filterActiveIndex = null;\n this.filterChange.emit(-1);\n }\n}\n","<div class=\"wac-filters\">\n <div class=\"wac-filters__wrapper\" *ngIf=\"!filterActiveIndex\">\n <button *ngFor=\"let option of options; let i = index\">\n <span class=\"event\" (click)=\"activeFilter(i)\"></span><span [innerHTML]=\"option.name\"></span>\n </button>\n </div>\n <div class=\"wac-filters__wrapper\" *ngIf=\"filterActiveIndex\">\n <button (click)=\"resetFilter()\" class=\"active\">\n <i class=\"fas fa-times\"></i><span [innerHTML]=\"options[filterActiveIndex].name\"></span>\n </button>\n <span (click)=\"resetFilter()\">{{ labelRestart }}</span>\n </div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper-blocs',\n templateUrl: './wrapper-blocs.component.html'\n})\nexport class WrapperBlocsComponent implements OnInit {\n @Input()\n sidebar = false;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"wac-wrapper-blocs\" [ngClass]=\"{'sidebar': sidebar}\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input, OnInit, Output, ViewEncapsulation, EventEmitter } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wac-snackbar',\n templateUrl: './snackbar.component.html',\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('state', [\n state(\n 'void',\n style({\n bottom: '-100px'\n })\n ),\n state(\n 'inactive',\n style({\n bottom: '-100px'\n })\n ),\n state(\n 'active',\n style({\n bottom: '0px'\n })\n ),\n transition('void => active', animate(300)),\n transition('active => inactive', animate(300))\n ])\n ],\n standalone: true,\n imports: [CommonModule]\n})\nexport class SnackbarComponent implements OnInit {\n\n @Input() message: string;\n @Input() textButtonOk?: string;\n @Input() textButtonKo?: string;\n @Input() duration?: number;\n @Input() color?: string;\n @Input() buttonColor?: string;\n\n @Input() visible = false;\n @Output() visibleChange = new EventEmitter();\n\n @Output() response = new EventEmitter();\n\n private manualClose = false;\n\n private timer: any;\n\n ngOnInit() {\n if (this.duration > 0) {\n this.timer = setTimeout(() => this.manualClose = true, this.duration);\n }\n }\n\n validate(){\n this.response.emit(true);\n this.closeSnackbar();\n this.manualClose = true;\n }\n\n refuse(){\n this.response.emit(false);\n this.closeSnackbar();\n this.manualClose = true;\n }\n\n closeSnackbar(){\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n}\n","<div class=\"wac-snackbar\">\n <div [class]=\"'notification is-active ' + ((color) ? color : 'is-transparent')\"\n [@state]=\"visible ? 'active': 'inactive'\"\n >\n <div class=\"columns\">\n <div class=\"column notification--message\" [ngClass]=\"{'is-half': textButtonOk}\"\n [innerHTML]=\"message\">\n </div>\n <div class=\"column is-half\">\n <button [class]=\"'button ' + ((buttonColor) ? buttonColor : 'is-success')\"\n (click)=\"validate()\">{{textButtonOk}}\n </button>\n <button [class]=\"'button ' + ((buttonColor) ? buttonColor : 'is-success')\"\n (click)=\"refuse()\">{{textButtonKo}}\n </button>\n </div>\n </div>\n </div>\n</div>\n","import { Observable, Subject } from 'rxjs';\nimport { AlertPopupConfig } from './alert-popup.service';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-alert-popup',\n templateUrl: './alert-popup.component.html',\n host: {\n class: 'wac-alert-popup'\n },\n encapsulation: ViewEncapsulation.None\n})\nexport class AlertPopupComponent implements OnInit {\n config: AlertPopupConfig;\n\n /** Subject for notifying the user that the dialog has finished closing. */\n private afterClosedPopup: Subject<any> = new Subject();\n\n open = false;\n\n private timer: any;\n\n ngOnInit() {\n setTimeout(() => {\n this.open = true;\n }, 50);\n\n if (this.config.duration > 0) {\n this.timer = setTimeout(() => this.dismiss(), this.config.duration);\n }\n }\n\n dismiss() {\n this.open = false;\n\n setTimeout(() => {\n this.afterClosedPopup.next(true);\n this.afterClosedPopup.complete();\n }, 200);\n }\n\n /**\n * Gets an observable that is notified when the dialog is finished closing.\n */\n afterClosed(): Observable<any> {\n return this.afterClosedPopup.asObservable();\n }\n}\n","<div\n [class]=\"'alert ' + ((config.color) ? config.color : ' is-primary') + ((config.extraClasses) ? ' ' + config.extraClasses : '') + ((config.position) ? ' ' + config.position : '') + ((config.fullsize) ? ' fullsize' : '') + ((config.opacity) ? ' opacity-active' : '') + ((config.small) ? ' small' : '') + ((config.icon) ? ' with-icon' : '') + ((config.duration) ? '' : ' no-duration')\"\n [ngClass]=\"{'is-active': open, 'has-close': config.closeButton}\"\n>\n <div class=\"alert--message\">\n <span class=\"icon\" *ngIf=\"config.icon\">\n <i [class]=\"config.icon\"></i>\n </span>\n <span (click)=\"dismiss()\" class=\"wac-alert-popup__close\" *ngIf=\"!config.small || (config.small && config.closeButton)\"><i class=\"far fa-times\"></i></span>\n <p *ngIf=\"config.title\" class=\"wac-alert-popup__title\" [innerHTML]=\"config.title\"></p>\n <p *ngIf=\"config.message\" class=\"wac-alert-popup__text\" [innerHTML]=\"config.message\"></p>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { AlertPopupComponent } from './alert-popup.component';\nimport {DomService} from '../../services/dom.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertPopupService {\n constructor(private domService: DomService) {}\n\n open(config: AlertPopupConfig): AlertPopupComponent {\n const componentRef = this.getComponentRef(config);\n\n return componentRef.instance;\n }\n\n private getComponentRef(config: AlertPopupConfig) {\n const componentRef = this.domService.attachComponentPortal(AlertPopupComponent);\n\n config = Object.assign(\n {\n position: 'is-top'\n },\n config\n );\n\n componentRef.instance.config = config;\n\n componentRef.instance.afterClosed().subscribe(() => {\n componentRef.destroy();\n });\n\n return componentRef;\n }\n}\n\nexport interface AlertPopupConfig {\n message: string;\n title?: string;\n icon?: string;\n color?: string;\n position?: string;\n duration?: number;\n extraClasses?: string;\n fullsize?: boolean;\n opacity?: boolean;\n small?: boolean;\n closeButton?: boolean;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AlertPopupService } from './alert-popup.service';\nimport { AlertPopupComponent } from './alert-popup.component';\n\n@NgModule({\n imports: [CommonModule],\n providers: [AlertPopupService],\n entryComponents: [AlertPopupComponent],\n declarations: [AlertPopupComponent],\n exports: [AlertPopupComponent]\n})\nexport class AlertPopupModule {}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {SearchOption} from './shared/search-option.model';\nimport {SelectItem} from '../select/select-items.dto';\n\n@Component({\n selector: 'wac-search',\n templateUrl: './search.component.html'\n})\nexport class SearchComponent implements OnInit {\n\n @Input() placeholder: string;\n @Input() alwaysOpen = false;\n @Input() label: string;\n @Input() options: SearchOption[];\n @Input() disableSearchIn = false;\n @Input() emptyResult = '';\n search: any = '';\n openSelect = false;\n triggerOptions: SearchOption[];\n @Output() selectValue = new EventEmitter<number>();\n @Output() searchKeyUp = new EventEmitter<string>();\n @Output() searchFocusOut = new EventEmitter<string>();\n constructor() {}\n\n ngOnInit() {\n this.triggerOptions = this.options;\n }\n\n onClose() {\n this.openSelect = false;\n }\n\n setSearchValueToQuery(value) {\n this.search = value.target.value;\n if (this.disableSearchIn) {\n this.triggerOptions = this.options;\n } else {\n if (this.search.length > 0) {\n this.openSelect = true;\n this.triggerOptions = this.options.filter(element => element.label.toLowerCase().indexOf(this.search.toLowerCase()) !== -1);\n } else {\n this.triggerOptions = this.options;\n }\n }\n this.searchKeyUp.emit(this.search);\n }\n\n sendEventFocusOut() {\n this.searchFocusOut.emit(this.search);\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n onSelectItem(index: number, value: number, label: string) {\n this.search = '';\n this.openSelect = false;\n if (this.disableSearchIn) {\n this.selectValue.emit(index);\n } else {\n const findInOption = this.options.findIndex(element => element.label === label && element.id === value);\n this.selectValue.emit(findInOption);\n }\n }\n\n resetAllVue() {\n this.search = '';\n this.closeSelect();\n }\n\n}\n","<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <div class=\"wac-search__wrapper\">\n <button><i class=\"fal fa-search\"></i></button>\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (focusout)=\"sendEventFocusOut()\" (keyup)=\"setSearchValueToQuery($event)\" />\n </div>\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"triggerOptions.length > 0\">\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; let index = index;\">\n <div [ngClass]=\"{ selected: item.checked }\" (click)=\"onSelectItem(index, item.id, item.label)\">\n {{ item.label }}\n </div>\n </div>\n </perfect-scrollbar>\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\n </div>\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SelectedListOption } from '../../components/selected-list/shared/selected-list-option.model';\n\n@Pipe({\n name: 'areAllOptionsSelected',\n pure: false\n})\n\nexport class AreAllOptionsSelectedPipe implements PipeTransform {\n transform(options: SelectedListOption[]): boolean {\n return !options.some(option => !option.checked);\n }\n}","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {SelectedListOption} from './shared/selected-list-option.model';\n\n@Component({\n selector: 'wac-selected-list',\n templateUrl: './selected-list.component.html',\n})\nexport class SelectedListComponent implements OnInit {\n\n @Input() options: SelectedListOption[] = [];\n @Input() label: string;\n @Input() textSelectAll: string;\n @Input() textUnSelectAll: string;\n @Input() enableSelectAll = true;\n @Output() selectedItemsIndex = new EventEmitter<number>();\n @Output() selectedItemsAll = new EventEmitter<number[]>();\n @Output() unSelectedItemsAll = new EventEmitter<number[]>();\n\n selectedOptionIndex = [];\n\n ngOnInit() {\n }\n\n onSelectAll() {\n this.selectedOptionIndex = this.options.map((option, index) => {\n option.checked = true;\n return index;\n });\n this.selectedItemsAll.emit(this.selectedOptionIndex);\n }\n\n onUnSelectAll() {\n this.selectedOptionIndex = this.options.map((option, index) => {\n option.checked = false;\n return index;\n });\n this.unSelectedItemsAll.emit(this.selectedOptionIndex);\n }\n\n onSelectItem(index: number) {\n this.options[index].checked = !this.options[index].checked;\n this.selectedItemsIndex.emit(index);\n }\n\n areAllOptionsChecked() {\n return !this.options.some(option => !option.checked);\n }\n\n}\n","<div class=\"selected-list\">\n <div class=\"selected-list__wrapper\">\n <div class=\"selected-list__wrapper__head\">\n <p *ngIf=\"label\" [innerHTML]=\"label\"></p>\n <ng-container *ngVar=\"(options | areAllOptionsSelected) as areAllOptionsSelected\">\n <ng-container *ngIf=\"textSelectAll && !areAllOptionsSelected\">\n\n <div class=\"selected-list__wrapper__head__button\">\n\n <div class=\"selected-list__wrapper__head__button__notMobile\">\n <wac-button\n [label]=\"textSelectAll\"\n (click)=\"onSelectAll()\"\n >\n </wac-button>\n </div>\n\n <div class=\"selected-list__wrapper__head__button__mobile\">\n <wac-button\n [extraClasses]=\"'is-grey'\"\n [icon]=\"'fad fa-check-double'\"\n (click)=\"onSelectAll()\"\n >\n </wac-button>\n </div>\n\n </div>\n\n </ng-container>\n\n <ng-container *ngIf=\"textUnSelectAll && areAllOptionsSelected\">\n\n <div class=\"selected-list__wrapper__head__button\">\n\n <div class=\"selected-list__wrapper__head__button__notMobile\">\n <wac-button\n [extraClasses]=\"'is-info'\"\n [label]=\"textUnSelectAll\"\n (click)=\"onUnSelectAll()\"\n >\n </wac-button>\n </div>\n\n <div class=\"selected-list__wrapper__head__button__mobile\">\n <wac-button\n [extraClasses]=\"'is-grey'\"\n [icon]=\"'fad fa-check-double'\"\n (click)=\"onUnSelectAll()\"\n >\n </wac-button>\n </div>\n\n </div>\n\n </ng-container>\n\n </ng-container>\n\n </div>\n <div class=\"selected-list__wrapper__content\">\n <div class=\"selected-list__wrapper__content__item\" *ngFor=\"let item of options;let i = index;\" [ngClass]=\"{'active': item.checked}\" (click)=\"onSelectItem(i)\">\n <span [innerHTML]=\"item.label\"></span>\n <i class=\"fas fa-check\"></i>\n </div>\n </div>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { RecursifDto } from './tree.dto';\n\n@Component({\n selector: 'wac-tree',\n templateUrl: 'tree.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class TreeComponent<Tree extends RecursifDto<Tree>> {\n\n // https://indepth.dev/posts/1405/ngtemplateoutlet\n\n constructor() { }\n /**\n *! items sould include RecursifDto interface\n */\n @Input() items: Tree[];\n @Input() treeDepth:number = 0;\n @Input() optionTemplate: TemplateRef<any>;\n @Input() trackByFn: (index: number, item: Tree) => any = (index, item) => item;\n\n}","<ul [ngClass]=\"['treeDepth-' + treeDepth]\">\n <li *ngFor=\"let item of items; let index = index; trackBy: trackByFn\">\n\n <ng-template #defaultItem>\n {{ item?.treeLabel }}\n </ng-template>\n\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate || defaultItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"\n >\n </ng-container>\n\n <wac-tree [optionTemplate]=\"optionTemplate\" [items]=\"item.treeChildren\" *ngIf=\"item.treeChildren?.length\" [treeDepth]=\"treeDepth + 1\"></wac-tree>\n </li>\n</ul>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'formatObjectToRecursifTree'\n})\n\nexport class FormatObjectToRecursifTreePipe implements PipeTransform {\n\n childrenProperties: string[] = [];\n\n transform(objectList:any[], childrenProperties: string[]): any {\n this.childrenProperties = childrenProperties;\n const treeDepth = 0;\n\n objectList.forEach(object => this.recursiveFormatObjectToRecursifTree(object, treeDepth));\n\n return objectList;\n }\n\n private recursiveFormatObjectToRecursifTree(object: any, treeDepth:number): any {\n for (const childrenProperty of this.childrenProperties) {\n\n object.hasTreeChildren = true;\n\n if (!object.hasOwnProperty(childrenProperty)) {\n // No more chrildren\n object.hasTreeChildren = false;\n continue;\n }\n\n if (!Array.isArray(object[childrenProperty])) {\n throw `Property : \"${childrenProperty}\", is not an array. it could not be transform to a recursive list.`;\n }\n // Add treeChildren property filled with name children property\n object.treeChildren = object[childrenProperty];\n // call this function recursively until no children can be generated\n this.recursiveFormatObjectToRecursifTree(object.treeChildren, treeDepth++);\n break;\n }\n\n object.treeDepth = treeDepth;\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'formatObjectToSimpleTree'\n})\n\nexport class FormatObjectToSimpleTreePipe implements PipeTransform {\n\n private childrenProperties: string[] = [];\n private labelProperties: string[] = [];\n\n transform(objectList:any[], childrenProperties: string[], labelProperties: string[]): any {\n\n this.childrenProperties = childrenProperties;\n this.labelProperties = labelProperties;\n const treeDepth = 0;\n\n objectList.forEach(object => this.recursiveFormatObjectToSimpleTree(object, treeDepth));\n\n return objectList;\n }\n\n private recursiveFormatObjectToSimpleTree(object: any, treeDepth:number): any {\n for (const property in object) {\n\n if (!Object.prototype.hasOwnProperty.call(object, property)) {\n continue;\n }\n\n if (this.labelProperties.includes(property)) {\n object.treeLabel = object[property];\n continue;\n }\n\n object.hasTreeChildren = true;\n\n if (!this.childrenProperties.includes(property)) {\n // No more chrildren\n object.hasTreeChildren = false;\n continue;\n }\n\n if (!Array.isArray(object[property])) {\n throw `Property : \"${property}\", is not an array. it could not be transform to a recursive list.`;\n }\n // Add treeChildren property filled with name children property\n object.treeChildren = object[property];\n // call this function recursively until no children can be generated\n this.recursiveFormatObjectToSimpleTree(object.treeChildren, treeDepth++);\n break;\n }\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { SelectItem } from '../../components/select/select-items.dto';\n\n@Pipe({\n name: 'selectFilters'\n})\n\nexport class SelectFiltersPipe implements PipeTransform {\n transform(items: SelectItem[], filterName: string): any {\n return items.filter(item => {\n const regexp = new RegExp(filterName, 'i');\n return regexp.test(item.name);\n });\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filterOptions'\n})\n\nexport class FilterOptionsPipe implements PipeTransform {\n\n transform(options: any[], searchValue: string, ...args: string[]): any {\n const regexp = new RegExp(searchValue, 'i');\n\n return options.filter(option => {\n return args.some(arg => regexp.test(option[arg]));\n });\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { OptionField, OptionItem } from '../components/inputs/input-with-select/option-item.dto';\n\n@Pipe({\n name: 'wacFindOptionSelectedField'\n})\nexport class FindOptionSelectedPipe implements PipeTransform {\n transform(options: Readonly<OptionItem[]>, field: OptionField | OptionField[]): Partial<OptionItem> | Partial<OptionItem>[] | string {\n\n const isFieldArray = Array.isArray(field);\n\n if (!options) {\n return isFieldArray ? [] : '';\n }\n\n const optionSelected = options.find((item) => item.active);\n\n if (!optionSelected) {\n return isFieldArray ? [] : '';\n }\n\n if (isFieldArray) {\n return field.reduce((acc, curr) => {\n return acc[curr];\n }, optionSelected);\n }\n\n return optionSelected[field];\n\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Typed mapping function.\n */\nexport type Mapper<T, G> = (item: T, ...args: any[]) => G;\n\n@Pipe({\n name: 'wacFn',\n standalone: true,\n})\nexport class CallComponentFunctionPipe implements PipeTransform {\n /**\n * Maps object to an arbitrary result through a plan-name function\n *\n * @param value an item to transform\n * @param mapper a mapping function\n * @param args arbitrary number of additional arguments\n */\n transform<T, G>(value: T, mapper: Mapper<T, G>, ...args: any[]): G {\n return mapper(value, ...args);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FormatObjectToRecursifTreePipe } from './tree/format-object-to-recursif-tree.pipe';\nimport { FormatObjectToSimpleTreePipe } from './tree/format-object-to-simple-tree.pipe';\nimport { SelectFiltersPipe } from './select/select-filters.pipe';\nimport { AreAllOptionsSelectedPipe } from './selected-list/are-all-options-selected.pipe';\nimport { FilterOptionsPipe } from './select/filter-options.pipe';\nimport { FindOptionSelectedPipe } from './find-option-selected-field.pipe';\nimport { CallComponentFunctionPipe } from './call-component-function.pipe';\n\nconst exportedPipes = [\n FormatObjectToRecursifTreePipe,\n FormatObjectToSimpleTreePipe,\n FilterOptionsPipe,\n FindOptionSelectedPipe\n];\n\nconst pipes = [\n SelectFiltersPipe,\n AreAllOptionsSelectedPipe\n]\n\n@NgModule({\n imports: [CommonModule, FormsModule, CallComponentFunctionPipe],\n declarations: [...exportedPipes, ...pipes],\n exports: [...exportedPipes, ...pipes, CallComponentFunctionPipe]\n})\nexport class SharedPipes {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedPipes } from '../../pipes/shared-pipes.module';\nimport { TreeComponent } from './tree.component';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SharedPipes\n ],\n exports: [TreeComponent],\n declarations: [TreeComponent],\n providers: [],\n})\nexport class TreeModule { }\n","export const uuid = () => {\n if (typeof window !== \"undefined\" && typeof window.crypto.randomUUID === \"function\") {\n return window.crypto.randomUUID();\n }\n // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\n return window.crypto.getRandomValues(new Uint32Array(5)).join(\"-\");\n};","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild, ViewEncapsulation} from '@angular/core';\nimport { uuid } from '../../../utils/uuid';\nimport { OPTION_SELECTION_HANDLER } from './option-selection-handler.token';\nimport { SelectOptionDirective } from './select-option.directive';\n\n@Component({\n selector: 'wac-option',\n templateUrl: './option.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: OptionComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OptionComponent<TOptionValue> extends SelectOptionDirective<TOptionValue> {\n\n @ViewChild('contentWrapper') contentOption: ElementRef;\n\n checkBoxId = `wac-option-${uuid()}`;\n\n constructor(protected contentRef: ElementRef, protected changeDetectorRef: ChangeDetectorRef) {\n super(contentRef, changeDetectorRef);\n }\n\n override getContentRef(): ElementRef<any> {\n return this.contentOption;\n }\n}\n","<div\n [ngClass]=\"{ 'disabled': disabled }\"\n class=\"wac-option\"\n >\n <div [ngClass]=\"{ 'selected': !disabled && selected, 'disabled': disabled }\" #contentWrapper>\n <wac-checkbox *ngIf=\"multiple\" [id]=\"checkBoxId\" [value]=\"selected\"></wac-checkbox>\n <ng-content></ng-content>\n </div>\n</div>","import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'wac-select-search-trigger',\n templateUrl: './select-search-trigger.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectSearchTriggerComponent {\n\n @Input() searchValue: string = '';\n\n @Output() searchValueChange = new EventEmitter<string>();\n\n @Output() searchInputKeyEnterPressed = new EventEmitter<void>();\n\n @ViewChild('searchInput') searchInput: any;\n\n constructor(\n ) {\n }\n\n onSearchValueChange() {\n this.searchValueChange.emit(this.searchValue);\n }\n\n onKeypressEnter() {\n this.searchInputKeyEnterPressed.emit();\n }\n\n setFocus() {\n setTimeout(() => { // otherwise the focus is not set\n this.searchInput.nativeElement.focus();\n },0);\n }\n}\n","<div class=\"wac-select-seacrh-trigger\">\n <i class=\"far fa-search\"></i>\n <input #searchInput type=\"text\" (click)=\"$event.stopPropagation()\" [(ngModel)]=\"searchValue\" (ngModelChange)=\"onSearchValueChange()\" (keypressEnter)=\"onKeypressEnter()\"/>\n</div>","import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { ValueChangeService } from './value-change.service';\nimport { Subject } from 'rxjs';\nimport { SelectSearchTriggerComponent } from '../select-search-trigger/select-search-trigger.component';\nimport {\n DOWN_ARROW,\n ENTER,\n ESCAPE,\n hasModifierKey,\n LEFT_ARROW,\n RIGHT_ARROW,\n TAB,\n UP_ARROW,\n} from '@angular/cdk/keycodes';\nimport { LabelComponent } from '../../common/label/label.component';\nimport { SelectDirective } from './select.directive';\n\n\n@Component({\n selector: 'wac-select',\n templateUrl: './select.component.html',\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true },\n ValueChangeService\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SelectComponent<TOptionValue> extends SelectDirective<TOptionValue> implements OnInit, OnDestroy {\n //! Refacto improve sroll on mobile, see with Pauline\n // angular material select https://github.com/angular/components/blob/main/src/material/select/select.ts\n\n @HostBinding('attr.role') role = 'combobox';\n\n @ContentChild(SelectSearchTriggerComponent) customSearchTrigger: SelectSearchTriggerComponent;\n\n @ContentChild(LabelComponent) label: LabelComponent;\n\n @ViewChild('selectHeader') selectHeader: ElementRef;\n\n /** Whether the component is required. */\n @Input()\n get required(): boolean {\n return this._required ?? false;\n }\n\n set required(value: boolean) {\n this._required = value;\n }\n\n private _required: boolean | undefined;\n\n get selectedOptionContent(): any {\n return this.valueChangeService.selectedOptionContent;\n };\n\n @Input() small = false;\n\n @Input()\n set keepPanelOpen(keepPanelOpen: boolean) {\n this.openPanel = keepPanelOpen;\n this._keepPanelOpen = keepPanelOpen;\n }\n\n get keepPanelOpen(): boolean {\n return this._keepPanelOpen ;\n }\n\n private _keepPanelOpen: boolean;\n\n @Input()\n set openPanel(openPanel: boolean) {\n const wasOpen = this._openPanel;\n this._openPanel = this.keepPanelOpen || openPanel;\n\n if (openPanel) {\n this.customSearchTrigger?.setFocus();\n }\n\n if (wasOpen) {\n this.onSelectTouch(this.value);\n }\n }\n\n get openPanel() : boolean {\n return this._openPanel;\n }\n _openPanel: boolean = false;\n\n @Output() openPanelChange = new EventEmitter<boolean>();\n\n override tabIndex: number = -1;\n\n searchByTyping: boolean = true;\n\n isDestroyed$: Subject<void> = new Subject();\n\n private isKeyBoardAction = false;\n\n constructor(\n protected valueChangeService: ValueChangeService<TOptionValue>,\n ) {\n super(valueChangeService);\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.closeTabOnValueChange();\n }\n\n private closeTabOnValueChange() {\n this.valueChangeService.valueChange$.pipe(takeUntil(this.isDestroyed$), filter(this.skipIfTriggeredByKeyboardAction)).subscribe(() => {\n this.onClosePanel();\n });\n }\n\n private skipIfTriggeredByKeyboardAction = () => {\n if(!this.isKeyBoardAction) {\n return true;\n }\n this.isKeyBoardAction = false;\n return false;\n }\n\n onTogglePanel() {\n this.openPanel = !this.openPanel;\n this.openPanelChange.emit(this.openPanel);\n }\n\n onClosePanel() {\n this.openPanel = false;\n this.openPanelChange.emit(this.openPanel);\n }\n\n override onKeydown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n if (event.keyCode === TAB) {\n // go to the next element with tabindex\n if (this.openPanel) {\n this.openPanel = false;\n }\n return;\n }\n if (this.disabled) {\n return;\n }\n\n const actionTriggered = this.openPanel ? this._handleOpenKeydown(event) : this._handleClosedKeydown(event);\n\n if (actionTriggered) {\n return;\n }\n this.isKeyBoardAction = true;\n super.onKeydown(event);\n }\n\n handleKeyboardActionWithSearch(event: KeyboardEvent): boolean {\n const keyCode = event.keyCode;\n\n if (keyCode === DOWN_ARROW) {\n this.isKeyBoardAction = true;\n this.valueChangeService.selectNextOption();\n return true;\n }\n if (keyCode === UP_ARROW) {\n this.isKeyBoardAction = true;\n this.valueChangeService.selectPreviousOption();\n return true;\n }\n return false;\n }\n\n /** Handles keyboard events while the select is closed. */\n private _handleClosedKeydown(event: KeyboardEvent): boolean {\n const keyCode = event.keyCode;\n const isArrowKey =\n keyCode === DOWN_ARROW ||\n keyCode === UP_ARROW ||\n keyCode === LEFT_ARROW ||\n keyCode === RIGHT_ARROW;\n const isOpenKey = keyCode === ENTER;\n // Open the select on ALT + arrow key to match the native <select>\n if (\n (isOpenKey && !hasModifierKey(event)) ||\n (event.altKey && isArrowKey)\n ) {\n this.openPanel = true;\n return true;\n }\n\n return false;\n }\n\n /** Handles keyboard events when the selected is open. */\n private _handleOpenKeydown(event: KeyboardEvent): boolean {\n const keyCode = event.keyCode;\n const isArrowKey =\n keyCode === DOWN_ARROW ||\n keyCode === UP_ARROW ||\n keyCode === LEFT_ARROW ||\n keyCode === RIGHT_ARROW;\n const isEscapeKey = keyCode === ESCAPE || keyCode === ENTER || keyCode === TAB;\n\n if ((isArrowKey && event.altKey) || isEscapeKey) {\n // Close the select on ALT + arrow key to match the native <select>\n this.openPanel = false;\n\n if (this.customSearchTrigger && keyCode !== TAB) {\n // If a escape key is used with the search, the focus on the select is loosed. And we can not interact with the select anymore.\n this.selectHeader.nativeElement.focus();\n }\n return true;\n }\n\n return false;\n }\n\n onSelectTouch: (value: any) => void = () => {};\n\n override registerOnTouched(fn: any){\n this.onSelectTouch = fn;\n }\n\n ngOnDestroy() {\n this.isDestroyed$.next();\n this.isDestroyed$.complete();\n }\n}\n","<p *ngIf=\"!!label\" class=\"wac-select__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n<div\n class=\"wac-select\"\n wzAutoHide\n (clickOutside)=\"onClosePanel()\"\n [triggerElement]=\"'wac-select__header__selection'\"\n [zIndexToggle]=\"openPanel\"\n [ngClass]=\"{'small': small}\"\n >\n\n <div #selectHeader class=\"wac-select__header\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && onTogglePanel()\" tabindex=\"0\">\n\n <ng-container [ngTemplateOutlet]=\"openPanel ? openPanelTrigger : closePanelTrigger\" >\n\n <ng-template #closePanelTrigger>\n <ng-container [ngTemplateOutlet]=\"defaultTrigger\"></ng-container>\n </ng-template>\n\n <ng-template #openPanelTrigger>\n <ng-content *ngIf=\"!!customSearchTrigger; else defaultTrigger\" select=\"wac-select-search-trigger\" ></ng-content>\n </ng-template>\n\n <ng-template #defaultTrigger>\n <ng-content *ngIf=\"!selectedOptionContent\" select=\"wac-placeholder,[role=placeholder]\"></ng-content>\n <div\n class=\"wac-select__header__selection wac-option__placeholder\"\n *ngIf=\"!!selectedOptionContent\"\n [innerHtml]=\"selectedOptionContent\">\n </div>\n </ng-template>\n\n </ng-container>\n\n <span class=\"wac-select__header__chevron\"><i class=\"fas fa-chevron-down\"></i></span>\n\n </div>\n\n\n <div class=\"wac-select__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openPanel, open: openPanel }\">\n\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content\n select=\"wac-option-call-to-action, wac-option, option, .option, [selectOption]\">\n </ng-content>\n </perfect-scrollbar>\n\n <div *ngIf=\"!optionChildren?.length\" class=\"wac-select__content__empty\">\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n\n </div>\n</div>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'wac-option-call-to-action',\n templateUrl: './option-call-to-action.component.html'\n})\nexport class OptionCallToActionComponent {\n\n constructor() {}\n}\n","\n<div class=\"wac-option-call-to-action\">\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n\n","import {Component, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'wac-placeholder',\n templateUrl: './placeholder.component.html',\n host: {\n 'class': 'wac-placeholder'\n }\n})\nexport class PlaceholderComponent implements OnInit {\n\n constructor() {}\n\n ngOnInit(): void {\n }\n\n}\n","<ng-content></ng-content>","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper-sidebar',\n templateUrl: './wrapper-sidebar.component.html'\n})\nexport class WrapperSidebarComponent {\n\n @Input() reverse = false;\n @Input() hideBackground = false;\n @Input() backgroundGrey: string; // todo should be renamed, it is not understandable\n @Input() backgroundWidth: string;\n @Input() stickySidebar = false;\n @Input() transparentSidebar = false;\n\n constructor() { }\n}\n","<div class=\"wac-wrapper-sidebar\" [ngClass]=\"{'reverse': reverse}\">\n <div class=\"wac-wrapper-sidebar__left\" [ngClass]=\"{'sticky': stickySidebar, 'transparent': transparentSidebar}\">\n <ng-content select=\"[sidebar]\"></ng-content>\n </div>\n <div class=\"wac-wrapper-sidebar__right\" [style.backgroundImage]=\"!hideBackground && backgroundGrey !== '' ? 'url(' + backgroundGrey + ')' : ''\" [style.backgroundSize]=\"backgroundWidth\">\n <ng-content select=\"[content]\"></ng-content>\n </div>\n</div>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {BreadcrumbsDto} from './breadcrumbs.dto';\n\n@Component({\n selector: 'wac-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n})\nexport class BreadcrumbsComponent {\n\n @Input()\n breadcrumbs: BreadcrumbsDto[];\n\n @Input()\n noResponsive = false;\n\n index: number = 0;\n\n @Output()\n indexChange = new EventEmitter<any>();\n\n constructor() { }\n\n valueChanged(i) {\n this.index = i;\n this.indexChange.emit(this.index);\n }\n\n}\n","<div class=\"wac-breadcrumbs\" [ngClass]=\"{'no-responsive': noResponsive}\">\n <div class=\"wac-breadcrumbs__wrapper\">\n <div class=\"wac-breadcrumbs__item\" *ngFor=\"let b of breadcrumbs; let i = index;\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\" (click)=\"valueChanged(i)\">\n <div class=\"round\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\"><span *ngIf=\"!b.valid\"><span *ngIf=\"i < 9\">0</span>{{ i + 1 }}</span><i class=\"fas fa-check\" *ngIf=\"b.valid\"></i></div>\n <div class=\"name\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\">{{ b.name }}</div>\n </div>\n </div>\n</div>\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'wac-card-price',\n templateUrl: './card-price.component.html',\n})\nexport class CardPriceComponent {\n\n @Input()\n amount: string;\n\n @Input()\n promo: string;\n\n @Input()\n title: string;\n\n @Input()\n selected = false;\n\n @Input()\n btnLabelSelected: string;\n\n @Input()\n price: string | number;\n\n @Input()\n currency: string;\n\n @Input()\n priceWording: string;\n\n @Input()\n subtitle: string;\n\n @Input()\n btnLabel: string;\n\n @Input()\n packageSubtitle: string;\n\n @Input()\n linkPackageLabel: string;\n\n @Input()\n listFeatures: string[];\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n btnTextcolor = '#ffffff';\n\n @Input()\n extraClasses = 'is-success';\n\n @Input()\n extraClassesSelected = 'is-success is-outlined';\n\n @Input()\n hideButton = false;\n\n @Input()\n darkMode = false;\n\n @Input()\n isEvolup = false;\n\n @Output() public confirm: EventEmitter<any> = new EventEmitter();\n\n @Output() public cancel: EventEmitter<any> = new EventEmitter();\n\n constructor() { }\n\n triggerClick() {\n this.confirm.emit(true);\n }\n\n removePackageTrigger() {\n this.cancel.emit(true);\n }\n\n}\n","<div class=\"wac-card-price\" [ngClass]=\"{'selected': selected, 'is-evolup': isEvolup, 'is-dark': darkMode}\">\n <div class=\"promo\" *ngIf=\"promo\">\n <p [innerHTML]=\"promo\"></p>\n </div>\n <strong>{{amount}} <span>{{title}}</span></strong>\n <div class=\"price\">\n <span class=\"amount\">{{price}} <span>{{currency}}</span></span><span class=\"month\" [innerHTML]=\"priceWording\"></span>\n </div>\n <div class=\"subtitle\">{{subtitle}}</div>\n <div class=\"list-features\" *ngIf=\"listFeatures\">\n <div *ngFor=\"let feat of listFeatures;\" class=\"list-features__item\"><span>{{feat}}</span></div>\n </div>\n <div class=\"cta\" *ngIf=\"!selected && !hideButton\">\n <wac-button [noPadding]=\"true\" [label]=\"btnLabel\" [extraClasses]=\"extraClasses\" (click)=\"triggerClick()\" [disabled]=\"disabled\" [whiteSpaceNowrap]=\"true\" [textcolor]=\"btnTextcolor\"></wac-button>\n </div>\n <div class=\"cta\" *ngIf=\"selected && !hideButton\">\n <wac-button [noPadding]=\"true\" [icon]=\"'fa-solid fa-check'\" [label]=\"btnLabelSelected\" [extraClasses]=\"extraClassesSelected\" [whiteSpaceNowrap]=\"true\"></wac-button>\n </div>\n <div class=\"package-subtitle\" *ngIf=\"selected\">{{packageSubtitle}}</div>\n <div class=\"link-bottom\" *ngIf=\"linkPackageLabel\">\n <wac-link (click)=\"removePackageTrigger()\">{{linkPackageLabel}}</wac-link>\n </div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-token-check',\n templateUrl: './token-check.component.html',\n})\nexport class TokenCheckComponent {\n\n @Input()\n label: string;\n\n @Input()\n value: number;\n\n @Input()\n max: number;\n\n warning = false;\n\n constructor() { }\n}\n","<div class=\"wac-token-check\">\n <span [innerHTML]=\"label\"></span> : <span [innerHTML]=\"value\" [ngClass]=\"{'warning': value > max}\"></span>/<strong [innerHTML]=\"max\"></strong>\n</div>\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { uuid } from '../../utils/uuid';\n\n@Component({\n selector: 'wac-block-with-checkbox',\n templateUrl: './block-with-checkbox.component.html',\n})\nexport class BlockWithCheckboxComponent {\n\n @Input()\n selected = false;\n\n @Input()\n disabled = false;\n\n @Output()\n checkboxAction = new EventEmitter<boolean>();\n\n randomLabelName = uuid();\n\n @Input()\n nameRadio = 'wacBlockCheckboxRadio';\n\n @Input()\n isFirst = false;\n\n @Input()\n opacity = '.45';\n\n constructor() { }\n\n eventSelected(event) {\n if (!this.disabled) {\n this.selected = event.target.checked;\n this.checkboxAction.emit(this.selected);\n this.isFirst = false;\n }\n }\n\n removeFirstClass() {\n if (typeof document.querySelectorAll('.firstWacRadioBLock')[0] !== typeof undefined) {\n document.querySelectorAll('.firstWacRadioBLock')[0].classList.remove('firstWacRadioBLock');\n }\n }\n}\n","<div class=\"block-with-checkbox\" (click)=\"disabled && $event.target['className'] !== 'wac-link' && $event.target['localName'] !== 'a' ? $event.preventDefault() : ''\" [ngClass]=\"{'selected': inputRadioA.checked || selected, 'firstWacRadioBLock': isFirst, 'disabled': disabled}\" [style.opacity]=\"opacity\" (mouseover)=\"removeFirstClass()\">\n <div class=\"block-with-checkbox__left\" (click)=\"inputRadioA.click()\">\n <div class=\"wac-radio-block\">\n <div class=\"wac-radio__row\">\n <input #inputRadioA [name]=\"nameRadio\" type=\"radio\" [checked]=\"selected\" [value]=\"selected\" (change)=\"eventSelected($event)\" [id]=\"randomLabelName\">\n <label [for]=\"randomLabelName\"></label>\n </div>\n </div>\n </div>\n <div class=\"block-with-checkbox__center\" (click)=\"$event.target['className'] !== 'wac-link' && $event.target['localName'] !== 'a' ? inputRadioA.click() : '';\">\n <ng-content></ng-content>\n </div>\n</div>\n","import {AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'wac-confirm-delete',\n templateUrl: './confirm-delete.component.html'\n})\nexport class ConfirmDeleteComponent implements AfterViewInit {\n\n @Input()\n open = false;\n\n @Input()\n label: string;\n\n @Input()\n labelCancel: string;\n\n @Input()\n labelConfirm: string;\n\n @Output()\n confirm = new EventEmitter<boolean>();\n\n @Input()\n backgroundColor = '#fff';\n\n @Input()\n borderRadius = '0px';\n\n hideText = false;\n\n @ViewChild('container') container: ElementRef;\n\n constructor() { }\n\n eventCancel(event) {\n this.confirm.emit(false);\n this.open = false;\n }\n\n eventConfirm(event) {\n this.confirm.emit(true);\n this.open = false;\n }\n\n responsiveControl(size) {\n if (size < 342) {\n this.hideText = true;\n } else {\n this.hideText = false;\n }\n }\n\n @HostListener('window:resize')\n onResize(): void {\n this.responsiveControl(this.container.nativeElement.offsetWidth);\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.responsiveControl(this.container.nativeElement.offsetWidth);\n }, 100);\n }\n\n}\n","<div class=\"wac-confirm-delete\" #container [ngClass]=\"{'is-open': open, 'hide-text': hideText}\" [style.backgroundColor]=\"backgroundColor\" [style.borderRadius]=\"borderRadius\">\n <div>\n <span [innerHTML]=\"label\"></span>\n </div>\n <div>\n <div><wac-button [label]=\"labelCancel\" [extraClasses]=\"'is-outlined is-grey'\" (click)=\"eventCancel($event)\"></wac-button></div>\n <div><wac-button [label]=\"labelConfirm\" [extraClasses]=\"'is-danger'\" (click)=\"eventConfirm($event)\"></wac-button></div>\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, TemplateRef, ViewEncapsulation} from '@angular/core';\n\nexport type ImageSource = string;\nexport type ImageAlt = string;\n\nexport type MosaicImage = {\n src: ImageSource,\n alt: ImageAlt\n}\n\nexport type MosaicImages = Readonly<MosaicImage[]>;\n\n@Component({\n selector: 'wac-mosaic',\n templateUrl: './mosaic.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MosaicComponent implements OnChanges {\n\n @Input() imagesList: MosaicImages = [];\n\n @Input() isLoading = false;\n\n @Input() numberOfColumn = 3;\n\n @Input() hoverImageTemplate: TemplateRef<any>;\n\n @Output() importImageSrc = new EventEmitter<ImageSource>();\n\n @Output() loadMoreImages = new EventEmitter<void>();\n\n columns: MosaicImages[];\n\n trackColumn(index: number ) {\n return index;\n }\n\n trackImage(index: number, image: MosaicImage ) {\n return image.src;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const isNumberOfColumnChange = changes.numberOfColumn && (changes.numberOfColumn.currentValue !== changes.numberOfColumn.previousValue);\n if (changes.imagesList) {\n this.generateColumns(changes.imagesList.previousValue, changes.imagesList.currentValue, isNumberOfColumnChange);\n return;\n }\n\n if (isNumberOfColumnChange) {\n this.generateColumns(null, this.imagesList, isNumberOfColumnChange);\n }\n }\n\n generateColumns(previousList: MosaicImages, currentList: MosaicImages, isNumberOfColumnChange: boolean) {\n const isNewListSmaller = (currentList && previousList) && (currentList.length < previousList.length);\n const resetColumns = isNumberOfColumnChange || isNewListSmaller;\n const isPreviousListExisting = previousList?.length;\n const newImagesToDisplay = !isPreviousListExisting || resetColumns ? currentList : currentList.slice(previousList.length);\n let columns = this.separateImagesIntoColumns(newImagesToDisplay);\n\n if (isPreviousListExisting && !resetColumns) {\n const existingColumns = this.columns;\n columns = this.concatColumns(existingColumns, columns);\n }\n\n this.columns = columns;\n }\n\n separateImagesIntoColumns(newImagesToDisplay: MosaicImages): MosaicImages[] { // https://stackoverflow.com/questions/8495687/split-array-into-chunks\n const columns = [];\n const numberOfImagePerColumn = Math.floor(newImagesToDisplay.length / this.numberOfColumn);\n for (let i = 0; i < newImagesToDisplay.length; i += numberOfImagePerColumn) {\n const chunk = newImagesToDisplay.slice(i, i + numberOfImagePerColumn);\n columns.push(chunk);\n }\n return columns;\n }\n\n concatColumns(oldColumns: MosaicImages[], newColumns: MosaicImages[]): MosaicImages[] {\n return oldColumns.map((oldColumn, columnIndex) => [...oldColumn, ...newColumns[columnIndex]]);\n }\n\n onBottomReached() {\n this.loadMoreImages.emit();\n }\n\n onImportImage(src: ImageSource) {\n this.importImageSrc.emit(src);\n }\n}\n","<div class=\"wac-mosaic\" [ngClass]=\"{'is-loading': isLoading}\">\n <ng-scrollbar (reachedBottom)=\"onBottomReached()\" [reachedOffset]=\"200\" class=\"wac-mosaic__wrapper__scrollbar\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns; trackBy : trackColumn;\">\n <div class=\"wac-mosaic__wrapper__column__image\" *ngFor=\"let image of column; let i = index; trackBy : trackImage\">\n <img [src]=\"image.src\" [alt]=\"image.alt\"/>\n <div class=\"hover\">\n <ng-container\n [ngTemplateOutlet]=\"hoverImageTemplate || defaultImportButton\"\n [ngTemplateOutletContext]=\"{ $implicit: image }\"\n >\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div class=\"wac-mosaic__wrapper load\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns; trackBy : trackColumn;\">\n <div class=\"load-img\">\n </div>\n </div>\n </div>\n </ng-scrollbar>\n</div>\n\n<ng-template #defaultImportButton let-image>\n <wac-button [icon]=\"'fa-solid fa-image'\" [label]=\"'wac.MosaicComponent.import' | translate\" [extraClasses]=\"'is-success'\" (click)=\"onImportImage(image.src)\"></wac-button>\n</ng-template>\n","import {AfterContentInit, AfterViewInit, Component, ContentChild, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'wac-content-with-buttons',\n templateUrl: './content-with-buttons.component.html',\n})\nexport class ContentWithButtonsComponent implements OnInit, AfterViewInit {\n\n @Input()\n iconCopy = 'fa-duotone fa-copy';\n\n @Input()\n iconTranslate = 'fa-regular fa-globe';\n\n @Input()\n tooltipCopy = '';\n\n @Input()\n tooltipTranslate = '';\n\n @Input()\n tooltipLinkReport = '';\n\n @Input()\n count = true;\n\n @Input()\n countCharacterLabel = 'caractères';\n\n @Input()\n countWordsLabel = 'mots';\n\n @Input()\n reportLabel: string;\n\n @Output()\n copyAction = new EventEmitter<boolean>();\n\n @Output()\n reportAction = new EventEmitter<boolean>();\n\n @Output()\n translateAction = new EventEmitter<boolean>();\n\n countWords: number;\n\n countIsReady = false;\n\n countCharacter: number;\n\n randomLabelName: string;\n\n\n ngOnInit() {\n this.randomLabelName = 'content-' + Math.random() * (900 - 700) + 700;\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n const content = document.getElementById(this.randomLabelName).innerHTML.replace(/(<([^>]+)>)/gi, '').replace(/[.,\\/#!$%\\^&\\*;:{}=\\-_`~()]/g, '');\n this.countCharacter = content.trim().split(' ').join('').length;\n this.countWords = content.trim().split(' ').length;\n this.countIsReady = true;\n });\n }\n\n eventCopy() {\n this.copyAction.emit(true);\n }\n\n eventTranslate() {\n this.translateAction.emit(true);\n }\n\n eventReport() {\n this.reportAction.emit(true);\n }\n}\n","<div class=\"wac-content-with-buttons\">\n <div class=\"wac-content-with-buttons__text\">\n <div id=\"{{randomLabelName}}\">\n <ng-content></ng-content>\n </div>\n <div class=\"wac-content-with-buttons__text__count\" *ngIf=\"count && countIsReady\">\n <span>{{ countWords }} {{ countWordsLabel }} - {{ countCharacter }} {{ countCharacterLabel }}</span>\n <span><wac-link [tooltipWidth]=\"600\" [tooltip]=\"tooltipLinkReport\" (click)=\"$event.preventDefault();\" (mousedown)=\"$event.preventDefault();eventReport();\" fontSize=\"12px\">{{ reportLabel }}</wac-link></span>\n </div>\n </div>\n <div class=\"wac-content-with-buttons__cta\">\n <div><wac-button extraClasses=\"is-blue opacity static-width\" [iconFontSize]=\"18\" [icon]=\"iconCopy\" (click)=\"eventCopy()\" [tooltip]=\"tooltipCopy\" [tooltipPosition]=\"'top-center'\" [tooltipOneline]=\"true\"></wac-button></div>\n <div><wac-button extraClasses=\"is-green opacity static-width\" [iconFontSize]=\"18\" [icon]=\"iconTranslate\" [tooltip]=\"tooltipTranslate\" [tooltipPosition]=\"'top-center'\" [tooltipOneline]=\"true\" (click)=\"eventTranslate()\"></wac-button></div>\n </div>\n</div>\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper-multiple-block',\n templateUrl: './wrapper-multiple-block.component.html',\n})\nexport class WrapperMultipleBlockComponent {\n\n constructor() { }\n}\n","<div class=\"wac-wrapper-multiple-block\">\n <div class=\"wac-wrapper-multiple-block__sidebar\">\n <ng-content select=\"[sidebar]\"></ng-content>\n </div>\n <div class=\"wac-wrapper-multiple-block__content\">\n <ng-content select=\"[content]\"></ng-content>\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';\n\n@Component({\n selector: 'wac-draganddrop-list',\n templateUrl: './draganddrop-list.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DraganddropListComponent {\n\n @Input()\n label = '';\n\n @Input()\n items: Array<string>;\n\n @Input()\n disabled = false;\n\n @Input()\n max: number;\n\n @Input()\n labelBtnAdd: string;\n\n @Input()\n backgroundColor = '#fff';\n\n showTriggerSave = false;\n\n @Output()\n itemsChange = new EventEmitter<Array<string>>();\n\n drop(event: CdkDragDrop<string[]>) {\n if (!this.disabled) {\n moveItemInArray(this.items, event.previousIndex, event.currentIndex);\n this.itemsChange.emit(Object.values(this.items));\n }\n }\n\n delete(index) {\n if (!this.disabled) {\n this.items = this.items.filter((value, i) => i !== index );\n this.itemsChange.emit(Object.values(this.items));\n }\n }\n\n saveFieldEnd(index, event) {\n this.items[index] = event.target.value;\n this.itemsChange.emit(Object.values(this.items));\n }\n\n addField() {\n this.showTriggerSave = true;\n }\n\n saveNewField(event) {\n this.items.push(event.target.value);\n this.itemsChange.emit(Object.values(this.items));\n this.showTriggerSave = false;\n }\n\n}\n","<div class=\"wac-draganddrop-list\" *ngIf=\"!disabled\" [style.backgroundColor]=\"backgroundColor\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\" [cdkDropListLockAxis]=\"'y'\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"wac-draganddrop-list__wrapper__item\" [style.backgroundColor]=\"backgroundColor\" *ngFor=\"let item of items;let i = index;\" cdkDrag>\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span (mousedown)=\"$event.stopPropagation()\" class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [value]=\"item\" [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveFieldEnd(i, $event)\" (focusout)=\"saveFieldEnd(i, $event)\"></wac-input>\n </span>\n </div>\n <div (mousedown)=\"$event.stopPropagation()\">\n <div>\n <wac-button [iconFontSize]=\"14\" [opacity]=\"true\" [icon]=\"'fa-regular fa-trash-can'\" [extraClasses]=\"'is-danger'\" (click)=\"delete(i)\"></wac-button>\n </div>\n <div *ngIf=\"i === (items.length - 1) && max > items.length && !showTriggerSave\">\n <wac-button [extraClasses]=\"'is-info'\" [iconFontSize]=\"18\" [opacity]=\"true\" [icon]=\"'fa-regular fa-plus'\" (click)=\"addField()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-draganddrop-list__wrapper__item wac-draganddrop-list__wrapper__item--trigger\" *ngIf=\"showTriggerSave\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveNewField($event)\" (focusout)=\"saveNewField($event)\"></wac-input>\n </span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"wac-draganddrop-list wac-draganddrop-list--disabled\" *ngIf=\"disabled\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\">\n <div class=\"wac-draganddrop-list__wrapper__item\" *ngFor=\"let item of items;let i = index;\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__label\" [innerHTML]=\"item\"></span>\n </div>\n </div>\n </div>\n</div>\n","import { InjectionToken } from \"@angular/core\";\nimport { AccordionItem } from \"./accordion-item.interface\";\n\nexport const ACCORDION_ITEM = new InjectionToken<AccordionItem>('ACCORDION_ITEM');","import { AfterViewInit, Component, ContentChildren, HostBinding, Input, OnDestroy, QueryList } from '@angular/core';\nimport { takeUntil, startWith, Subject, map, merge, Observable } from 'rxjs';\nimport { AccordionItem } from './accordion-item.interface';\nimport { ACCORDION_ITEM } from './accordion-item.token';\n\n@Component({\n selector: 'wac-accordion',\n templateUrl: './accordion.component.html'\n})\nexport class AccordionComponent implements AfterViewInit, OnDestroy {\n\n @HostBinding('class') class = 'wac-accordion';\n\n @ContentChildren(ACCORDION_ITEM, { descendants: true }) expansionItems!: QueryList<AccordionItem>;\n\n @Input() keepOnlyOnePanelOpen: boolean = false;\n\n // Inputs: hideToggle (hide the arrow) // togglePosition\n\n private isDestroyed$ = new Subject<void>();\n private resetListeners$: Subject<void> = new Subject();\n\n constructor() { }\n\n public openAll(): void {\n this.expansionItems?.forEach((item: AccordionItem) => {\n item.isExpanded = true;\n });\n }\n\n public closeAll(): void {\n this.expansionItems?.forEach((item: AccordionItem) => {\n item.isExpanded = false;\n });\n }\n\n ngAfterViewInit(): void {\n this.expansionItems.changes\n .pipe(\n takeUntil(this.isDestroyed$),\n startWith(this.expansionItems)\n )\n .subscribe(() => {\n this.resetListeners$.next();\n this.panelExpansionChanges().subscribe(expandedItem => {\n if (this.keepOnlyOnePanelOpen) {\n this.keepOnlyOnePanelOpenHandler(expandedItem.index);\n }\n });\n });\n }\n\n private panelExpansionChanges(): Observable<{index:number, expansionItem: AccordionItem}> {\n const panelExpansionChange$ = this.expansionItems.map((expansionItem, index) => {\n return expansionItem.expandChange.pipe(\n map(() => {\n return {\n index,\n expansionItem\n }\n })\n );\n });\n return merge(...panelExpansionChange$).pipe(takeUntil(this.resetListeners$));\n }\n\n private keepOnlyOnePanelOpenHandler(index: number): void {\n this.expansionItems.forEach((expansionItem, i) => {\n if (i !== index) {\n expansionItem.isExpanded = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.isDestroyed$.next();\n this.isDestroyed$.complete();\n this.resetListeners$.next();\n this.resetListeners$.complete();\n }\n}\n","<ng-content></ng-content>","import { InjectionToken } from \"@angular/core\";\nimport { ExpansionPanelHeader } from \"./expansion-panel-header.interface\";\n\nexport const EXPANSION_PANEL_HEADER = new InjectionToken<ExpansionPanelHeader>('EXPANSION_PANEL_HEADER');","import { ChangeDetectorRef, Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { EXPANSION_PANEL_HEADER } from './expansion-panel-header.token';\n\n@Directive({\n selector: '[wacExpansionPanelHeader]',\n providers: [{ provide: EXPANSION_PANEL_HEADER, useExisting: ExpansionPanelHeaderDirective }],\n})\nexport class ExpansionPanelHeaderDirective {\n\n\n @HostListener('click') onClick() {\n this.toggle();\n }\n\n @Input() disabled: boolean = false;\n @Output() disabledChange = new EventEmitter<boolean>();\n\n @Input() hideToggle: boolean = false;\n @Output() hideToggleChange = new EventEmitter<boolean>();\n\n @Input() isExpanded: boolean = false;\n @Output() isExpandedChange = new EventEmitter<boolean>();\n\n constructor(protected changeDetectorRef:ChangeDetectorRef) {\n }\n\n onToggle() {\n if (this.disabled) {\n return;\n }\n this.isExpanded = !this.isExpanded;\n this.toggle();\n }\n\n // Will be used by the parent component\n close: () => {};\n open: () => {};\n toggle: () => {};\n}","import { ChangeDetectorRef, Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { ExpansionPanelHeaderDirective } from './expansion-panel-header.directive';\nimport { EXPANSION_PANEL_HEADER } from './expansion-panel-header.token';\n\n@Component({\n selector: 'wac-expansion-panel-header',\n templateUrl: './expansion-panel-header.component.html',\n encapsulation: ViewEncapsulation.None,\n //changeDetection: ChangeDetectionStrategy.OnPush, // todo handle\n providers: [{ provide: EXPANSION_PANEL_HEADER, useExisting: ExpansionPanelHeaderComponent }]\n})\nexport class ExpansionPanelHeaderComponent extends ExpansionPanelHeaderDirective {\n\n @HostBinding('class') class = 'wac-expansion-panel-header';\n\n @HostBinding('class.wac-expansion-panel-header--disabled') get isDisabled() {\n return this.disabled;\n }\n\n constructor(protected changeDetectorRef:ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n\n}\n","<ng-content></ng-content>\n<i class=\"wac-expansion-panel-header__icon\" [class]=\"isExpanded ? 'fas fa-angle-down' : 'fas fa-angle-up'\"></i>","import { AfterViewInit, ChangeDetectorRef, ContentChild, Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { AccordionItem } from '../accordion/accordion-item.interface';\nimport { ACCORDION_ITEM } from '../accordion/accordion-item.token';\nimport { ExpansionPanelHeader } from '../expansion-panel-header/expansion-panel-header.interface';\nimport { EXPANSION_PANEL_HEADER } from '../expansion-panel-header/expansion-panel-header.token';\n\n@Directive({\n selector: '[wacExpansionPanel]',\n providers: [{ provide: ACCORDION_ITEM, useExisting: ExpansionPanelDirective }]\n})\nexport class ExpansionPanelDirective implements AccordionItem, AfterViewInit {\n\n\n @ContentChild(EXPANSION_PANEL_HEADER) header: ExpansionPanelHeader;\n\n @Input() set disabled(disabled: boolean) {\n this._disabled = disabled;\n if (this.header) {\n this.header.disabled = disabled;\n }\n }\n get disabled(): boolean {\n return this._disabled;\n }\n _disabled = false;\n\n @Input() set hideToggle(hideToggle: boolean) {\n this._hideToggle = hideToggle;\n if (this.header) {\n this.header.hideToggle = hideToggle;\n }\n }\n get hideToggle() : boolean {\n return this._hideToggle;\n }\n _hideToggle: boolean = false;\n\n @Input() set isExpanded(isExpanded: boolean) {\n if (this.disabled) {\n return;\n }\n this._isExpanded = isExpanded;\n if (this.header) {\n this.header.isExpanded = isExpanded;\n }\n this.isExpandedChange.emit(isExpanded);\n }\n get isExpanded(): boolean {\n return this._isExpanded;\n }\n _isExpanded = false;\n\n @Output() isExpandedChange = new EventEmitter<boolean>();\n\n expandChange = new EventEmitter<void>(); // used by the accordion component if exists\n\n constructor(protected changeDetectorRef:ChangeDetectorRef) {\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.header.isExpanded = this.isExpanded;\n this.header.hideToggle = this.hideToggle;\n this.header.disabled = this.disabled;\n\n this.header.close = () => this.close();\n this.header.open = () => this.open();\n this.header.toggle = () => this.toggle();\n }, 0);\n }\n\n close(): void {\n this.isExpanded = false;\n this.expandChange.emit();\n }\n open(): void {\n this.isExpanded = true;\n this.expandChange.emit();\n }\n toggle(): void {\n this.isExpanded = !this.isExpanded;\n this.expandChange.emit();\n }\n}","import { ChangeDetectorRef, Component, HostBinding } from '@angular/core';\nimport { ACCORDION_ITEM } from '../accordion/accordion-item.token';\nimport { ExpansionPanelDirective } from './expansion-panel.directive';\n\n// https://material.angular.io/components/expansion/api\n\n@Component({\n selector: 'wac-expansion-panel',\n templateUrl: './expansion-panel.component.html',\n providers: [{ provide: ACCORDION_ITEM, useExisting: ExpansionPanelComponent }]\n})\nexport class ExpansionPanelComponent extends ExpansionPanelDirective {\n\n @HostBinding('class') class = 'wac-expansion-panel';\n\n @HostBinding('class.wac-expansion-panel--disabled') get isDisabled() {\n return this.disabled;\n }\n\n constructor(protected changeDetectorRef:ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n","<ng-content select=\"wac-expansion-panel-header, wacExpansionPanelHeader\"></ng-content>\n<div *ngIf=\"isExpanded\">\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AccordionComponent } from './accordion/accordion.component';\nimport { ExpansionPanelHeaderComponent } from './expansion-panel-header/expansion-panel-header.component';\nimport { ExpansionPanelHeaderDirective } from './expansion-panel-header/expansion-panel-header.directive';\nimport { ExpansionPanelComponent } from './expansion-panel/expansion-panel.component';\nimport { ExpansionPanelDirective } from './expansion-panel/expansion-panel.directive';\n\nconst components = [\n ExpansionPanelComponent,\n ExpansionPanelHeaderComponent,\n AccordionComponent\n];\n\nconst directives = [\n ExpansionPanelDirective,\n ExpansionPanelHeaderDirective\n];\n\nexport const ExpansionExport = [\n ...components,\n ...directives\n]\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n ...ExpansionExport\n ],\n declarations: [\n ...ExpansionExport\n ],\n providers: [],\n})\nexport class ExpansionModule { }\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-block-title-legacy',\n templateUrl: 'block-title-legacy.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule],\n})\nexport class BlockTitleLegacyComponent {\n\n @Input()\n simple = false;\n\n @Input()\n icon = '';\n\n constructor() { }\n}","<h2 class=\"wac-block__title\" [ngClass]=\"{ 'is-simple': simple }\">\n <ng-content></ng-content> <i *ngIf=\"icon\" [ngClass]=\"icon\"></i>\n</h2>","import { Component, Input, Output, ViewEncapsulation, EventEmitter } from '@angular/core';\n\nexport interface SummaryItems {\n label: string;\n href?: string;\n};\n\n@Component({\n selector: 'wac-summary',\n templateUrl: './summary.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SummaryComponent {\n\n _activeItem = 0;\n\n @Input() set activeItem(activeItem: number) {\n this._activeItem = activeItem;\n }\n\n get activeItem(): number {\n return this._activeItem;\n }\n\n @Input() items: Array<SummaryItems>;\n\n @Output() itemChanged = new EventEmitter<number>();\n\n constructor() {}\n\n scrollToItem(i: number) {\n this._activeItem = i;\n this.itemChanged.emit(i);\n if (this.items[i].href) {\n const yOffset = -20;\n const element = window.document.getElementById(this.items[i].href);\n if (element) {\n const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;\n window.scrollTo({ top: y, behavior: 'smooth' });\n }\n }\n }\n\n}\n","<div class=\"wac-summary\">\n <ng-container *ngFor=\"let item of items; let i = index\">\n <p [ngClass]=\"{'active' : activeItem === i, 'item-link': item.href}\" (click)=\"scrollToItem(i)\">{{ item.label }}</p>\n </ng-container>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-google-preview',\n templateUrl: './google-preview.component.html'\n})\nexport class GooglePreviewComponent implements OnInit {\n\n @Input()\n title: string;\n\n @Input()\n url: string;\n\n @Input()\n description: string;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"wac-google-preview\">\n <div class=\"wac-google-preview__url\" [innerHTML]=\"url\"></div>\n <div class=\"wac-google-preview__title\" [innerHTML]=\"title\"></div>\n <div class=\"wac-google-preview__description\" [innerHTML]=\"description\"></div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-charging-bar',\n templateUrl: './charging-bar.component.html'\n})\nexport class ChargingBarComponent implements OnInit {\n\n @Input()\n value = 0;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"wac-charging-bar\">\n <div class=\"wac-charging-bar__wrapLine\">\n <div class=\"wac-charging-bar__wrapLine__line\">\n <div class=\"wac-charging-bar__wrapLine__line__width\" [ngClass]=\"{'complete': value === 100}\" [ngStyle]=\"{'max-width': value + '%'}\"></div>\n </div>\n </div>\n <div class=\"wac-charging-bar__number\" [innerHTML]=\"value + '%'\"></div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-expanded-panel',\n templateUrl: './expanded-panel.component.html',\n})\nexport class ExpandedPanelComponent implements OnInit {\n\n @Input()\n label: string;\n\n @Input()\n section = false;\n\n @Input()\n open = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"wac-expanded-panel\">\n <div class=\"wac-expanded-panel__top\" (click)=\"open = !open\">\n <div class=\"wac-expanded-panel__top__label\" [ngClass]=\"{'big': section}\" [innerHTML]=\"label\"></div>\n <div class=\"wac-expanded-panel__top__icon\" [ngClass]=\"{'is-open': open, 'big': section}\">\n <i class=\"fa-regular fa-angle-down\"></i>\n </div>\n </div>\n <div class=\"wac-expanded-panel__bottom\" [ngClass]=\"{'is-open': open}\">\n <ng-content></ng-content>\n </div>\n</div>\n","import {\n AfterContentInit,\n Component, ElementRef,\n HostListener,\n Input,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'wac-row',\n templateUrl: './row.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class RowComponent implements OnInit, AfterContentInit {\n @Input()\n position: 'top-left'|'top-middle'|'top-right'|'middle-left'|'middle-middle'|'middle-right'|'bottom-left'|'bottom-middle'|'bottom-right'|'stretch-left'|'stretch-middle'|'stretch-right';\n id = '';\n childs = 0;\n classWidth = '';\n responsiveClass = '';\n @Input()\n width: string;\n @Input()\n height: string;\n @Input()\n responsiveAuto = false;\n @Input()\n childrensWidthAuto = false;\n @Input()\n visibility: 'mobile-only'|'tablet-only'|'desktop-only'|'under-desktop'|'above-mobile';\n @Input()\n marginChild = '';\n @Input()\n marginBottom = '';\n @Input()\n marginBottomChild = '';\n @Input()\n addWacBlock = false;\n @Input()\n lineDisplayContent = false;\n @Input()\n border = false;\n @Input()\n multipleLine = false;\n @Input()\n childrenByLine = 0;\n @Input()\n padding = '';\n @Input()\n lastChildIsDown = false;\n @Input()\n addClass = '';\n halfMarginChild = '';\n @ViewChild(`container`) container: ElementRef;\n nbChildsClass = '';\n\n ngOnInit() {\n this.id = 'row-' + Math.floor(Math.random() * 100000);\n if (this.marginChild) {\n this.halfMarginChild = parseInt(this.marginChild) / 2 + 'px';\n }\n }\n\n responsiveControl(size) {\n if (size > 1024) {\n this.classWidth = '';\n } else if (size <= 480) {\n this.classWidth = 'low';\n } else {\n this.classWidth = 'medium';\n }\n }\n\n handleResponsiveAuto(size) {\n if (size < 500) {\n this.responsiveClass = 'mobile';\n } else {\n this.responsiveClass = '';\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onResize() {\n const size = this.container.nativeElement.offsetWidth;\n this.responsiveControl(size);\n if (this.responsiveAuto) {\n this.handleResponsiveAuto(size);\n }\n }\n\n actionsDom() {\n this.childs = this.container.nativeElement.childElementCount;\n if (this.width) {\n document.getElementById(this.id).parentElement.style.maxWidth = this.width;\n }\n if (this.height) {\n document.getElementById(this.id).parentElement.style.maxHeight = this.height;\n }\n if ((this.childs > 1 && this.marginChild) || this.multipleLine) {\n for (let i = 0; i < this.childs; i++) {\n const child: any = document.getElementById(this.id).children[i];\n child.style.marginLeft = this.halfMarginChild;\n child.style.marginRight = this.halfMarginChild;\n if (this.multipleLine) {\n child.style.width = 'calc(' + (100 / this.childrenByLine) + '% - ' + this.marginChild + ')';\n }\n }\n }\n if (this.childs > 1 && this.marginBottomChild) {\n for (let i = 0; i < this.childs; i++) {\n const child: any = document.getElementById(this.id).children[i];\n child.style.marginBottom = this.marginBottomChild;\n }\n }\n this.nbChildsClass = 'nb-child-' + this.childs;\n this.onResize();\n }\n\n ngAfterContentInit() {\n setTimeout(() => {\n this.actionsDom();\n }, 1);\n }\n\n handleDomChange(event) {\n this.actionsDom();\n }\n}\n","<div watchDomTree (dom-changed)=\"handleDomChange($event)\" [ngStyle]=\"{'padding': padding,'margin-bottom': marginBottom,'transform': (childs > 1 || multipleLine ? 'translateX(-' + halfMarginChild + ')' : 'wrong'), 'width': ((childs > 1 && !addWacBlock) || multipleLine ? 'calc(100% + ' + marginChild + ')' : 'wrong')}\" class=\"wac-row {{ addWacBlock ? 'white-block' : '' }} {{ multipleLine ? 'multiple-line' : '' }} {{ lineDisplayContent ? 'direction-column' : '' }} {{ border ? 'with-border' : '' }} {{ lastChildIsDown ? 'last-child-down' : '' }} {{ childrensWidthAuto ? 'childrens-width-auto' : '' }} {{ position ? position : '' }} {{ visibility ? visibility : '' }} {{ responsiveClass ? responsiveClass : '' }} {{addClass}} {{nbChildsClass}} {{classWidth}}\" #container [ngClass]=\"{\n 'multiple-child': childs > 3,\n 'five-or-more-child': childs > 4,\n 'alone': childs === 1\n}\" [id]=\"id\">\n <ng-content></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-column',\n templateUrl: './column.component.html',\n})\nexport class ColumnComponent {\n\n}\n","<p>column works!</p>\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'wac-ai-express',\n templateUrl: './ai-express.component.html',\n})\nexport class AiExpressComponent implements OnInit {\n\n @Input() top = '28px';\n @Input() right = '1px';\n @Input() loading = false;\n @Input() disabled = false;\n @Input() wordingTop: string;\n @Input() wordingToken: string;\n @Input() wordingTokenLeft: string;\n @Input() wordingRegisterTop: string;\n @Input() wordingRegisterBtn: string;\n @Input() wordingDisabled: string;\n @Input() tokenCost = 0;\n @Input() tokenLeft = 0;\n @Input() tokenCount = 0;\n @Input() isRegister = false;\n @Output() validAction = new EventEmitter<boolean>();\n\n isOpen = false;\n hrefRegister = '/v3/ai/select-plan';\n\n constructor() {}\n ngOnInit(): void {}\n\n showPopup() {\n if (!this.isOpen && (!this.disabled || (this.disabled && this.wordingDisabled))) {\n this.isOpen = true;\n }\n }\n\n validate() {\n if (!this.disabled) {\n if (!this.isRegister) {\n if (!this.isOpen) {\n this.isOpen = true;\n } else {\n this.isOpen = false;\n }\n } else {\n if (!this.loading) {\n this.validAction.emit(true);\n }\n }\n }\n }\n\n hidePopup() {\n if (this.isOpen && (!this.disabled || (this.disabled && this.wordingDisabled))) {\n this.isOpen = false;\n }\n }\n\n}\n","<div class=\"wac-ai-express\">\n <ng-content></ng-content>\n <div [style.top]=\"top\" [style.right]=\"right\" class=\"wac-ai-express__icon\" [ngClass]=\"{'disabled': disabled, 'loading': loading}\" (click)=\"validate();\">\n <i class=\"fa-regular fa-wand-magic-sparkles\" *ngIf=\"!loading\"></i>\n <svg *ngIf=\"loading\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"margin:auto;background:transparent;display:block;\" width=\"200px\" height=\"200px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <g transform=\"rotate(0 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.9166666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(30 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.8333333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(60 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.75s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(90 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.6666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(120 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5833333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(150 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(180 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.4166666666666667s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(210 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.3333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(240 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.25s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(270 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.16666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(300 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.08333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(330 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"0s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n </svg>\n </div>\n <div *ngIf=\"isRegister && !disabled\" class=\"wac-ai-express__wrapper\" [ngClass]=\"{'height-auto': (!tokenCost || tokenCost === 0)}\">\n <div>\n <span [innerHTML]=\"wordingTop\"></span>\n </div>\n <div [ngClass]=\"{'hide': (!tokenCost || tokenCost === 0)}\">\n <div>\n <div>\n <i class=\"fa-solid fa-coin-front\"></i>\n <span [innerHTML]=\"tokenCost\"></span>\n </div>\n <span [innerHTML]=\"wordingToken\"></span>\n </div>\n <div>\n <div>\n <strong [innerHTML]=\"tokenLeft\"></strong> / <span [innerHTML]=\"tokenCount\"></span>\n </div>\n <div>\n <span [innerHTML]=\"wordingTokenLeft\"></span>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"!isRegister && !disabled\" class=\"wac-ai-express__register\">\n <p [innerHTML]=\"wordingRegisterTop\"></p>\n <a [target]=\"'_blank'\" [href]=\"hrefRegister\"><i class=\"fa-regular fa-wand-magic-sparkles\"></i> <span [innerHTML]=\"wordingRegisterBtn\"></span></a>\n </div>\n <div *ngIf=\"disabled && wordingDisabled\" class=\"wac-ai-express__disabled\">\n <p [innerHTML]=\"wordingDisabled\"></p>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NwbAllModule } from '@wizishop/ng-wizi-bulma';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { LoaderComponent } from './loader/loader.component';\nimport { InputSearchComponent } from './inputs/input-search/input-search.component';\nimport { SharedDirectives } from '../directives/shared-directives.module';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { TagInputModule } from 'ngx-chips';\nimport { TableComponent } from './table/table.component';\nimport { TagComponent } from './tag/tag.component';\nimport { TabsComponent } from './tabs/tabs.component';\nimport { TabComponent } from './tabs/tab/tab.component';\nimport { ButtonComponent } from './button/button.component';\nimport { InfoComponent } from './info/info.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { DeleteComponent } from './delete/delete.component';\nimport { DropdownComponent } from './dropdown/dropdown.component';\nimport { ImageComponent } from './image/image.component';\nimport { BackComponent } from './back/back.component';\nimport { SeparatorComponent } from './separator/separator.component';\nimport { LogoComponent } from './logo/logo.component';\nimport { RadioComponent } from './radio/radio.component';\nimport { StateComponent } from './state/state.component';\nimport { TagLabelComponent } from './tag-label/tag-label.component';\nimport { CalendarComponent } from './calendar/calendar.component';\nimport { WzEditInPlaceComponent } from './edit-in-place/edit-in-place.component';\nimport { TextAreaComponent } from './text-area/text-area.component';\nimport { H1Component } from './hn/h1/h1.component';\nimport { H2Component } from './hn/h2/h2.component';\nimport { H3Component } from './hn/h3/h3.component';\nimport { HeaderPageComponent } from './header-page/header-page.component';\nimport { InputComponent } from './inputs/input/input.component';\nimport { LinkComponent } from './link/link.component';\nimport { ProgressBarComponent } from './progress-bar/progress-bar.component';\nimport { SwitchComponent } from './switch/switch.component';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { AlertComponent } from './alert/alert.component';\nimport { TextComponent } from './text/text.component';\nimport { PaginationModule } from './pagination/pagination.module';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TableModule } from './table/table.module';\nimport { CheckBoxRow } from './table/directives/checkBoxRow.directive';\nimport { TableColumn } from './table/directives/column.directive';\nimport { TableColumnHeader } from './table/directives/columnHeader.directive';\nimport { TableRow } from './table/directives/raw.directive';\nimport { TooltipModule } from './tooltip/tooltip.module';\nimport { CheckboxModule } from './checkbox/checkbox.module';\nimport { UploadComponent } from './upload/upload.component';\nimport { H4Component } from './hn/h4/h4.component';\nimport { SelectInTextComponent } from './select-in-text/select-in-text.component';\nimport { MultipleSearchComponent } from './multiple-search/multiple-search.component';\nimport { MultipleSearchPlusComponent } from './multiple-search-plus/multiple-search-plus.component';\nimport { InputWithSelectComponent } from './inputs/input-with-select/input-with-select.component';\nimport { PopinComponent } from './popin/popin.component';\nimport { FreePopinComponent } from './free-popin/free-popin.component';\nimport { BlockComponent } from './block/block.component';\nimport { WrapperComponent } from './wrapper/wrapper.component';\nimport { FiltersComponent } from './filters/filters.component';\nimport { WrapperBlocsComponent } from './wrapper-blocs/wrapper-blocs.component';\nimport { SnackbarComponent } from './snackbar/snackbar.component';\nimport { RouterModule } from '@angular/router';\nimport {AlertPopupModule} from './alert-popup/alert-popup-module';\nimport {SearchComponent} from './search/search.component';\nimport {SelectedListComponent} from './selected-list/selected-list.component';\nimport { TreeComponent } from './tree/tree.component';\nimport { TreeModule } from './tree/tree.module';\nimport { SharedPipes } from '../pipes/shared-pipes.module';\nimport { OptionalDisableContainerComponent } from './optional-disable-container/optional-disable-container.component';\nimport { OptionComponent } from './select/option/option.component';\nimport { SelectComponent } from './select/select/select.component';\nimport { OptionCallToActionComponent } from './select/option-call-to-action/option-call-to-action.component';\nimport { PlaceholderComponent } from './common/placeholder/placeholder.component';\nimport { SelectSearchTriggerComponent } from './select/select-search-trigger/select-search-trigger.component';\nimport { LabelComponent } from './common/label/label.component';\nimport {WrapperSidebarComponent} from './wrapper-sidebar/wrapper-sidebar.component';\nimport {AutosizeModule} from 'ngx-autosize';\nimport {BreadcrumbsComponent} from './breadcrumbs/breadcrumbs.component';\nimport {CardPriceComponent} from './card-price/card-price.component';\nimport {TokenCheckComponent} from './token-check/token-check.component';\nimport {BlockWithCheckboxComponent} from './block-with-checkbox/block-with-checkbox.component';\nimport {ConfirmDeleteComponent} from './confirm-delete/confirm-delete.component';\nimport {MosaicComponent} from './mosaic/mosaic.component';\nimport {NgScrollbarModule} from 'ngx-scrollbar';\nimport {NgScrollbarReachedModule} from 'ngx-scrollbar/reached-event';\nimport {ContentWithButtonsComponent} from './content-with-buttons/content-with-buttons.component';\nimport {WrapperMultipleBlockComponent} from './wrapper-multiple-block/wrapper-multiple-block.component';\nimport {DraganddropListComponent} from './draganddrop-list/draganddrop-list.component';\nimport {DragDropModule} from '@angular/cdk/drag-drop';\nimport { ExpansionModule, ExpansionExport } from './expansion/expansion.module';\nimport { BlockSeparatorComponent } from './block/separator/block-separator.component';\nimport { BlockTitleLegacyComponent } from './block/block-title-legacy/block-title-legacy.component';\nimport { SummaryComponent } from './summary/summary.component';\nimport {GooglePreviewComponent} from './google-preview/google-preview.component';\nimport {ChargingBarComponent} from './charging-bar/charging-bar.component';\nimport {ExpandedPanelComponent} from './expanded-panel/expanded-panel.component';\nimport {RowComponent} from './row/row.component';\nimport {ColumnComponent} from './column/column.component';\nimport {AiExpressComponent} from './ai-express/ai-express.component';\nconst components = [\n TagComponent,\n ButtonComponent,\n InfoComponent,\n SettingsComponent,\n DeleteComponent,\n DropdownComponent,\n ImageComponent,\n BackComponent,\n SeparatorComponent,\n LogoComponent,\n RadioComponent,\n StateComponent,\n TagLabelComponent,\n CalendarComponent,\n WzEditInPlaceComponent,\n AlertComponent,\n HeaderPageComponent,\n SwitchComponent,\n LinkComponent,\n H1Component,\n H2Component,\n H3Component,\n H4Component,\n TextComponent,\n UploadComponent,\n SelectInTextComponent,\n MultipleSearchComponent,\n MultipleSearchPlusComponent,\n PopinComponent,\n FreePopinComponent,\n WrapperComponent,\n FiltersComponent,\n WrapperBlocsComponent,\n SearchComponent,\n SelectedListComponent,\n OptionalDisableContainerComponent,\n SelectComponent,\n OptionComponent,\n OptionCallToActionComponent,\n PlaceholderComponent,\n LabelComponent,\n SelectSearchTriggerComponent,\n WrapperSidebarComponent,\n BreadcrumbsComponent,\n CardPriceComponent,\n TokenCheckComponent,\n BlockWithCheckboxComponent,\n ConfirmDeleteComponent,\n MosaicComponent,\n ContentWithButtonsComponent,\n WrapperMultipleBlockComponent,\n DraganddropListComponent,\n SummaryComponent,\n GooglePreviewComponent,\n DraganddropListComponent,\n ChargingBarComponent,\n ExpandedPanelComponent,\n RowComponent,\n ColumnComponent,\n AiExpressComponent\n];\n\nconst exportsFromModule = [\n PaginationComponent,\n TableComponent,\n TableColumn,\n CheckBoxRow,\n TableColumnHeader,\n TableRow,\n TooltipComponent,\n CheckboxComponent,\n LoaderComponent,\n TreeComponent,\n ...ExpansionExport\n];\n\nconst standaloneComponents = [\n TabsComponent,\n TabComponent,\n SnackbarComponent,\n BlockComponent,\n LoaderComponent,\n TextAreaComponent,\n ProgressBarComponent,\n InputComponent,\n InputSearchComponent,\n InputWithSelectComponent,\n BlockTitleLegacyComponent,\n BlockSeparatorComponent,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n NwbAllModule,\n TranslateModule,\n ReactiveFormsModule,\n SharedDirectives,\n SharedPipes,\n CdkTableModule,\n TagInputModule,\n DragDropModule,\n PaginationModule,\n TableModule,\n TooltipModule,\n CheckboxModule,\n PerfectScrollbarModule,\n AlertPopupModule,\n RouterModule,\n AutosizeModule,\n NgScrollbarModule,\n NgScrollbarReachedModule,\n TreeModule,\n ExpansionModule,\n ...standaloneComponents\n ],\n declarations: components,\n exports: [...components, ...exportsFromModule, ...standaloneComponents]\n})\nexport class SharedComponentsModule {}\n","import { NwbAllModule } from '@wizishop/ng-wizi-bulma';\nimport { NgModule } from '@angular/core';\nimport { SharedComponentsModule } from './components/shared-components.module';\nimport { CommonModule } from '@angular/common';\nimport { SharedDirectives } from './directives/shared-directives.module';\nimport { SharedPipes } from './pipes/shared-pipes.module';\n\n@NgModule({\n imports: [\n CommonModule,\n SharedComponentsModule,\n SharedDirectives,\n SharedPipes,\n NwbAllModule],\n exports: [SharedComponentsModule, SharedDirectives, SharedPipes]\n})\nexport class WiziComponentsModule {}\n","import { NwbFilterGroup } from \"@wizishop/ng-wizi-bulma\";\nimport { Observable, ReplaySubject } from \"rxjs\";\nimport { TableFilters } from \"./table-filters.model\";\n\nexport class TableFiltersGroup extends NwbFilterGroup {\n tableFiltersValuesChange$: ReplaySubject<TableFilters>;\n tableFiltersValuesDebouncedChange$: Observable<TableFilters>;\n\n set(key: \"sort\" | \"order\" | \"searchValue\" | \"totalItems\" | \"itemsPerPage\" | \"currentPage\", value: any): void {\n super.set(key, value);\n }\n\n resetToFirstPage(): void {\n this.set(\"currentPage\", 1);\n }\n}","import { BehaviorSubject, distinctUntilChanged, tap } from \"rxjs\";\nimport { TableFilters } from \"./table-filters.model\";\n\n/**\n * Avoid to fetch data when totalItems change\n * @returns\n */\nexport function distinctUntilTableFiltersChanged() {\n return distinctUntilChanged<TableFilters>((previousFilters, currentFilters) => {\n return previousFilters.searchValue === currentFilters.searchValue &&\n previousFilters.sort === currentFilters.sort &&\n previousFilters.order === currentFilters.order &&\n previousFilters.currentPage === currentFilters.currentPage &&\n previousFilters.itemsPerPage === currentFilters.itemsPerPage;\n });\n}\n\nexport function updateTableFiltersTotalItems<TResponse extends {totalItems: number}>(tableFilters$: BehaviorSubject<TableFilters>, totalItems?: number) {\n return tap((response: TResponse) => tableFilters$.next({\n ...tableFilters$.getValue(),\n totalItems: totalItems ?? response['totalItems']\n }))\n}","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nconst currentUsedSelectorForThisAnimation = 'li, div';\n\nexport const showFromBottom = trigger('showFromBottom', [\n transition('* => *', [\n animation([\n query(\n currentUsedSelectorForThisAnimation,\n style({\n opacity: 0,\n position: 'relative',\n bottom: -150\n }),\n { optional: true }\n ),\n query(currentUsedSelectorForThisAnimation, [stagger('150ms', animate('100ms', style({ opacity: 1, bottom: 0 })))], { optional: true })\n ])\n ])\n]);\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nconst currentUsedSelectorForThisAnimation = 'li, div';\n\nexport const showFromTop = trigger('showFromTop', [\n transition('* => *', [\n animation([\n query(\n currentUsedSelectorForThisAnimation,\n style({\n opacity: 0,\n position: 'relative',\n top: -150\n }),\n { optional: true }\n ),\n query(currentUsedSelectorForThisAnimation, [stagger('150ms', animate('100ms', style({ opacity: 1, top: 0 })))], { optional: true })\n ])\n ])\n]);\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nconst currentUsedSelectorForThisAnimation = 'li, div';\n\nexport const showFromLeft = trigger('showFromLeft', [\n transition('* => *', [\n animation([\n query(\n currentUsedSelectorForThisAnimation,\n style({\n opacity: 0,\n position: 'relative',\n left: -150\n }),\n { optional: true }\n ),\n query(currentUsedSelectorForThisAnimation, [stagger('150ms', animate('100ms', style({ opacity: 1, left: 0 })))], { optional: true })\n ])\n ])\n]);\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nconst currentUsedSelectorForThisAnimation = 'li, div';\n\nexport const showFromRight = trigger('showFromRight', [\n transition('* => *', [\n animation([\n query(\n currentUsedSelectorForThisAnimation,\n style({\n opacity: 0,\n position: 'relative',\n right: -150\n }),\n { optional: true }\n ),\n query(currentUsedSelectorForThisAnimation, [stagger('150ms', animate('100ms', style({ opacity: 1, right: 0 })))], { optional: true })\n ])\n ])\n]);\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nexport function animateListFromBottom(passedTime = '.3s ease') {\n return trigger('animateList', [\n transition('* => *', [\n animation(\n [\n query(':enter', [style({ position: 'relative', opacity: 0, bottom: '-60px' })], { optional: true }),\n\n query(\n ':leave',\n [\n style({ position: 'relative', opacity: 1, bottom: 0 }),\n animate('{{time}}', style({ position: 'relative', opacity: 0, bottom: '-60px' }))\n ],\n { optional: true }\n ),\n\n query(':enter', stagger('100ms', [animate('{{time}}', style({ position: 'relative', opacity: 1, bottom: 0 }))]), {\n optional: true\n })\n ],\n { params: { time: passedTime } }\n )\n ])\n ]);\n}\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nexport function animateListFromTop(passedTime = '.3s ease') {\n return trigger('animateList', [\n transition('* => *', [\n animation(\n [\n query(':enter', [style({ position: 'relative', opacity: 0, top: '-60px' })], { optional: true }),\n\n query(\n ':leave',\n [\n style({ position: 'relative', opacity: 1, top: 0 }),\n animate('{{time}}', style({ position: 'relative', opacity: 0, top: '-60px' }))\n ],\n { optional: true }\n ),\n\n query(':enter', stagger('200ms', [animate('{{time}}', style({ position: 'relative', opacity: 1, top: 0 }))]), { optional: true })\n ],\n { params: { time: passedTime } }\n )\n ])\n ]);\n}\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nexport function animateListFromRight(passedTime = '.3s ease-in-out', staggerTime = '50ms') {\n return trigger('animateList', [\n transition('* => *', [\n animation(\n [\n query(':enter', [style({ position: 'relative', opacity: 0, right: '-60px' })], { optional: true }),\n\n query(\n ':leave',\n [\n style({ position: 'relative', opacity: 1, right: 0 }),\n animate('{{time}}', style({ position: 'relative', opacity: 0, right: '-60px' }))\n ],\n { optional: true }\n ),\n\n query(':enter', stagger(staggerTime, [animate('{{time}}', style({ position: 'relative', opacity: 1, right: 0 }))]), {\n optional: true\n })\n ],\n { params: { time: passedTime } }\n )\n ])\n ]);\n}\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nexport function animateListFromLeft(passedTime = '.3s ease') {\n return trigger('animateList', [\n transition('* => *', [\n animation(\n [\n query(':enter', [style({ position: 'relative', opacity: 0, left: '-60px' })], { optional: true }),\n\n query(\n ':leave',\n [\n style({ position: 'relative', opacity: 1, left: 0 }),\n animate('{{time}}', style({ position: 'relative', opacity: 0, left: '-60px' }))\n ],\n { optional: true }\n ),\n\n query(':enter', stagger('{{time}}', [animate('{{time}}', style({ position: 'relative', opacity: 1, left: 0 }))]), {\n optional: true\n })\n ],\n { params: { time: passedTime } }\n )\n ])\n ]);\n}\n","import { animate, animation, style, transition, trigger } from '@angular/animations';\n\nexport const switchInOut = trigger('switchInOut', [\n transition(':enter', [animation([style({ transform: 'translateX(100%)', opacity: 0 }), animate('200ms 200ms ease')])]),\n transition(':leave', [animation([animate('200ms ease', style({ transform: 'translateX(-100%)', opacity: 0 }))])])\n]);\n","/*\n * Public API Surface of angular-components\n */\n\nexport * from './lib/wizi-components.module';\nexport * from './lib/components/shared-components.module';\nexport * from './lib/components/tag/tag.component';\nexport * from './lib/components/tabs/tabs.component';\nexport * from './lib/components/tabs/tab/tab.component';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/info/info.component';\nexport * from './lib/components/settings/settings.component';\nexport * from './lib/components/delete/delete.component';\nexport * from './lib/components/dropdown/dropdown.component';\nexport * from './lib/components/image/image.component';\nexport * from './lib/components/back/back.component';\nexport * from './lib/components/separator/separator.component';\nexport * from './lib/components/logo/logo.component';\nexport * from './lib/components/radio/radio.component';\nexport * from './lib/components/radio/radio-directive';\nexport * from './lib/components/radio/radio-group.directive';\nexport * from './lib/components/state/state.component';\nexport * from './lib/components/tag-label/tag-label.component';\nexport * from './lib/components/calendar/calendar.component';\nexport * from './lib/components/edit-in-place/edit-in-place.component';\nexport * from './lib/components/alert/alert.component';\nexport * from './lib/components/header-page/header-page.component';\nexport * from './lib/components/switch/switch.component';\nexport * from './lib/components/link/link.component';\nexport * from './lib/components/hn/h1/h1.component';\nexport * from './lib/components/hn/h2/h2.component';\nexport * from './lib/components/hn/h3/h3.component';\nexport * from './lib/components/hn/h4/h4.component';\nexport * from './lib/components/select-in-text/select-in-text.component';\nexport * from './lib/components/text/text.component';\nexport * from './lib/components/text-area/text-area.component';\nexport * from './lib/components/pagination/pagination.component';\nexport * from './lib/components/table/table.component';\nexport * from './lib/components/table/shared/table-filters.model';\nexport * from './lib/components/table/shared/table-filters-group.model';\nexport * from './lib/components/table/directives/column.directive';\nexport * from './lib/components/table/directives/checkBoxRow.directive';\nexport * from './lib/components/table/directives/columnHeader.directive';\nexport * from './lib/components/table/directives/raw.directive';\nexport * from './lib/components/inputs/input-search/input-search.component';\nexport * from './lib/components/inputs/input/input.component';\nexport * from './lib/components/tooltip/tooltip.component';\nexport * from './lib/components/checkbox/checkbox.component';\nexport * from './lib/components/loader/loader.component';\nexport * from './lib/components/progress-bar/progress-bar.component';\nexport * from './lib/components/upload/upload.component';\nexport * from './lib/components/select/select-items.dto';\nexport * from './lib/components/inputs/input-with-select/input-with-select.component';\nexport * from './lib/components/inputs/input-with-select/option-item.dto';\nexport * from './lib/components/multiple-search/multiple-search.component';\nexport * from './lib/components/multiple-search-plus/multiple-search-plus.component';\nexport * from './lib/directives/shared-directives.module';\nexport * from './lib/directives/abstract-debounce/debounce-keyup.directive';\nexport * from './lib/directives/abstract-debounce/abstract-debounce.directive';\nexport * from './lib/directives/auto-hide/auto-hide.directive';\nexport * from './lib/directives/zindex-toggle/zindex-toggle.directive';\nexport * from './lib/directives/keyboard-events/only-numbers.directive';\nexport * from './lib/directives/scroll-to/scroll-to.directive';\nexport * from './lib/directives/ng-var.directive';\nexport * from './lib/utils/html-container.class';\nexport * from './lib/utils/uuid';\nexport * from './lib/components/select/call-to-action.model';\nexport * from './lib/components/table/shared/filters-table.service';\nexport * from './lib/components/table/shared/table-filters.model';\nexport * from './lib/components/table/shared/distinct-until-table-filters-changed';\nexport * from './lib/components/popin/popin.component';\nexport * from './lib/components/free-popin/free-popin.component';\nexport * from './lib/components/google-preview/google-preview.component';\nexport * from './lib/components/block/block.component';\nexport * from './lib/components/block/separator/block-separator.component';\nexport * from './lib/components/block/block-title-legacy/block-title-legacy.component';\n\nexport * from './lib/components/wrapper/wrapper.component';\nexport * from './lib/components/filters/filters.component';\nexport * from './lib/components/expanded-panel/expanded-panel.component';\nexport * from './lib/components/filters/filter-item.dto';\nexport * from './lib/components/wrapper-blocs/wrapper-blocs.component';\nexport * from './lib/components/card-price/card-price.component';\nexport * from './lib/components/multiple-search-plus/shared/multiple-search-plus-results.model';\nexport * from './lib/components/multiple-search-plus/shared/multiple-search-plus-option.model';\nexport * from './lib/components/snackbar/snackbar.component';\nexport * from './lib/components/alert-popup/alert-popup.service';\nexport * from './lib/components/alert-popup/alert-popup.component';\nexport * from './lib/components/alert-popup/alert-popup-module';\nexport * from './lib/components/wrapper-sidebar/wrapper-sidebar.component';\nexport * from './lib/components/breadcrumbs/breadcrumbs.component';\nexport * from './lib/components/token-check/token-check.component';\nexport * from './lib/components/row/row.component';\nexport * from './lib/components/column/column.component';\nexport * from './lib/components/block-with-checkbox/block-with-checkbox.component';\nexport * from './lib/components/confirm-delete/confirm-delete.component';\nexport * from './lib/components/search/search.component';\nexport * from './lib/components/charging-bar/charging-bar.component';\nexport * from './lib/components/mosaic/mosaic.component';\nexport * from './lib/components/content-with-buttons/content-with-buttons.component';\nexport * from './lib/components/wrapper-multiple-block/wrapper-multiple-block.component';\nexport * from './lib/components/draganddrop-list/draganddrop-list.component';\nexport * from './lib/components/selected-list/selected-list.component';\nexport * from './lib/components/selected-list/shared/selected-list-option.model';\nexport * from './lib/components/search/shared/search-option.model';\nexport * from './lib/components/tree/tree.component';\nexport * from './lib/components/tree/tree.module';\nexport * from './lib/components/tree/tree.dto';\nexport * from './lib/pipes/shared-pipes.module';\nexport * from './lib/pipes/tree/format-object-to-recursif-tree.pipe';\nexport * from './lib/pipes/tree/format-object-to-simple-tree.pipe';\nexport * from './lib/pipes/select/select-filters.pipe';\nexport * from './lib/pipes/selected-list/are-all-options-selected.pipe';\nexport * from './lib/pipes/find-option-selected-field.pipe';\nexport * from './lib/pipes/call-component-function.pipe';\nexport * from './lib/directives/keyboard-events/keypress-enter.directive';\nexport * from './lib/directives/copy-to-clipboard/copy-to-clipboard.directive';\nexport * from './lib/directives/keyboard-events/two-digital-decimal-number.directive';\nexport * from './lib/directives/watch-dom-tree/watch-dom-tree.directive';\nexport * from './lib/components/optional-disable-container/optional-disable-container.component';\nexport * from './lib/components/summary/summary.component';\n\nexport * from './lib/components/select/select/select.component';\nexport * from './lib/components/select/select/value-change.service';\nexport * from './lib/components/select/select/select.directive';\nexport * from './lib/components/select/option/option.component';\nexport * from './lib/components/select/option-call-to-action/option-call-to-action.component';\nexport * from './lib/components/common/placeholder/placeholder.component';\nexport * from './lib/components/common/label/label.component';\nexport * from './lib/components/ai-express/ai-express.component';\nexport * from './lib/components/select/option/select-option.directive';\nexport * from './lib/components/select/select-search-trigger/select-search-trigger.component';\nexport * from './lib/pipes/select/filter-options.pipe';\n\n// expansion\nexport * from './lib/components/expansion/expansion.module';\nexport * from './lib/components/expansion/accordion/accordion.component';\nexport * from './lib/components/expansion/accordion/accordion-item.token';\nexport * from './lib/components/expansion/expansion-panel-header/expansion-panel-header.component';\nexport * from './lib/components/expansion/expansion-panel-header/expansion-panel-header.token';\nexport * from './lib/components/expansion/expansion-panel-header/expansion-panel-header.directive';\nexport * from './lib/components/expansion/expansion-panel/expansion-panel.component';\nexport * from './lib/components/expansion/expansion-panel/expansion-panel.directive';\n\nexport * from './lib/animations/show/show-from-bottom.animation';\nexport * from './lib/animations/show/show-from-top.animation';\nexport * from './lib/animations/show/show-from-left.animation';\nexport * from './lib/animations/show/show-from-right.animation';\nexport * from './lib/animations/show/opacity.animation';\n\nexport * from './lib/animations/list/animate-list-from-bottom.animation';\nexport * from './lib/animations/list/animate-list-from-top.animation';\nexport * from './lib/animations/list/animate-list-from-right.animation';\nexport * from './lib/animations/list/animate-list-from-left.animation';\n\nexport * from './lib/animations/switch/switch-in-out.animation';\nexport * from './lib/animations/in-out/in-out-x.animation';\nexport * from './lib/animations/in-out/in-out-y.animation';\n\nexport * from './lib/services/history.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.DomService","takeUntil","i1.ValueChangeService","directives","i2","i3.TooltipComponent","i3.DebounceKeyupDirective","i1.TableCheckboxIdService","i3","i4.PagniationArrayTotalPages","i5.PagniationIsLastPage","i6.PagniationText","i1.FiltersTableService","i2.TableCheckboxIdService","i3.MultiSelectionService","i4","i5","i6.InputSearchComponent","i7.LoaderComponent","i8.CheckboxComponent","i9.PaginationComponent","distinctUntilChanged","map","i2.AutoHideDirective","i4.AutoHideDirective","i5.ZindexToggleDirective","i6.OnlyNumberDirective","i7.OptionalDisableContainerComponent","i8","i1.HistoryService","i3.H1Component","pipes","i3.ZindexToggleDirective","i2.DebounceKeyupDirective","i3.AutoHideDirective","i4.ZindexToggleDirective","i5.LoaderComponent","i6.ImageComponent","i7.H3Component","i8.TextComponent","i9","i5.ButtonComponent","i2.VarDirective","i3.ButtonComponent","i4.AreAllOptionsSelectedPipe","i2.CheckboxComponent","i2.KeypressEnterDirective","i6","i2.ButtonComponent","i3.LinkComponent","i4.ButtonComponent","i3.InputComponent","components","i2.DomChangedDirective","tap","currentUsedSelectorForThisAnimation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wizishop-angular-components.mjs","sources":["../../../../projects/angular-components/src/lib/components/loader/loader.component.ts","../../../../projects/angular-components/src/lib/components/loader/loader.component.html","../../../../projects/angular-components/src/lib/directives/abstract-debounce/abstract-debounce.directive.ts","../../../../projects/angular-components/src/lib/directives/abstract-debounce/debounce-keyup.directive.ts","../../../../projects/angular-components/src/lib/services/dom.service.ts","../../../../projects/angular-components/src/lib/directives/auto-hide/auto-hide.directive.ts","../../../../projects/angular-components/src/lib/directives/zindex-toggle/zindex-toggle.directive.ts","../../../../projects/angular-components/src/lib/directives/ng-var.directive.ts","../../../../projects/angular-components/src/lib/directives/keyboard-events/keypress-enter.directive.ts","../../../../projects/angular-components/src/lib/components/select/option/option-selection-handler.token.ts","../../../../projects/angular-components/src/lib/components/select/option/select-option.directive.ts","../../../../projects/angular-components/src/lib/utils/array.ts","../../../../projects/angular-components/src/lib/components/select/select/value-change.service.ts","../../../../projects/angular-components/src/lib/components/select/select/select.directive.ts","../../../../projects/angular-components/src/lib/directives/keyboard-events/only-numbers.directive.ts","../../../../projects/angular-components/src/lib/directives/keyboard-events/two-digital-decimal-number.directive.ts","../../../../projects/angular-components/src/lib/components/radio/radio-directive.ts","../../../../projects/angular-components/src/lib/components/radio/radio-group.directive.ts","../../../../projects/angular-components/src/lib/directives/copy-to-clipboard/copy-to-clipboard.directive.ts","../../../../projects/angular-components/src/lib/directives/scroll-to/scroll-to.directive.ts","../../../../projects/angular-components/src/lib/directives/watch-dom-tree/watch-dom-tree.directive.ts","../../../../projects/angular-components/src/lib/directives/shared-directives.module.ts","../../../../projects/angular-components/src/lib/components/tooltip/tooltip.component.ts","../../../../projects/angular-components/src/lib/components/tooltip/tooltip.component.html","../../../../projects/angular-components/src/lib/components/tooltip/tooltip.module.ts","../../../../projects/angular-components/src/lib/components/progress-bar/progress-bar.component.ts","../../../../projects/angular-components/src/lib/components/progress-bar/progress-bar.component.html","../../../../projects/angular-components/src/lib/components/inputs/input/input.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input/input.component.html","../../../../projects/angular-components/src/lib/components/inputs/input-search/input-search.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input-search/input-search.component.html","../../../../projects/angular-components/src/lib/animations/in-out/in-out-y.animation.ts","../../../../projects/angular-components/src/lib/components/checkbox/checkbox.component.ts","../../../../projects/angular-components/src/lib/components/checkbox/checkbox.component.html","../../../../projects/angular-components/src/lib/utils/html-container.class.ts","../../../../projects/angular-components/src/lib/components/table/shared/table-checkbox-id.service.ts","../../../../projects/angular-components/src/lib/components/table/directives/checkBoxRow.directive.ts","../../../../projects/angular-components/src/lib/services/multiple-selection.service.ts","../../../../projects/angular-components/src/lib/components/table/directives/raw.directive.ts","../../../../projects/angular-components/src/lib/components/table/shared/filters-table.service.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/is-last-page.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/array-pages.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pipes/custom-text.pipe.ts","../../../../projects/angular-components/src/lib/components/pagination/pagination.component.ts","../../../../projects/angular-components/src/lib/components/pagination/pagination.component.html","../../../../projects/angular-components/src/lib/components/table/table.component.ts","../../../../projects/angular-components/src/lib/components/table/table.component.html","../../../../projects/angular-components/src/lib/components/tag/tag.component.ts","../../../../projects/angular-components/src/lib/components/tag/tag.component.html","../../../../projects/angular-components/src/lib/components/tabs/tab/tab.component.ts","../../../../projects/angular-components/src/lib/components/tabs/tab/tab.component.html","../../../../projects/angular-components/src/lib/components/tabs/tab-body/tab-body.directive.ts","../../../../projects/angular-components/src/lib/components/tabs/tab-body/tab-body.component.ts","../../../../projects/angular-components/src/lib/components/tabs/tab-body/tab-body.component.html","../../../../projects/angular-components/src/lib/components/tabs/tabs.component.ts","../../../../projects/angular-components/src/lib/components/tabs/tabs.component.html","../../../../projects/angular-components/src/lib/components/button/button.component.ts","../../../../projects/angular-components/src/lib/components/button/button.component.html","../../../../projects/angular-components/src/lib/components/info/info.component.ts","../../../../projects/angular-components/src/lib/components/info/info.component.html","../../../../projects/angular-components/src/lib/components/settings/settings.component.ts","../../../../projects/angular-components/src/lib/components/settings/settings.component.html","../../../../projects/angular-components/src/lib/components/delete/delete.component.ts","../../../../projects/angular-components/src/lib/components/delete/delete.component.html","../../../../projects/angular-components/src/lib/components/dropdown/dropdown.component.ts","../../../../projects/angular-components/src/lib/components/dropdown/dropdown.component.html","../../../../projects/angular-components/src/lib/components/image/image.component.ts","../../../../projects/angular-components/src/lib/components/image/image.component.html","../../../../projects/angular-components/src/lib/components/back/back.component.ts","../../../../projects/angular-components/src/lib/components/back/back.component.html","../../../../projects/angular-components/src/lib/components/separator/separator.component.ts","../../../../projects/angular-components/src/lib/components/separator/separator.component.html","../../../../projects/angular-components/src/lib/components/logo/logo.component.ts","../../../../projects/angular-components/src/lib/components/logo/logo.component.html","../../../../projects/angular-components/src/lib/components/radio/radio.component.ts","../../../../projects/angular-components/src/lib/components/radio/radio.component.html","../../../../projects/angular-components/src/lib/components/state/state.component.ts","../../../../projects/angular-components/src/lib/components/state/state.component.html","../../../../projects/angular-components/src/lib/animations/in-out/in-out-x.animation.ts","../../../../projects/angular-components/src/lib/components/tag-label/tag-label.component.ts","../../../../projects/angular-components/src/lib/components/tag-label/tag-label.component.html","../../../../projects/angular-components/src/lib/animations/show/opacity.animation.ts","../../../../projects/angular-components/src/lib/components/optional-disable-container/optional-disable-container.component.ts","../../../../projects/angular-components/src/lib/components/optional-disable-container/optional-disable-container.component.html","../../../../projects/angular-components/src/lib/components/calendar/calendar.component.ts","../../../../projects/angular-components/src/lib/components/calendar/calendar.component.html","../../../../projects/angular-components/src/lib/components/edit-in-place/edit-in-place.component.ts","../../../../projects/angular-components/src/lib/components/edit-in-place/edit-in-place.component.html","../../../../projects/angular-components/src/lib/components/text-area/text-area.component.ts","../../../../projects/angular-components/src/lib/components/text-area/text-area.component.html","../../../../projects/angular-components/src/lib/components/hn/h1/h1.component.ts","../../../../projects/angular-components/src/lib/components/hn/h1/h1.component.html","../../../../projects/angular-components/src/lib/components/hn/h2/h2.component.ts","../../../../projects/angular-components/src/lib/components/hn/h2/h2.component.html","../../../../projects/angular-components/src/lib/components/hn/h3/h3.component.ts","../../../../projects/angular-components/src/lib/components/hn/h3/h3.component.html","../../../../projects/angular-components/src/lib/services/history.service.ts","../../../../projects/angular-components/src/lib/components/header-page/header-page.component.ts","../../../../projects/angular-components/src/lib/components/header-page/header-page.component.html","../../../../projects/angular-components/src/lib/components/link/link.component.ts","../../../../projects/angular-components/src/lib/components/link/link.component.html","../../../../projects/angular-components/src/lib/components/switch/switch.component.ts","../../../../projects/angular-components/src/lib/components/switch/switch.component.html","../../../../projects/angular-components/src/lib/components/alert/alert.component.ts","../../../../projects/angular-components/src/lib/components/alert/alert.component.html","../../../../projects/angular-components/src/lib/components/text/text.component.ts","../../../../projects/angular-components/src/lib/components/text/text.component.html","../../../../projects/angular-components/src/lib/components/pagination/pagination.module.ts","../../../../projects/angular-components/src/lib/components/checkbox/checkbox.module.ts","../../../../projects/angular-components/src/lib/components/table/directives/column.directive.ts","../../../../projects/angular-components/src/lib/components/table/directives/columnHeader.directive.ts","../../../../projects/angular-components/src/lib/components/table/table.module.ts","../../../../projects/angular-components/src/lib/components/upload/upload.component.ts","../../../../projects/angular-components/src/lib/components/upload/upload.component.html","../../../../projects/angular-components/src/lib/components/hn/h4/h4.component.ts","../../../../projects/angular-components/src/lib/components/hn/h4/h4.component.html","../../../../projects/angular-components/src/lib/components/select-in-text/select-in-text.component.ts","../../../../projects/angular-components/src/lib/components/select-in-text/select-in-text.component.html","../../../../projects/angular-components/src/lib/components/multiple-search/multiple-search.component.ts","../../../../projects/angular-components/src/lib/components/multiple-search/multiple-search.component.html","../../../../projects/angular-components/src/lib/components/multiple-search-plus/multiple-search-plus.component.ts","../../../../projects/angular-components/src/lib/components/multiple-search-plus/multiple-search-plus.component.html","../../../../projects/angular-components/src/lib/components/common/label/label.component.ts","../../../../projects/angular-components/src/lib/components/common/label/label.component.html","../../../../projects/angular-components/src/lib/components/inputs/input-with-select/input-with-select.component.ts","../../../../projects/angular-components/src/lib/components/inputs/input-with-select/input-with-select.component.html","../../../../projects/angular-components/src/lib/components/popin/popin.component.ts","../../../../projects/angular-components/src/lib/components/popin/popin.component.html","../../../../projects/angular-components/src/lib/components/free-popin/free-popin.component.ts","../../../../projects/angular-components/src/lib/components/free-popin/free-popin.component.html","../../../../projects/angular-components/src/lib/components/block/separator/block-separator.component.ts","../../../../projects/angular-components/src/lib/components/block/block.component.ts","../../../../projects/angular-components/src/lib/components/block/block.component.html","../../../../projects/angular-components/src/lib/components/wrapper/wrapper.component.ts","../../../../projects/angular-components/src/lib/components/wrapper/wrapper.component.html","../../../../projects/angular-components/src/lib/components/filters/filters.component.ts","../../../../projects/angular-components/src/lib/components/filters/filters.component.html","../../../../projects/angular-components/src/lib/components/wrapper-blocs/wrapper-blocs.component.ts","../../../../projects/angular-components/src/lib/components/wrapper-blocs/wrapper-blocs.component.html","../../../../projects/angular-components/src/lib/components/snackbar/snackbar.component.ts","../../../../projects/angular-components/src/lib/components/snackbar/snackbar.component.html","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup.component.ts","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup.component.html","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup.service.ts","../../../../projects/angular-components/src/lib/components/alert-popup/alert-popup-module.ts","../../../../projects/angular-components/src/lib/components/search/search.component.ts","../../../../projects/angular-components/src/lib/components/search/search.component.html","../../../../projects/angular-components/src/lib/pipes/selected-list/are-all-options-selected.pipe.ts","../../../../projects/angular-components/src/lib/components/selected-list/selected-list.component.ts","../../../../projects/angular-components/src/lib/components/selected-list/selected-list.component.html","../../../../projects/angular-components/src/lib/components/tree/tree.component.ts","../../../../projects/angular-components/src/lib/components/tree/tree.component.html","../../../../projects/angular-components/src/lib/pipes/tree/format-object-to-recursif-tree.pipe.ts","../../../../projects/angular-components/src/lib/pipes/tree/format-object-to-simple-tree.pipe.ts","../../../../projects/angular-components/src/lib/pipes/select/select-filters.pipe.ts","../../../../projects/angular-components/src/lib/pipes/select/filter-options.pipe.ts","../../../../projects/angular-components/src/lib/pipes/find-option-selected-field.pipe.ts","../../../../projects/angular-components/src/lib/pipes/call-component-function.pipe.ts","../../../../projects/angular-components/src/lib/pipes/shared-pipes.module.ts","../../../../projects/angular-components/src/lib/components/tree/tree.module.ts","../../../../projects/angular-components/src/lib/utils/uuid.ts","../../../../projects/angular-components/src/lib/components/select/option/option.component.ts","../../../../projects/angular-components/src/lib/components/select/option/option.component.html","../../../../projects/angular-components/src/lib/components/select/select-search-trigger/select-search-trigger.component.ts","../../../../projects/angular-components/src/lib/components/select/select-search-trigger/select-search-trigger.component.html","../../../../projects/angular-components/src/lib/components/select/select/select.component.ts","../../../../projects/angular-components/src/lib/components/select/select/select.component.html","../../../../projects/angular-components/src/lib/components/select/option-call-to-action/option-call-to-action.component.ts","../../../../projects/angular-components/src/lib/components/select/option-call-to-action/option-call-to-action.component.html","../../../../projects/angular-components/src/lib/components/common/placeholder/placeholder.component.ts","../../../../projects/angular-components/src/lib/components/common/placeholder/placeholder.component.html","../../../../projects/angular-components/src/lib/components/wrapper-sidebar/wrapper-sidebar.component.ts","../../../../projects/angular-components/src/lib/components/wrapper-sidebar/wrapper-sidebar.component.html","../../../../projects/angular-components/src/lib/components/breadcrumbs/breadcrumbs.component.ts","../../../../projects/angular-components/src/lib/components/breadcrumbs/breadcrumbs.component.html","../../../../projects/angular-components/src/lib/components/card-price/card-price.component.ts","../../../../projects/angular-components/src/lib/components/card-price/card-price.component.html","../../../../projects/angular-components/src/lib/components/token-check/token-check.component.ts","../../../../projects/angular-components/src/lib/components/token-check/token-check.component.html","../../../../projects/angular-components/src/lib/components/block-with-checkbox/block-with-checkbox.component.ts","../../../../projects/angular-components/src/lib/components/block-with-checkbox/block-with-checkbox.component.html","../../../../projects/angular-components/src/lib/components/confirm-delete/confirm-delete.component.ts","../../../../projects/angular-components/src/lib/components/confirm-delete/confirm-delete.component.html","../../../../projects/angular-components/src/lib/components/mosaic/mosaic.component.ts","../../../../projects/angular-components/src/lib/components/mosaic/mosaic.component.html","../../../../projects/angular-components/src/lib/components/content-with-buttons/content-with-buttons.component.ts","../../../../projects/angular-components/src/lib/components/content-with-buttons/content-with-buttons.component.html","../../../../projects/angular-components/src/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.ts","../../../../projects/angular-components/src/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.html","../../../../projects/angular-components/src/lib/components/draganddrop-list/draganddrop-list.component.ts","../../../../projects/angular-components/src/lib/components/draganddrop-list/draganddrop-list.component.html","../../../../projects/angular-components/src/lib/components/expansion/accordion/accordion-item.token.ts","../../../../projects/angular-components/src/lib/components/expansion/accordion/accordion.component.ts","../../../../projects/angular-components/src/lib/components/expansion/accordion/accordion.component.html","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel-header/expansion-panel-header.token.ts","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel-header/expansion-panel-header.directive.ts","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.ts","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.html","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel/expansion-panel.directive.ts","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel/expansion-panel.component.ts","../../../../projects/angular-components/src/lib/components/expansion/expansion-panel/expansion-panel.component.html","../../../../projects/angular-components/src/lib/components/expansion/expansion.module.ts","../../../../projects/angular-components/src/lib/components/block/block-title-legacy/block-title-legacy.component.ts","../../../../projects/angular-components/src/lib/components/block/block-title-legacy/block-title-legacy.component.html","../../../../projects/angular-components/src/lib/components/summary/summary.component.ts","../../../../projects/angular-components/src/lib/components/summary/summary.component.html","../../../../projects/angular-components/src/lib/components/google-preview/google-preview.component.ts","../../../../projects/angular-components/src/lib/components/google-preview/google-preview.component.html","../../../../projects/angular-components/src/lib/components/charging-bar/charging-bar.component.ts","../../../../projects/angular-components/src/lib/components/charging-bar/charging-bar.component.html","../../../../projects/angular-components/src/lib/components/expanded-panel/expanded-panel.component.ts","../../../../projects/angular-components/src/lib/components/expanded-panel/expanded-panel.component.html","../../../../projects/angular-components/src/lib/components/row/row.component.ts","../../../../projects/angular-components/src/lib/components/row/row.component.html","../../../../projects/angular-components/src/lib/components/column/column.component.ts","../../../../projects/angular-components/src/lib/components/column/column.component.html","../../../../projects/angular-components/src/lib/components/ai-express/ai-express.component.ts","../../../../projects/angular-components/src/lib/components/ai-express/ai-express.component.html","../../../../projects/angular-components/src/lib/components/shared-components.module.ts","../../../../projects/angular-components/src/lib/wizi-components.module.ts","../../../../projects/angular-components/src/lib/components/table/shared/table-filters-group.model.ts","../../../../projects/angular-components/src/lib/components/table/shared/distinct-until-table-filters-changed.ts","../../../../projects/angular-components/src/lib/animations/show/show-from-bottom.animation.ts","../../../../projects/angular-components/src/lib/animations/show/show-from-top.animation.ts","../../../../projects/angular-components/src/lib/animations/show/show-from-left.animation.ts","../../../../projects/angular-components/src/lib/animations/show/show-from-right.animation.ts","../../../../projects/angular-components/src/lib/animations/list/animate-list-from-bottom.animation.ts","../../../../projects/angular-components/src/lib/animations/list/animate-list-from-top.animation.ts","../../../../projects/angular-components/src/lib/animations/list/animate-list-from-right.animation.ts","../../../../projects/angular-components/src/lib/animations/list/animate-list-from-left.animation.ts","../../../../projects/angular-components/src/lib/animations/switch/switch-in-out.animation.ts","../../../../projects/angular-components/src/public-api.ts","../../../../projects/angular-components/src/wizishop-angular-components.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-loader',\n templateUrl: './loader.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule]\n})\nexport class LoaderComponent {\n @Input()\n text = '';\n @Input()\n small = false;\n}\n","<div class=\"wac-loader\" [ngClass]=\"{ 'is-small': small }\">\n <div class=\"loader loader1\">\n <div>\n <div>\n <div>\n <div>\n <div>\n <div></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <p class=\"is-textcentered\" *ngIf=\"!!text\" [innerHTML]=\"text\"></p>\n</div>\n","import { Directive, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, debounceTime, distinctUntilChanged, tap } from 'rxjs/operators';\n\n@Directive({\n selector: 'AbstractDebounceDirective'\n})\nexport class AbstractDebounceDirective implements OnDestroy {\n @Input()\n public debounceTime: number;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n protected emitEvent$: Subject<any>;\n protected subscription$: Subject<void>;\n\n constructor() {\n this.debounceTime = 500;\n this.onEventChange = new EventEmitter<any>();\n this.emitEvent$ = new Subject<any>();\n this.subscription$ = new Subject<void>();\n }\n\n ngOnInit(): void {\n this.emitEvent$\n .pipe(\n takeUntil(this.subscription$),\n debounceTime(this.debounceTime),\n distinctUntilChanged(),\n tap(value => this.emitChange(value))\n )\n .subscribe();\n }\n\n public emitChange(value: any): void {\n this.onEventChange.emit(value);\n }\n\n ngOnDestroy(): void {\n this.subscription$.next();\n this.subscription$.complete();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { AbstractDebounceDirective } from './abstract-debounce.directive';\n@Directive({\n selector: 'input[debounceKeyUp]'\n})\nexport class DebounceKeyupDirective extends AbstractDebounceDirective {\n constructor() {\n super();\n }\n\n @HostListener('keyup', ['$event'])\n public onKeyUp(event: any): void {\n event.preventDefault();\n this.emitEvent$.next(event);\n }\n}\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, EmbeddedViewRef, Injectable, Injector} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport {ComponentType, OverlayContainer} from '@angular/cdk/overlay';\nimport {PortalInjector} from '@angular/cdk/portal';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DomService {\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private overlayContainer: OverlayContainer\n ) {}\n private documentEventSource = new Subject();\n private documentEventDone = this.documentEventSource.asObservable();\n private eventInitialisation = true;\n\n private documentScrollSource = new Subject();\n private documentScrollDone = this.documentScrollSource.asObservable();\n\n documentEvent() {\n this.setDocumentEventListener();\n return this.documentEventDone;\n }\n\n setDocumentEventListener() {\n if (!this.eventInitialisation) {\n return;\n }\n this.eventInitialisation = false;\n document.body.addEventListener('click', event => {\n this.documentEventSource.next(event.target);\n });\n }\n\n documentScroll() {\n return this.documentScrollDone;\n }\n\n setScrollEventListener() {\n window.onscroll = () => {\n this.documentScrollSource.next(window);\n };\n }\n attachComponentPortal<T>(component: ComponentType<T>, injector?: PortalInjector): ComponentRef<T> {\n const componentRef: ComponentRef<T> = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(injector ? injector : this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n\n this.overlayContainer.getContainerElement().appendChild(this._getComponentRootNode(componentRef));\n\n return componentRef;\n }\n\n /** Gets the root HTMLElement for an instantiated component. */\n private _getComponentRootNode(componentRef: ComponentRef<any>): HTMLElement {\n return (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n }\n}\n","import {Directive, ElementRef, Input, Output, EventEmitter, AfterViewInit, OnInit} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DomService } from '../../services/dom.service';\n\n@Directive({\n selector: '[wzAutoHide]'\n})\nexport class AutoHideDirective implements AfterViewInit {\n @Input() triggerElement: string;\n @Input() forceOn: Array<string> = null;\n subscription: Subscription;\n\n constructor(private _elementRef: ElementRef, private domService: DomService) {}\n\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\n\n ngAfterViewInit(): void {\n this.subscription = this.domService.documentEvent().subscribe((targetElement: Element) => {\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n const classNameFromElement = targetElement.getAttribute('class');\n\n if (!clickedInside && (classNameFromElement === null || !classNameFromElement.includes(this.triggerElement))) {\n\n this.clickOutside.emit(null);\n }\n\n if (this.forceOn != null && classNameFromElement !== null) {\n let needToClose = true;\n this.forceOn.forEach(v => {\n if (!classNameFromElement.includes(v)) {\n needToClose = false;\n }\n });\n if (needToClose) {\n this.clickOutside.emit(null);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe()\n }\n}\n","import {Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2} from '@angular/core';\n\n@Directive({\n selector: '[zIndexToggle]'\n})\nexport class ZindexToggleDirective implements OnInit, OnDestroy {\n isActived = false;\n\n @Output()\n public onEventChange: EventEmitter<any>;\n\n @Input('zIndexToggle')\n set isActive(value: boolean) {\n this.isActived = value;\n this.switchToggle();\n }\n get isActive(): boolean {\n return this.isActived;\n }\n\n constructor(private currentElement: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit(): void {\n }\n\n switchToggle() {\n if (this.isActived) {\n this.renderer.addClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n this.renderer.addClass(this.currentElement.nativeElement.parentElement.parentNode.parentNode, 'zindexToggle');\n } else {\n this.renderer.removeClass(this.currentElement.nativeElement.parentElement.parentNode, 'zindexToggle');\n this.renderer.removeClass(this.currentElement.nativeElement.parentElement.parentNode.parentNode, 'zindexToggle');\n }\n }\n\n ngOnDestroy(): void {\n }\n}\n","import { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\n\n@Directive({\n selector: '[ngVar]',\n})\nexport class VarDirective {\n // https://stackoverflow.com/questions/38582293/how-to-declare-a-variable-in-a-template-in-angular\n\n @Input()\n set ngVar(context: unknown) {\n this.context.$implicit = this.context.ngVar = context;\n\n if (!this.hasView) {\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\n this.hasView = true;\n }\n }\n\n private context: {\n $implicit: unknown;\n ngVar: unknown;\n } = {\n $implicit: null,\n ngVar: null,\n };\n\n private hasView: boolean = false;\n\n constructor(\n private templateRef: TemplateRef<any>,\n private vcRef: ViewContainerRef\n ) {}\n}","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({ selector: '[keypressEnter]' })\nexport class KeypressEnterDirective {\n\n private KEYPRESS_ENTER = \"Enter\";\n\n @HostListener('keypress', ['$event']) onKeypress(event: KeyboardEvent){\n if (event.key === this.KEYPRESS_ENTER) {\n this.keypressEnter.next(true);\n }\n }\n\n @Output() keypressEnter = new EventEmitter<boolean>();\n\n constructor() {}\n}","import { InjectionToken } from \"@angular/core\";\nimport { OptionSelectionHandler } from \"./option-selection-handler.interface\";\n\nexport const OPTION_SELECTION_HANDLER = new InjectionToken<OptionSelectionHandler<any>>('OPTION_SELECTION_HANDLER');","import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { OptionSelectionHandler } from './option-selection-handler.interface';\nimport { OPTION_SELECTION_HANDLER } from './option-selection-handler.token';\n\n// todo create a select module and in the select-option.directive.ts\n@Directive({\n selector: '[wacOption]',\n providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: SelectOptionDirective }],\n exportAs: 'wacOption'\n})\nexport class SelectOptionDirective<TOptionValue> implements OptionSelectionHandler<TOptionValue> {\n\n @HostListener('click', ['$event']) onClick(event: PointerEvent) {\n this.onSelectOption();\n if (this.onClickEventPreventDefault) {\n event.preventDefault();\n }\n }\n\n @HostBinding('class.wac-option-selected') get isOptionSelected() {\n return this.selected;\n }\n\n @HostBinding('class.wac-option-disabled') get isOptionDisabled() {\n return this.disabled || this.disabledByParent;\n }\n\n @HostBinding('style.cursor') get cursor () {\n return this.disabled || this.disabledByParent ? 'not-allowed' : 'pointer';\n }\n\n @Input()\n disabled = false;\n\n protected disabledByParent = false;\n\n @Input()\n value: TOptionValue;\n\n @Input()\n selected: boolean = false;\n\n @Input() onClickEventPreventDefault = true;\n\n @Output()\n selectedChange = new EventEmitter<boolean>();\n\n multiple = false;\n\n constructor(protected contentRef: ElementRef, protected changeDetectorRef: ChangeDetectorRef) {}\n\n setSelected(selected: boolean): void {\n this.selected = selected;\n this.changeDetectorRef.markForCheck();\n }\n\n onSelectOption() {\n if (this.disabled || this.disabledByParent) {\n return;\n }\n this.selected = this.multiple ? !this.selected : true; // If not multiple mode -> can not be unselected\n this.selectedChange.emit(this.selected);\n this.changeDetectorRef.markForCheck();\n }\n\n getValue() {\n return this.value;\n }\n\n setValue(value: TOptionValue): void {\n this.value = value;\n this.changeDetectorRef.markForCheck();\n }\n\n isSelected(): boolean {\n return this.selected;\n }\n\n getContentRef(): ElementRef<any> {\n return this.contentRef;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabledByParent = isDisabled;\n this.changeDetectorRef.markForCheck();\n }\n\n setMultiple(multiple: boolean): void {\n this.multiple = multiple;\n this.changeDetectorRef.markForCheck();\n }\n}","export const compareArrays = <TItem>(a: TItem[], b: TItem[]) =>\n a.length === b.length && a.every((element, index) => element === b[index]);\n","import { ChangeDetectorRef, Injectable, OnDestroy, QueryList } from '@angular/core';\nimport { merge, Observable, Subject } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\nimport { compareArrays } from '../../../utils/array';\nimport { OptionComponent } from '../option/option.component';\n\n@Injectable()\nexport class ValueChangeService<TOptionValue> implements OnDestroy {\n\n valueChange$: Subject<TOptionValue | TOptionValue[]> = new Subject();\n\n set value(value: TOptionValue | TOptionValue[]) {\n this._value = value;\n this.handleValueChange();\n this.valueChange$.next(value);\n }\n\n get value(): TOptionValue | TOptionValue[] {\n return this._value;\n }\n\n multiple: boolean = false;\n\n private _value: TOptionValue | TOptionValue[];\n\n disabled: boolean;\n\n optionChildren: QueryList<OptionComponent<TOptionValue>>;\n\n selectedOptionContent: any;\n\n indexSelectedOption: number = null; // todo update to array\n\n resetListeners$: Subject<void> = new Subject();\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n }\n\n handleSelectOptionsChange(optionChildren: QueryList<OptionComponent<TOptionValue>>, value: any) {\n this.resetListeners$.next();\n\n this.optionChildren = optionChildren;\n this._value = value;\n this.indexSelectedOption = null;\n\n this.handleMultipleSelection();\n this.handleInitialSelectedOption();\n this.handleSelectedOptionsEvent();\n }\n\n assignValue(value: TOptionValue | TOptionValue[]) {\n this._value = value;\n this.handleValueChange();\n }\n\n handleValueChange() {\n this.changeSelectedOption();\n this.updateSelectPlaceholder();\n this.changeDetectorRef.markForCheck();\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this.optionChildren?.forEach((option) => option.setDisabledState(isDisabled));\n }\n\n selectNextOption() {\n // TODO : Handle multiple selection\n if (this.indexSelectedOption +1 >= this.optionChildren.length) {\n return;\n }\n\n if (this.indexSelectedOption === null) {\n this.indexSelectedOption = 0;\n } else {\n this.indexSelectedOption = this.indexSelectedOption + 1;\n }\n\n this.value = this.optionChildren.get(this.indexSelectedOption).value;\n }\n\n selectPreviousOption() {\n // TODO : Handle multiple selection\n if (!this.indexSelectedOption) {\n this.indexSelectedOption = null;\n this.assignValue(null);\n return;\n }\n\n this.indexSelectedOption = this.indexSelectedOption - 1;\n this.value = this.optionChildren.get(this.indexSelectedOption).value;\n }\n\n searchOptionByFirstLetter(letter: string) {\n // TODO : Handle multiple selectiong\n const matchedOptionsIndex = this.optionChildren\n .map((option, index) => this.indexOfMatchedOption(option, index, letter))\n .filter(this.isNotNull);\n\n if (!matchedOptionsIndex.length) { // reset the selection\n this.indexSelectedOption = null;\n this.value = null;\n return;\n }\n\n // find the next option after the current selected option, or the first option\n\n const validOptionIndex = matchedOptionsIndex.find(this.highestAndClosestIndex);\n\n this.indexSelectedOption = isNaN(validOptionIndex) ? matchedOptionsIndex[0] : validOptionIndex;\n this.value = this.optionChildren.get(this.indexSelectedOption).value;\n }\n\n setMultiple(value: boolean) {\n this.multiple = value;\n }\n\n private indexOfMatchedOption = (option: OptionComponent<TOptionValue>, index: number, letter: string) => {\n const textOption = option.getContentRef().nativeElement.textContent.trim().toLowerCase();\n return textOption.startsWith(letter) ? index : null;\n }\n\n private isNotNull = (index: number | null) => {\n return index !== null;\n }\n\n private highestAndClosestIndex = (index: number) => {\n if (isNaN(this.indexSelectedOption)) {\n return true;\n }\n if (index > this.indexSelectedOption) {\n return true;\n }\n\n return false;\n }\n\n private handleMultipleSelection() {\n if (this.multiple) {\n setTimeout(() => {\n this.optionChildren.forEach((option) => option.setMultiple(true));\n }, 0);\n }\n }\n\n private handleInitialSelectedOption() {\n setTimeout(() => { // ! Avoid Expression has changed...\n\n if (this.mustUpdateValueWithInitialSelectedOptionValues()) { // initial option value selected win against initial value or ngModel value\n this.value = this.multiple ? this.getSelectedOptionsValues() : this.getSelectedOptionsValues()[0];\n }\n\n if (this.disabled) {\n this.optionChildren.forEach((option) => option.setDisabledState(true));\n }\n\n this.handleValueChange();\n }, 0);\n }\n\n private mustUpdateValueWithInitialSelectedOptionValues() {\n if (!this.getSelectedOptionComponents().length) {\n return false;\n }\n\n if (this.multiple && Array.isArray(this.value)) {\n return !compareArrays(this.value, this.getSelectedOptionsValues());\n }\n\n return this.value !== this.getSelectedOptionsValues()[0];\n }\n\n private handleSelectedOptionsEvent() {\n this.optionSelectedChangeListeners().subscribe((option) => {\n const selectedOptionsValues = this.getSelectedOptionsValues();\n if (this.multiple) {\n this.value = selectedOptionsValues;\n return;\n }\n this.value = option.selected ? option.value : undefined;\n });\n }\n\n private updateSelectPlaceholder() {\n if (!this.value && typeof this.value !== 'number') {\n this.selectedOptionContent = null;\n return;\n }\n\n this.selectedOptionContent = this.getSelectedOptionsContent();\n }\n\n private getSelectedOptionsContent() {\n if (this.multiple) {\n return this.getSelectedOptionComponents().reduce((acc, option) => (acc ? acc + ', ' : '') + option.getContentRef().nativeElement.textContent.trim(), ''); // todo improve for multiple\n }\n return this.getSelectedOptionComponents()[0]?.getContentRef().nativeElement.innerHTML;\n }\n\n private getSelectedOptionComponents(){\n return this.optionChildren.filter((option) => option.selected);\n }\n\n private getSelectedOptionsValues() {\n return this.getSelectedOptionComponents().map((option) => option.value);\n }\n\n private optionSelectedChangeListeners() {\n const selectedChange$ = this.optionChildren.map((option) => {\n return option.selectedChange.pipe(\n filter(() => !this.disabled),\n map(() => option)\n );\n });\n\n return merge(...selectedChange$).pipe(takeUntil(this.resetListeners$));\n }\n\n private changeSelectedOption() {\n this.optionChildren.forEach((optionComponent, index) => {\n optionComponent.setSelected(this.isSelectedValue(optionComponent.value));\n\n if (optionComponent.selected) {\n this.indexSelectedOption = index;\n }\n });\n }\n\n /**\n * May not work with objects values\n */\n private isSelectedValue(value2: TOptionValue) {\n if (this.multiple && Array.isArray(this.value)) {\n return this.value.includes(value2);\n }\n return this.value === value2;\n }\n\n ngOnDestroy() {\n this.resetListeners$.next();\n this.resetListeners$.complete();\n }\n}","import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, A, Z, ZERO, NINE, TAB } from '@angular/cdk/keycodes';\nimport { AfterViewInit, ContentChildren, Directive, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Output, QueryList } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { startWith, Subject, takeUntil } from 'rxjs';\nimport { OptionSelectionHandler } from '../option/option-selection-handler.interface';\nimport { OPTION_SELECTION_HANDLER } from '../option/option-selection-handler.token';\nimport { ValueChangeService } from './value-change.service';\n\n@Directive(\n {\n selector: '[wacSelect]',\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: SelectDirective, multi: true },\n ValueChangeService\n ],\n exportAs: 'wacSelect'\n})\nexport class SelectDirective<TOptionValue> implements OnInit, ControlValueAccessor, AfterViewInit, OnDestroy {\n\n @HostBinding('attr.tabindex') get tabindex() {\n return this.tabIndex;\n }\n\n @HostBinding('class.wac-select-disabled') get isSelectDisabled() {\n return this.disabled;\n }\n\n /** Handles all keydown events on the select. */\n @HostListener('keydown', ['$event']) onKeydown(event: KeyboardEvent): void {\n if (event.keyCode === TAB) {\n return;\n }\n if (this.disabled) {\n return;\n }\n this.handleKeyboardAction(event);\n }\n\n @ContentChildren(OPTION_SELECTION_HANDLER as any, { descendants: true }) optionChildren!: QueryList<OptionSelectionHandler<TOptionValue>>;\n\n @Input()\n set value(value: TOptionValue | TOptionValue[]) {\n this._value = value;\n\n if (!this.optionChildren) {\n return;\n }\n\n this.valueChangeService.assignValue(value);\n }\n\n get value() : TOptionValue | TOptionValue[] {\n return this._value;\n }\n _value: TOptionValue | TOptionValue[];\n\n @Output()\n valueChange = new EventEmitter<any>();\n\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: boolean) {\n this._multiple = value;\n this.valueChangeService.setMultiple(value);\n }\n private _multiple: boolean = false;\n\n @Input()\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.valueChangeService.setDisabledState(disabled);\n }\n get disabled() : boolean {\n return this._disabled;\n }\n _disabled: boolean = false;\n\n\n @Input() tabIndex: number = 0;\n\n @Input() searchByTyping: boolean = false;\n\n isDestroyed$: Subject<void> = new Subject();\n\n constructor(protected valueChangeService: ValueChangeService<TOptionValue>) {\n }\n\n ngOnInit(): void {\n this.handleValueChange();\n }\n\n ngAfterViewInit() {\n this.handleOptionChildren();\n }\n\n private handleValueChange() {\n this.valueChangeService.valueChange$.pipe(takeUntil(this.isDestroyed$)).subscribe(value => {\n this._value = value;\n this.valueChange.emit(this.value);\n this.onChange(this.value);\n this.onTouch(this.value);\n });\n }\n\n private handleOptionChildren() {\n this.optionChildren.changes.pipe(takeUntil(this.isDestroyed$), startWith(this.optionChildren)).subscribe(optionChildren => {\n this.valueChangeService.handleSelectOptionsChange(optionChildren, this.value);\n\n });\n }\n\n /** Handles keyboard events when the selected is open. */\n protected handleKeyboardAction(event: KeyboardEvent): void {\n if (!this.searchByTyping) {\n return;\n }\n const keyCode = event.keyCode;\n const isArrowKey =\n keyCode === DOWN_ARROW ||\n keyCode === UP_ARROW ||\n keyCode === LEFT_ARROW ||\n keyCode === RIGHT_ARROW;\n const isTyping = (keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE);\n if (isArrowKey) {\n event.preventDefault(); // prevents the page from scrolling\n // select the next option on arrow key down\n if (keyCode === DOWN_ARROW || keyCode === RIGHT_ARROW) {\n this.valueChangeService.selectNextOption();\n return;\n }\n this.valueChangeService.selectPreviousOption();\n return;\n }\n\n if (isTyping) {\n this.valueChangeService.searchOptionByFirstLetter(event.key);\n return;\n }\n\n }\n\n // ControlValueAccessor methods\n\n onChange: (value: any) => void = () => {};\n\n onTouch: (value: any) => void = () => {};\n\n writeValue(value: any){\n if (typeof value === 'undefined') {\n return;\n }\n this.value = value;\n }\n\n registerOnChange(fn: any){\n this.onChange = fn;\n }\n registerOnTouched(fn: any){\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n };\n\n ngOnDestroy() {\n this.isDestroyed$.next();\n this.isDestroyed$.complete();\n }\n\n}\n","import { Directive, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[wacOnlyNumber]'\n})\nexport class OnlyNumberDirective {\n\n // https://stackoverflow.com/questions/41465542/angular2-input-field-to-accept-only-numbers?page=1&tab=scoredesc#tab-top\n\n constructor() { }\n\n @Input() wacOnlyNumber: boolean = true;\n\n @HostListener('keydown', ['$event']) onKeyDown(event: KeyboardEvent) {\n if (!this.wacOnlyNumber) {\n return;\n }\n\n if ([46, 8, 9, 27, 13, 110, 190].indexOf(event.keyCode) !== -1 ||\n // Allow: Ctrl+A\n (event.keyCode === 65 && (event.ctrlKey || event.metaKey)) ||\n // Allow: Ctrl+C\n (event.keyCode === 67 && (event.ctrlKey || event.metaKey)) ||\n // Allow: Ctrl+V\n (event.keyCode === 86 && (event.ctrlKey || event.metaKey)) ||\n // Allow: Ctrl+X\n (event.keyCode === 88 && (event.ctrlKey || event.metaKey)) ||\n // Allow: home, end, left, right\n (event.keyCode >= 35 && event.keyCode <= 39)) {\n // let it happen, don't do anything\n return;\n }\n // Ensure that it is a number and stop the keypress\n if ((event.shiftKey || (event.keyCode < 48 || event.keyCode > 57)) && (event.keyCode < 96 || event.keyCode > 105)) {\n event.preventDefault();\n }\n }\n}","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\n\n@Directive({\n selector: '[wacTwoDigitDecimalNumber]',\n })\n export class TwoDigitDecimalNumberDirective {\n\n @Input() decimalSeparator: string[] = ['.', ',']; // user can put . or , char.\n // input also cannot start from , or .\n private specialKeys: Array<string> = ['Backspace', 'Tab', 'End', 'Home', '-', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (this.specialKeys.includes(event.key)) {\n return;\n }\n const current: string = this.el.nativeElement.value;\n const position = this.el.nativeElement.selectionStart;\n const next: string = [current.slice(0, position), event.key == 'Decimal' ? '.' : event.key, current.slice(position)].join('');\n const regex = new RegExp(`^\\\\d+[${this.decimalSeparator.join('')}]?\\\\d{0,2}$`, 'g');\n\n if (next && !regex.test(next)) {\n event.preventDefault();\n }\n }\n }","import { ChangeDetectorRef, Directive, ElementRef } from '@angular/core';\nimport { OPTION_SELECTION_HANDLER } from '../select/option/option-selection-handler.token';\nimport { SelectOptionDirective } from '../select/option/select-option.directive';\n\n@Directive({\n selector: '[wacRadio]',\n exportAs: 'wacRadio',\n providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: RadioDirective }],\n })\nexport class RadioDirective<TOptionValue> extends SelectOptionDirective<TOptionValue> {\n\n constructor(protected contentRef: ElementRef, protected changeDetectorRef: ChangeDetectorRef) {\n super(contentRef, changeDetectorRef);\n }\n}","import { Directive } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectDirective } from '../select/select/select.directive';\nimport { ValueChangeService } from '../select/select/value-change.service';\n\n@Directive({\n selector: '[wacRadioGroup]',\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: RadioGroupDirective, multi: true },\n ValueChangeService\n ],\n })\nexport class RadioGroupDirective<TOptionValue> extends SelectDirective<TOptionValue> {\n\n get multiple() {\n return false;\n }\n set multiple(value: boolean) {\n throw new Error('RadioGroupDirective does not support multiple selection');\n }\n\n constructor(\n protected valueChangeService: ValueChangeService<TOptionValue>,\n ) {\n super(valueChangeService);\n }\n}","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';\n\n@Directive({\n selector: '[wacCopyToClipboard]',\n standalone: true\n })\nexport class CopyToClipBoardDirective {\n @HostListener('click') onClick = () => this.copyToClipboard(this.element.nativeElement.outerText);\n\n @HostBinding('style') cursor = 'cursor:pointer';\n\n @Output() textCopy = new EventEmitter<string>();\n\n constructor(private element: ElementRef) {}\n\n copyToClipboard = (text: string) => {\n navigator.clipboard.writeText(text);\n this.textCopy.emit(text);\n };\n}","import { Directive, HostBinding, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[wacScrollTo]',\n standalone: true,\n })\nexport class ScrollToDirective {\n\n @Input() elementId: string;\n\n @Input() scrollConfig: ScrollIntoViewOptions = {behavior: \"smooth\", block: \"start\", inline: \"nearest\"};\n\n @HostListener('click') onClick() {\n const element = document.getElementById(this.elementId);\n element?.scrollIntoView(this.scrollConfig);\n }\n\n @HostBinding('style.cursor') cursor = 'pointer';\n\n}","import { Directive, ElementRef, OnInit} from '@angular/core';\n// watch dom change and fire (dom-changed) event\n@Directive({\n selector: '[watchDomTree]'\n})\nexport class DomChangedDirective implements OnInit {\n constructor(private elRef: ElementRef) {}\n ngOnInit() {\n this.registerDomChangedEvent(this.elRef.nativeElement);\n }\n\n registerDomChangedEvent(el) {\n const observer = new MutationObserver( list => {\n const evt =\n new CustomEvent('dom-changed',\n {detail: list, bubbles: true});\n el.dispatchEvent(evt);\n });\n const attributes = false;\n const childList = true;\n const subtree = true;\n observer.observe(el, {attributes, childList, subtree});\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { DebounceKeyupDirective } from './abstract-debounce/debounce-keyup.directive';\nimport { AbstractDebounceDirective } from './abstract-debounce/abstract-debounce.directive';\nimport { AutoHideDirective } from './auto-hide/auto-hide.directive';\nimport {ZindexToggleDirective} from './zindex-toggle/zindex-toggle.directive';\nimport { VarDirective } from './ng-var.directive';\nimport { KeypressEnterDirective } from './keyboard-events/keypress-enter.directive';\nimport { SelectOptionDirective } from '../components/select/option/select-option.directive';\nimport { SelectDirective } from '../components/select/select/select.directive';\nimport { OnlyNumberDirective } from './keyboard-events/only-numbers.directive';\nimport { TwoDigitDecimalNumberDirective } from './keyboard-events/two-digital-decimal-number.directive';\nimport { RadioDirective } from '../components/radio/radio-directive';\nimport { RadioGroupDirective } from '../components/radio/radio-group.directive';\nimport { CopyToClipBoardDirective } from './copy-to-clipboard/copy-to-clipboard.directive';\nimport { ScrollToDirective } from './scroll-to/scroll-to.directive';\nimport { DomChangedDirective } from './watch-dom-tree/watch-dom-tree.directive';\n\nconst directives = [\n DebounceKeyupDirective,\n AbstractDebounceDirective,\n AutoHideDirective,\n ZindexToggleDirective,\n VarDirective,\n KeypressEnterDirective,\n SelectOptionDirective,\n SelectDirective,\n OnlyNumberDirective,\n TwoDigitDecimalNumberDirective,\n RadioDirective,\n RadioGroupDirective,\n DomChangedDirective\n];\n\n@NgModule({\n imports: [CommonModule, FormsModule, CopyToClipBoardDirective, ScrollToDirective],\n declarations: directives,\n exports: [...directives, CopyToClipBoardDirective, ScrollToDirective]\n})\nexport class SharedDirectives {}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-tooltip',\n templateUrl: './tooltip.component.html',\n\n})\nexport class TooltipComponent implements OnInit {\n // todo add exemples. Should be a directive. Maybe allow to pass a template like\n @Input()\n tooltipIcon: string;\n @Input()\n tooltipText: string = '';\n @Input()\n tooltipLink: string = '';\n @Input()\n tooltipUrl: string = '#';\n\n constructor() {}\n\n ngOnInit() {\n if (this.tooltipIcon === '') {\n this.tooltipIcon = 'fas fa-info-circle';\n }\n }\n}\n","<span class=\"wac-tooltip\">\n <i [class]=\"tooltipIcon\"></i>\n <span class=\"tooltip-content\"\n >{{ tooltipText }}\n <span *ngIf=\"tooltipUrl\"\n ><a [href]=\"tooltipUrl\" target=\"_blank\">{{ tooltipLink }}</a></span\n >\n </span>\n</span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { TooltipComponent } from './tooltip.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule\n ],\n exports: [TooltipComponent],\n declarations: [TooltipComponent],\n providers: [],\n})\nexport class TooltipModule { }\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'wac-progress-bar',\n templateUrl: './progress-bar.component.html',\n standalone: true,\n imports: [CommonModule],\n})\nexport class ProgressBarComponent {\n @Input()\n valueLength = null;\n @Input()\n min = null;\n @Input()\n max = null;\n\n constructor(private translateService: TranslateService) {}\n\n progressBarClass(spanNumber = -1) {\n const length = this.valueLength;\n const min = this.min;\n const max = this.max;\n\n if (spanNumber === 1) {\n return {\n 'is-danger': length > max,\n 'is-success': length >= min && length <= max\n };\n } else if (spanNumber === 2) {\n return {\n 'is-success': length === max,\n 'is-danger': length > max\n };\n } else {\n return {\n 'is-warning': length < min,\n 'is-danger': length > max,\n 'is-success': length >= min && length <= max\n };\n }\n }\n\n progressBarSpanPosition(index) {\n const min = this.min;\n const max = this.max;\n const maxSize = this.progressBarGetMaxSize(max);\n const successMin = (min / maxSize) * 100;\n const successMax = (max / maxSize) * 100;\n return index === 1 ? successMin : successMax;\n }\n\n progressBarGetMaxSize(max) {\n return max + max / 4;\n }\n\n progressBarGetTextInfo() {\n const length = this.valueLength;\n const min = this.min;\n const max = this.max;\n\n if (length < min) {\n return this.translateService.instant('wac.input.progressbar.information.too.short');\n } else if (length > max) {\n return this.translateService.instant('wac.input.progressbar.information.too.long');\n } else {\n return this.translateService.instant('wac.input.progressbar.information.good');\n }\n }\n}\n","<div class=\"wac-progressBarContent\">\n <div class=\"progressBar\">\n <progress class=\"progress\" [ngClass]=\"progressBarClass()\" [max]=\"progressBarGetMaxSize(max)\" [value]=\"valueLength\"></progress>\n <span [ngClass]=\"progressBarClass(1)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(1) }\"></span>\n <span [ngClass]=\"progressBarClass(2)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(2) }\"></span>\n </div>\n <div class=\"size\">\n <span class=\"is-size-7 wac-input__size\">\n <span *ngIf=\"valueLength\">\n <span [ngClass]=\"progressBarClass()\">{{ progressBarGetTextInfo() }}</span> -\n </span>\n <strong>{{ valueLength }}</strong> / {{ max }}\n </span>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TooltipModule } from '../../tooltip/tooltip.module';\nimport { SharedDirectives } from '../../../directives/shared-directives.module';\nimport { ProgressBarComponent } from '../../progress-bar/progress-bar.component';\n\n@Component({\n selector: 'wac-input',\n templateUrl: './input.component.html',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n SharedDirectives,\n TooltipModule,\n ProgressBarComponent],\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }]\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input()\n label = '';\n @Input()\n value = '';\n @Input()\n type = 'text';\n @Input()\n placeholder = ''; // todo could be handle with ng-content\n @Input()\n textInfo = null; // todo should be handle with ng-content\n @Input()\n textError = null; // todo should be handle with ng-content\n @Input()\n size = null;\n @Input()\n isNumber = null;\n @Input()\n withoutBlock = false;\n @Input()\n icon = '';\n @Input()\n big = false;\n @Input()\n medium = false;\n @Input()\n boldLabel = 'false'; // todo refacto to boolean\n @Input()\n min = null;\n @Input()\n max = null;\n @Input()\n disableMargin = false;\n @Input()\n textPrepend = null; // todo should be handle with ng-content\n @Input()\n textAppend = null; // todo should be handle with ng-content\n @Input()\n progressBar = false;\n @Input()\n extraClasses = '';\n @Input()\n keyPreventDefault = [];\n @Input()\n showTooltip = false;\n @Input()\n textTooltip = '';\n @Input()\n iconTooltip = '';\n @Input()\n urlTooltip = '';\n @Input()\n linkTooltip = '';\n @Input()\n padding = false;\n @Input()\n disabled = false;\n @Input()\n indication = ''; // todo should be handle with ng-content\n @Input()\n success = false;\n @Input()\n error = false;\n @Input()\n maxlength: number | string;\n @Input()\n minlength: number | string;\n @Input()\n indicationLeft = false;\n\n @Output() keypressEnter = new EventEmitter<boolean>();\n @Output() blurred = new EventEmitter<void>();\n\n private KEYPRESS_ENTER = \"Enter\";\n\n id =\n 'wz-input_' +\n Math.random()\n .toString(36)\n .substr(2, 9);\n\n private _onChange = (value: string) => {};\n private _onTouched: Function = () => {};\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n this.value = obj;\n }\n\n onChange(value: string) {\n if (this._onChange) {\n this._onChange(value);\n }\n }\n\n onBlur() {\n if (this._onTouched) {\n this._onTouched();\n }\n this.blurred.next();\n }\n\n checkNumberValue(value) {\n if (this.min && this.min > value) {\n this.value = this.min;\n }\n if (this.max && this.max < value) {\n this.value = this.max;\n }\n }\n\n onFocusOut() {\n if (this.type === 'number') {\n this.checkNumberValue(this.value);\n }\n }\n\n keyPress(event: KeyboardEvent) {\n if (this.keyPreventDefault.includes(event.key)) {\n event.preventDefault();\n }\n\n if (event.key === this.KEYPRESS_ENTER) {\n this.keypressEnter.next(true);\n }\n }\n}\n","<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': (textError || error) && !disabled,\n 'is-empty': value === '',\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SharedDirectives } from '../../../directives/shared-directives.module';\nimport { InputComponent } from '../input/input.component';\n\n@Component({\n selector: 'wac-input-search',\n templateUrl: './input-search.component.html',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n InputComponent,\n SharedDirectives\n ],\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputSearchComponent, multi: true }]\n})\nexport class InputSearchComponent implements ControlValueAccessor {\n\n @Input()\n placeholder: string = '';\n\n @Input()\n withoutgrey: boolean = false;\n\n @Input()\n smallPadding:boolean = false; // todo Try to be more flexible like changing type : export type PaddingConfig = \"default\" | \"small\" | \"big\" | \"no-padding\";\n\n @Input()\n id: string;\n private innerValue: any = '';\n @Output() changeDebounced = new EventEmitter<any>(); // debounced\n\n private onTouchedCallback: () => void = () => {};\n private onChangeCallback: (_: any) => void = () => {};\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v;\n this.onChangeCallback(v);\n }\n }\n\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n }\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n public handleDebouncedKeyUp(): void {\n this.changeDebounced.emit(this.value);\n }\n}\n","<div class=\"wac-field-input-search\" [ngClass]=\"{'small-padding' : smallPadding, 'no-grey': withoutgrey}\">\n <p class=\"control has-icons-left has-icons-right\">\n <input\n [placeholder]=\"placeholder\"\n value=\"\"\n class=\"input\"\n type=\"text\"\n [attr.id]=\"id\"\n [(ngModel)]=\"value\"\n debounceKeyUp\n [debounceTime]=\"1000\"\n (onEventChange)=\"handleDebouncedKeyUp()\"\n />\n <i class=\"icon fal fa-search\"></i>\n </p>\n</div>\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const inOutY = trigger('inOutYAnimation', [\n transition(':enter', [\n style({ transform: 'scaleY(0)', height: 0, opacity: 0 }),\n animate('.3s ease-out', style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }))\n ]),\n transition(':leave', [\n style({ transform: 'scaleY(1)', height: 'auto', opacity: 1 }),\n animate('.3s ease-in', style({ transform: 'scaleY(0)', height: 0, opacity: 0 }))\n ])\n]);\n","import { Component, Input, Output, EventEmitter, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { inOutY } from '../../animations/in-out/in-out-y.animation';\n\n@Component({\n selector: 'wac-checkbox',\n templateUrl: './checkbox.component.html',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }],\n animations: [inOutY],\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input()\n label = '';\n\n @Input()\n set value(value: boolean) {\n this._value = value;\n this._onChange(value);\n this._onTouched();\n }\n get value() : boolean {\n return this._value;\n }\n _value: boolean;\n\n @Input()\n type: 'checkbox' | 'radio' = 'checkbox';\n @Input()\n alone = false;\n @Input()\n checked = false;\n @Input()\n hasInput = false; // todo remove from it ! That is not a part of a checkbox\n @Input()\n inputPlaceholder = ''; // todo remove from it ! That is not a part of a checkbox\n @Input()\n id = ''; // todo maybe create a static property for unique id\n @Input()\n name: string;\n @Input()\n whiteSpace = true;\n @Input()\n disabled = false;\n\n @Output() valueChange = new EventEmitter<boolean>();\n\n constructor() {}\n\n private _onChange: (value: boolean) => void = (value) => {};\n private _onTouched = () => {};\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(isChecked: boolean): void {\n this._value = isChecked;\n }\n\n onChange(value) {\n this._onChange(value);\n }\n\n inputClick($event) { // todo it is usefull ?\n $event.stopPropagation();\n }\n}\n","<div class=\"wac-field-checkbox\" [ngClass]=\"{ 'disable-wt' : !whiteSpace, alone: alone }\">\n <div class=\"wac-field-checkbox__row\">\n <!-- TODO handle radio styles -->\n <input\n [type]=\"type\"\n [id]=\"id\"\n [class]=\"'is-checkradio' + (value ? ' checked' : '')\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [checked]=\"value\"\n (change)=\"value = !value\"\n />\n <label [attr.for]=\"id\"><span [innerHTML]=\"label\"></span></label>\n </div>\n <input\n *ngIf=\"hasInput && checked\"\n [@inOutYAnimation]\n type=\"text\"\n [placeholder]=\"inputPlaceholder\"\n (click)=\"inputClick($event)\"\n />\n</div>\n","import { ApplicationRef, ComponentFactoryResolver, Injector, Type, ComponentRef, EmbeddedViewRef } from \"@angular/core\";\n\nexport class HtmlContainer {\n private attached: boolean = false;\n\n private disposeFn: () => void;\n\n constructor(\n private hostElement: Element,\n private appRef: ApplicationRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector\n ) {}\n\n attach(component: Type<any>): ComponentRef<any> {\n if (this.attached) {\n throw new Error('component has already been attached');\n }\n\n this.attached = true;\n const childComponentFactory = this.componentFactoryResolver.resolveComponentFactory(component);\n\n let componentRef = childComponentFactory.create(this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n this.disposeFn = () => {\n this.appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n };\n\n this.hostElement.appendChild((componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0]);\n\n return componentRef;\n }\n\n dispose() {\n if (this.attached) {\n this.disposeFn();\n }\n }\n}","import { Injectable } from '@angular/core';\n\n\n@Injectable()\nexport class TableCheckboxIdService {\n\n static tableInstance = 0;\n\n currentTableInstance:number;\n nbCheckboxInstances: number = 0;\n\n constructor() {\n TableCheckboxIdService.tableInstance++;\n this.currentTableInstance = TableCheckboxIdService.tableInstance;\n }\n\n getUniqueId() {\n this.nbCheckboxInstances++;\n return `wac-table-${this.currentTableInstance}-${this.nbCheckboxInstances}`;\n }\n}","import { DOCUMENT } from '@angular/common';\nimport {\n ComponentFactoryResolver,\n EventEmitter,\n Inject,\n Output,\n Renderer2,\n Directive,\n ElementRef,\n Input,\n ComponentRef,\n ApplicationRef,\n Injector,\n} from '@angular/core';\nimport { HtmlContainer } from '../../../utils/html-container.class';\nimport { CheckboxComponent } from '../../checkbox/checkbox.component';\nimport { TableCheckboxIdService } from '../shared/table-checkbox-id.service';\n\n@Directive({\n selector: '[checkBoxRow]'\n})\nexport class CheckBoxRow {\n @Input() checkBoxId: string | number;\n @Input() checkBoxName: string;\n\n @Input() set checkBoxValue(value: boolean) {\n this._value = value;\n if (this.checkboxComponentRef) {\n this.setCheckBoxValue();\n }\n }\n _value: boolean;\n get checkBoxValue(): boolean {\n return this._value;\n }\n\n @Output() checkBoxValueChange: EventEmitter<boolean> = new EventEmitter();\n\n private checkboxComponentRef: ComponentRef<CheckboxComponent>;\n private htmlContainer: HtmlContainer;\n private checkBoxElement;\n\n constructor(\n private currentRow: ElementRef,\n private appRef: ApplicationRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n private tableCheckboxIdService: TableCheckboxIdService\n ) {}\n\n ngOnInit() {\n this.createCheckBoxComponent();\n this.handleChecboxInputs();\n this.handleCheckboxOutputs();\n }\n\n createCheckBoxComponent() {\n // Create the container\n this.checkBoxElement = document.createElement('div');\n this.checkBoxElement.className = 'wac-table__body__line__cell wac-table__body__line__cell--checkbox';\n\n // Insert divCheckBox in the DOM as the first child of the row\n this.renderer.insertBefore(this.currentRow.nativeElement, this.checkBoxElement, this.currentRow.nativeElement.firstChild);\n\n // Insert the CheckBoxComponent inside the container (DOM and Angular DOM)\n this.htmlContainer = new HtmlContainer(this.checkBoxElement, this.appRef, this.resolver, this.injector);\n this.checkboxComponentRef = this.htmlContainer.attach(CheckboxComponent);\n }\n\n private handleChecboxInputs() {\n this.checkboxComponentRef.instance.id = this.checkBoxId ? '' + this.checkBoxId : this.tableCheckboxIdService.getUniqueId();\n this.checkboxComponentRef.instance.name = this.checkBoxName ? this.checkBoxName : undefined;\n this.checkboxComponentRef.instance.alone = true;\n this.setCheckBoxValue();\n }\n\n private setCheckBoxValue() {\n this.checkboxComponentRef.instance.value = this.checkBoxValue;\n }\n\n private handleCheckboxOutputs() {\n // Detect checkbox changes\n this.checkboxComponentRef.instance.registerOnChange(() => {\n this._toggleCheckbox();\n });\n }\n\n private _toggleCheckbox() {\n this.checkBoxValueChange.emit(this.checkBoxValue);\n }\n\n getElement() {\n return this.checkBoxElement.querySelector('.wac-field-checkbox');\n }\n\n isActive(): boolean {\n return !!this.checkboxComponentRef.instance.value;\n }\n\n setActive(isActive: boolean) {\n this.checkboxComponentRef.instance.value = isActive; //? does not trigger output\n }\n\n ngOnDestroy() {\n this.htmlContainer.dispose();\n }\n}\n","import { Injectable, QueryList } from \"@angular/core\";\nimport { Subscription, Subject, merge, fromEvent } from \"rxjs\";\nimport { debounceTime, map } from \"rxjs/operators\";\nimport { SelectionItem } from \"../utils/slection-item.interface\";\n\n@Injectable()\nexport class MultiSelectionService {\n private items: QueryList<SelectionItem>;\n private subscription: Subscription;\n private lastIndex: number;\n private activeChanges: Subject<number[]> = new Subject();\n activeChanges$ = this.activeChanges.asObservable();\n\n constructor() {}\n\n handle(items: QueryList<SelectionItem>, toggleSingleItem: boolean = false): void {\n\n if (!items || !items.first) {\n this.destroy();\n return;\n }\n\n this.destroy(); // close previous subsciption\n\n this.items = items;\n\n const clicks$ = this.getListeners();\n\n this.subscription = merge(...clicks$).subscribe(({ component, isShift: isShiftKeyPressed, index }) => {\n if (!isShiftKeyPressed) {\n if (toggleSingleItem) {\n component.setActive(!component.isActive());\n }\n this.activeChanges.next([index]);\n this.lastIndex = index;\n return;\n }\n\n const start = index;\n const end = this.lastIndex;\n const [first, last] = [Math.min(start, end), Math.max(start, end) + 1];\n const itemsSelection = this.items.toArray().slice(first, last);\n const isBeginnerItemActive = this.items.get(end).isActive();\n\n itemsSelection.forEach(current => current.setActive(isBeginnerItemActive));\n window.getSelection().removeAllRanges(); // remove text selection\n const indexInRange = Array.from({length: last-first}, (x, i) => i + first);\n this.activeChanges.next(indexInRange);\n });\n }\n\n private getListeners() {\n return this.items.map((item, index) => {\n return fromEvent(item.getElement(), 'click').pipe(\n map((event: MouseEvent) => {\n return {\n index,\n isShift: event.shiftKey,\n component: item\n }\n })\n )\n .pipe(debounceTime(100)) // debounced, because when clicking on a wac-checkbox it is emitted twice and can not find why\n });\n }\n\n getActives() {\n return this.items.filter(item => item.isActive());\n }\n\n destroy() {\n this.subscription?.unsubscribe();\n }\n}","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n // The selector has the same name as the tableRaw selector in table.component.html\n selector: '[tableRow]'\n})\nexport class TableRow {\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__body__line');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NwbFilterGroup, NwbFilterRoutingBuilder } from '@wizishop/ng-wizi-bulma';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { TableFiltersGroup } from './table-filters-group.model';\nimport { TableFilters } from './table-filters.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FiltersTableService {\n filterGroups = new Map<string, NwbFilterGroup>();\n\n private sortSubject: Subject<any> = new Subject<any>();\n\n constructor(private filterRoutingBuilder: NwbFilterRoutingBuilder) {}\n\n getTableFilterGroup(dataTableName: string): TableFiltersGroup {\n if (this.filterGroups.has(dataTableName)) {\n return this.filterGroups.get(dataTableName) as TableFiltersGroup;\n }\n\n const dataTableFilters: TableFilters = {\n sort: undefined,\n order: undefined,\n searchValue: undefined,\n totalItems: 0,\n itemsPerPage: 0,\n currentPage: 0\n };\n\n const filterGroup: TableFiltersGroup = this.filterRoutingBuilder.group(dataTableFilters, dataTableName) as TableFiltersGroup;\n filterGroup.tableFiltersValuesChange$ = new ReplaySubject<TableFilters>(1);\n filterGroup.tableFiltersValuesDebouncedChange$ = filterGroup.tableFiltersValuesChange$.pipe(debounceTime(300));\n\n this.filterGroups.set(dataTableName, filterGroup);\n return filterGroup;\n }\n\n /**\n * Use to reset the others sorts of the table\n * @param dataTableName\n * @param sortName\n * @param order\n */\n emitSortChange(dataTableName: string, sortName: string, order: boolean) {\n this.sortSubject.next({ dataTableName, sortName, order });\n }\n\n getSortChangeListner() {\n return this.sortSubject.asObservable();\n }\n\n setPaginationFilters(dataTableName, totalItems, itemsPerPage, currentPage) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage,\n currentPage\n });\n }\n\n /*\n Add defaults filters in the URL if they not exists.\n */\n setInitialPaginationFiltersIfNotExist(dataTableName, itemsPerPage, currentPage) {\n const filterGroup = this.getTableFilterGroup(dataTableName);\n filterGroup.setValues({\n itemsPerPage: filterGroup.get('itemsPerPage') ? parseInt(filterGroup.get('itemsPerPage')) : itemsPerPage,\n currentPage: filterGroup.get('currentPage') ? parseInt(filterGroup.get('currentPage')) : currentPage\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'IsLastPage'\n})\nexport class PagniationIsLastPage implements PipeTransform {\n /**\n * Return true, if the current page is the last page. Otherwise, return false.\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage, totalItems, itemsPerPage): boolean {\n if (!(currentPage >= 0 && totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('currentPage or totalItems or itemsPerPage is/are missing in PagniationIsLastPage pipe.');\n }\n return currentPage === Math.ceil(totalItems / itemsPerPage);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'ArrayTotalPages'\n})\nexport class PagniationArrayTotalPages implements PipeTransform {\n /**\n * Return an incremental array corresponding with the number page\n * [ 1, 2, 3 ..., last page number ]\n * @param totalItems\n * @param itemsPerPage\n */\n transform(totalItems, itemsPerPage): number[] {\n if (!(totalItems >= 0 && itemsPerPage >= 0)) {\n throw new Error('totalItems or itemsPerPage missing in ArrayTotalPages pipe.');\n }\n const arrayLength: number = Math.ceil(totalItems / itemsPerPage);\n return Array.apply(null, { length: arrayLength })\n .map(Number.call, Number)\n .map(x => x + 1);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'customPagniationText'\n})\nexport class PagniationText implements PipeTransform {\n constructor(private translateService: TranslateService) {}\n\n /**\n * Update pagination text if at least one entrie change\n * @param currentPage\n * @param totalItems\n * @param itemsPerPage\n */\n transform(currentPage, totalItems, itemsPerPage): any {\n let currentItemsLow = 0,\n currentItemsHigh = 0;\n\n if (totalItems) {\n currentItemsLow = (parseInt(currentPage) - 1) * parseInt(itemsPerPage) + 1;\n currentItemsHigh = parseInt(currentPage) * parseInt(itemsPerPage);\n }\n\n if (currentItemsHigh > totalItems) {\n currentItemsHigh = totalItems;\n }\n\n return this.translateService.get('wac.PaginationComponent.on', { low: currentItemsLow, high: currentItemsHigh, total: totalItems })\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { PagniationIsLastPage } from './pipes/is-last-page.pipe';\n\nexport interface PaginationFilters {\n totalItems: number;\n itemsPerPage: number;\n currentPage: number;\n}\n\n@Component({\n selector: 'wac-pagination',\n templateUrl: './pagination.component.html'\n})\nexport class PaginationComponent {\n @Input()\n set pagination(pagination: PaginationFilters) {\n this._pagination = pagination;\n }\n get pagination(): PaginationFilters {\n return this._pagination;\n }\n private _pagination: PaginationFilters;\n\n @Output() pageChange: EventEmitter<PaginationFilters> = new EventEmitter();\n\n constructor() {}\n\n decrementPage() {\n if (this.pagination.currentPage <= 1) {\n return;\n }\n this.pagination.currentPage--;\n this.pageChange.emit(this.pagination);\n }\n\n incrementPage() {\n const isLastPage = new PagniationIsLastPage().transform(\n this.pagination.currentPage,\n this.pagination.totalItems,\n this.pagination.itemsPerPage\n );\n if (isLastPage) {\n return;\n }\n this.pagination.currentPage++;\n this.pageChange.emit(this.pagination);\n }\n\n onGotoPageChange(event: any) {\n this.pagination.currentPage = parseInt(event.target.value);\n this.pageChange.emit(this.pagination);\n }\n}\n","<div class=\"wac-pagination\" *ngIf=\"pagination && pagination.itemsPerPage\">\n <div class=\"wac-pagination__wrapper\">\n <div class=\"wac-pagination__wrapper__page\">\n <p>{{ 'wac.PaginationComponent.page' | translate }}</p>\n\n <select name=\"page\" (change)=\"onGotoPageChange($event)\">\n <ng-container *ngFor=\"let pageIndex of pagination.totalItems | ArrayTotalPages: pagination.itemsPerPage\">\n <option [selected]=\"pageIndex === pagination.currentPage\" [value]=\"pageIndex\">\n {{ pageIndex }}\n </option>\n </ng-container>\n </select>\n </div>\n\n <div class=\"wac-pagination__wrapper__elements\">\n <p>{{ pagination.currentPage | customPagniationText: pagination.totalItems:pagination.itemsPerPage | async}}</p>\n </div>\n\n <div class=\"wac-pagination__wrapper__arrows\">\n <div\n (click)=\"decrementPage()\"\n class=\"wac-pagination__wrapper__arrows__arrow wac-pagination__wrapper__arrows__arrow--left\"\n [ngClass]=\"{ 'wac-pagination__wrapper__arrows__arrow--disabled': pagination.currentPage === 1 }\"\n >\n <span class=\"wac-pagination__wrapper__arrows__arrow__icon\"></span>\n </div>\n <div\n (click)=\"incrementPage()\"\n class=\"wac-pagination__wrapper__arrows__arrow wac-pagination__wrapper__arrows__arrow--right\"\n [ngClass]=\"{\n 'wac-pagination__wrapper__arrows__arrow--disabled':\n pagination.currentPage | IsLastPage: pagination.totalItems:pagination.itemsPerPage\n }\"\n >\n <span class=\"wac-pagination__wrapper__arrows__arrow__icon\"></span>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ContentChildren, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core';\nimport { FiltersTableService } from './shared/filters-table.service';\nimport { Subscription } from 'rxjs';\nimport { TableFilters } from './shared/table-filters.model';\nimport { TableFiltersGroup } from './shared/table-filters-group.model';\nimport { CheckBoxRow } from './directives/checkBoxRow.directive';\nimport { MultiSelectionService } from '../../services/multiple-selection.service';\nimport { TableCheckboxIdService } from './shared/table-checkbox-id.service';\nimport { TableRow } from './directives/raw.directive';\n\n@Component({\n selector: 'wac-table',\n templateUrl: './table.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [\n TableCheckboxIdService,\n MultiSelectionService\n ]\n})\nexport class TableComponent implements OnInit {\n\n @ContentChildren(CheckBoxRow) checkBoxRows: QueryList<CheckBoxRow>;\n @ContentChildren(TableRow) tableRows: QueryList<TableRow>;\n\n // todo find a way to spotlight the wac-table doc when used on wizi-admin only in dev\n // todo try to use bridge patterne in order to add checkbox and remove checkbowrox directive.\n /// Input/Output of table filters ///\n\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n @Input() tableRoutingName: string; // Name of the table\n @Input() placeholder: string = '';\n\n private _tableFiltersGroup: TableFiltersGroup;\n\n /// Input/Output of checkbox ///\n\n /** Pass to true to display checkbox in the header table */\n @Input() checkbox = false;\n\n @Output() toggleAllCheckBox: EventEmitter<boolean> = new EventEmitter(); // todo replace by checkBoxSelectionChange\n\n @Output() checkBoxSelectionChange: EventEmitter<number[]> = new EventEmitter(); // todo add to doc\n\n /// Input to disable section ///\n\n /** Pass to true to hide search input */\n @Input() disableSearch: boolean = false;\n /** Pass to true to hide the pagniator */\n @Input() disablePagniation: boolean = false;\n\n /// Input for loader on table body ///\n\n @Input() isLoading = false;\n\n /// Private variables ///\n headerCheckBoxId: string;\n private filterGroupChangeSub: Subscription;\n\n constructor(private filtersTableService: FiltersTableService, private tableCheckboxIdService: TableCheckboxIdService, private multiSelectionService: MultiSelectionService) {}\n\n ngOnInit(): void {\n this.headerCheckBoxId = this.tableCheckboxIdService.getUniqueId(); // Create checkbox unique id\n\n /* Handle routing filters */\n if (this.tableRoutingName) {\n\n this.filtersTableService.setInitialPaginationFiltersIfNotExist(\n this.tableRoutingName,\n this.tableFilters.itemsPerPage,\n this.tableFilters.currentPage\n );\n\n this._tableFiltersGroup = this.filtersTableService.getTableFilterGroup(this.tableRoutingName);\n this.setTablesFilters();\n // Listen to filters changes with debounced time to limit multiple api calls\n this.filterGroupChangeSub = this._tableFiltersGroup.valuesChange$.subscribe(() => {\n this.setTablesFilters();\n });\n }\n\n this.multiSelectionService.activeChanges$.subscribe(selectionIndexRawCheckChange => {\n this.checkBoxSelectionChange.emit(selectionIndexRawCheckChange);\n });\n }\n\n ngAfterViewInit() {\n this.multiSelectionService.handle(this.checkBoxRows);\n this.checkBoxRows.changes.subscribe(() => {\n this.multiSelectionService.handle(this.checkBoxRows);\n });\n }\n\n onToggleAllCheckBox(event: any) {\n this.toggleAllCheckBox.emit(event.target.checked);\n }\n\n searchChange() {\n // Reset table filters\n this.tableFilters.sort = undefined;\n this.tableFilters.order = undefined;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n\n // Reset routing filters\n if (this._tableFiltersGroup) {\n this._tableFiltersGroup.setValues({\n searchValue: this.tableFilters.searchValue,\n sort: undefined,\n order: undefined,\n currentPage: 1\n });\n }\n }\n\n pageChange() {\n this.tableFiltersChange.emit(this.tableFilters);\n if (this._tableFiltersGroup) {\n this._tableFiltersGroup.setValues({\n itemsPerPage: this.tableFilters.itemsPerPage,\n currentPage: this.tableFilters.currentPage\n });\n }\n }\n\n /**\n * Set tableFilters from routing data existing in the url\n * */\n private setTablesFilters() {\n this.tableFilters = {\n sort: this._tableFiltersGroup.get('sort'),\n order: this._tableFiltersGroup.get('order') ? this._tableFiltersGroup.get('order') === 'true' : undefined,\n searchValue: this._tableFiltersGroup.get('searchValue'),\n itemsPerPage: this._tableFiltersGroup.get('itemsPerPage') ? parseInt(this._tableFiltersGroup.get('itemsPerPage')) : 0,\n currentPage: this._tableFiltersGroup.get('currentPage') ? parseInt(this._tableFiltersGroup.get('currentPage')) : 0,\n totalItems: this.tableFilters.totalItems\n };\n this.tableFiltersChange.emit(this.tableFilters);\n this._tableFiltersGroup.tableFiltersValuesChange$.next(this.tableFilters);\n }\n\n ngOnDestroy() {\n if (this.filterGroupChangeSub) {\n this.filterGroupChangeSub.unsubscribe();\n }\n this.multiSelectionService.destroy();\n }\n}\n","<div class=\"wac-table\">\n <!-- Header section -->\n <div class=\"wac-table__head\" id=\"headerTable\">\n <div *ngIf=\"checkbox\" class=\"wac-table__head__cell wac-table__head__cell--checkbox\">\n <wac-checkbox [id]=\"headerCheckBoxId\" (change)=\"onToggleAllCheckBox($event)\" [alone]=\"true\"></wac-checkbox>\n </div>\n\n <!-- Header contents are added with the headerCell directive -->\n <ng-content select=\"[headerCell]\"></ng-content>\n </div>\n\n <!-- Search section -->\n <div *ngIf=\"!disableSearch\" class=\"wac-table__search\">\n <wac-input-search\n [(ngModel)]=\"tableFilters.searchValue\"\n (changeDebounced)=\"searchChange()\"\n [placeholder]=\"placeholder\"\n [smallPadding]=\"true\"\n ></wac-input-search>\n </div>\n\n <!-- Body section -->\n <div class=\"wac-table__body\">\n <!-- Loader on body -->\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading\">\n <wac-loader [small]=\"true\"></wac-loader>\n </div>\n <!-- Body contents are added with the tableRow directive -->\n <ng-content select=\".complex-table\" *ngIf=\"!isLoading\"></ng-content>\n <ng-content select=\"[tableRow]\" *ngIf=\"!isLoading\"></ng-content>\n </div>\n\n <!-- Pagination section -->\n <wac-pagination *ngIf=\"!disablePagniation\" [pagination]=\"tableFilters\" (pageChange)=\"pageChange()\"></wac-pagination>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-tag',\n templateUrl: './tag.component.html'\n})\nexport class TagComponent {\n @Input()\n label = '';\n @Input()\n class: 'default'|'success'|'warning'|'error'|'dark'|'gray'|'lightgray'|'white';\n @Input()\n hasClose = false;\n @Input()\n draggable = false;\n\n @Input()\n big = false;\n\n @Input() isOpen:boolean = true;\n @Output() isOpenChange = new EventEmitter<boolean>();\n\n constructor() {}\n\n toggleTag() {\n this.isOpen = !this.isOpen;\n this.isOpenChange.next(this.isOpen);\n }\n}\n","<div class=\"wac-tag\" [classList]=\"'wac-tag--' + class\" [ngClass]=\"{ hover: hasClose, 'big': big , draggable: draggable}\">\n <div *ngIf=\"draggable\" class=\"wac-tag__draggable\">\n <span>\n <span></span>\n </span>\n </div>\n {{ label }}\n <span class=\"wac-tag__close\" *ngIf=\"hasClose\" (click)=\"toggleTag()\"><i class=\"fas fa-times\"></i></span>\n</div>\n","import { TemplatePortal } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, Input, OnInit, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-tab',\n templateUrl: './tab.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TabComponent implements OnInit {\n @Input() label: string;\n\n @Input()\n set selected(value: boolean) {\n this._selected = value;\n this.changeDetectorRef.markForCheck();\n }\n\n get selected(): boolean {\n return this._selected;\n }\n\n private _selected: boolean = false;\n\n private contentPortal: TemplatePortal | null = null;\n\n get content(): TemplatePortal | null {\n return this.contentPortal;\n }\n\n @ContentChild(TabComponent, { read: TemplateRef, static: true})\n private _explicitContent: TemplateRef<any> = undefined;\n\n @ViewChild(TemplateRef, { static: true }) _implicitContent: TemplateRef<any>;\n\n constructor(private changeDetectorRef: ChangeDetectorRef, private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n this.contentPortal = new TemplatePortal(this._explicitContent || this._implicitContent, this.viewContainerRef);\n }\n}\n","<ng-template><ng-content></ng-content></ng-template>","import { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { ComponentFactoryResolver, Directive, Inject, OnInit, ViewContainerRef, forwardRef } from '@angular/core';\nimport { TabBodyComponent } from './tab-body.component';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive(\n {\n selector: '[wacTabBody]',\n exportAs: 'wacTabBody',\n standalone: true,\n})\nexport class TabBodyDirective extends CdkPortalOutlet implements OnInit {\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private viewContainerRef: ViewContainerRef, @Inject(DOCUMENT) private document: any, @Inject(forwardRef(() => TabBodyComponent)) private host: TabBodyComponent) {\n super(componentFactoryResolver, viewContainerRef, document);\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this.attach(this.host.content);\n }\n}\n","import { TemplatePortal } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { Component, Input, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\nimport { TabBodyDirective } from './tab-body.directive';\n\n@Component({\n selector: 'wac-tab-body',\n templateUrl: './tab-body.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, TabBodyDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabBodyComponent {\n @Input() content: TemplatePortal;\n\n @Input() active: boolean;\n\n @HostBinding('style.display') get display(): string {\n return (this.active ? 'initial' : 'none');\n }\n}\n","<div class=\"wac-tab-body\" #content>\n <ng-template wacTabBody></ng-template>\n</div>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, ContentChildren, Input, QueryList, ViewEncapsulation, ChangeDetectionStrategy, AfterViewInit } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TabComponent } from './tab/tab.component';\nimport { SharedDirectives } from '../../directives/shared-directives.module';\nimport { BehaviorSubject, ReplaySubject, combineLatest, delay, distinctUntilChanged, map, startWith, switchMap } from 'rxjs';\nimport { TabBodyComponent } from './tab-body/tab-body.component';\n\n@Component({\n selector: 'wac-tabs',\n templateUrl: './tabs.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, FormsModule, TabComponent, SharedDirectives, TabBodyComponent],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: TabsComponent, multi: true },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabsComponent implements AfterViewInit {\n\n disabled = false;\n\n @ContentChildren(TabComponent) tabList: QueryList<TabComponent>;\n\n index$: BehaviorSubject<number> = new BehaviorSubject<number>(0);\n\n tabList$ = new ReplaySubject<QueryList<TabComponent>>(1);\n\n listIsOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n private onChange: (selectedIndex: number) => void = (selectedIndex) => {};\n private onTouched = () => {};\n\n viewModel$ = combineLatest({\n index: this.index$,\n tabList: this.tabList$.pipe(switchMap((tabList) => {\n return tabList.changes.pipe(startWith(tabList));\n })),\n listIsOpen: this.listIsOpen$.pipe(distinctUntilChanged())\n }).pipe(\n delay(0), \n map((data) => {\n let selected = this.setIndex(data.index, data.tabList);\n this.changeDetectorRef.markForCheck();\n return {...data, selected};\n }));\n\n @Input()\n underline = false;\n\n @Input()\n button = false;\n\n @Input()\n right: boolean = false;\n\n @Input()\n marginBottom = '30px';\n\n get defaultViewModel() {\n return {index: 0, tabList: [], listIsOpen: false, selected: null};\n }\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.tabList$.next(this.tabList);\n }\n\n writeValue(selectedIndex: number): void {\n if (!selectedIndex) {\n return;\n }\n this.index$.next(selectedIndex);\n }\n\n registerOnChange(onChange: any): void {\n this.onChange = onChange;\n }\n\n onBlur(): void {\n this.onTouched();\n }\n\n registerOnTouched(onTouched: any): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n this.changeDetectorRef.markForCheck();\n }\n\n selectTab(index: number) {\n this.index$.next(index);\n }\n\n private setIndex(currentIndex: number, tabList: QueryList<TabComponent>) {\n let selected: TabComponent = null;\n tabList.forEach((tab: TabComponent, index) => {\n tab.selected = currentIndex === index;\n selected = (currentIndex === index ? tab : selected);\n });\n this.onChange(currentIndex);\n return selected;\n }\n\n openList($event: any) {\n $event?.stopPropagation();\n this.listIsOpen$.next(!this.listIsOpen$.getValue());\n }\n}\n","<div class=\"wac-tabs\"\n *ngIf=\"((viewModel$ | async) || defaultViewModel ) as viewModel\"\n [ngClass]=\"{'wac-tabs--underline': underline, 'wac-tabs--button' : button, 'wac-tabs--right' : right}\"\n wzAutoHide\n (clickOutside)=\"listIsOpen$.next(false)\"\n [triggerElement]=\"'wac-select__header__selection'\"\n> \n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__mobile\" (click)=\"openList($event)\">\n <div>{{ viewModel.selected?.label }}</div><i [class]=\"'fa-solid fa-caret-' + (viewModel.listIsOpen ? 'up' : 'down')\"></i>\n </div>\n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__wrapper\" [ngClass]=\"{ 'open' : viewModel.listIsOpen }\" [ngStyle]=\"{'margin-bottom': marginBottom}\">\n <a\n *ngFor=\"let tab of tabList; let i = index\"\n class=\"wac-tabs__wrapper__tab\"\n [ngClass]=\"{'wac-tabs__wrapper__tab--selected': i === viewModel.index}\"\n (click)=\"index$.next(i); listIsOpen$.next(false)\"\n >\n {{ tab.label }}\n </a>\n </div>\n <wac-tab-body\n *ngFor=\"let tab of tabList; let i = index\"\n [content]=\"tab.content\"\n [active]=\"i === viewModel.index\"\n ></wac-tab-body>\n</div>","import {AfterViewInit, Attribute, Component, ElementRef, EventEmitter, Inject, Input, OnInit, Optional, Output, ViewChild} from '@angular/core';\nimport { FormGroupDirective } from '@angular/forms';\nimport { interval } from 'rxjs';\nimport { takeWhile } from 'rxjs/operators';\n\n@Component({\n selector: 'wac-button',\n templateUrl: './button.component.html'\n})\nexport class ButtonComponent implements OnInit, AfterViewInit {\n // todo add button type (ex: for submit and check if it works with template driven forms)\n @Input()\n extraClasses = 'is-info'; // todo make a list of existing class\n\n @Input()\n label = '';\n\n @Input()\n icon = '';\n\n @Input()\n iconNext: string;\n\n @Input()\n textcolor = null;\n\n @Input()\n colorIcon: string;\n\n @Input()\n widthAuto = false;\n\n @Input()\n contentHorizontalPosition: 'left' | 'center' | 'right' = 'center';\n\n @Input()\n iconFontSize = 12;\n\n @Input()\n hasLoader = false;\n\n @Input()\n disabled = false;\n\n @Input()\n whiteSpaceNowrap = false;\n\n @Input()\n opacity = false;\n // TODO MAKE ANNIMATION AVAILABLE FOR MOBILE as CONFIRM DELETE DO (because, its doeant show the text and trigger click)\n @Input()\n animation = false;\n\n @Input()\n animationRight = false;\n\n @Input()\n animationText = '';\n\n @Input()\n confirmDelete = false;\n\n @Input()\n confirmDeleteText = '';\n\n @Input()\n coin: number | string;\n\n @Input()\n tooltip: string;\n\n @Input()\n tooltipWidth: string;\n\n @Input()\n borderColor: string;\n\n @Input()\n noPadding = false;\n\n @Input()\n tooltipPosition: 'top-center' | 'top-right' | 'top-left' | 'bottom-center' | 'bottom-right' | 'bottom-left' | 'left' | 'right' = 'top-center';\n\n @Input()\n tooltipOneline = false;\n\n @Input()\n confirmDeletePosition = 'right';\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() public click: EventEmitter<MouseEvent> = new EventEmitter();\n\n @Input() set isLoading(isLoading : boolean) {\n this._isLoading = isLoading;\n this.isLoadingChange.next(isLoading);\n this.toggleLoading();\n }\n\n @Output() isLoadingChange = new EventEmitter<boolean>();\n\n get isLoading() : boolean {\n return this._isLoading;\n }\n\n private _isLoading: boolean = false;\n\n\n interval = null;\n\n waitForConfirmDelete = false;\n\n buttonMaxWidth = '0px';\n buttonWidth = '0px';\n\n buttonMaxWidthDelete = '0px';\n buttonWidthDelete = '0px';\n\n currentLoading = 0;\n\n @ViewChild('calculWidth')\n calculWidth: ElementRef;\n\n @ViewChild('calculWidthDelete')\n calculWidthDelete: ElementRef;\n\n constructor(\n @Attribute('type') private type: string,\n @Optional() @Inject(FormGroupDirective) private formGroup: FormGroupDirective\n ) {\n }\n\n ngOnInit() {\n if (this.confirmDelete) {\n this.waitForConfirmDelete = true;\n }\n }\n\n toggleLoading() {\n this.currentLoading = this.isLoading ? 10 : 100;\n\n interval(200).pipe(takeWhile( time=> this.isLoading)).subscribe(\n () => {\n if (this.currentLoading < 85) {\n this.currentLoading += Math.floor(Math.random() * 15);\n }\n }\n );\n }\n\n addMaxWidth() {\n this.buttonMaxWidth = this.buttonWidth + 'px';\n }\n\n resetMaxWidth() {\n this.buttonMaxWidth = '0px';\n }\n\n addMaxWidthDelete() {\n this.buttonMaxWidthDelete = this.buttonWidthDelete + 'px';\n }\n\n resetMaxWidthDelete() {\n this.buttonMaxWidthDelete = '0px';\n this.waitForConfirmDelete = true;\n }\n\n onButtonClick(event){\n event.stopPropagation();\n if (this.disabled) {\n return;\n }\n if (this.type === 'submit' && this.formGroup) { // Maybe there is a better way to handle submit\n this.formGroup.onSubmit(this.formGroup.value);\n }\n if (this.hasLoader) {\n this.isLoading = false;\n setTimeout(() => { // trick to reset the animation loading\n this.isLoading = true;\n }, 0);\n }\n\n if (!this.waitForConfirmDelete) {\n this.click.emit(event);\n if (this.confirmDelete) {\n this.resetMaxWidthDelete();\n }\n } else {\n this.waitForConfirmDelete = false;\n }\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n if (this.animation) {\n this.buttonWidth = this.calculWidth.nativeElement.offsetWidth;\n }\n if (this.confirmDelete) {\n this.buttonWidthDelete = this.calculWidthDelete.nativeElement.offsetWidth;\n }\n }, 1000);\n }\n}\n","<a\n [class]=\"'wac-button ' + extraClasses\"\n [style.borderColor]=\"borderColor ? borderColor + '!important' : ''\"\n (click)=\"confirmDelete && waitForConfirmDelete ? addMaxWidthDelete() : '';onButtonClick($event);\"\n (mouseleave)=\"animation ? resetMaxWidth() : '';\"\n (mouseenter)=\"animation ? addMaxWidth() : '';\"\n wzAutoHide (clickOutside)=\"confirmDelete && !waitForConfirmDelete ? resetMaxWidthDelete() : ''\"\n [ngClass]=\"[\n label === '' ? 'alone' : '',\n coin ? 'has-coin width-auto' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n noPadding ? 'no-padding' : '',\n whiteSpaceNowrap ? 'white-space-no-wrap' : '',\n !waitForConfirmDelete && confirmDelete ? 'step-delete' : '',\n confirmDelete ? 'deletePosition-' + confirmDeletePosition : ''\n ]\"\n [ngStyle]=\"{\n 'text-align': contentHorizontalPosition\n }\"\n>\n <span class=\"wac-button__wrapper\" [style.color]=\"textcolor ? textcolor : ''\">\n <i *ngIf=\"icon\" [ngClass]=\"icon\" [style.color]=\"colorIcon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext\" [style.color]=\"colorIcon\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n <span class=\"wac-button__animation\" [style.maxWidth]=\"buttonMaxWidth\" [style.width]=\"buttonWidth + 'px'\">\n <span #calculWidth class=\"wac-button__animation__text\" [innerHTML]=\"animationText\"></span>\n </span>\n <span class=\"wac-button__confirmDelete\" [style.maxWidth]=\"buttonMaxWidthDelete\" [style.width]=\"buttonWidthDelete + 'px'\">\n <span #calculWidthDelete class=\"wac-button__confirmDelete__text\" [innerHTML]=\"confirmDeleteText\"></span>\n </span>\n <span *ngIf=\"coin\" class=\"wac-button__coin\"><i class=\"fa-solid fa-coin-front\"></i><span [innerHTML]=\"coin\"></span></span>\n <span\n class=\"wac-button__loader\"\n [ngClass]=\"extraClasses.includes('is-outlined') ? 'outlined' : ''\"\n *ngIf=\"isLoading\"\n [style.width]=\"currentLoading + '%'\"\n >\n </span>\n <span class=\"wac-button__tooltips {{ tooltipPosition }}\" [ngClass]=\"{'oneline': tooltipOneline}\" [style.minWidth]=\"tooltipWidth\" *ngIf=\"tooltip\">\n {{ tooltip }}\n </span>\n</a>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-info',\n templateUrl: './info.component.html'\n})\nexport class InfoComponent {\n constructor() {}\n}\n","<div class=\"wac-info\">\n <div class=\"wac-info__wrapper\">\n <i class=\"fas fa-info-circle\"></i>\n <div class=\"wac-info__wrapper__sublevel\">\n <div class=\"wac-info__wrapper__sublevel__container\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-settings',\n templateUrl: './settings.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SettingsComponent {\n constructor() {}\n}\n","<div class=\"wac-settings\">\n <div class=\"wac-settings__wrapper\">\n <i class=\"fas fa-cog\"></i>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-delete',\n templateUrl: './delete.component.html'\n})\nexport class DeleteComponent {\n constructor() {}\n}\n","<div class=\"wac-delete\">\n <div class=\"wac-delete__wrapper\">\n <i class=\"fas fa-trash\"></i>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-dropdown',\n templateUrl: './dropdown.component.html'\n})\nexport class DropdownComponent {\n @Input()\n hasIcons = false;\n\n @Input()\n items = [];\n\n @Output() userInput = new EventEmitter<any>();\n\n constructor() {}\n\n onUserInput(itemIndex) {\n this.userInput.emit(itemIndex);\n }\n}\n","<div class=\"wac-dropdown\">\n <div class=\"wac-dropdown__wrapper\">\n <i class=\"wac-dropdown__wrapper__icon far fa-ellipsis-v\"></i>\n <div class=\"wac-dropdown__wrapper__sublevel\">\n <ul class=\"wac-dropdown__wrapper__sublevel__container\">\n <li\n *ngFor=\"let item of items\"\n class=\"wac-dropdown__wrapper__sublevel__container__item\"\n (click)=\"onUserInput(item.index)\"\n >\n <i\n *ngIf=\"hasIcons\"\n [class]=\"item.icon\"\n [style.font-size.px]=\"item.iconFontSize ? item.iconFontSize : '14'\"\n ></i>\n <span>{{ item.label }}</span>\n </li>\n </ul>\n </div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'wac-image',\n templateUrl: './image.component.html'\n})\nexport class ImageComponent {\n @Input()\n src = '';\n\n constructor() {}\n}\n","<div class=\"wac-image\">\n <div class=\"wac-image__wrapper\" [ngClass]=\"src === '' ? 'empty' : ''\" [style.background-image]=\"'url(' + src + ')'\">\n <i class=\"fal fa-images\" *ngIf=\"src === ''\"></i>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-back',\n templateUrl: './back.component.html'\n})\nexport class BackComponent {\n constructor() {}\n}\n","<div class=\"wac-back\">\n <div class=\"wac-back__wrapper\">\n <i class=\"fas fa-chevron-left\"></i>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-separator',\n templateUrl: './separator.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SeparatorComponent {\n @Input()\n dashed = false;\n\n constructor() {}\n}\n","<div class=\"wac-separator\" [ngClass]=\"dashed ? 'dashed' : ''\"></div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-logo',\n templateUrl: './logo.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class LogoComponent {\n @Input()\n isDropizi = false;\n\n @Input()\n isWhite = false;\n\n constructor() {}\n}\n","<div class=\"wac-logo\">\n <div class=\"wac-logo__wrapper\" [ngClass]=\"isWhite ? 'white' : ''\" *ngIf=\"isDropizi\">\n <svg id=\"Calque_1\" data-name=\"Calque 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 102.33 40\">\n <defs>\n <style>\n .cls-0 {\n fill: #fa096a;\n }\n </style>\n </defs>\n <title>Logo_Dropizi</title>\n <path\n id=\"Logo_Dropizi-2\"\n data-name=\"Logo Dropizi-2\"\n class=\"cls-0\"\n d=\"M83,44.94a4.87,4.87,0,0,1-4.36-7,3.81,3.81,0,0,1-.72-2l-.3-5.69a9.61,9.61,0,0,1-3.43,2,13.51,13.51,0,0,1-3.34.63l-1.06,0L70,36.29a3.75,3.75,0,0,1-3.54,3.94l-2.25.11H64a3.69,3.69,0,0,1-3-1.56,12.82,12.82,0,0,1-7.68,2.61,13.45,13.45,0,0,1-5.37-1.14,3.67,3.67,0,0,1-2.46,1.09l-2.15.12h-.2a3.76,3.76,0,0,1-3.17-1.74l-3.29-5.25L36.84,38a3.78,3.78,0,0,1-1,2.7A3.74,3.74,0,0,1,33.28,42L31,42.09h-.19a3.77,3.77,0,0,1-3.06-1.58,12.62,12.62,0,0,1-1.62.87,15,15,0,0,1-5.35,1.24L13.49,43H13.3a3.76,3.76,0,0,1-3.74-3.54L8.5,19.3A3.75,3.75,0,0,1,12,15.36L19.37,15c.3,0,.59,0,.88,0a14.67,14.67,0,0,1,4.56.7,13.17,13.17,0,0,1,1.74.7,3.73,3.73,0,0,1,3.06-1.91l7.14-.37c.35,0,.69,0,1,0,3.65,0,6,1.12,7.41,2.57A13.29,13.29,0,0,1,49,14.33a12.05,12.05,0,0,1,4.44-.82c.23,0,.45,0,.69,0a13.63,13.63,0,0,1,5.2,1.35l.22.11a3.75,3.75,0,0,1,3.25-2.29l5.32-.27c.7,0,1.38-.06,2-.06.92,0,1.78,0,2.57.11a10.17,10.17,0,0,1,4.16,1.26l.37.24a3.78,3.78,0,0,1,3.22-2.2l2.18-.12h.2a3.89,3.89,0,0,1,2,.57,3.63,3.63,0,0,1,2.07-.79l12.9-.67h.11c0-.24-.07-.47-.09-.71a4.88,4.88,0,0,1,4.62-5.12h.25a4.86,4.86,0,0,1,4.88,4.62v.26A4.89,4.89,0,0,1,109,12a3.62,3.62,0,0,1,.72,2l1.06,20.14,0,0a3.75,3.75,0,0,1-3.54,3.94l-2.18.11h-.2a3.83,3.83,0,0,1-2-.57,3.54,3.54,0,0,1-2.06.78l-12.9.68h-.1c0,.24.07.47.09.71a4.87,4.87,0,0,1-1.25,3.51,4.82,4.82,0,0,1-3.37,1.6Zm-2-4.87v.11a2,2,0,0,0,2.1,1.9h0a2,2,0,0,0,1.9-2V40a2,2,0,0,0-2-1.9H83A2,2,0,0,0,81.05,40.07ZM19.54,17.84l-7.34.39a.89.89,0,0,0-.84.93l1.06,20.17a.89.89,0,0,0,.92.83l7.33-.39a11.89,11.89,0,0,0,4.32-1,9.7,9.7,0,0,0,3.3-2.36,8.91,8.91,0,0,0,1.46-2.14L30,38.4a.88.88,0,0,0,.92.84l2.25-.12A.88.88,0,0,0,34,38.2h0l-.34-6.38a.88.88,0,0,1,.84-.93h0l2.67-.14a.89.89,0,0,1,.8.41l4.41,7a.92.92,0,0,0,.8.42l2.17-.12a.88.88,0,0,0,.72-1.34l-4.25-7A.88.88,0,0,1,42,29c.22-.18.44-.37.64-.56a10.07,10.07,0,0,0,.5,3,9.65,9.65,0,0,0,2,3.45,11.39,11.39,0,0,0,3.45,2.5,10,10,0,0,0,8.09.47,11,11,0,0,0,6.08-6l.08-.18.26,4.91a.89.89,0,0,0,.92.84l2.25-.12a.89.89,0,0,0,.84-.92L66.86,31a.87.87,0,0,1,.83-.92h0l3-.16a10.49,10.49,0,0,0,2.6-.5A6.87,6.87,0,0,0,75.75,28a6.67,6.67,0,0,0,1.68-2.36l0-.12A8.77,8.77,0,0,0,78,21.73a9,9,0,0,0-.77-3.49,4.1,4.1,0,0,0-.22-.41,4.71,4.71,0,0,0-1.63-1.63,7.28,7.28,0,0,0-3-.87,28.9,28.9,0,0,0-4.16,0l-5.33.28a.86.86,0,0,0-.61.29.9.9,0,0,0-.22.63L62.33,21a10.85,10.85,0,0,0-.8-1A11.54,11.54,0,0,0,54,16.38,9.3,9.3,0,0,0,50,17a10.46,10.46,0,0,0-3.46,2.22,11.5,11.5,0,0,0-1.92,2.41q-1-5.05-7.73-4.7l-7.14.37a.88.88,0,0,0-.84.93l.22,4.15a9.5,9.5,0,0,0-5.19-4,12.2,12.2,0,0,0-3.65-.56C20.05,17.82,19.79,17.82,19.54,17.84Zm63.22-3.31-2.17.12a.9.9,0,0,0-.61.29.87.87,0,0,0-.23.64l1.06,20.15a.88.88,0,0,0,.93.84L84,36.45a.83.83,0,0,0,.61-.29.87.87,0,0,0,.23-.63l-1-20.09a1,1,0,0,0-1-.9Zm11.48,3.85a.9.9,0,0,1,.07.87L86.94,35a.88.88,0,0,0,.06.86.85.85,0,0,0,.76.4l12.9-.67h0a.76.76,0,0,0,.72-.8h0l-.13-2.48a.75.75,0,0,0-.8-.72l-6.21.33a.89.89,0,0,1-.84-1.26l7.37-15.74a.9.9,0,0,0-.07-.87.87.87,0,0,0-.78-.39L87,14.31a.75.75,0,0,0-.71.8l.13,2.49a.74.74,0,0,0,.25.52.75.75,0,0,0,.55.2L93.46,18h.05A.89.89,0,0,1,94.24,18.38ZM106,13.31l-2.24.12a.89.89,0,0,0-.85.93l.85,16.15v.1l.2,3.83a1,1,0,0,0,1,.91l2.18-.11h0a.9.9,0,0,0,.83-.93l-1.06-20.16a.88.88,0,0,0-.88-.84Zm-3.32-3.5v.1a2,2,0,0,0,4-.1V9.7a2,2,0,0,0-2-1.9h-.1a2,2,0,0,0-1.91,2ZM16.25,35.28l-.66-12.51a.87.87,0,0,1,.23-.64.83.83,0,0,1,.61-.29l3.3-.18a6,6,0,0,1,4.87,1.62,7.74,7.74,0,0,1,1.92,5.19,7.71,7.71,0,0,1-1.37,5.35A6,6,0,0,1,20.47,36l-3.31.17h0a.88.88,0,0,1-.88-.84Zm36.61-.55A6.9,6.9,0,0,1,48,32.44a5.3,5.3,0,0,1-1.12-2.17,6.7,6.7,0,0,1-.09-2.6,11,11,0,0,1,2.57-5.41,6.42,6.42,0,0,1,2.07-1.58,5.52,5.52,0,0,1,2.4-.52,6.36,6.36,0,0,1,2.64.66,5.45,5.45,0,0,1,3.3,3.78A8.32,8.32,0,0,1,59,30.1a10.69,10.69,0,0,1-1.66,2.54,6.76,6.76,0,0,1-2.07,1.57,5.42,5.42,0,0,1-2.31.52.27.27,0,0,1-.09,0Zm-19.2-7.84a.83.83,0,0,1-.29-.61l-.26-4.91a.87.87,0,0,1,.83-.92l2.22-.12a5.2,5.2,0,0,1,3.39.63,3.08,3.08,0,0,1,1,2.41,3.29,3.29,0,0,1-.8,2.6,5.23,5.23,0,0,1-3.43,1l-2.07.11h0a.89.89,0,0,1-.59-.23Zm32.93-1.41-.31-5.84a.9.9,0,0,1,.23-.64.86.86,0,0,1,.61-.29l2.4-.12a8.81,8.81,0,0,1,2,.09,3.1,3.1,0,0,1,1.33.57,2.58,2.58,0,0,1,.75,1.09A6.22,6.22,0,0,1,73.94,22a4.16,4.16,0,0,1-.79,3.14A4.63,4.63,0,0,1,70,26.19l-2.51.13h0a.9.9,0,0,1-.89-.84Z\"\n transform=\"translate(-8.49 -4.94)\"\n />\n </svg>\n </div>\n <div class=\"wac-logo__wrapper\" [ngClass]=\"isWhite ? 'white' : ''\" *ngIf=\"!isDropizi\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128.044 40\">\n <defs>\n <style>\n .cls-1 {\n fill: #a4c445;\n }\n .cls-2 {\n fill: #52aecd;\n }\n </style>\n </defs>\n <g id=\"Logo_WiziShop\" transform=\"translate(0.024 0)\">\n <path\n id=\"Shop\"\n class=\"cls-1\"\n d=\"M50.812,38.431V12.3a2.468,2.468,0,0,1,2.452-1.643A2.307,2.307,0,0,1,55.446,12a7.058,7.058,0,0,1,4.107-1.348A5.245,5.245,0,0,1,63.218,12,6.1,6.1,0,0,1,64.7,16.365v7.208h-.012q0,7.282-5.835,7.282a8.453,8.453,0,0,1-3.224-.674v8.25A2.471,2.471,0,0,1,53.178,40,2.419,2.419,0,0,1,50.812,38.431Zm4.805-21.845V26a7.046,7.046,0,0,0,2.709.834c1.1-.012,1.655-1.091,1.655-3.248V15.912c0-.65-.4-.981-1.226-.981A3.59,3.59,0,0,0,55.617,16.586ZM33.858,19.614q0-9.727,7.159-9.721,4.1,0,5.762,3.065a15.8,15.8,0,0,1,1.067,6.656q0,4.56-1.226,6.8-1.655,3.144-6.031,3.138Q33.858,29.556,33.858,19.614Zm4.462,0c0,3.947.846,5.909,2.538,5.909,1.741.012,2.623-1.961,2.623-5.909q0-5.682-2.538-5.688Q38.315,13.926,38.321,19.614Zm-35.8,8.4A5.577,5.577,0,0,1,.172,23.917L0,22.262l4.536-.6a12.942,12.942,0,0,0,.613,2.317,1.976,1.976,0,0,0,2.01,1.189,1.375,1.375,0,0,0,1.226-.674A4.161,4.161,0,0,0,9,22.4c0-1.2-.736-2.623-2.219-4.266s-2.954-3.273-4.4-4.867A10,10,0,0,1,.025,7.2a9.322,9.322,0,0,1,.441-2.77Q1.955.012,6.84.012a7.629,7.629,0,0,1,4.585,1.5,5.555,5.555,0,0,1,2.317,4.131l.172,1.655-4.585.588a12.943,12.943,0,0,0-.613-2.317,1.976,1.976,0,0,0-2.01-1.189c-.7,0-1.189.429-1.483,1.275A3.756,3.756,0,0,0,4.965,7q0,2.537,4.622,7.416t4.622,8.017a7.691,7.691,0,0,1-1.876,4.72,6.225,6.225,0,0,1-5.185,2.39A7.665,7.665,0,0,1,2.525,28.011Zm23.488-.368V15.3c0-.552-.343-.821-1.042-.821a3.356,3.356,0,0,0-2.954,1.569v11.6a2.629,2.629,0,0,1-2.538,1.716,2.589,2.589,0,0,1-2.452-1.728V1.729A2.578,2.578,0,0,1,19.479,0a2.641,2.641,0,0,1,2.538,1.729v9.292a7.611,7.611,0,0,1,3.751-1.042,5.039,5.039,0,0,1,3.665,1.459,5.748,5.748,0,0,1,1.483,4.3V27.631a2.548,2.548,0,0,1-2.366,1.728l-.136,0A2.521,2.521,0,0,1,26.013,27.643Z\"\n transform=\"translate(63.32 0)\"\n />\n <path\n id=\"Wizi\"\n class=\"cls-2\"\n d=\"M13.341,28.661,12.2,22.617l-1.226,6.044a2.9,2.9,0,0,1-2.353,1.189,3.26,3.26,0,0,1-2.44-1.1L.064,2.55A1.793,1.793,0,0,1,.591.674,2.977,2.977,0,0,1,2.6,0c1.287,0,2.047.478,2.28,1.422L8.535,18.707l1.312-6.055a2.228,2.228,0,0,1,2.524-1.876,2.035,2.035,0,0,1,2.183,1.876l1.213,6.142Q16.816,12.6,18,6.3c.785-4.2,2.06-6.3,3.8-6.3a2.717,2.717,0,0,1,1.054.221,1.774,1.774,0,0,1,1.41,2.329l-6.032,26.1a2.881,2.881,0,0,1-2.354,1.2A3.247,3.247,0,0,1,13.341,28.661Zm39.816-.356V11.67c.293-.6,1.139-.895,2.537-.895,1.336,0,2.182.294,2.538.895V28.305c-.355.65-1.2.968-2.538.968C54.3,29.273,53.451,28.955,53.157,28.305Zm-15.667.968c-1.287-.147-1.924-.772-1.924-1.863a2.936,2.936,0,0,1,.343-1.5l7.16-10.984H37.33a2.307,2.307,0,0,1-1.765-2.182,2.226,2.226,0,0,1,1.778-2.182h10.1a2.144,2.144,0,0,1,1.679,2.1q0,1.8-2.574,5.529-2.483,3.366-4.879,6.73h5.7v-.013a2.235,2.235,0,0,1,0,4.364Zm-11.5-.968V11.67c.294-.6,1.14-.895,2.538-.895,1.336,0,2.182.294,2.537.895V28.305c-.355.65-1.2.968-2.537.968C27.131,29.273,26.285,28.955,25.991,28.305ZM53.9,8.054a2,2,0,0,1-.747-1.544A1.858,1.858,0,0,1,53.9,5a2.969,2.969,0,0,1,3.58,0,1.859,1.859,0,0,1,.748,1.508,1.962,1.962,0,0,1-.748,1.544,2.833,2.833,0,0,1-3.58,0Zm-27.165,0a2,2,0,0,1-.748-1.544A1.859,1.859,0,0,1,26.739,5a2.968,2.968,0,0,1,3.579,0,1.892,1.892,0,0,1,.748,1.508,1.959,1.959,0,0,1-.748,1.544,2.832,2.832,0,0,1-3.579,0Z\"\n transform=\"translate(-0.024 0.086)\"\n />\n </g>\n </svg>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'wac-radio',\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: RadioComponent, multi: true }]\n})\nexport class RadioComponent implements ControlValueAccessor {\n // ! refacto\n @Input()\n label = '';\n @Input()\n options: Array<any>; // todo refacto type\n @Input()\n value: any;\n @Input()\n type: string;\n @Input()\n id = '';\n @Input()\n name: string;\n @Input()\n alone = false;\n @Output()\n changeInput = new EventEmitter<any>();\n disabled = false;\n constructor() {}\n private _onChange: Function;\n private _onTouched: Function;\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n }\n }\n\n valueInput(value) {\n this.changeInput.emit(value);\n }\n}\n","<div class=\"wac-radio\" *ngFor=\"let option of options\" [ngClass]=\"{ 'wac-radio--nowrap': type === 'column', alone: alone }\">\n <div class=\"wac-radio__row\">\n <input\n type=\"radio\"\n [id]=\"option.id\"\n class=\"is-checkradio\"\n [name]=\"option.name\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n />\n <label [attr.for]=\"option.id\">{{ option.label }}</label>\n <div class=\"wac-radio__input\" *ngIf=\"value && option.value && option.hasInput\">\n <input type=\"text\" [placeholder]=\"option.placeholderInput\" (blur)=\"valueInput($event)\" />\n </div>\n </div>\n</div>\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-state',\n templateUrl: './state.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class StateComponent {\n @Input()\n state = 'success';\n constructor() {}\n}\n","<div [class]=\"'wac-state ' + state\"></div>\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const inOutX = trigger('inOutXAnimation', [\n transition(':enter', [\n style({ zIndex: -1, transform: 'scaleX(0)', width: 0, opacity: 0 }),\n animate('.3s ease-out', style({ zIndex: 1, transform: 'scaleX(1)', width: 'auto', opacity: 1 }))\n ]),\n transition(':leave', [\n style({ zIndex: 1, transform: 'scaleX(1)', width: 'auto', opacity: 1 }),\n animate('.3s ease-in', style({ zIndex: -1, transform: 'scaleX(0)', width: 0, opacity: 0 }))\n ])\n]);\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { inOutX } from '../../animations/in-out/in-out-x.animation';\n\n@Component({\n selector: 'wac-tag-label',\n templateUrl: './tag-label.component.html',\n encapsulation: ViewEncapsulation.None,\n animations: [inOutX]\n})\nexport class TagLabelComponent {\n @Input()\n index = 0;\n @Input()\n label = '';\n @Input()\n deleted = false;\n\n @Output() onDeleteLabel = new EventEmitter<any>();\n\n constructor() {}\n\n deleteLabel() {\n this.deleted = true;\n this.onDeleteLabel.emit({\n index: this.index,\n label: this.label\n });\n }\n}\n","<div *ngIf=\"!deleted\" [@inOutXAnimation] class=\"wac-tag-label\">\n <div class=\"wac-label__wrapper\">\n {{ label }}\n <i class=\"far fa-times\" (click)=\"deleteLabel()\"></i>\n </div>\n</div>\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const opacityAnimation = trigger('opacityAnimation', [\n transition(':enter', [style({ opacity: 0 }), animate('0.4s ease-in-out', style({ opacity: 1 }))])\n]);\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-optional-disable-container',\n templateUrl: './optional-disable-container.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class OptionalDisableContainerComponent {\n\n @Input() disabled = false;\n\n constructor() { }\n\n}","<ng-content></ng-content>\n<div class=\"wac-optional-disable-container__disabledSection\" *ngIf=\"disabled\"></div>","import { DatePipe } from '@angular/common';\nimport { Component, Input, EventEmitter, Output, OnChanges, SimpleChanges, ChangeDetectionStrategy, ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NwbDatePickerComponent, NwbDatePickerEvent, NwbDatePickerOptions } from '@wizishop/ng-wizi-bulma';\nimport { opacityAnimation } from '../../animations/show/opacity.animation';\n\n@Component({\n selector: 'wac-calendar',\n templateUrl: './calendar.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CalendarComponent,\n multi: true\n },\n DatePipe\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [opacityAnimation]\n})\nexport class CalendarComponent implements OnChanges, ControlValueAccessor {\n //! At the moment, the component handle only one date (not a range)\n @ViewChild('minutes') minutes: ElementRef;\n @ViewChild('hours') hours: ElementRef;\n @ViewChild('datePicker') datePicker: NwbDatePickerComponent;\n\n @Input()\n label: string | null; // todo use ng-content instead\n\n @Input()\n boldLabel: boolean = false; // todo remove when label will be a ng-content\n\n @Input()\n type: 'input' | 'edit' | 'select' = 'input';\n\n @Input()\n set options(options: Readonly<NwbDatePickerOptions>) {\n this._options = options;\n if (this.isBulmaDatePickerExists()) {\n this.updateBulmaDatePickerOptions(options);\n }\n }\n\n get options() : Readonly<NwbDatePickerOptions> {\n return this._options;\n }\n\n _options: Readonly<NwbDatePickerOptions> = {\n displayMode: 'inline',\n showHeader: false,\n showFooter: true,\n };\n\n @Input()\n position = 'bottom';\n\n @Input()\n set dateSelected(dateSelected: Date) {\n if (this.disabled) {\n return;\n }\n this._dateSelected = new Date(dateSelected); // trigger change detection for pure pipe\n }\n get dateSelected() : Date {\n return this._dateSelected;\n }\n _dateSelected: Date;\n\n @Output() dateSelectedChange = new EventEmitter();\n\n @Input()\n typeDate: 'datetime' | 'datetime-local' | 'date' = 'datetime-local';\n @Input()\n noMargin = false;\n\n @Input() disabled = false;\n\n @Output() changeData = new EventEmitter<{ startDate: Date; endDate: Date; }>();\n open = false;\n startLabel = '';\n endLabel = '';\n\n set calendarMinutes(calendarMinutes: string) {\n if (!this.dateSelected) {\n this.dateSelected = new Date();\n }\n const minutes = this.formatTime(calendarMinutes, 0, 59);\n this.dateSelected.setMinutes(minutes);\n\n this.dateSelected = this.dateSelected; // trigger change detection\n this.minutes.nativeElement.value = this.datePipe.transform(this.dateSelected, 'mm'); // force to update the input value\n this.triggerDateSelectedChange();\n }\n\n get calendarMinutes(): string {\n return this.datePipe.transform(this.dateSelected ?? new Date(), 'mm');\n }\n\n set calendarHours(calendarHours: string) {\n if (!this.dateSelected) {\n this.dateSelected = new Date();\n }\n\n const hours = this.formatTime(calendarHours, 0, 23);\n\n this.dateSelected.setHours(hours);\n this.dateSelected = this.dateSelected; // trigger change detection\n this.hours.nativeElement.value = this.datePipe.transform(this.dateSelected, 'HH'); // force to update the input value\n this.triggerDateSelectedChange();\n }\n\n get calendarHours(): string {\n return this.datePipe.transform(this.dateSelected ?? new Date(), 'HH');\n }\n\n constructor(private datePipe: DatePipe) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.label || changes.type) {\n this.setCalendarLabel();\n }\n }\n\n onChangeDate(selectedDates: NwbDatePickerEvent) {\n if (this.disabled) {\n return;\n }\n\n if (!this.dateSelected) {\n this.dateSelected = new Date();\n }\n\n selectedDates.startDate.setHours(this.dateSelected.getHours());\n selectedDates.startDate.setMinutes(this.dateSelected.getMinutes());\n\n this.dateSelected = selectedDates.startDate;\n this.triggerDateSelectedChange();\n }\n\n private triggerDateSelectedChange() {\n this.onChange(this.dateSelected);\n this.dateSelectedChange.emit(this.dateSelected);\n this.triggerChange({\n startDate: this.dateSelected,\n endDate: this.dateSelected\n });\n }\n\n triggerChange(event: { startDate: Date; endDate: Date; }) {\n this.changeData.emit(event);\n }\n\n openCalendar(value = null) {\n\n if (this.disabled) {\n return;\n }\n\n if (value === 'close') {\n if (this.open) {\n this.open = false;\n this.onTouch();\n }\n } else {\n this.open = !this.open;\n }\n }\n\n private setCalendarLabel() {\n if (this.type === 'edit' && this.label) {\n const splitLabel = this.label.split('{x}');\n if (splitLabel.length > 1) {\n this.startLabel = splitLabel[0];\n this.endLabel = splitLabel[1];\n } else {\n this.startLabel = this.label;\n }\n }\n }\n\n incrementMinutes($event: Event) {\n this.calendarMinutes = parseInt(this.calendarMinutes, 10) + 1 + '';\n $event.preventDefault();\n }\n\n decrementsMinutes($event: Event) {\n this.calendarMinutes = parseInt(this.calendarMinutes, 10) - 1 + '';\n $event.preventDefault();\n }\n\n incrementHours($event: Event) {\n this.calendarHours = parseInt(this.calendarHours, 10) + 1 + '';\n $event.preventDefault();\n }\n\n decrementHours($event: Event) {\n this.calendarHours = parseInt(this.calendarHours, 10) - 1 + '';\n $event.preventDefault();\n }\n\n /*\n Ensure that the input value is a number and that it is between min and max\n */\n private formatTime(time: string | number, min = 0, max = 59) {\n let timeNumber = typeof time === 'string' ? parseInt(time, 10) : time;\n timeNumber = timeNumber > max ? min : timeNumber;\n timeNumber = timeNumber < min ? max : timeNumber;\n timeNumber = parseInt(('' + timeNumber).slice(-2)); // keeps only the last 2 digits\n return timeNumber;\n }\n\n private updateBulmaDatePickerOptions(options: Readonly<NwbDatePickerOptions>) {\n const bulmaCalendarDatePicker = this.datePicker['bulmaCalendar'].datePicker;\n bulmaCalendarDatePicker.min = options.minDate;\n bulmaCalendarDatePicker.max = options.maxDate;\n bulmaCalendarDatePicker.refresh();\n }\n\n private isBulmaDatePickerExists() {\n return this.datePicker && this.datePicker['bulmaCalendar'] && this.datePicker['bulmaCalendar'].datePicker;\n }\n\n // ControlValueAccessor methods\n\n onChange: (value: Date) => void = () => {};\n\n onTouch: () => void = () => {};\n\n writeValue(date: Date): void {\n if (!date) {\n return;\n }\n this.dateSelected = date;\n }\n registerOnChange(fn: any){\n this.onChange = fn;\n }\n registerOnTouched(fn: any){\n this.onTouch = fn;\n }\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div\n class=\"wac-calendar\"\n [ngClass]=\"{\n 'wac-calendar--input': type === 'input',\n 'wac-calendar--onlyDate': typeDate === 'date',\n 'wac-calendar--edit': type === 'edit',\n 'wac-calendar--select': type === 'select',\n 'wac-calendar--no-margin': noMargin,\n 'wac-calendar--open': open\n }\"\n [zIndexToggle]=\"open\"\n>\n <p [class]=\"'wac-calendar__label' + (boldLabel ? ' bold' : '')\" *ngIf=\"label && (type === 'input' || type === 'select')\" (click)=\"openCalendar()\">{{ label }}</p>\n <p class=\"wac-calendar__startLabel\" *ngIf=\"type === 'edit'\">{{ startLabel }}</p>\n <wac-optional-disable-container [disabled]=\"disabled\">\n <div class=\"wac-calendar__autoHide\" wzAutoHide (clickOutside)=\"openCalendar('close')\">\n <div class=\"wac-calendar__wrapper\">\n <div class=\"wac-calendar__wrapper__input\" *ngIf=\"type === 'input'\" (click)=\"openCalendar()\">\n <div class=\"wac-calendar__wrapper__input__icon\">\n <i class=\"far fa-calendar-alt\"></i>\n </div>\n <div class=\"wac-calendar__wrapper__input__date\">\n <span *ngIf=\"dateSelected\" @opacityAnimation>{{ dateSelected | date: 'dd/MM/yyyy'}}</span>\n <span class=\"placeholder-date\" *ngIf=\"!dateSelected\" @opacityAnimation>{{ 'wac.Date.PlaceHolder.dd/mm/yyyy' | translate }}</span>\n </div>\n <div class=\"wac-calendar__wrapper__input__time\">\n <span *ngIf=\"dateSelected\" @opacityAnimation>{{ dateSelected | date: 'HH:mm' }}</span>\n <span class=\"placeholder-date\" *ngIf=\"!dateSelected\" @opacityAnimation>{{ 'wac.Date.PlaceHolder.HH:mm' | translate }}</span>\n </div>\n </div>\n <div class=\"wac-calendar__wrapper__editInPlace\" *ngIf=\"type === 'edit'\" (click)=\"openCalendar()\">\n <div class=\"wac-calendar__wrapper__editInPlace__icon\">\n <i class=\"fal fa-calendar-alt\"></i>\n </div>\n <div class=\"wac-calendar__wrapper__editInPlace__date\">\n <div class=\"wac-calendar__wrapper__input__time\">\n <span *ngIf=\"dateSelected\" @opacityAnimation>{{ dateSelected | date: 'dd/MM/yyyy HH:mm' }}</span>\n <span class=\"placeholder-date\" *ngIf=\"!dateSelected\" @opacityAnimation>{{ 'wac.Date.PlaceHolder.dd/MM/yyyy_HH:mm' | translate }}</span>\n </div>\n </div>\n </div>\n <div class=\"wac-calendar__wrapper__select\" *ngIf=\"type === 'select'\" (click)=\"openCalendar()\">\n <div class=\"wac-calendar__wrapper__select__icon\">\n <i class=\"fal fa-calendar-alt\"></i>\n </div>\n <div class=\"wac-calendar__wrapper__select__date\">\n <span *ngIf=\"dateSelected\" @opacityAnimation>{{ dateSelected | date: 'dd/MM/yyyy HH:mm' }}</span>\n <span class=\"placeholder-date\" *ngIf=\"!dateSelected\" @opacityAnimation>{{ 'wac.Date.PlaceHolder.dd/MM/yyyy_HH:mm' | translate }}</span>\n </div>\n </div>\n </div>\n <div\n class=\"wac-calendar__absolute\"\n [ngClass]=\"{\n top: position === 'top',\n bottom: position === 'bottom',\n left: position === 'left',\n right: position === 'right',\n 'right-top': position === 'right-top',\n 'right-bottom': position === 'right-bottom',\n 'left-top': position === 'left-top',\n 'left-bottom': position === 'left-bottom',\n 'with-time': typeDate === 'datetime-local' || typeDate === 'datetime'\n }\"\n >\n <nwb-date-picker #datePicker (change)=\"onChangeDate($event)\" [options]=\"options\">\n <input [nwbDatepickerStart]=\"datePicker\" type=\"text\" [nwbDateType]=\"'date'\" [value]=\"dateSelected?.toISOString()\" />\n </nwb-date-picker>\n <div class=\"wac-calendar__absolute__time\" *ngIf=\"typeDate === 'datetime-local' || typeDate === 'datetime'\">\n <div class=\"wac-calendar__absolute__time__wrapper\">\n <div class=\"wac-calendar__absolute__time__wrapper__hours\">\n <div class=\"wac-calendar__absolute__time__wrapper__hours__left\">\n <button class=\"wac-calendar__absolute__time__wrapper__hours__btn\" (click)=\"incrementHours($event)\">\n <i class=\"fas fa-plus\"></i>\n </button>\n <button class=\"wac-calendar__absolute__time__wrapper__hours__btn\" (click)=\"decrementHours($event)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n </div>\n <div class=\"wac-calendar__absolute__time__wrapper__hours__right\">\n <input #hours type=\"text\" [(ngModel)]=\"calendarHours\" [wacOnlyNumber]=\"true\"/>\n </div>\n </div>\n <div class=\"wac-calendar__absolute__time__wrapper__minutes\">\n <div class=\"wac-calendar__absolute__time__wrapper__minutes__left\">\n <input #minutes type=\"text\" [(ngModel)]=\"calendarMinutes\" [wacOnlyNumber]=\"true\"/>\n </div>\n <div class=\"wac-calendar__absolute__time__wrapper__minutes__right\">\n <button class=\"wac-calendar__absolute__time__wrapper__minutes__btn\" (click)=\"incrementMinutes($event)\">\n <i class=\"fas fa-plus\"></i>\n </button>\n <button class=\"wac-calendar__absolute__time__wrapper__minutes__btn\" (click)=\"decrementsMinutes($event)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </wac-optional-disable-container>\n <p class=\"wac-calendar__endLabel\" *ngIf=\"type === 'edit'\">{{ endLabel }}</p>\n</div>\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'wac-edit-in-place',\n templateUrl: './edit-in-place.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: WzEditInPlaceComponent,\n multi: true\n }\n ]\n})\nexport class WzEditInPlaceComponent implements ControlValueAccessor, AfterViewChecked, OnChanges {\n //! Refacto aweful to use\n // todo add exemples in showcases\n // ! Not working correctly with ngModel and (ngModelChange)\n @Input()\n type: string;\n @Input()\n nwbOptions: object | string[];\n @Input()\n config: NwbEditInPlaceConfig = {};\n @Input()\n label: string;\n @Output() customChange = new EventEmitter<any>();\n\n @ViewChild('input')\n input: ElementRef;\n\n objectKeys = Object.keys;\n public currentValue: string | number;\n private preValue: string | number;\n\n public inputWidth: number;\n public editing = false;\n public isLoading: boolean;\n private firstEdit: boolean;\n private initialized: boolean;\n\n public onChange: any = Function.prototype;\n public onTouched: any = Function.prototype;\n\n get value(): any {\n return this.currentValue;\n }\n\n set value(v: any) {\n if (v !== this.currentValue) {\n this.currentValue = v;\n }\n }\n\n writeValue(value: any) {\n if (value !== null) {\n if (this.config.currency) {\n this.currentValue = this.parseValueToNumber(value);\n if (this.config.separator !== '.') {\n this.currentValue = this.parseValueToSeparator(this.currentValue);\n }\n this.currentValue += this.config.currency;\n } else {\n this.currentValue = value;\n }\n }\n }\n\n public registerOnChange(fn: (_: any) => {}): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n private _setValue(v: string | number) {\n if (this.type === 'select') {\n this.onChange(v);\n } else if (typeof this.config.currency === 'string') {\n v = this.parseValueToNumber(v);\n this.onChange(v);\n if (this.config.separator !== '.') {\n v = this.parseValueToSeparator(v);\n }\n v = v + this.config.currency;\n this.customChange.emit(v);\n } else {\n this.onChange(v);\n }\n this.writeValue(v);\n this.value = v;\n }\n\n ngAfterViewChecked() {\n if (this.input && this.editing) {\n this.input.nativeElement.focus();\n if (this.config.selectTextUponClick && this.firstEdit && this.preValue && this.input.nativeElement.value) {\n this.input.nativeElement.select();\n this.firstEdit = false;\n }\n }\n this.initialized = true;\n }\n\n startEditing() {\n if (!this.editing) {\n this.editing = true;\n this.currentValue = this.checkAndRemoveCurrency(this.currentValue);\n this.firstEdit = true;\n }\n }\n\n edit() {\n this.preValue = this.currentValue;\n this.editing = true;\n }\n\n onSubmit() {\n this.editing = false;\n if (this.currentValue !== this.preValue) {\n if (typeof this.config.handler === 'function') {\n this.isLoading = true;\n this.config.handler(this.currentValue, this.config.data).subscribe(\n data => {\n let hasChanged: boolean;\n this.isLoading = false;\n if (typeof data !== 'boolean') {\n this.currentValue = data.value;\n hasChanged = data.success;\n } else {\n hasChanged = data;\n }\n if (hasChanged) {\n this._setValue(this.currentValue);\n } else {\n this._setValue(this.preValue);\n }\n },\n () => {\n this.isLoading = false;\n this._setValue(this.preValue);\n }\n );\n } else {\n this._setValue(this.currentValue);\n }\n } else {\n if (typeof this.config.currency === 'string') {\n this.currentValue = this.currentValue + this.config.currency;\n }\n }\n }\n\n checkAndRemoveCurrency(value) {\n if (typeof this.config.currency === 'string') {\n return value.slice(0, -1);\n }\n\n return value;\n }\n\n parseValueToNumber(value) {\n if (!isNaN(value) && value !== '') {\n return parseFloat(value);\n }\n if (typeof this.config.currency === 'string') {\n const indexComma = value.indexOf(',');\n const indexDot = value.indexOf('.');\n if (indexComma > 0 && indexDot === -1) {\n const parsedValue = value.replace(',', '.');\n if (!isNaN(parsedValue)) {\n return parseFloat(parsedValue);\n }\n }\n if (indexDot > 0 && indexComma === -1) {\n if (!isNaN(value)) {\n return parseFloat(value);\n }\n }\n return 0;\n }\n }\n\n parseValueToSeparator(value) {\n if (typeof this.config.separator === 'string') {\n value = parseFloat(value).toFixed(2);\n return value.replace('.', this.config.separator);\n }\n\n return value;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.initialized) {\n this.currentValue = this.checkAndRemoveCurrency(this.currentValue) + this.config.currency;\n this.customChange.emit(this.value);\n }\n }\n\n selectOption(event) {\n this.currentValue = event.target.innerText;\n this.closeSelect(event);\n event.stopPropagation();\n this.customChange.emit(event.target.value);\n }\n\n closeSelect(event) {\n this.editing = false;\n this.isLoading = false;\n event.stopPropagation();\n }\n}\n\nexport interface NwbEditInPlaceConfig {\n /** Whether to select the whole text inside the input upon click */\n selectTextUponClick?: boolean;\n\n /** Data to pass as the second argument for the handler method if any **/\n data?: any;\n\n currency?: string;\n\n separator?: string;\n\n /**\n * handler method to call on change.\n * This allows you to perform any action before setting new value to the model\n * It has to return a boolean observable. If the returned value is true then the model will change.\n */\n handler?: (value: any, data: any) => Observable<boolean | ReturnedData>;\n}\n\nexport interface ReturnedData {\n success: boolean;\n value: any;\n}\n","<div [class.nwb-wrapper--editable]=\"type === 'select' || (!editing && !isLoading)\" class=\"wac-edit-in-place nwb-wrapper\" (click)=\"startEditing()\">\n <span\n data-text=\"dd\"\n [class.nwb-is-loading]=\"type === 'select' ? '' : isLoading\"\n [class.nwb-editing]=\"type === 'select' ? '' : editing\"\n [ngClass]=\"type === 'select' ? 'nwbSelect' : ''\"\n >\n {{ currentValue }}\n </span>\n\n <input\n #input\n *ngIf=\"type !== 'select' && editing\"\n [class.nwb-editable]=\"!editing\"\n [class.nwb-editing]=\"editing\"\n [class.nwb-is-loading]=\"isLoading\"\n type=\"text\"\n [(ngModel)]=\"value\"\n (focus)=\"edit()\"\n (blur)=\"onSubmit()\"\n (keyup.enter)=\"onSubmit()\"\n [ngStyle]=\"{ 'width.px': inputWidth }\"\n />\n <div class=\"nwbSelect__container\" *ngIf=\"type === 'select' && editing\">\n <div class=\"nwbSelect__background\" (click)=\"closeSelect($event)\"></div>\n <ng-container *ngFor=\"let nwbOption of objectKeys(nwbOptions)\">\n <button\n *ngIf=\"nwbOptions[nwbOption]\"\n [ngClass]=\"\n nwbOptions[nwbOption].label === currentValue\n ? 'nwbSelect__container__item nwbSelect__container__item--selected'\n : 'nwbSelect__container__item'\n \"\n (click)=\"selectOption($event)\"\n [value]=\"nwbOptions[nwbOption].value\"\n >\n {{ nwbOptions[nwbOption].label ? nwbOptions[nwbOption].label : nwbOptions[nwbOption].value }}\n </button>\n </ng-container>\n </div>\n\n <span class=\"nwb-loader\" [class.nwb-is-loading]=\"type === 'select' ? '' : isLoading\"></span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ProgressBarComponent } from '../progress-bar/progress-bar.component';\nimport { AutosizeModule } from 'ngx-autosize';\n\n@Component({\n selector: 'wac-text-area',\n templateUrl: './text-area.component.html',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ProgressBarComponent,\n AutosizeModule\n ],\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextAreaComponent, multi: true }]\n})\nexport class TextAreaComponent implements ControlValueAccessor {\n // todo simplify and improve progress bar\n @Input()\n label = '';\n @Input()\n value = '';\n @Input()\n placeholder = '';\n @Input()\n textInfo = '';\n @Input()\n textError = '';\n @Input()\n error: boolean;\n @Input()\n success: boolean;\n @Input()\n size = null;\n @Input()\n min = null;\n @Input()\n max = null;\n @Input()\n minHeight: string;\n @Input()\n dynamicSize = false;\n @Input()\n progressBar = false;\n @Input()\n disabled = false;\n @Input()\n maxlength: number | string;\n @Input()\n minlength: number | string;\n @Input()\n disableResize = false;\n\n id =\n 'wac-textarea__' +\n Math.random()\n .toString(36)\n .substr(2, 9);\n\n private _onChange: Function;\n private _onTouched: Function;\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(obj: any): void {\n this.value = obj;\n }\n\n onChange(value) {\n if (this._onChange) {\n this._onChange(value);\n this.writeValue(value);\n }\n }\n\n onBlur() {\n if (this._onTouched) {\n this._onTouched();\n }\n }\n}\n","<div class=\"field wac-text-area\" [ngClass]=\"{'dynamic': dynamicSize}\">\n <div class=\"field-label is-normal has-text-left\">\n <label class=\"label has-text-weight-normal\" [innerHTML]=\"label\" [for]=\"id\"></label>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p class=\"control\" [ngClass]=\"{ 'has-icons-right': (textError || error || success) && !disabled }\">\n <textarea\n [class]=\"'textarea' + (disableResize ? ' no-resize' : '')\"\n [id]=\"id\"\n [ngClass]=\"{ 'is-danger': (textError || error) && !disabled, 'is-empty': value === '', 'is-success': success && !disabled, 'has-help-text': textInfo !== '' || size }\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [style.minHeight]=\"minHeight\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n [autosize]=\"dynamicSize\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n ></textarea>\n <!-- Icon error -->\n <span *ngIf=\"(textError || error) && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n <span\n *ngIf=\"textInfo && (textError === null || textError === '')\"\n class=\"is-size-7 wac-text-area__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n <span *ngIf=\"textError\" class=\"is-size-7 wac-text-area__error has-text-danger\" [innerHtml]=\"textError\"></span>\n <span\n *ngIf=\"size && !progressBar\"\n class=\"is-size-7 wac-text-area__size\"\n [ngClass]=\"value && value.length > size ? 'has-text-danger' : ''\"\n ><strong>{{ value ? value.length : 0 }}</strong> / {{ size }}</span\n >\n </p>\n <wac-progress-bar *ngIf=\"progressBar && value\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-h1',\n templateUrl: './h1.component.html'\n})\nexport class H1Component {\n @Input()\n annotation = '';\n @Input()\n withImg = false;\n @Input()\n center = false;\n @Input()\n color = null;\n constructor() {}\n}\n","<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg, 'center': center}\" [style.color]=\"color?color:''\"><ng-content></ng-content><small *ngIf=\"annotation !== ''\">{{ annotation }}</small></h1>\n","import { Component, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'wac-h2',\n templateUrl: './h2.component.html'\n})\nexport class H2Component implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<h2 class=\"wac-h2\"><ng-content></ng-content></h2>\n","import { Component, Input, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'wac-h3',\n templateUrl: './h3.component.html'\n})\nexport class H3Component implements OnInit {\n @Input() grey = false;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<h3 class=\"wac-h3\" [ngClass]=\"{ grey: grey }\"><ng-content></ng-content></h3>\n","import { Injectable } from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HistoryService {\n private history: string[] = [];\n\n constructor(private router: Router) {}\n\n registerHistory() {\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationStart) {\n if (this.history.length > 0 && this.history[this.history.length - 1] === event.url.split('?')[0]) {\n return;\n }\n this.history.push(event.url.split('?')[0])\n }\n })\n }\n\n back(link: string[]) {\n this.history.pop();\n if (this.history.length > 0) {\n const lastlink = this.history[this.history.length - 1];\n this.router.navigate(lastlink.split('/'));\n } else {\n this.redirect(link);\n }\n }\n\n redirect(link: string[]) {\n if (link[0].indexOf('http') !== -1) {\n this.redirectToExternalLink(link);\n } else {\n this.redirectToInternalLink(link);\n }\n }\n\n redirectToExternalLink(link: string[]) {\n window.location.href = link[0];\n }\n\n redirectToInternalLink(link: string[]) {\n this.router.navigate(link);\n }\n}\n","import { Location } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { HistoryService } from '../../services/history.service';\n@Component({\n selector: 'wac-header-page',\n templateUrl: './header-page.component.html'\n})\nexport class HeaderPageComponent {\n @Input()\n title: string;\n @Input()\n linkBack: string[];\n @Input()\n withImg = false;\n @Input()\n center = false;\n @Input()\n useHistory = false;\n\n constructor(private historyService: HistoryService, private location: Location) {}\n back() {\n if (!this.useHistory) {\n this.historyService.redirect(this.linkBack);\n return;\n }\n\n this.historyService.back(this.linkBack);\n }\n}\n","<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" (click)=\"back()\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n","import { AfterViewInit, Component, ElementRef, Input, Renderer2, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'wac-link',\n templateUrl: './link.component.html'\n})\nexport class LinkComponent implements AfterViewInit {\n\n _link: string;\n\n @Input() set href(link : string) {\n this._link = link;\n this.setAttributesLink();\n }\n\n get href(): string {\n return this._link;\n }\n\n @Input() tooltip: string;\n @Input() tooltipWidth: string | number;\n @Input() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n @Input() id: string;\n @Input() class: string;\n @Input() fontSize = '14px';\n\n @ViewChild('linkComponent')\n linkComponent: ElementRef;\n\n constructor(private renderer2: Renderer2) {}\n\n ngAfterViewInit() {\n this.setAttributesLink();\n }\n\n setAttributesLink() {\n if (!this.linkComponent) {\n return;\n }\n\n if (this.href) {\n this.renderer2.setAttribute(this.linkComponent.nativeElement, \"href\", this.href);\n this.renderer2.setAttribute(this.linkComponent.nativeElement, \"target\", this.target);\n } else {\n this.renderer2.removeAttribute(this.linkComponent.nativeElement, \"href\");\n this.renderer2.removeAttribute(this.linkComponent.nativeElement, \"target\");\n }\n }\n}\n","<a #linkComponent class=\"wac-link\" [style.fontSize]=\"fontSize\" [ngClass]=\"{ class: class }\" [id]=\"{ id: id }\">\n <ng-content></ng-content>\n <span class=\"wac-link__tooltip\" [ngStyle]=\"{'min-width': tooltipWidth + 'px'}\" *ngIf=\"tooltip\" [innerHTML]=\"tooltip\"></span>\n</a>\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n@Component({\n selector: 'wac-switch',\n templateUrl: './switch.component.html',\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: SwitchComponent, multi: true },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SwitchComponent implements OnInit, ControlValueAccessor {\n // todo add ngmodel and review texts display (textState is mandatory in order to display textStateEnable and textStateDisable)\n @Input() value = false;\n @Input() textState = '';\n @Input() textStateAfter = '';\n @Input() textStateEnable = '';\n @Input() textStateDisable = '';\n @Input() showInput = false; // todo should not be handle here, but in another component\n @Input() placholderInput: string; // todo should be removed from here\n @Input() danger = false;\n @Input() whiteSpace: boolean = false;\n @Input() inverted: boolean = false;\n @Output() switchChange = new EventEmitter<any>(); // todo set emitted type\n @Output() changeInput = new EventEmitter<any>(); // todo set emitted type, should be removed\n valueInput: string;\n public id: string;\n\n disabled: boolean;\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.id = 'switch-' + Math.floor(Math.random() * Math.floor(1000));\n }\n\n changeValue(event: any) {\n if (this.disabled) {\n return;\n }\n this.value = event.target.checked;\n this.switchChange.emit(this.value);\n this.onChange(this.value)\n }\n\n triggerInput() {\n this.changeInput.emit(this.valueInput);\n }\n\n private onChange: (value: boolean) => void = (value) => {};\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n registerOnChange(onChange: any): void {\n this.onChange = onChange;\n }\n\n onBlur(): void {\n this.onTouched();\n }\n\n private onTouched = () => {};\n\n registerOnTouched(onTouched: any): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n this.changeDetectorRef.markForCheck();\n }\n}\n","<div class=\"wac-switch\" [ngClass]=\"{ inverted: inverted }\">\n <input type=\"checkbox\" [checked]=\"value\" (change)=\"changeValue($event)\" [id]=\"id\" [ngClass]=\"{ danger: danger }\" [disabled]=\"disabled\"/>\n <label [for]=\"id\" class=\"wac-switch__label\">\n <span class=\"wac-switch__label__text\">\n <ng-content></ng-content>\n <span\n *ngIf=\"textState\"\n [ngStyle]=\"{'whiteSpace': whiteSpace ? 'nowrap' :'normal'}\"\n >{{ textState }}\n <strong class=\"disable\" *ngIf=\"textStateDisable\">{{ textStateDisable }}</strong>\n <strong class=\"enable\" *ngIf=\"textStateEnable\">{{ textStateEnable }}</strong>\n {{ textStateAfter }}\n </span>\n </span>\n </label>\n</div>\n<div class=\"wac-show-input\" *ngIf=\"showInput && value\">\n <input [placeholder]=\"placholderInput\" type=\"text\" [(ngModel)]=\"valueInput\" (blur)=\"triggerInput()\" />\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-alert',\n templateUrl: './alert.component.html'\n})\nexport class AlertComponent implements OnInit {\n @Input() icon = true;\n @Input() warning = false;\n @Input() success = false;\n @Input() alert = false;\n @Input() iconClass = 'fas fa-info';\n @Input() closeButton = false;\n\n private isClose: boolean = false;\n @Output() isCloseChange = new EventEmitter<boolean>();\n\n constructor() {}\n ngOnInit(): void {}\n\n closeAlert(el) {\n el.remove();\n this.isClose = true;\n this.isCloseChange.next(this.isClose);\n }\n}\n","<div #alertBlock class=\"wac-alert\" [ngClass]=\"{ success: success, warning: warning, alert: alert }\">\n <i *ngIf=\"icon\" [ngClass]=\"iconClass\"></i>\n <p><ng-content></ng-content></p> <!-- ! Refacto : Remove p tag, attention à wizi-admin -->\n <a *ngIf=\"closeButton\" (click)=\"closeAlert(this.alertBlock)\"><i [ngClass]=\"'closeAlert fal fa-circle-xmark'\"></i></a>\n</div>\n","import { Component, Input } from '@angular/core';\n\n\n@Component({\n selector: 'wac-text',\n templateUrl: './text.component.html'\n})\nexport class TextComponent {\n @Input()\n textClass: 'grey'|'yellow'|'red'|'label'|'optional';\n}\n","<div class=\"wac-text\" [class]=\"textClass\">\n <p><ng-content></ng-content></p>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { PaginationComponent } from './pagination.component';\nimport { PagniationArrayTotalPages } from './pipes/array-pages.pipe';\nimport { PagniationText } from './pipes/custom-text.pipe';\nimport { PagniationIsLastPage } from './pipes/is-last-page.pipe';\n\nconst pipes = [PagniationArrayTotalPages, PagniationIsLastPage, PagniationText];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TranslateModule\n ],\n exports: [PaginationComponent],\n declarations: [PaginationComponent, ...pipes],\n providers: [],\n})\nexport class PaginationModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ],\n exports: [CheckboxComponent],\n declarations: [CheckboxComponent],\n providers: [],\n})\nexport class CheckboxModule { }\n","import { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n selector: '[tableColumn]'\n})\nexport class TableColumn {\n @Input() columnSize: string; // Optional.\n @Input() centerCell: 'left'|'center'|'right'; // Optional. left|center|right\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n constructor(private currentCell: ElementRef, private renderer: Renderer2, @Inject(DOCUMENT) private document) {}\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__body__line__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wac-table__body__line__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { EventEmitter, Inject, Output } from '@angular/core';\nimport { Renderer2 } from '@angular/core';\nimport { Directive, ElementRef, Input } from '@angular/core';\nimport { NwbFilter, NwbFilterGroup } from '@wizishop/ng-wizi-bulma';\nimport { Subscription } from 'rxjs';\nimport { FiltersTableService } from '../shared/filters-table.service';\nimport { TableFilters } from '../shared/table-filters.model';\n\n@Directive({\n // The selector has the same name as the headerCell selector in table.component.html\n selector: '[headerCell]'\n})\nexport class TableColumnHeader {\n @Input() // Optional.\n set headerName(value: string) {\n this._headerName = value;\n this.setHeaderName();\n }\n _headerName: string = '';\n get headerName(): string {\n return this._headerName;\n }\n @Input() columnSize: string; // Optional.\n @Input() filterRouting: boolean = false; // Optional. Set to true to use Filter Routing.\n @Input() tableName: string; // Optional, but mandatory to handle sorting\n @Input() sortName: string; // Optional, but mandatory to handle sorting\n @Input() centerCell: 'left'|'center'|'right'; // Optional. left|center|right\n @Output() onSortChange: EventEmitter<boolean> = new EventEmitter(); // Emit the sort value (true, false, undefuned) of the current sort icon when clicking\n @Input() tableFilters: TableFilters;\n @Output() tableFiltersChange: EventEmitter<TableFilters> = new EventEmitter();\n\n private centerCellValue: string[] = ['left', 'center', 'right'];\n\n private contentHeader: HTMLAnchorElement;\n private filterGroup: NwbFilterGroup;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private currentCell: ElementRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document,\n private filtersTableService: FiltersTableService\n ) {}\n\n ngOnInit() {\n if (this.tableName && this.sortName) {\n if (this.filterRouting) {\n this.handleSortRouting();\n } else {\n this.handleSortBasic();\n }\n }\n }\n\n ngAfterViewInit() {\n this.applyCustomStylesOnCell();\n this.renderHeaderColumn();\n }\n\n handleSortRouting() {\n this.filterGroup = this.filtersTableService.getTableFilterGroup(this.tableName);\n\n const filterGroupChangeSub = this.filterGroup.valuesChange$.subscribe((filters:NwbFilter[]) => {\n if (!filters || !filters.length) {\n return;\n }\n const filterSort = filters.filter(filter => filter.key === 'sort')[0];\n if (this.sortName !== filterSort.value) {\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(filterGroupChangeSub);\n }\n\n handleSortBasic() {\n const sortChangeSub = this.filtersTableService.getSortChangeListner().subscribe(sort => {\n if (this.tableName === sort.dataTableName && this.sortName !== sort.sortName) {\n // Reset the current sort icon\n this.resetSortIcon();\n }\n });\n this.subscriptions.push(sortChangeSub);\n }\n\n resetSortIcon() {\n // Replace current icon with default icon\n this.contentHeader.className = this.contentHeader.className.replace(this.getCurrentSortIcon(), 'idle');\n }\n\n applyCustomStylesOnCell() {\n this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';\n this.renderer.addClass(this.currentCell.nativeElement, 'wac-table__head__cell');\n\n if (this.centerCell) {\n if (this.centerCellValue.indexOf(this.centerCell) === -1) {\n throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';\n }\n\n let className = 'wac-table__head__cell--center' + '--' + this.centerCell;\n this.renderer.addClass(this.currentCell.nativeElement, className);\n }\n }\n\n renderHeaderColumn() {\n this.createHeaderContent();\n this.renderer.appendChild(this.currentCell.nativeElement, this.contentHeader);\n }\n\n createHeaderContent() {\n this.contentHeader = document.createElement('a');\n this.contentHeader.className = 'wac-table__head__cell__search';\n this.setHeaderName();\n if (this.tableName && this.sortName) {\n this.handleSort();\n }\n }\n\n private setHeaderName() {\n if (!this.contentHeader) {\n return;\n }\n this.contentHeader.innerHTML = this.headerName;\n }\n\n handleSort() {\n // Set icon in the header column cell\n this.contentHeader.className += ' wac-table__head__cell__search--' + this.getInitialSortIcon();\n\n // On click on the content header, change the icon and emit event\n this.renderer.listen(this.contentHeader, 'click', () => {\n const currentIcon = this.getCurrentSortIcon();\n let newIcon: string;\n let newSort: string, newOrder: boolean;\n\n switch (currentIcon) {\n case 'idle':\n newIcon = 'up';\n newSort = this.sortName;\n newOrder = true;\n break;\n\n case 'up':\n newIcon = 'down';\n newSort = this.sortName;\n newOrder = false;\n break;\n\n case 'down':\n newIcon = 'idle';\n break;\n\n default:\n newIcon = 'idle';\n break;\n }\n // Replace the icon\n this.contentHeader.className = this.contentHeader.className.replace(currentIcon, newIcon);\n\n this.emitEvents(newSort, newOrder);\n });\n }\n\n getInitialSortIcon() {\n if (!this.filterRouting) {\n return 'idle';\n }\n // Get Initial Sort Icon for Routing Filter\n let initialSortIcon = 'idle';\n if (this.filterGroup.get('sort') === this.sortName) {\n initialSortIcon = this.filterGroup.get('order') == 'true' ? 'up' : 'down';\n }\n return initialSortIcon;\n }\n\n getCurrentSortIcon() {\n const regexp = /wac-table__head__cell__search--(?<icon>\\w+)/;\n const { groups } = regexp.exec(this.contentHeader.className);\n return groups.icon;\n }\n\n emitEvents(newSort, newOrder) {\n if (this.filterRouting) {\n // Will send the filter routing value has changes event\n this.filterGroup.setValues({\n sort: newSort,\n order: newOrder,\n currentPage: 1\n });\n } else {\n // Send the event sort change\n this.filtersTableService.emitSortChange(this.tableName, this.sortName, newOrder);\n }\n if (this.tableFilters) {\n this.tableFilters.sort = this.sortName;\n this.tableFilters.order = newOrder;\n this.tableFilters.currentPage = 1;\n this.tableFiltersChange.emit(this.tableFilters);\n }\n this.onSortChange.emit(newOrder);\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => {\n subscription.unsubscribe();\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\nimport { LoaderComponent } from '../loader/loader.component';\nimport { PaginationModule } from '../pagination/pagination.module';\nimport { CheckBoxRow } from './directives/checkBoxRow.directive';\nimport { TableColumn } from './directives/column.directive';\nimport { TableColumnHeader } from './directives/columnHeader.directive';\nimport { TableRow } from './directives/raw.directive';\n\nimport { TableComponent } from './table.component';\nimport { InputSearchComponent } from '../inputs/input-search/input-search.component';\n\nconst directives = [TableColumn, CheckBoxRow, TableColumnHeader, TableRow,]\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n InputSearchComponent,\n LoaderComponent,\n CheckboxModule,\n PaginationModule\n ],\n exports: [TableComponent, ...directives],\n declarations: [TableComponent, ...directives],\n providers: [],\n})\nexport class TableModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'wac-upload',\n templateUrl: './upload.component.html'\n})\nexport class UploadComponent implements OnInit {\n @Input()\n label: string = 'Choisir les images à importer';\n @Input()\n type: string = 'button';\n @Input()\n icon: string | boolean = 'far fa-images';\n @Input()\n image: string | boolean = 'assets/angular-components/images/upload/icon_picture.svg';\n @Input()\n labelImage: string = 'Glisser-déposer votre image ici';\n\n @Output()\n open = new EventEmitter<any>();\n constructor() {}\n\n ngOnInit(): void {}\n\n triggerEvent(event) {\n this.open.emit(event);\n }\n}\n","<div class=\"wac-upload\" [ngClass]=\"{ portrait: type === 'portrait', landscape: type === 'landscape' }\">\n <div class=\"wac-upload__wrapper\">\n <div *ngIf=\"(type === 'portrait' || type === 'landscape') && image\" class=\"wac-upload__wrapper__visual\">\n <img [src]=\"image\" />\n <strong [innerHTML]=\"labelImage\"></strong>\n </div>\n <span *ngIf=\"(type === 'portrait' || type === 'landscape') && image\">ou</span>\n <button (click)=\"triggerEvent($event)\">\n <span *ngIf=\"icon\"><i [classList]=\"icon\"></i></span>\n <span [innerHTML]=\"label\"></span>\n </button>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-h4',\n templateUrl: './h4.component.html'\n})\nexport class H4Component implements OnInit {\n @Input() grey = false;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<h4 class=\"wac-h4\" [ngClass]=\"{ grey: grey }\"><ng-content></ng-content></h4>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { CalllToAction } from '../select/call-to-action.model';\nimport { SelectItem } from '../select/select-items.dto';\n\n@Component({\n selector: 'wac-select-in-text',\n templateUrl: './select-in-text.component.html',\n})\nexport class SelectInTextComponent implements OnInit {\n @Input()\n set items(items: SelectItem[]) {\n this._items = items;\n this.setInitialValues();\n }\n get items(): SelectItem[] {\n return this._items;\n }\n private _items: SelectItem[];\n\n @Input()\n placeholder: string;\n\n @Input()\n label: string;\n\n @Input()\n maxWidthItems: string;\n\n @Input()\n type = 'default';\n\n @Input()\n callToAction: CalllToAction;\n\n @Input()\n preText: string;\n\n @Input()\n postText: string;\n\n @Input()\n alwaysOpen: boolean = false;\n\n openCategories = false;\n\n currentLabel: string = '';\n currentLabelIcon: string = '';\n\n @Input() maxWidth = '100%';\n\n @Output() selectValue = new EventEmitter<number>();\n\n @Output() clickOnCallToAction = new EventEmitter<any>();\n\n constructor() {}\n\n ngOnInit(): void {\n this.currentLabel = this.placeholder;\n this.setInitialValues();\n }\n\n setInitialValues() {\n if (!this.items.length) {\n return;\n }\n\n const itemSelected: SelectItem = this.getItemSelected();\n this.setCurrentItem(itemSelected);\n }\n\n onClose() {\n this.openCategories = false;\n }\n\n customTB(index: number, item: SelectItem) {\n return item.id;\n }\n\n onSelectItem(index: number) {\n this.unselectAll();\n const itemSelected: SelectItem = this.items[index];\n this.setCurrentItem(itemSelected);\n this.selectValue.emit(index);\n }\n\n onClickCallToAction() {\n this.clickOnCallToAction.emit(this.callToAction.value);\n }\n\n private getItemSelected():SelectItem {\n let itemSelected: SelectItem = null;\n this.items.forEach(item => {\n if (!item.selected) {\n return;\n }\n itemSelected = item;\n });\n return itemSelected;\n }\n\n private setCurrentItem(itemSelected: SelectItem) {\n if (!itemSelected) {\n return;\n }\n itemSelected.selected = true;\n this.currentLabel = itemSelected.name;\n this.currentLabelIcon = itemSelected.icon;\n }\n\n private unselectAll() {\n this.items.forEach(item => item.selected = false);\n }\n}\n","<div class=\"wac-select-in-text\" wzAutoHide (clickOutside)=\"onClose()\" [ngStyle]=\"{ 'max-width': maxWidth }\" [zIndexToggle]=\"openCategories\">\n <div class=\"wac-select-in-text__prepend\" [innerHTML]=\"preText\" *ngIf=\"preText\"></div>\n <div #current class=\"wac-select-in-text__current\" (click)=\"openCategories = !openCategories\">\n <span>{{ currentLabel }}</span>\n <div\n class=\"wac-select-in-text__content\"\n [ngClass]=\"{ hidden: !openCategories && !alwaysOpen, open: type === 'open' }\"\n [ngStyle]=\"{ 'max-width': maxWidthItems }\"\n >\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"items.length > 0\">\n <div class=\"wac-select-in-text__content__item\" *ngFor=\"let item of items; trackBy : customTB; let index = index;\">\n <div [ngClass]=\"{ selected: item.selected }\" (click)=\"onSelectItem(index)\">\n <span class=\"icon\" [innerHTML]=\"item.icon\" *ngIf=\"item.icon\"></span>{{ item.name }}\n </div>\n </div>\n </perfect-scrollbar>\n </div>\n </div>\n <div class=\"wac-select-in-text__after\" [innerHTML]=\"postText\" *ngIf=\"postText\"></div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'wac-multiple-search',\n templateUrl: './multiple-search.component.html'\n})\nexport class MultipleSearchComponent implements OnInit {\n @Input() options = [];\n @Input() alwaysOpen = false;\n label = '';\n placeholder = '';\n icon = '';\n query = '';\n search: any = '';\n openSelect = false;\n error = 'wac.simpleSearchComponent.error';\n showError = false;\n constructor(private translateService: TranslateService) {}\n\n ngOnInit(): void {\n this.setPlaceholder();\n this.setLabel();\n this.setQuery();\n this.setIcon();\n }\n\n setSearchValueToQuery(value) {\n if (value.code !== 'Enter') {\n this.search = encodeURI(value.target.value);\n } else {\n this.submitForm();\n }\n }\n\n submitForm() {\n if (this.search) {\n if (this.search.length > 0) {\n window.location.href = this.query.replace('{s}', this.search);\n } else {\n this.displayError();\n }\n } else {\n this.displayError();\n }\n }\n\n setPlaceholder(value?) {\n if (value) {\n this.placeholder = this.options[value].placeholder;\n } else {\n this.placeholder = this.options[0].placeholder;\n }\n }\n\n setLabel(value?) {\n if (value) {\n this.label = this.options[value].label;\n } else {\n this.label = this.options[0].label;\n }\n }\n\n setQuery(value?) {\n if (value) {\n this.query = this.options[value].queries;\n } else {\n this.query = this.options[0].queries;\n }\n }\n\n displayError() {\n this.showError = true;\n setTimeout(() => {\n this.hideError();\n }, 2000);\n }\n\n hideError() {\n this.showError = false;\n }\n\n setIcon(value?) {\n if (value) {\n this.icon = this.options[value].icon;\n } else {\n this.icon = this.options[0].icon;\n }\n }\n\n openFuncSelect() {\n this.openSelect = !this.openSelect;\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n resetAllVue(value) {\n this.setPlaceholder(value);\n this.setLabel(value);\n this.setQuery(value);\n this.setIcon(value);\n this.search = '';\n this.closeSelect();\n }\n}\n","<div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\">\n <div class=\"wac-multiple-search__wrapper\">\n <div class=\"wac-multiple-search__wrapper__left\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <span>{{ label }}</span>\n <i class=\"fal fa-chevron-down\"></i>\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"openFuncSelect()\"></div>\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect || alwaysOpen\">\n <div\n class=\"wac-multiple-search__wrapper__left__select__item\"\n *ngFor=\"let option of options; let i = index\"\n [attr.data-index]=\"i\"\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\n >\n <i [ngClass]=\"option.icon\"></i>\n <span>{{ option.label }}</span>\n <input type=\"hidden\" value=\"\" />\n </div>\n </div>\n </div>\n <div class=\"wac-multiple-search__wrapper__right\">\n <form [action]=\"query\" method=\"get\">\n <button type=\"submit\" (click)=\"submitForm()\"><i class=\"fal fa-search\"></i></button>\n <input #inputSearch type=\"text\" required [placeholder]=\"placeholder\" (keyup)=\"setSearchValueToQuery($event)\" />\n </form>\n </div>\n </div>\n <div class=\"wac-multiple-search__error\" *ngIf=\"showError\">{{ error | translate}}</div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MultipleSearchPlusOption } from './shared/multiple-search-plus-option.model';\nimport { MultipleSearchPlusResults } from './shared/multiple-search-plus-results.model';\n\n@Component({\n selector: 'wac-multiple-search-plus',\n templateUrl: './multiple-search-plus.component.html'\n})\nexport class MultipleSearchPlusComponent implements OnInit {\n\n currentOption:number;\n label = '';\n placeholder = '';\n openSelect = false;\n openSearchResults = false;\n\n isLoading = true;\n\n @Input() options:MultipleSearchPlusOption[];\n @Input() searchResults:MultipleSearchPlusResults[];\n @Input() disabled: boolean | string = false;\n\n @Output() searchValue = new EventEmitter();\n @Output() optionsChange = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {\n this.setCurrentOption();\n this.setPlaceholder();\n this.setLabel();\n }\n\n setSearchValue(value:any) {\n if(value.target.value != ''){\n this.openSearchResults = true;\n } else {\n this.openSearchResults = false;\n }\n this.searchValue.emit({ currentOption: this.options[this.currentOption].code, value: value.target.value });\n }\n\n setCurrentOption(value?:number) {\n this.currentOption = value || 0;\n }\n\n setPlaceholder(value?:number) {\n this.placeholder = value ? this.options[value].placeholder : this.options[0].placeholder;\n }\n\n setLabel(value?:number) {\n this.label = value ? this.options[value].label : this.options[0].label;\n }\n\n onToggleSelect() {\n this.openSelect = !this.openSelect;\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n closeSearchResults() {\n this.openSearchResults = false;\n }\n\n resetAllVue(value:number) {\n this.searchResults = undefined;\n this.setCurrentOption(value);\n this.setPlaceholder(value);\n this.setLabel(value);\n this.openSearchResults = false;\n this.closeSelect();\n }\n\n addResult(index:number) {\n let alreadyExist = false;\n this.options[this.currentOption].table.forEach(elem => {\n if(elem.id == this.searchResults[index].id){\n alreadyExist = true;\n }\n });\n if(!alreadyExist) {\n this.options[this.currentOption].table.push(this.searchResults[index]);\n }\n this.resetAllVue(this.currentOption);\n this.optionsChange.emit({ currentOption: this.options[this.currentOption].code, action: 'add'});\n }\n\n deleteResult(indexItem:number, index:number) {\n this.options[index].table.splice(indexItem,1);\n this.optionsChange.emit({ currentOption: this.options[index].code, action: 'delete'});\n }\n}\n","<div class=\"wac-multiple-search-plus\" [zIndexToggle]=\"openSelect || openSearchResults\" [ngClass]=\"{ 'disabled': disabled }\">\n <!-- Multiple select with search input -->\n <div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect }\">\n <div class=\"wac-multiple-search__wrapper\">\n <div class=\"wac-multiple-search__wrapper__left\" *ngIf=\"options.length > 1\" [ngClass]=\"{ open: openSelect }\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <span>{{ label }}</span>\n <i class=\"fal fa-chevron-down\"></i>\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"onToggleSelect()\"></div>\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect\">\n <div\n class=\"wac-multiple-search__wrapper__left__select__item\"\n *ngFor=\"let option of options; let i = index\"\n [attr.data-index]=\"i\"\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\n >\n <span>{{ option.label }}</span>\n <input type=\"hidden\" value=\"\" />\n </div>\n </div>\n </div>\n <div class=\"wac-multiple-search__wrapper__right\" wzAutoHide (clickOutside)=\"closeSearchResults()\">\n <button><i class=\"fal fa-search\"></i></button>\n <input\n #inputSearch\n type=\"text\"\n [placeholder]=\"placeholder\"\n debounceKeyUp\n [debounceTime]=\"500\"\n (onEventChange)=\"setSearchValue($event)\"\n />\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSearchResults\">\n <div\n class=\"wac-multiple-search__wrapper__left__select__item\"\n *ngFor=\"let res of searchResults; let i = index\"\n (click)=\"addResult(i); inputSearch.value = ''\"\n >\n <wac-image *ngIf=\"res.image\" [src]=\"res.image\"></wac-image>\n <wac-text>#{{ res.id }} {{ res.name }}</wac-text>\n </div>\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading && !searchResults\">\n <wac-loader [small]=\"true\"></wac-loader>\n </div>\n <div\n class=\"wac-multiple-search__wrapper__left__select__item\"\n *ngIf=\"!searchResults?.length\"\n >\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Results checked -->\n <div *ngFor=\"let option of options; let i = index\">\n <div class=\"wac-multiple-search-plus__wrapper\" *ngIf=\"option.table.length\">\n <wac-h3>{{ option.title }}</wac-h3>\n <div class=\"wac-multiple-search-plus__wrapper__block hover default\" *ngFor=\"let item of option.table; let indexItem = index\">\n <wac-image *ngIf=\"item.image\" [src]=\"item.image\"></wac-image>\n <wac-text>{{ item.name }}</wac-text>\n <span (click)=\"deleteResult(indexItem, i)\"><i class=\"fas fa-times\"></i></span>\n </div>\n </div>\n </div>\n</div>\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-label',\n templateUrl: './label.component.html',\n host: {\n 'class': 'wac-label'\n }\n})\nexport class LabelComponent implements OnInit {\n\n constructor() {}\n\n ngOnInit(): void {\n }\n\n}\n","<ng-content></ng-content>","import { Component, ContentChild, ViewEncapsulation } from '@angular/core';\nimport { LabelComponent } from '../../common/label/label.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wac-input-with-select',\n templateUrl: './input-with-select.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule]\n})\nexport class InputWithSelectComponent {\n @ContentChild(LabelComponent) label: LabelComponent;\n}\n","<p *ngIf=\"!!label\" class=\"wac-select__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n<div class=\"wac-input-with-select\">\n <div class=\"wac-input-with-select__wrapper\">\n <div class=\"wac-input-with-select__wrapper__left\">\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"wac-select\"></ng-content>\n </div>\n <div class=\"wac-input-with-select__wrapper__right\">\n <ng-content select=\"[text]\"></ng-content>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DomService } from '../../services/dom.service';\n\n@Component({\n selector: 'wac-popin',\n templateUrl: './popin.component.html'\n})\nexport class PopinComponent implements OnInit {\n @Input()\n title: string;\n\n @Input()\n content: string;\n\n @Input()\n imgSrc: string;\n\n @Input()\n okButtonLabel: string;\n\n @Input()\n koButtonLabel: string;\n\n @Input()\n okButtonClass: string;\n\n @Input()\n koButtonClass: string;\n\n @Input()\n visible = false;\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Output()\n response = new EventEmitter();\n\n @Input()\n background = true;\n\n @Input()\n closeOnBackgroundClick: boolean = true;\n\n firstOpen = false;\n\n constructor(private domService: DomService) { }\n\n ngOnInit() {\n this.domService.setDocumentEventListener();\n }\n\n validatePopin() {\n this.response.emit(true);\n this.closePopin();\n }\n\n refusePopin(){\n this.response.emit(false);\n this.closePopin();\n }\n\n closePopin(clickOnBackground: boolean = false) {\n if (!this.closeOnBackgroundClick && clickOnBackground) {\n return;\n }\n if (!this.firstOpen){ //trick for auto-hide directive that close immediatly the pop-in\n this.visible = false;\n this.visibleChange.emit(this.visible);\n this.firstOpen = true;\n } else {\n this.firstOpen = false;\n }\n }\n}\n","<div class=\"wac-free\" *ngIf=\"visible\">\n <div class=\"wac-free__wrapper\" wzAutoHide (clickOutside)=\"closePopin(true)\">\n <a class=\"wac-free__wrapper__button-close\" (click)=\"closePopin()\">\n <i class=\"fas fa-times\"></i>\n </a>\n <div class=\"wac-free__wrapper__content\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" alt=\"barre admin\" />\n\n <h2 class=\"wac-popin__wrapper__title\" [innerHTML]=\"title\"></h2>\n\n <p class=\"wac-popin__wrapper__text\" [innerHTML]=\"content\"></p>\n </perfect-scrollbar>\n </div>\n <div class=\"wac-free__wrapper__buttons\">\n <div class=\"wac-free__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\n </div>\n <div class=\"wac-free__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-free__background\" *ngIf=\"background\"></div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DomService } from '../../services/dom.service';\n\n@Component({\n selector: 'wac-free-popin',\n templateUrl: './free-popin.component.html'\n})\nexport class FreePopinComponent implements OnInit {\n @Input()\n okButtonLabel: string;\n\n @Input()\n koButtonLabel: string;\n\n @Input()\n visible = false;\n\n @Input()\n disableCloseOutside = false;\n\n @Output()\n visibleChange = new EventEmitter();\n\n @Output()\n response = new EventEmitter();\n\n @Input()\n background = true;\n\n @Input()\n zIndex: number = 9999;\n\n firstOpen = true;\n\n constructor(private domService: DomService) { }\n\n ngOnInit() {\n if (this.visible) {\n this.firstOpen = false;\n }\n this.domService.setDocumentEventListener();\n }\n\n validatePopin() {\n this.response.emit(true);\n this.closePopin();\n }\n\n refusePopin(){\n this.response.emit(false);\n this.closePopin();\n }\n\n closePopin() {\n if (!this.firstOpen || this.disableCloseOutside) {\n this.visible = false;\n this.visibleChange.emit(this.visible);\n this.firstOpen = true;\n } else {\n this.firstOpen = false;\n }\n }\n}\n","<div class=\"wac-free-popin\" *ngIf=\"visible\" [ngStyle]=\"{'z-index': zIndex}\">\n <div class=\"wac-free-popin__wrapper\" wzAutoHide (clickOutside)=\"!disableCloseOutside ? closePopin() : ''\">\n <a class=\"wac-free-popin__wrapper__button-close\" (click)=\"closePopin()\">\n <i class=\"fas fa-times\"></i>\n </a>\n <div class=\"wac-free-popin__wrapper__content\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content></ng-content>\n </perfect-scrollbar>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons\">\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-free-popin__background\" *ngIf=\"background\"></div>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-block-separator',\n template: ``,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\n\nexport class BlockSeparatorComponent {\n\n constructor() { }\n\n}","import { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ContentChildren, ElementRef, HostBinding, Input, QueryList, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { BlockSeparatorComponent } from './separator/block-separator.component';\n\nexport type WacBlockConfig = Readonly<{\n borderRadius?: string;\n}>;\n\n@Component({\n selector: 'wac-block',\n templateUrl: './block.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CommonModule]\n})\nexport class BlockComponent implements AfterViewInit {\n\n // todo optimize render, add a call by default remove at the end, and add block in correct order, use debugger to help\n\n @ContentChildren(BlockSeparatorComponent) blockSeparators: QueryList<BlockSeparatorComponent>;\n\n @Input()\n config: WacBlockConfig = {\n borderRadius: '3px'\n }\n\n @HostBinding('style') get borderRadius() {\n return `--wac-block-border-radius: ${this.config.borderRadius ? this.config.borderRadius : '3px'};`;\n }\n\n destroy$ = new Subject<void>();\n\n constructor(\n private renderer2: Renderer2,\n private wacBlockElementRef: ElementRef\n ) {}\n\n ngAfterViewInit() {\n const groupedNodesList = this.getSeparatedGroupedOfNodes(this.wacBlockElementRef.nativeElement.childNodes);\n this.attachSeparatedBlocksToTheDom(groupedNodesList, this.wacBlockElementRef.nativeElement);\n\n this.blockSeparators\n .changes.pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.handleAddedSeparator();\n setTimeout(() => { // wait next render, because, Angular will remove child separator after this function is called\n this.handleRemovedSeparator();\n }, 0);\n\n });\n }\n\n private handleRemovedSeparator() {\n const wacBlockComponentChildNodes = this.wacBlockElementRef.nativeElement.childNodes;\n for (let i = 0; i < wacBlockComponentChildNodes.length; i++) {\n\n const childNode = wacBlockComponentChildNodes[i];\n const nextChild = wacBlockComponentChildNodes[i + 1];\n const areWacBlockSideBySide = nextChild && childNode.classList.contains('wac-block') && nextChild.classList.contains('wac-block');\n\n if (!areWacBlockSideBySide) {\n continue;\n }\n\n const parentElement = this.wacBlockElementRef.nativeElement;\n this.fusionNextBlockWithCurrentBlock(parentElement, nextChild, childNode);\n i--; // we remove a child, so we need to go back to the previous index\n\n }\n }\n\n private fusionNextBlockWithCurrentBlock(parentElement: any, nextChild: any, childNode: any) {\n parentElement.removeChild(nextChild); // not working with renderer2, it just freeze the app\n childNode.append(...nextChild.childNodes);\n }\n\n private handleAddedSeparator() {\n const wacBlockComponentChildNodes = [...this.wacBlockElementRef.nativeElement.childNodes];\n\n for (let i = 0; i < wacBlockComponentChildNodes.length; i++) {\n const childNode = wacBlockComponentChildNodes[i];\n if (childNode.nodeName === 'WAC-BLOCK-SEPARATOR') {\n continue;\n }\n if (!this.hasBlockSeparator(childNode.childNodes)) {\n continue;\n }\n\n const groupedNodesList = this.getSeparatedGroupedOfNodes(childNode.childNodes);\n groupedNodesList.shift(); // remove first group, it's the current block\n\n this.attachSeparatedBlocksToTheDom(groupedNodesList, this.wacBlockElementRef.nativeElement, wacBlockComponentChildNodes[i + 1]);\n }\n }\n\n private hasBlockSeparator(childNodes: any) {\n return [...childNodes].some(groupedNodes => groupedNodes?.nodeName === 'WAC-BLOCK-SEPARATOR');\n }\n\n private attachSeparatedBlocksToTheDom(groupedNodesList: any[], parentElement: any, nextElement?: any) {\n for (let index = 0; index < groupedNodesList.length; index++) {\n const groupedNodes = groupedNodesList[index];\n\n if (groupedNodes[0]?.nodeName === 'WAC-BLOCK-SEPARATOR') {\n this.attachToTheDom(groupedNodes[0], parentElement, nextElement);\n\n continue;\n }\n const separatedWacBlock = document.createElement('div');\n separatedWacBlock.classList.add('wac-block');\n groupedNodes.forEach(node => {\n separatedWacBlock.appendChild(node);\n });\n this.attachToTheDom(separatedWacBlock, parentElement, nextElement);\n }\n }\n\n private attachToTheDom(child:any, parentElement:any, nextElement?:any) {\n if (nextElement) {\n this.renderer2.insertBefore(parentElement, child, nextElement, true);\n } else {\n this.renderer2.appendChild(parentElement, child);\n }\n }\n\n\n private getSeparatedGroupedOfNodes(childNodes: any) {\n const groupedNodesList = [];\n let followingNodes = [];\n\n for (const node of childNodes) {\n\n if (node.nodeName === 'WAC-BLOCK-SEPARATOR') {\n groupedNodesList.push(followingNodes, [node]); // close a group and start a new one\n followingNodes = [];\n continue;\n }\n\n followingNodes.push(node);\n\n }\n\n if (followingNodes.length) {\n groupedNodesList.push(followingNodes);\n }\n return groupedNodesList;\n }\n\n ngOnDesTroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n\n","<ng-content></ng-content>","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper',\n templateUrl: './wrapper.component.html'\n})\nexport class WrapperComponent implements OnInit {\n @Input()\n size = 'fullsize';\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"wac-wrapper\" [ngClass]=\"{ fullsize: size === 'fullsize', 'max-width': size === 'max-width' }\">\n <ng-content></ng-content>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FilterItem } from './filter-item.dto';\n\n@Component({\n selector: 'wac-filters',\n templateUrl: './filters.component.html'\n})\nexport class FiltersComponent implements OnInit {\n\n @Input()\n options: FilterItem[];\n\n @Input()\n labelRestart: string = 'Afficher toutes les catégories';\n\n @Output()\n filterChange = new EventEmitter<number>();\n\n filterActiveIndex?: string;\n\n constructor() {}\n\n ngOnInit(): void {\n this.options.forEach((item, index) => {\n\n if (item.active) {\n this.filterActiveIndex = '' + index;\n }\n });\n\n }\n\n activeFilter(index: number) {\n this.options[index].active = true;\n this.filterActiveIndex = '' + index;\n this.filterChange.emit(index);\n }\n\n resetFilter() {\n this.options.forEach((item) => {\n item.active = false;\n });\n this.filterActiveIndex = null;\n this.filterChange.emit(-1);\n }\n}\n","<div class=\"wac-filters\">\n <div class=\"wac-filters__wrapper\" *ngIf=\"!filterActiveIndex\">\n <button *ngFor=\"let option of options; let i = index\">\n <span class=\"event\" (click)=\"activeFilter(i)\"></span><span [innerHTML]=\"option.name\"></span>\n </button>\n </div>\n <div class=\"wac-filters__wrapper\" *ngIf=\"filterActiveIndex\">\n <button (click)=\"resetFilter()\" class=\"active\">\n <i class=\"fas fa-times\"></i><span [innerHTML]=\"options[filterActiveIndex].name\"></span>\n </button>\n <span (click)=\"resetFilter()\">{{ labelRestart }}</span>\n </div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper-blocs',\n templateUrl: './wrapper-blocs.component.html'\n})\nexport class WrapperBlocsComponent implements OnInit {\n @Input()\n sidebar = false;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"wac-wrapper-blocs\" [ngClass]=\"{'sidebar': sidebar}\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input, OnInit, Output, ViewEncapsulation, EventEmitter } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wac-snackbar',\n templateUrl: './snackbar.component.html',\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('state', [\n state(\n 'void',\n style({\n bottom: '-100px'\n })\n ),\n state(\n 'inactive',\n style({\n bottom: '-100px'\n })\n ),\n state(\n 'active',\n style({\n bottom: '0px'\n })\n ),\n transition('void => active', animate(300)),\n transition('active => inactive', animate(300))\n ])\n ],\n standalone: true,\n imports: [CommonModule]\n})\nexport class SnackbarComponent implements OnInit {\n\n @Input() message: string;\n @Input() textButtonOk?: string;\n @Input() textButtonKo?: string;\n @Input() duration?: number;\n @Input() color?: string;\n @Input() buttonColor?: string;\n\n @Input() visible = false;\n @Output() visibleChange = new EventEmitter();\n\n @Output() response = new EventEmitter();\n\n private manualClose = false;\n\n private timer: any;\n\n ngOnInit() {\n if (this.duration > 0) {\n this.timer = setTimeout(() => this.manualClose = true, this.duration);\n }\n }\n\n validate(){\n this.response.emit(true);\n this.closeSnackbar();\n this.manualClose = true;\n }\n\n refuse(){\n this.response.emit(false);\n this.closeSnackbar();\n this.manualClose = true;\n }\n\n closeSnackbar(){\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n}\n","<div class=\"wac-snackbar\">\n <div [class]=\"'notification is-active ' + ((color) ? color : 'is-transparent')\"\n [@state]=\"visible ? 'active': 'inactive'\"\n >\n <div class=\"columns\">\n <div class=\"column notification--message\" [ngClass]=\"{'is-half': textButtonOk}\"\n [innerHTML]=\"message\">\n </div>\n <div class=\"column is-half\">\n <button [class]=\"'button ' + ((buttonColor) ? buttonColor : 'is-success')\"\n (click)=\"validate()\">{{textButtonOk}}\n </button>\n <button [class]=\"'button ' + ((buttonColor) ? buttonColor : 'is-success')\"\n (click)=\"refuse()\">{{textButtonKo}}\n </button>\n </div>\n </div>\n </div>\n</div>\n","import { Observable, Subject } from 'rxjs';\nimport { AlertPopupConfig } from './alert-popup.service';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-alert-popup',\n templateUrl: './alert-popup.component.html',\n host: {\n class: 'wac-alert-popup'\n },\n encapsulation: ViewEncapsulation.None\n})\nexport class AlertPopupComponent implements OnInit {\n config: AlertPopupConfig;\n\n /** Subject for notifying the user that the dialog has finished closing. */\n private afterClosedPopup: Subject<any> = new Subject();\n\n open = false;\n\n private timer: any;\n\n ngOnInit() {\n setTimeout(() => {\n this.open = true;\n }, 50);\n\n if (this.config.duration > 0) {\n this.timer = setTimeout(() => this.dismiss(), this.config.duration);\n }\n }\n\n dismiss() {\n this.open = false;\n\n setTimeout(() => {\n this.afterClosedPopup.next(true);\n this.afterClosedPopup.complete();\n }, 200);\n }\n\n /**\n * Gets an observable that is notified when the dialog is finished closing.\n */\n afterClosed(): Observable<any> {\n return this.afterClosedPopup.asObservable();\n }\n}\n","<div\n [class]=\"'alert ' + ((config.color) ? config.color : ' is-primary') + ((config.extraClasses) ? ' ' + config.extraClasses : '') + ((config.position) ? ' ' + config.position : '') + ((config.fullsize) ? ' fullsize' : '') + ((config.opacity) ? ' opacity-active' : '') + ((config.small) ? ' small' : '') + ((config.icon) ? ' with-icon' : '') + ((config.duration) ? '' : ' no-duration')\"\n [ngClass]=\"{'is-active': open, 'has-close': config.closeButton}\"\n>\n <div class=\"alert--message\">\n <span class=\"icon\" *ngIf=\"config.icon\">\n <i [class]=\"config.icon\"></i>\n </span>\n <span (click)=\"dismiss()\" class=\"wac-alert-popup__close\" *ngIf=\"!config.small || (config.small && config.closeButton)\"><i class=\"far fa-times\"></i></span>\n <p *ngIf=\"config.title\" class=\"wac-alert-popup__title\" [innerHTML]=\"config.title\"></p>\n <p *ngIf=\"config.message\" class=\"wac-alert-popup__text\" [innerHTML]=\"config.message\"></p>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { AlertPopupComponent } from './alert-popup.component';\nimport {DomService} from '../../services/dom.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertPopupService {\n constructor(private domService: DomService) {}\n\n open(config: AlertPopupConfig): AlertPopupComponent {\n const componentRef = this.getComponentRef(config);\n\n return componentRef.instance;\n }\n\n private getComponentRef(config: AlertPopupConfig) {\n const componentRef = this.domService.attachComponentPortal(AlertPopupComponent);\n\n config = Object.assign(\n {\n position: 'is-top'\n },\n config\n );\n\n componentRef.instance.config = config;\n\n componentRef.instance.afterClosed().subscribe(() => {\n componentRef.destroy();\n });\n\n return componentRef;\n }\n}\n\nexport interface AlertPopupConfig {\n message: string;\n title?: string;\n icon?: string;\n color?: string;\n position?: string;\n duration?: number;\n extraClasses?: string;\n fullsize?: boolean;\n opacity?: boolean;\n small?: boolean;\n closeButton?: boolean;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AlertPopupService } from './alert-popup.service';\nimport { AlertPopupComponent } from './alert-popup.component';\n\n@NgModule({\n imports: [CommonModule],\n providers: [AlertPopupService],\n entryComponents: [AlertPopupComponent],\n declarations: [AlertPopupComponent],\n exports: [AlertPopupComponent]\n})\nexport class AlertPopupModule {}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {SearchOption} from './shared/search-option.model';\nimport {SelectItem} from '../select/select-items.dto';\n\n@Component({\n selector: 'wac-search',\n templateUrl: './search.component.html'\n})\nexport class SearchComponent implements OnInit {\n\n @Input() placeholder: string;\n @Input() alwaysOpen = false;\n @Input() label: string;\n @Input() options: SearchOption[];\n @Input() disableSearchIn = false;\n @Input() emptyResult = '';\n search: any = '';\n openSelect = false;\n triggerOptions: SearchOption[];\n @Output() selectValue = new EventEmitter<number>();\n @Output() searchKeyUp = new EventEmitter<string>();\n @Output() searchFocusOut = new EventEmitter<string>();\n constructor() {}\n\n ngOnInit() {\n this.triggerOptions = this.options;\n }\n\n onClose() {\n this.openSelect = false;\n }\n\n setSearchValueToQuery(value) {\n this.search = value.target.value;\n if (this.disableSearchIn) {\n this.triggerOptions = this.options;\n } else {\n if (this.search.length > 0) {\n this.openSelect = true;\n this.triggerOptions = this.options.filter(element => element.label.toLowerCase().indexOf(this.search.toLowerCase()) !== -1);\n } else {\n this.triggerOptions = this.options;\n }\n }\n this.searchKeyUp.emit(this.search);\n }\n\n sendEventFocusOut() {\n this.searchFocusOut.emit(this.search);\n }\n\n closeSelect() {\n this.openSelect = false;\n }\n\n onSelectItem(index: number, value: number, label: string) {\n this.search = '';\n this.openSelect = false;\n if (this.disableSearchIn) {\n this.selectValue.emit(index);\n } else {\n const findInOption = this.options.findIndex(element => element.label === label && element.id === value);\n this.selectValue.emit(findInOption);\n }\n }\n\n resetAllVue() {\n this.search = '';\n this.closeSelect();\n }\n\n}\n","<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <div class=\"wac-search__wrapper\">\n <button><i class=\"fal fa-search\"></i></button>\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (focusout)=\"sendEventFocusOut()\" (keyup)=\"setSearchValueToQuery($event)\" />\n </div>\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"triggerOptions.length > 0\">\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; let index = index;\">\n <div [ngClass]=\"{ selected: item.checked }\" (click)=\"onSelectItem(index, item.id, item.label)\">\n {{ item.label }}\n </div>\n </div>\n </perfect-scrollbar>\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\n </div>\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SelectedListOption } from '../../components/selected-list/shared/selected-list-option.model';\n\n@Pipe({\n name: 'areAllOptionsSelected',\n pure: false\n})\n\nexport class AreAllOptionsSelectedPipe implements PipeTransform {\n transform(options: SelectedListOption[]): boolean {\n return !options.some(option => !option.checked);\n }\n}","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {SelectedListOption} from './shared/selected-list-option.model';\n\n@Component({\n selector: 'wac-selected-list',\n templateUrl: './selected-list.component.html',\n})\nexport class SelectedListComponent implements OnInit {\n\n @Input() options: SelectedListOption[] = [];\n @Input() label: string;\n @Input() textSelectAll: string;\n @Input() textUnSelectAll: string;\n @Input() enableSelectAll = true;\n @Output() selectedItemsIndex = new EventEmitter<number>();\n @Output() selectedItemsAll = new EventEmitter<number[]>();\n @Output() unSelectedItemsAll = new EventEmitter<number[]>();\n\n selectedOptionIndex = [];\n\n ngOnInit() {\n }\n\n onSelectAll() {\n this.selectedOptionIndex = this.options.map((option, index) => {\n option.checked = true;\n return index;\n });\n this.selectedItemsAll.emit(this.selectedOptionIndex);\n }\n\n onUnSelectAll() {\n this.selectedOptionIndex = this.options.map((option, index) => {\n option.checked = false;\n return index;\n });\n this.unSelectedItemsAll.emit(this.selectedOptionIndex);\n }\n\n onSelectItem(index: number) {\n this.options[index].checked = !this.options[index].checked;\n this.selectedItemsIndex.emit(index);\n }\n\n areAllOptionsChecked() {\n return !this.options.some(option => !option.checked);\n }\n\n}\n","<div class=\"selected-list\">\n <div class=\"selected-list__wrapper\">\n <div class=\"selected-list__wrapper__head\">\n <p *ngIf=\"label\" [innerHTML]=\"label\"></p>\n <ng-container *ngVar=\"(options | areAllOptionsSelected) as areAllOptionsSelected\">\n <ng-container *ngIf=\"textSelectAll && !areAllOptionsSelected\">\n\n <div class=\"selected-list__wrapper__head__button\">\n\n <div class=\"selected-list__wrapper__head__button__notMobile\">\n <wac-button\n [label]=\"textSelectAll\"\n (click)=\"onSelectAll()\"\n >\n </wac-button>\n </div>\n\n <div class=\"selected-list__wrapper__head__button__mobile\">\n <wac-button\n [extraClasses]=\"'is-grey'\"\n [icon]=\"'fad fa-check-double'\"\n (click)=\"onSelectAll()\"\n >\n </wac-button>\n </div>\n\n </div>\n\n </ng-container>\n\n <ng-container *ngIf=\"textUnSelectAll && areAllOptionsSelected\">\n\n <div class=\"selected-list__wrapper__head__button\">\n\n <div class=\"selected-list__wrapper__head__button__notMobile\">\n <wac-button\n [extraClasses]=\"'is-info'\"\n [label]=\"textUnSelectAll\"\n (click)=\"onUnSelectAll()\"\n >\n </wac-button>\n </div>\n\n <div class=\"selected-list__wrapper__head__button__mobile\">\n <wac-button\n [extraClasses]=\"'is-grey'\"\n [icon]=\"'fad fa-check-double'\"\n (click)=\"onUnSelectAll()\"\n >\n </wac-button>\n </div>\n\n </div>\n\n </ng-container>\n\n </ng-container>\n\n </div>\n <div class=\"selected-list__wrapper__content\">\n <div class=\"selected-list__wrapper__content__item\" *ngFor=\"let item of options;let i = index;\" [ngClass]=\"{'active': item.checked}\" (click)=\"onSelectItem(i)\">\n <span [innerHTML]=\"item.label\"></span>\n <i class=\"fas fa-check\"></i>\n </div>\n </div>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { RecursifDto } from './tree.dto';\n\n@Component({\n selector: 'wac-tree',\n templateUrl: 'tree.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class TreeComponent<Tree extends RecursifDto<Tree>> {\n\n // https://indepth.dev/posts/1405/ngtemplateoutlet\n\n constructor() { }\n /**\n *! items sould include RecursifDto interface\n */\n @Input() items: Tree[];\n @Input() treeDepth:number = 0;\n @Input() optionTemplate: TemplateRef<any>;\n @Input() trackByFn: (index: number, item: Tree) => any = (index, item) => item;\n\n}","<ul [ngClass]=\"['treeDepth-' + treeDepth]\">\n <li *ngFor=\"let item of items; let index = index; trackBy: trackByFn\">\n\n <ng-template #defaultItem>\n {{ item?.treeLabel }}\n </ng-template>\n\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate || defaultItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"\n >\n </ng-container>\n\n <wac-tree [optionTemplate]=\"optionTemplate\" [items]=\"item.treeChildren\" *ngIf=\"item.treeChildren?.length\" [treeDepth]=\"treeDepth + 1\"></wac-tree>\n </li>\n</ul>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'formatObjectToRecursifTree'\n})\n\nexport class FormatObjectToRecursifTreePipe implements PipeTransform {\n\n childrenProperties: string[] = [];\n\n transform(objectList:any[], childrenProperties: string[]): any {\n this.childrenProperties = childrenProperties;\n const treeDepth = 0;\n\n objectList.forEach(object => this.recursiveFormatObjectToRecursifTree(object, treeDepth));\n\n return objectList;\n }\n\n private recursiveFormatObjectToRecursifTree(object: any, treeDepth:number): any {\n for (const childrenProperty of this.childrenProperties) {\n\n object.hasTreeChildren = true;\n\n if (!object.hasOwnProperty(childrenProperty)) {\n // No more chrildren\n object.hasTreeChildren = false;\n continue;\n }\n\n if (!Array.isArray(object[childrenProperty])) {\n throw `Property : \"${childrenProperty}\", is not an array. it could not be transform to a recursive list.`;\n }\n // Add treeChildren property filled with name children property\n object.treeChildren = object[childrenProperty];\n // call this function recursively until no children can be generated\n this.recursiveFormatObjectToRecursifTree(object.treeChildren, treeDepth++);\n break;\n }\n\n object.treeDepth = treeDepth;\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'formatObjectToSimpleTree'\n})\n\nexport class FormatObjectToSimpleTreePipe implements PipeTransform {\n\n private childrenProperties: string[] = [];\n private labelProperties: string[] = [];\n\n transform(objectList:any[], childrenProperties: string[], labelProperties: string[]): any {\n\n this.childrenProperties = childrenProperties;\n this.labelProperties = labelProperties;\n const treeDepth = 0;\n\n objectList.forEach(object => this.recursiveFormatObjectToSimpleTree(object, treeDepth));\n\n return objectList;\n }\n\n private recursiveFormatObjectToSimpleTree(object: any, treeDepth:number): any {\n for (const property in object) {\n\n if (!Object.prototype.hasOwnProperty.call(object, property)) {\n continue;\n }\n\n if (this.labelProperties.includes(property)) {\n object.treeLabel = object[property];\n continue;\n }\n\n object.hasTreeChildren = true;\n\n if (!this.childrenProperties.includes(property)) {\n // No more chrildren\n object.hasTreeChildren = false;\n continue;\n }\n\n if (!Array.isArray(object[property])) {\n throw `Property : \"${property}\", is not an array. it could not be transform to a recursive list.`;\n }\n // Add treeChildren property filled with name children property\n object.treeChildren = object[property];\n // call this function recursively until no children can be generated\n this.recursiveFormatObjectToSimpleTree(object.treeChildren, treeDepth++);\n break;\n }\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { SelectItem } from '../../components/select/select-items.dto';\n\n@Pipe({\n name: 'selectFilters'\n})\n\nexport class SelectFiltersPipe implements PipeTransform {\n transform(items: SelectItem[], filterName: string): any {\n return items.filter(item => {\n const regexp = new RegExp(filterName, 'i');\n return regexp.test(item.name);\n });\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filterOptions'\n})\n\nexport class FilterOptionsPipe implements PipeTransform {\n\n transform(options: any[], searchValue: string, ...args: string[]): any {\n const regexp = new RegExp(searchValue, 'i');\n\n return options.filter(option => {\n return args.some(arg => regexp.test(option[arg]));\n });\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { OptionField, OptionItem } from '../components/inputs/input-with-select/option-item.dto';\n\n@Pipe({\n name: 'wacFindOptionSelectedField'\n})\nexport class FindOptionSelectedPipe implements PipeTransform {\n transform(options: Readonly<OptionItem[]>, field: OptionField | OptionField[]): Partial<OptionItem> | Partial<OptionItem>[] | string {\n\n const isFieldArray = Array.isArray(field);\n\n if (!options) {\n return isFieldArray ? [] : '';\n }\n\n const optionSelected = options.find((item) => item.active);\n\n if (!optionSelected) {\n return isFieldArray ? [] : '';\n }\n\n if (isFieldArray) {\n return field.reduce((acc, curr) => {\n return acc[curr];\n }, optionSelected);\n }\n\n return optionSelected[field];\n\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Typed mapping function.\n */\nexport type Mapper<T, G> = (item: T, ...args: any[]) => G;\n\n@Pipe({\n name: 'wacFn',\n standalone: true,\n})\nexport class CallComponentFunctionPipe implements PipeTransform {\n /**\n * Maps object to an arbitrary result through a plan-name function\n *\n * @param value an item to transform\n * @param mapper a mapping function\n * @param args arbitrary number of additional arguments\n */\n transform<T, G>(value: T, mapper: Mapper<T, G>, ...args: any[]): G {\n return mapper(value, ...args);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FormatObjectToRecursifTreePipe } from './tree/format-object-to-recursif-tree.pipe';\nimport { FormatObjectToSimpleTreePipe } from './tree/format-object-to-simple-tree.pipe';\nimport { SelectFiltersPipe } from './select/select-filters.pipe';\nimport { AreAllOptionsSelectedPipe } from './selected-list/are-all-options-selected.pipe';\nimport { FilterOptionsPipe } from './select/filter-options.pipe';\nimport { FindOptionSelectedPipe } from './find-option-selected-field.pipe';\nimport { CallComponentFunctionPipe } from './call-component-function.pipe';\n\nconst exportedPipes = [\n FormatObjectToRecursifTreePipe,\n FormatObjectToSimpleTreePipe,\n FilterOptionsPipe,\n FindOptionSelectedPipe\n];\n\nconst pipes = [\n SelectFiltersPipe,\n AreAllOptionsSelectedPipe\n]\n\n@NgModule({\n imports: [CommonModule, FormsModule, CallComponentFunctionPipe],\n declarations: [...exportedPipes, ...pipes],\n exports: [...exportedPipes, ...pipes, CallComponentFunctionPipe]\n})\nexport class SharedPipes {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedPipes } from '../../pipes/shared-pipes.module';\nimport { TreeComponent } from './tree.component';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SharedPipes\n ],\n exports: [TreeComponent],\n declarations: [TreeComponent],\n providers: [],\n})\nexport class TreeModule { }\n","export const uuid = () => {\n if (typeof window !== \"undefined\" && typeof window.crypto.randomUUID === \"function\") {\n return window.crypto.randomUUID();\n }\n // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\n return window.crypto.getRandomValues(new Uint32Array(5)).join(\"-\");\n};","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild, ViewEncapsulation} from '@angular/core';\nimport { uuid } from '../../../utils/uuid';\nimport { OPTION_SELECTION_HANDLER } from './option-selection-handler.token';\nimport { SelectOptionDirective } from './select-option.directive';\n\n@Component({\n selector: 'wac-option',\n templateUrl: './option.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: OptionComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OptionComponent<TOptionValue> extends SelectOptionDirective<TOptionValue> {\n\n @ViewChild('contentWrapper') contentOption: ElementRef;\n\n checkBoxId = `wac-option-${uuid()}`;\n\n constructor(protected contentRef: ElementRef, protected changeDetectorRef: ChangeDetectorRef) {\n super(contentRef, changeDetectorRef);\n }\n\n override getContentRef(): ElementRef<any> {\n return this.contentOption;\n }\n}\n","<div\n [ngClass]=\"{ 'disabled': disabled }\"\n class=\"wac-option\"\n >\n <div [ngClass]=\"{ 'selected': !disabled && selected, 'disabled': disabled }\" #contentWrapper>\n <wac-checkbox *ngIf=\"multiple\" [id]=\"checkBoxId\" [value]=\"selected\"></wac-checkbox>\n <ng-content></ng-content>\n </div>\n</div>","import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'wac-select-search-trigger',\n templateUrl: './select-search-trigger.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectSearchTriggerComponent {\n\n @Input() searchValue: string = '';\n\n @Output() searchValueChange = new EventEmitter<string>();\n\n @Output() searchInputKeyEnterPressed = new EventEmitter<void>();\n\n @ViewChild('searchInput') searchInput: any;\n\n constructor(\n ) {\n }\n\n onSearchValueChange() {\n this.searchValueChange.emit(this.searchValue);\n }\n\n onKeypressEnter() {\n this.searchInputKeyEnterPressed.emit();\n }\n\n setFocus() {\n setTimeout(() => { // otherwise the focus is not set\n this.searchInput.nativeElement.focus();\n },0);\n }\n}\n","<div class=\"wac-select-seacrh-trigger\">\n <i class=\"far fa-search\"></i>\n <input #searchInput type=\"text\" (click)=\"$event.stopPropagation()\" [(ngModel)]=\"searchValue\" (ngModelChange)=\"onSearchValueChange()\" (keypressEnter)=\"onKeypressEnter()\"/>\n</div>","import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { ValueChangeService } from './value-change.service';\nimport { Subject } from 'rxjs';\nimport { SelectSearchTriggerComponent } from '../select-search-trigger/select-search-trigger.component';\nimport {\n DOWN_ARROW,\n ENTER,\n ESCAPE,\n hasModifierKey,\n LEFT_ARROW,\n RIGHT_ARROW,\n TAB,\n UP_ARROW,\n} from '@angular/cdk/keycodes';\nimport { LabelComponent } from '../../common/label/label.component';\nimport { SelectDirective } from './select.directive';\n\n\n@Component({\n selector: 'wac-select',\n templateUrl: './select.component.html',\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true },\n ValueChangeService\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SelectComponent<TOptionValue> extends SelectDirective<TOptionValue> implements OnInit, OnDestroy {\n //! Refacto improve sroll on mobile, see with Pauline\n // angular material select https://github.com/angular/components/blob/main/src/material/select/select.ts\n\n @HostBinding('attr.role') role = 'combobox';\n\n @ContentChild(SelectSearchTriggerComponent) customSearchTrigger: SelectSearchTriggerComponent;\n\n @ContentChild(LabelComponent) label: LabelComponent;\n\n @ViewChild('selectHeader') selectHeader: ElementRef;\n\n /** Whether the component is required. */\n @Input()\n get required(): boolean {\n return this._required ?? false;\n }\n\n set required(value: boolean) {\n this._required = value;\n }\n\n private _required: boolean | undefined;\n\n get selectedOptionContent(): any {\n return this.valueChangeService.selectedOptionContent;\n };\n\n @Input() small = false;\n\n @Input()\n set keepPanelOpen(keepPanelOpen: boolean) {\n this.openPanel = keepPanelOpen;\n this._keepPanelOpen = keepPanelOpen;\n }\n\n get keepPanelOpen(): boolean {\n return this._keepPanelOpen ;\n }\n\n private _keepPanelOpen: boolean;\n\n @Input()\n set openPanel(openPanel: boolean) {\n const wasOpen = this._openPanel;\n this._openPanel = this.keepPanelOpen || openPanel;\n\n if (openPanel) {\n this.customSearchTrigger?.setFocus();\n }\n\n if (wasOpen) {\n this.onSelectTouch(this.value);\n }\n }\n\n get openPanel() : boolean {\n return this._openPanel;\n }\n _openPanel: boolean = false;\n\n @Output() openPanelChange = new EventEmitter<boolean>();\n\n override tabIndex: number = -1;\n\n searchByTyping: boolean = true;\n\n isDestroyed$: Subject<void> = new Subject();\n\n private isKeyBoardAction = false;\n\n constructor(\n protected valueChangeService: ValueChangeService<TOptionValue>,\n ) {\n super(valueChangeService);\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.closeTabOnValueChange();\n }\n\n private closeTabOnValueChange() {\n this.valueChangeService.valueChange$.pipe(takeUntil(this.isDestroyed$), filter(this.skipIfTriggeredByKeyboardAction)).subscribe(() => {\n this.onClosePanel();\n });\n }\n\n private skipIfTriggeredByKeyboardAction = () => {\n if(!this.isKeyBoardAction) {\n return true;\n }\n this.isKeyBoardAction = false;\n return false;\n }\n\n onTogglePanel() {\n this.openPanel = !this.openPanel;\n this.openPanelChange.emit(this.openPanel);\n }\n\n onClosePanel() {\n this.openPanel = false;\n this.openPanelChange.emit(this.openPanel);\n }\n\n override onKeydown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n if (event.keyCode === TAB) {\n // go to the next element with tabindex\n if (this.openPanel) {\n this.openPanel = false;\n }\n return;\n }\n if (this.disabled) {\n return;\n }\n\n const actionTriggered = this.openPanel ? this._handleOpenKeydown(event) : this._handleClosedKeydown(event);\n\n if (actionTriggered) {\n return;\n }\n this.isKeyBoardAction = true;\n super.onKeydown(event);\n }\n\n handleKeyboardActionWithSearch(event: KeyboardEvent): boolean {\n const keyCode = event.keyCode;\n\n if (keyCode === DOWN_ARROW) {\n this.isKeyBoardAction = true;\n this.valueChangeService.selectNextOption();\n return true;\n }\n if (keyCode === UP_ARROW) {\n this.isKeyBoardAction = true;\n this.valueChangeService.selectPreviousOption();\n return true;\n }\n return false;\n }\n\n /** Handles keyboard events while the select is closed. */\n private _handleClosedKeydown(event: KeyboardEvent): boolean {\n const keyCode = event.keyCode;\n const isArrowKey =\n keyCode === DOWN_ARROW ||\n keyCode === UP_ARROW ||\n keyCode === LEFT_ARROW ||\n keyCode === RIGHT_ARROW;\n const isOpenKey = keyCode === ENTER;\n // Open the select on ALT + arrow key to match the native <select>\n if (\n (isOpenKey && !hasModifierKey(event)) ||\n (event.altKey && isArrowKey)\n ) {\n this.openPanel = true;\n return true;\n }\n\n return false;\n }\n\n /** Handles keyboard events when the selected is open. */\n private _handleOpenKeydown(event: KeyboardEvent): boolean {\n const keyCode = event.keyCode;\n const isArrowKey =\n keyCode === DOWN_ARROW ||\n keyCode === UP_ARROW ||\n keyCode === LEFT_ARROW ||\n keyCode === RIGHT_ARROW;\n const isEscapeKey = keyCode === ESCAPE || keyCode === ENTER || keyCode === TAB;\n\n if ((isArrowKey && event.altKey) || isEscapeKey) {\n // Close the select on ALT + arrow key to match the native <select>\n this.openPanel = false;\n\n if (this.customSearchTrigger && keyCode !== TAB) {\n // If a escape key is used with the search, the focus on the select is loosed. And we can not interact with the select anymore.\n this.selectHeader.nativeElement.focus();\n }\n return true;\n }\n\n return false;\n }\n\n onSelectTouch: (value: any) => void = () => {};\n\n override registerOnTouched(fn: any){\n this.onSelectTouch = fn;\n }\n\n ngOnDestroy() {\n this.isDestroyed$.next();\n this.isDestroyed$.complete();\n }\n}\n","<p *ngIf=\"!!label\" class=\"wac-select__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n<div\n class=\"wac-select\"\n wzAutoHide\n (clickOutside)=\"onClosePanel()\"\n [triggerElement]=\"'wac-select__header__selection'\"\n [zIndexToggle]=\"openPanel\"\n [ngClass]=\"{'small': small}\"\n >\n\n <div #selectHeader class=\"wac-select__header\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && onTogglePanel()\" tabindex=\"0\">\n\n <ng-container [ngTemplateOutlet]=\"openPanel ? openPanelTrigger : closePanelTrigger\" >\n\n <ng-template #closePanelTrigger>\n <ng-container [ngTemplateOutlet]=\"defaultTrigger\"></ng-container>\n </ng-template>\n\n <ng-template #openPanelTrigger>\n <ng-content *ngIf=\"!!customSearchTrigger; else defaultTrigger\" select=\"wac-select-search-trigger\" ></ng-content>\n </ng-template>\n\n <ng-template #defaultTrigger>\n <ng-content *ngIf=\"!selectedOptionContent\" select=\"wac-placeholder,[role=placeholder]\"></ng-content>\n <div\n class=\"wac-select__header__selection wac-option__placeholder\"\n *ngIf=\"!!selectedOptionContent\"\n [innerHtml]=\"selectedOptionContent\">\n </div>\n </ng-template>\n\n </ng-container>\n\n <span class=\"wac-select__header__chevron\"><i class=\"fas fa-chevron-down\"></i></span>\n\n </div>\n\n\n <div class=\"wac-select__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openPanel, open: openPanel }\">\n\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content\n select=\"wac-option-call-to-action, wac-option, option, .option, [selectOption]\">\n </ng-content>\n </perfect-scrollbar>\n\n <div *ngIf=\"!optionChildren?.length\" class=\"wac-select__content__empty\">\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n\n </div>\n</div>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'wac-option-call-to-action',\n templateUrl: './option-call-to-action.component.html'\n})\nexport class OptionCallToActionComponent {\n\n constructor() {}\n}\n","\n<div class=\"wac-option-call-to-action\">\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n\n","import {Component, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'wac-placeholder',\n templateUrl: './placeholder.component.html',\n host: {\n 'class': 'wac-placeholder'\n }\n})\nexport class PlaceholderComponent implements OnInit {\n\n constructor() {}\n\n ngOnInit(): void {\n }\n\n}\n","<ng-content></ng-content>","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper-sidebar',\n templateUrl: './wrapper-sidebar.component.html'\n})\nexport class WrapperSidebarComponent {\n\n @Input() reverse = false;\n @Input() hideBackground = false;\n @Input() backgroundGrey: string; // todo should be renamed, it is not understandable\n @Input() backgroundWidth: string;\n @Input() stickySidebar = false;\n @Input() transparentSidebar = false;\n\n constructor() { }\n}\n","<div class=\"wac-wrapper-sidebar\" [ngClass]=\"{'reverse': reverse}\">\n <div class=\"wac-wrapper-sidebar__left\" [ngClass]=\"{'sticky': stickySidebar, 'transparent': transparentSidebar}\">\n <ng-content select=\"[sidebar]\"></ng-content>\n </div>\n <div class=\"wac-wrapper-sidebar__right\" [style.backgroundImage]=\"!hideBackground && backgroundGrey !== '' ? 'url(' + backgroundGrey + ')' : ''\" [style.backgroundSize]=\"backgroundWidth\">\n <ng-content select=\"[content]\"></ng-content>\n </div>\n</div>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {BreadcrumbsDto} from './breadcrumbs.dto';\n\n@Component({\n selector: 'wac-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n})\nexport class BreadcrumbsComponent {\n\n @Input()\n breadcrumbs: BreadcrumbsDto[];\n\n @Input()\n noResponsive = false;\n\n index: number = 0;\n\n @Output()\n indexChange = new EventEmitter<any>();\n\n constructor() { }\n\n valueChanged(i) {\n this.index = i;\n this.indexChange.emit(this.index);\n }\n\n}\n","<div class=\"wac-breadcrumbs\" [ngClass]=\"{'no-responsive': noResponsive}\">\n <div class=\"wac-breadcrumbs__wrapper\">\n <div class=\"wac-breadcrumbs__item\" *ngFor=\"let b of breadcrumbs; let i = index;\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\" (click)=\"valueChanged(i)\">\n <div class=\"round\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\"><span *ngIf=\"!b.valid\"><span *ngIf=\"i < 9\">0</span>{{ i + 1 }}</span><i class=\"fas fa-check\" *ngIf=\"b.valid\"></i></div>\n <div class=\"name\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\">{{ b.name }}</div>\n </div>\n </div>\n</div>\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'wac-card-price',\n templateUrl: './card-price.component.html',\n})\nexport class CardPriceComponent {\n\n @Input()\n amount: string;\n\n @Input()\n promo: string;\n\n @Input()\n title: string;\n\n @Input()\n selected = false;\n\n @Input()\n btnLabelSelected: string;\n\n @Input()\n price: string | number;\n\n @Input()\n currency: string;\n\n @Input()\n priceWording: string;\n\n @Input()\n subtitle: string;\n\n @Input()\n btnLabel: string;\n\n @Input()\n packageSubtitle: string;\n\n @Input()\n linkPackageLabel: string;\n\n @Input()\n listFeatures: string[];\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n btnTextcolor = '#ffffff';\n\n @Input()\n extraClasses = 'is-success';\n\n @Input()\n extraClassesSelected = 'is-success is-outlined';\n\n @Input()\n hideButton = false;\n\n @Input()\n darkMode = false;\n\n @Input()\n isEvolup = false;\n\n @Output() public confirm: EventEmitter<any> = new EventEmitter();\n\n @Output() public cancel: EventEmitter<any> = new EventEmitter();\n\n constructor() { }\n\n triggerClick() {\n this.confirm.emit(true);\n }\n\n removePackageTrigger() {\n this.cancel.emit(true);\n }\n\n}\n","<div class=\"wac-card-price\" [ngClass]=\"{'selected': selected, 'is-evolup': isEvolup, 'is-dark': darkMode}\">\n <div class=\"promo\" *ngIf=\"promo\">\n <p [innerHTML]=\"promo\"></p>\n </div>\n <strong>{{amount}} <span>{{title}}</span></strong>\n <div class=\"price\">\n <span class=\"amount\">{{price}} <span>{{currency}}</span></span><span class=\"month\" [innerHTML]=\"priceWording\"></span>\n </div>\n <div class=\"subtitle\">{{subtitle}}</div>\n <div class=\"list-features\" *ngIf=\"listFeatures\">\n <div *ngFor=\"let feat of listFeatures;\" class=\"list-features__item\"><span>{{feat}}</span></div>\n </div>\n <div class=\"cta\" *ngIf=\"!selected && !hideButton\">\n <wac-button [noPadding]=\"true\" [label]=\"btnLabel\" [extraClasses]=\"extraClasses\" (click)=\"triggerClick()\" [disabled]=\"disabled\" [whiteSpaceNowrap]=\"true\" [textcolor]=\"btnTextcolor\"></wac-button>\n </div>\n <div class=\"cta\" *ngIf=\"selected && !hideButton\">\n <wac-button [noPadding]=\"true\" [icon]=\"'fa-solid fa-check'\" [label]=\"btnLabelSelected\" [extraClasses]=\"extraClassesSelected\" [whiteSpaceNowrap]=\"true\"></wac-button>\n </div>\n <div class=\"package-subtitle\" *ngIf=\"selected\">{{packageSubtitle}}</div>\n <div class=\"link-bottom\" *ngIf=\"linkPackageLabel\">\n <wac-link (click)=\"removePackageTrigger()\">{{linkPackageLabel}}</wac-link>\n </div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-token-check',\n templateUrl: './token-check.component.html',\n})\nexport class TokenCheckComponent {\n\n @Input()\n label: string;\n\n @Input()\n value: number;\n\n @Input()\n max: number;\n\n warning = false;\n\n constructor() { }\n}\n","<div class=\"wac-token-check\">\n <span [innerHTML]=\"label\"></span> : <span [innerHTML]=\"value\" [ngClass]=\"{'warning': value > max}\"></span>/<strong [innerHTML]=\"max\"></strong>\n</div>\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { uuid } from '../../utils/uuid';\n\n@Component({\n selector: 'wac-block-with-checkbox',\n templateUrl: './block-with-checkbox.component.html',\n})\nexport class BlockWithCheckboxComponent {\n\n @Input()\n selected = false;\n\n @Input()\n disabled = false;\n\n @Output()\n checkboxAction = new EventEmitter<boolean>();\n\n randomLabelName = uuid();\n\n @Input()\n nameRadio = 'wacBlockCheckboxRadio';\n\n @Input()\n isFirst = false;\n\n @Input()\n opacity = '.45';\n\n constructor() { }\n\n eventSelected(event) {\n if (!this.disabled) {\n this.selected = event.target.checked;\n this.checkboxAction.emit(this.selected);\n this.isFirst = false;\n }\n }\n\n removeFirstClass() {\n if (typeof document.querySelectorAll('.firstWacRadioBLock')[0] !== typeof undefined) {\n document.querySelectorAll('.firstWacRadioBLock')[0].classList.remove('firstWacRadioBLock');\n }\n }\n}\n","<div class=\"block-with-checkbox\" (click)=\"disabled && $event.target['className'] !== 'wac-link' && $event.target['localName'] !== 'a' ? $event.preventDefault() : ''\" [ngClass]=\"{'selected': inputRadioA.checked || selected, 'firstWacRadioBLock': isFirst, 'disabled': disabled}\" [style.opacity]=\"opacity\" (mouseover)=\"removeFirstClass()\">\n <div class=\"block-with-checkbox__left\" (click)=\"inputRadioA.click()\">\n <div class=\"wac-radio-block\">\n <div class=\"wac-radio__row\">\n <input #inputRadioA [name]=\"nameRadio\" type=\"radio\" [checked]=\"selected\" [value]=\"selected\" (change)=\"eventSelected($event)\" [id]=\"randomLabelName\">\n <label [for]=\"randomLabelName\"></label>\n </div>\n </div>\n </div>\n <div class=\"block-with-checkbox__center\" (click)=\"$event.target['className'] !== 'wac-link' && $event.target['localName'] !== 'a' ? inputRadioA.click() : '';\">\n <ng-content></ng-content>\n </div>\n</div>\n","import {AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'wac-confirm-delete',\n templateUrl: './confirm-delete.component.html'\n})\nexport class ConfirmDeleteComponent implements AfterViewInit {\n\n @Input()\n open = false;\n\n @Input()\n label: string;\n\n @Input()\n labelCancel: string;\n\n @Input()\n labelConfirm: string;\n\n @Output()\n confirm = new EventEmitter<boolean>();\n\n @Input()\n backgroundColor = '#fff';\n\n @Input()\n borderRadius = '0px';\n\n hideText = false;\n\n @ViewChild('container') container: ElementRef;\n\n constructor() { }\n\n eventCancel(event) {\n this.confirm.emit(false);\n this.open = false;\n }\n\n eventConfirm(event) {\n this.confirm.emit(true);\n this.open = false;\n }\n\n responsiveControl(size) {\n if (size < 342) {\n this.hideText = true;\n } else {\n this.hideText = false;\n }\n }\n\n @HostListener('window:resize')\n onResize(): void {\n this.responsiveControl(this.container.nativeElement.offsetWidth);\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.responsiveControl(this.container.nativeElement.offsetWidth);\n }, 100);\n }\n\n}\n","<div class=\"wac-confirm-delete\" #container [ngClass]=\"{'is-open': open, 'hide-text': hideText}\" [style.backgroundColor]=\"backgroundColor\" [style.borderRadius]=\"borderRadius\">\n <div>\n <span [innerHTML]=\"label\"></span>\n </div>\n <div>\n <div><wac-button [label]=\"labelCancel\" [extraClasses]=\"'is-outlined is-grey'\" (click)=\"eventCancel($event)\"></wac-button></div>\n <div><wac-button [label]=\"labelConfirm\" [extraClasses]=\"'is-danger'\" (click)=\"eventConfirm($event)\"></wac-button></div>\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, TemplateRef, ViewEncapsulation} from '@angular/core';\n\nexport type ImageSource = string;\nexport type ImageAlt = string;\n\nexport type MosaicImage = {\n src: ImageSource,\n alt: ImageAlt\n}\n\nexport type MosaicImages = Readonly<MosaicImage[]>;\n\n@Component({\n selector: 'wac-mosaic',\n templateUrl: './mosaic.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MosaicComponent implements OnChanges {\n\n @Input() imagesList: MosaicImages = [];\n\n @Input() isLoading = false;\n\n @Input() numberOfColumn = 3;\n\n @Input() hoverImageTemplate: TemplateRef<any>;\n\n @Output() importImageSrc = new EventEmitter<ImageSource>();\n\n @Output() loadMoreImages = new EventEmitter<void>();\n\n columns: MosaicImages[];\n\n trackColumn(index: number ) {\n return index;\n }\n\n trackImage(index: number, image: MosaicImage ) {\n return image.src;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const isNumberOfColumnChange = changes.numberOfColumn && (changes.numberOfColumn.currentValue !== changes.numberOfColumn.previousValue);\n if (changes.imagesList) {\n this.generateColumns(changes.imagesList.previousValue, changes.imagesList.currentValue, isNumberOfColumnChange);\n return;\n }\n\n if (isNumberOfColumnChange) {\n this.generateColumns(null, this.imagesList, isNumberOfColumnChange);\n }\n }\n\n generateColumns(previousList: MosaicImages, currentList: MosaicImages, isNumberOfColumnChange: boolean) {\n const isNewListSmaller = (currentList && previousList) && (currentList.length < previousList.length);\n const resetColumns = isNumberOfColumnChange || isNewListSmaller;\n const isPreviousListExisting = previousList?.length;\n const newImagesToDisplay = !isPreviousListExisting || resetColumns ? currentList : currentList.slice(previousList.length);\n let columns = this.separateImagesIntoColumns(newImagesToDisplay);\n\n if (isPreviousListExisting && !resetColumns) {\n const existingColumns = this.columns;\n columns = this.concatColumns(existingColumns, columns);\n }\n\n this.columns = columns;\n }\n\n separateImagesIntoColumns(newImagesToDisplay: MosaicImages): MosaicImages[] { // https://stackoverflow.com/questions/8495687/split-array-into-chunks\n const columns = [];\n const numberOfImagePerColumn = Math.floor(newImagesToDisplay.length / this.numberOfColumn);\n for (let i = 0; i < newImagesToDisplay.length; i += numberOfImagePerColumn) {\n const chunk = newImagesToDisplay.slice(i, i + numberOfImagePerColumn);\n columns.push(chunk);\n }\n return columns;\n }\n\n concatColumns(oldColumns: MosaicImages[], newColumns: MosaicImages[]): MosaicImages[] {\n return oldColumns.map((oldColumn, columnIndex) => [...oldColumn, ...newColumns[columnIndex]]);\n }\n\n onBottomReached() {\n this.loadMoreImages.emit();\n }\n\n onImportImage(src: ImageSource) {\n this.importImageSrc.emit(src);\n }\n}\n","<div class=\"wac-mosaic\" [ngClass]=\"{'is-loading': isLoading}\">\n <ng-scrollbar (reachedBottom)=\"onBottomReached()\" [reachedOffset]=\"200\" class=\"wac-mosaic__wrapper__scrollbar\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns; trackBy : trackColumn;\">\n <div class=\"wac-mosaic__wrapper__column__image\" *ngFor=\"let image of column; let i = index; trackBy : trackImage\">\n <img [src]=\"image.src\" [alt]=\"image.alt\"/>\n <div class=\"hover\">\n <ng-container\n [ngTemplateOutlet]=\"hoverImageTemplate || defaultImportButton\"\n [ngTemplateOutletContext]=\"{ $implicit: image }\"\n >\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div class=\"wac-mosaic__wrapper load\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns; trackBy : trackColumn;\">\n <div class=\"load-img\">\n </div>\n </div>\n </div>\n </ng-scrollbar>\n</div>\n\n<ng-template #defaultImportButton let-image>\n <wac-button [icon]=\"'fa-solid fa-image'\" [label]=\"'wac.MosaicComponent.import' | translate\" [extraClasses]=\"'is-success'\" (click)=\"onImportImage(image.src)\"></wac-button>\n</ng-template>\n","import {AfterContentInit, AfterViewInit, Component, ContentChild, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'wac-content-with-buttons',\n templateUrl: './content-with-buttons.component.html',\n})\nexport class ContentWithButtonsComponent implements OnInit, AfterViewInit {\n\n @Input()\n iconCopy = 'fa-duotone fa-copy';\n\n @Input()\n iconTranslate = 'fa-regular fa-globe';\n\n @Input()\n tooltipCopy = '';\n\n @Input()\n tooltipTranslate = '';\n\n @Input()\n tooltipLinkReport = '';\n\n @Input()\n count = true;\n\n @Input()\n countCharacterLabel = 'caractères';\n\n @Input()\n countWordsLabel = 'mots';\n\n @Input()\n reportLabel: string;\n\n @Output()\n copyAction = new EventEmitter<boolean>();\n\n @Output()\n reportAction = new EventEmitter<boolean>();\n\n @Output()\n translateAction = new EventEmitter<boolean>();\n\n countWords: number;\n\n countIsReady = false;\n\n countCharacter: number;\n\n randomLabelName: string;\n\n\n ngOnInit() {\n this.randomLabelName = 'content-' + Math.random() * (900 - 700) + 700;\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n const content = document.getElementById(this.randomLabelName).innerHTML.replace(/(<([^>]+)>)/gi, '').replace(/[.,\\/#!$%\\^&\\*;:{}=\\-_`~()]/g, '');\n this.countCharacter = content.trim().split(' ').join('').length;\n this.countWords = content.trim().split(' ').length;\n this.countIsReady = true;\n });\n }\n\n eventCopy() {\n this.copyAction.emit(true);\n }\n\n eventTranslate() {\n this.translateAction.emit(true);\n }\n\n eventReport() {\n this.reportAction.emit(true);\n }\n}\n","<div class=\"wac-content-with-buttons\">\n <div class=\"wac-content-with-buttons__text\">\n <div id=\"{{randomLabelName}}\">\n <ng-content></ng-content>\n </div>\n <div class=\"wac-content-with-buttons__text__count\" *ngIf=\"count && countIsReady\">\n <span>{{ countWords }} {{ countWordsLabel }} - {{ countCharacter }} {{ countCharacterLabel }}</span>\n <span><wac-link [tooltipWidth]=\"600\" [tooltip]=\"tooltipLinkReport\" (click)=\"$event.preventDefault();\" (mousedown)=\"$event.preventDefault();eventReport();\" fontSize=\"12px\">{{ reportLabel }}</wac-link></span>\n </div>\n </div>\n <div class=\"wac-content-with-buttons__cta\">\n <div><wac-button extraClasses=\"is-blue opacity static-width\" [iconFontSize]=\"18\" [icon]=\"iconCopy\" (click)=\"eventCopy()\" [tooltip]=\"tooltipCopy\" [tooltipPosition]=\"'top-center'\" [tooltipOneline]=\"true\"></wac-button></div>\n <div><wac-button extraClasses=\"is-green opacity static-width\" [iconFontSize]=\"18\" [icon]=\"iconTranslate\" [tooltip]=\"tooltipTranslate\" [tooltipPosition]=\"'top-center'\" [tooltipOneline]=\"true\" (click)=\"eventTranslate()\"></wac-button></div>\n </div>\n</div>\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'wac-wrapper-multiple-block',\n templateUrl: './wrapper-multiple-block.component.html',\n})\nexport class WrapperMultipleBlockComponent {\n\n constructor() { }\n}\n","<div class=\"wac-wrapper-multiple-block\">\n <div class=\"wac-wrapper-multiple-block__sidebar\">\n <ng-content select=\"[sidebar]\"></ng-content>\n </div>\n <div class=\"wac-wrapper-multiple-block__content\">\n <ng-content select=\"[content]\"></ng-content>\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';\n\n@Component({\n selector: 'wac-draganddrop-list',\n templateUrl: './draganddrop-list.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DraganddropListComponent {\n\n @Input()\n label = '';\n\n @Input()\n items: Array<string>;\n\n @Input()\n disabled = false;\n\n @Input()\n max: number;\n\n @Input()\n labelBtnAdd: string;\n\n @Input()\n backgroundColor = '#fff';\n\n showTriggerSave = false;\n\n @Output()\n itemsChange = new EventEmitter<Array<string>>();\n\n drop(event: CdkDragDrop<string[]>) {\n if (!this.disabled) {\n moveItemInArray(this.items, event.previousIndex, event.currentIndex);\n this.itemsChange.emit(Object.values(this.items));\n }\n }\n\n delete(index) {\n if (!this.disabled) {\n this.items = this.items.filter((value, i) => i !== index );\n this.itemsChange.emit(Object.values(this.items));\n }\n }\n\n saveFieldEnd(index, event) {\n this.items[index] = event.target.value;\n this.itemsChange.emit(Object.values(this.items));\n }\n\n addField() {\n this.showTriggerSave = true;\n }\n\n saveNewField(event) {\n this.items.push(event.target.value);\n this.itemsChange.emit(Object.values(this.items));\n this.showTriggerSave = false;\n }\n\n}\n","<div class=\"wac-draganddrop-list\" *ngIf=\"!disabled\" [style.backgroundColor]=\"backgroundColor\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\" [cdkDropListLockAxis]=\"'y'\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"wac-draganddrop-list__wrapper__item\" [style.backgroundColor]=\"backgroundColor\" *ngFor=\"let item of items;let i = index;\" cdkDrag>\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span (mousedown)=\"$event.stopPropagation()\" class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [value]=\"item\" [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveFieldEnd(i, $event)\" (focusout)=\"saveFieldEnd(i, $event)\"></wac-input>\n </span>\n </div>\n <div (mousedown)=\"$event.stopPropagation()\">\n <div>\n <wac-button [iconFontSize]=\"14\" [opacity]=\"true\" [icon]=\"'fa-regular fa-trash-can'\" [extraClasses]=\"'is-danger'\" (click)=\"delete(i)\"></wac-button>\n </div>\n <div *ngIf=\"i === (items.length - 1) && max > items.length && !showTriggerSave\">\n <wac-button [extraClasses]=\"'is-info'\" [iconFontSize]=\"18\" [opacity]=\"true\" [icon]=\"'fa-regular fa-plus'\" (click)=\"addField()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-draganddrop-list__wrapper__item wac-draganddrop-list__wrapper__item--trigger\" *ngIf=\"showTriggerSave\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveNewField($event)\" (focusout)=\"saveNewField($event)\"></wac-input>\n </span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"wac-draganddrop-list wac-draganddrop-list--disabled\" *ngIf=\"disabled\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\">\n <div class=\"wac-draganddrop-list__wrapper__item\" *ngFor=\"let item of items;let i = index;\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__label\" [innerHTML]=\"item\"></span>\n </div>\n </div>\n </div>\n</div>\n","import { InjectionToken } from \"@angular/core\";\nimport { AccordionItem } from \"./accordion-item.interface\";\n\nexport const ACCORDION_ITEM = new InjectionToken<AccordionItem>('ACCORDION_ITEM');","import { AfterViewInit, Component, ContentChildren, HostBinding, Input, OnDestroy, QueryList } from '@angular/core';\nimport { takeUntil, startWith, Subject, map, merge, Observable } from 'rxjs';\nimport { AccordionItem } from './accordion-item.interface';\nimport { ACCORDION_ITEM } from './accordion-item.token';\n\n@Component({\n selector: 'wac-accordion',\n templateUrl: './accordion.component.html'\n})\nexport class AccordionComponent implements AfterViewInit, OnDestroy {\n\n @HostBinding('class') class = 'wac-accordion';\n\n @ContentChildren(ACCORDION_ITEM, { descendants: true }) expansionItems!: QueryList<AccordionItem>;\n\n @Input() keepOnlyOnePanelOpen: boolean = false;\n\n // Inputs: hideToggle (hide the arrow) // togglePosition\n\n private isDestroyed$ = new Subject<void>();\n private resetListeners$: Subject<void> = new Subject();\n\n constructor() { }\n\n public openAll(): void {\n this.expansionItems?.forEach((item: AccordionItem) => {\n item.isExpanded = true;\n });\n }\n\n public closeAll(): void {\n this.expansionItems?.forEach((item: AccordionItem) => {\n item.isExpanded = false;\n });\n }\n\n ngAfterViewInit(): void {\n this.expansionItems.changes\n .pipe(\n takeUntil(this.isDestroyed$),\n startWith(this.expansionItems)\n )\n .subscribe(() => {\n this.resetListeners$.next();\n this.panelExpansionChanges().subscribe(expandedItem => {\n if (this.keepOnlyOnePanelOpen) {\n this.keepOnlyOnePanelOpenHandler(expandedItem.index);\n }\n });\n });\n }\n\n private panelExpansionChanges(): Observable<{index:number, expansionItem: AccordionItem}> {\n const panelExpansionChange$ = this.expansionItems.map((expansionItem, index) => {\n return expansionItem.expandChange.pipe(\n map(() => {\n return {\n index,\n expansionItem\n }\n })\n );\n });\n return merge(...panelExpansionChange$).pipe(takeUntil(this.resetListeners$));\n }\n\n private keepOnlyOnePanelOpenHandler(index: number): void {\n this.expansionItems.forEach((expansionItem, i) => {\n if (i !== index) {\n expansionItem.isExpanded = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.isDestroyed$.next();\n this.isDestroyed$.complete();\n this.resetListeners$.next();\n this.resetListeners$.complete();\n }\n}\n","<ng-content></ng-content>","import { InjectionToken } from \"@angular/core\";\nimport { ExpansionPanelHeader } from \"./expansion-panel-header.interface\";\n\nexport const EXPANSION_PANEL_HEADER = new InjectionToken<ExpansionPanelHeader>('EXPANSION_PANEL_HEADER');","import { ChangeDetectorRef, Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { EXPANSION_PANEL_HEADER } from './expansion-panel-header.token';\n\n@Directive({\n selector: '[wacExpansionPanelHeader]',\n providers: [{ provide: EXPANSION_PANEL_HEADER, useExisting: ExpansionPanelHeaderDirective }],\n})\nexport class ExpansionPanelHeaderDirective {\n\n\n @HostListener('click') onClick() {\n this.toggle();\n }\n\n @Input() disabled: boolean = false;\n @Output() disabledChange = new EventEmitter<boolean>();\n\n @Input() hideToggle: boolean = false;\n @Output() hideToggleChange = new EventEmitter<boolean>();\n\n @Input() isExpanded: boolean = false;\n @Output() isExpandedChange = new EventEmitter<boolean>();\n\n constructor(protected changeDetectorRef:ChangeDetectorRef) {\n }\n\n onToggle() {\n if (this.disabled) {\n return;\n }\n this.isExpanded = !this.isExpanded;\n this.toggle();\n }\n\n // Will be used by the parent component\n close: () => {};\n open: () => {};\n toggle: () => {};\n}","import { ChangeDetectorRef, Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { ExpansionPanelHeaderDirective } from './expansion-panel-header.directive';\nimport { EXPANSION_PANEL_HEADER } from './expansion-panel-header.token';\n\n@Component({\n selector: 'wac-expansion-panel-header',\n templateUrl: './expansion-panel-header.component.html',\n encapsulation: ViewEncapsulation.None,\n //changeDetection: ChangeDetectionStrategy.OnPush, // todo handle\n providers: [{ provide: EXPANSION_PANEL_HEADER, useExisting: ExpansionPanelHeaderComponent }]\n})\nexport class ExpansionPanelHeaderComponent extends ExpansionPanelHeaderDirective {\n\n @HostBinding('class') class = 'wac-expansion-panel-header';\n\n @HostBinding('class.wac-expansion-panel-header--disabled') get isDisabled() {\n return this.disabled;\n }\n\n constructor(protected changeDetectorRef:ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n\n}\n","<ng-content></ng-content>\n<i class=\"wac-expansion-panel-header__icon\" [class]=\"isExpanded ? 'fas fa-angle-down' : 'fas fa-angle-up'\"></i>","import { AfterViewInit, ChangeDetectorRef, ContentChild, Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { AccordionItem } from '../accordion/accordion-item.interface';\nimport { ACCORDION_ITEM } from '../accordion/accordion-item.token';\nimport { ExpansionPanelHeader } from '../expansion-panel-header/expansion-panel-header.interface';\nimport { EXPANSION_PANEL_HEADER } from '../expansion-panel-header/expansion-panel-header.token';\n\n@Directive({\n selector: '[wacExpansionPanel]',\n providers: [{ provide: ACCORDION_ITEM, useExisting: ExpansionPanelDirective }]\n})\nexport class ExpansionPanelDirective implements AccordionItem, AfterViewInit {\n\n\n @ContentChild(EXPANSION_PANEL_HEADER) header: ExpansionPanelHeader;\n\n @Input() set disabled(disabled: boolean) {\n this._disabled = disabled;\n if (this.header) {\n this.header.disabled = disabled;\n }\n }\n get disabled(): boolean {\n return this._disabled;\n }\n _disabled = false;\n\n @Input() set hideToggle(hideToggle: boolean) {\n this._hideToggle = hideToggle;\n if (this.header) {\n this.header.hideToggle = hideToggle;\n }\n }\n get hideToggle() : boolean {\n return this._hideToggle;\n }\n _hideToggle: boolean = false;\n\n @Input() set isExpanded(isExpanded: boolean) {\n if (this.disabled) {\n return;\n }\n this._isExpanded = isExpanded;\n if (this.header) {\n this.header.isExpanded = isExpanded;\n }\n this.isExpandedChange.emit(isExpanded);\n }\n get isExpanded(): boolean {\n return this._isExpanded;\n }\n _isExpanded = false;\n\n @Output() isExpandedChange = new EventEmitter<boolean>();\n\n expandChange = new EventEmitter<void>(); // used by the accordion component if exists\n\n constructor(protected changeDetectorRef:ChangeDetectorRef) {\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.header.isExpanded = this.isExpanded;\n this.header.hideToggle = this.hideToggle;\n this.header.disabled = this.disabled;\n\n this.header.close = () => this.close();\n this.header.open = () => this.open();\n this.header.toggle = () => this.toggle();\n }, 0);\n }\n\n close(): void {\n this.isExpanded = false;\n this.expandChange.emit();\n }\n open(): void {\n this.isExpanded = true;\n this.expandChange.emit();\n }\n toggle(): void {\n this.isExpanded = !this.isExpanded;\n this.expandChange.emit();\n }\n}","import { ChangeDetectorRef, Component, HostBinding } from '@angular/core';\nimport { ACCORDION_ITEM } from '../accordion/accordion-item.token';\nimport { ExpansionPanelDirective } from './expansion-panel.directive';\n\n// https://material.angular.io/components/expansion/api\n\n@Component({\n selector: 'wac-expansion-panel',\n templateUrl: './expansion-panel.component.html',\n providers: [{ provide: ACCORDION_ITEM, useExisting: ExpansionPanelComponent }]\n})\nexport class ExpansionPanelComponent extends ExpansionPanelDirective {\n\n @HostBinding('class') class = 'wac-expansion-panel';\n\n @HostBinding('class.wac-expansion-panel--disabled') get isDisabled() {\n return this.disabled;\n }\n\n constructor(protected changeDetectorRef:ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n","<ng-content select=\"wac-expansion-panel-header, wacExpansionPanelHeader\"></ng-content>\n<div *ngIf=\"isExpanded\">\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AccordionComponent } from './accordion/accordion.component';\nimport { ExpansionPanelHeaderComponent } from './expansion-panel-header/expansion-panel-header.component';\nimport { ExpansionPanelHeaderDirective } from './expansion-panel-header/expansion-panel-header.directive';\nimport { ExpansionPanelComponent } from './expansion-panel/expansion-panel.component';\nimport { ExpansionPanelDirective } from './expansion-panel/expansion-panel.directive';\n\nconst components = [\n ExpansionPanelComponent,\n ExpansionPanelHeaderComponent,\n AccordionComponent\n];\n\nconst directives = [\n ExpansionPanelDirective,\n ExpansionPanelHeaderDirective\n];\n\nexport const ExpansionExport = [\n ...components,\n ...directives\n]\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n ...ExpansionExport\n ],\n declarations: [\n ...ExpansionExport\n ],\n providers: [],\n})\nexport class ExpansionModule { }\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'wac-block-title-legacy',\n templateUrl: 'block-title-legacy.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule],\n})\nexport class BlockTitleLegacyComponent {\n\n @Input()\n simple = false;\n\n @Input()\n icon = '';\n\n constructor() { }\n}","<h2 class=\"wac-block__title\" [ngClass]=\"{ 'is-simple': simple }\">\n <ng-content></ng-content> <i *ngIf=\"icon\" [ngClass]=\"icon\"></i>\n</h2>","import { Component, Input, Output, ViewEncapsulation, EventEmitter } from '@angular/core';\n\nexport interface SummaryItems {\n label: string;\n href?: string;\n};\n\n@Component({\n selector: 'wac-summary',\n templateUrl: './summary.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class SummaryComponent {\n\n _activeItem = 0;\n\n @Input() set activeItem(activeItem: number) {\n this._activeItem = activeItem;\n }\n\n get activeItem(): number {\n return this._activeItem;\n }\n\n @Input() items: Array<SummaryItems>;\n\n @Output() itemChanged = new EventEmitter<number>();\n\n constructor() {}\n\n scrollToItem(i: number) {\n this._activeItem = i;\n this.itemChanged.emit(i);\n if (this.items[i].href) {\n const yOffset = -20;\n const element = window.document.getElementById(this.items[i].href);\n if (element) {\n const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;\n window.scrollTo({ top: y, behavior: 'smooth' });\n }\n }\n }\n\n}\n","<div class=\"wac-summary\">\n <ng-container *ngFor=\"let item of items; let i = index\">\n <p [ngClass]=\"{'active' : activeItem === i, 'item-link': item.href}\" (click)=\"scrollToItem(i)\">{{ item.label }}</p>\n </ng-container>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-google-preview',\n templateUrl: './google-preview.component.html'\n})\nexport class GooglePreviewComponent implements OnInit {\n\n @Input()\n title: string;\n\n @Input()\n url: string;\n\n @Input()\n description: string;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"wac-google-preview\">\n <div class=\"wac-google-preview__url\" [innerHTML]=\"url\"></div>\n <div class=\"wac-google-preview__title\" [innerHTML]=\"title\"></div>\n <div class=\"wac-google-preview__description\" [innerHTML]=\"description\"></div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-charging-bar',\n templateUrl: './charging-bar.component.html'\n})\nexport class ChargingBarComponent implements OnInit {\n\n @Input()\n value = 0;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"wac-charging-bar\">\n <div class=\"wac-charging-bar__wrapLine\">\n <div class=\"wac-charging-bar__wrapLine__line\">\n <div class=\"wac-charging-bar__wrapLine__line__width\" [ngClass]=\"{'complete': value === 100}\" [ngStyle]=\"{'max-width': value + '%'}\"></div>\n </div>\n </div>\n <div class=\"wac-charging-bar__number\" [innerHTML]=\"value + '%'\"></div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'wac-expanded-panel',\n templateUrl: './expanded-panel.component.html',\n})\nexport class ExpandedPanelComponent implements OnInit {\n\n @Input()\n label: string;\n\n @Input()\n section = false;\n\n @Input()\n open = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"wac-expanded-panel\">\n <div class=\"wac-expanded-panel__top\" (click)=\"open = !open\">\n <div class=\"wac-expanded-panel__top__label\" [ngClass]=\"{'big': section}\" [innerHTML]=\"label\"></div>\n <div class=\"wac-expanded-panel__top__icon\" [ngClass]=\"{'is-open': open, 'big': section}\">\n <i class=\"fa-regular fa-angle-down\"></i>\n </div>\n </div>\n <div class=\"wac-expanded-panel__bottom\" [ngClass]=\"{'is-open': open}\">\n <ng-content></ng-content>\n </div>\n</div>\n","import {\n AfterContentInit,\n Component, ElementRef,\n HostListener,\n Input,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'wac-row',\n templateUrl: './row.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class RowComponent implements OnInit, AfterContentInit {\n @Input()\n position: 'top-left'|'top-middle'|'top-right'|'middle-left'|'middle-middle'|'middle-right'|'bottom-left'|'bottom-middle'|'bottom-right'|'stretch-left'|'stretch-middle'|'stretch-right';\n id = '';\n childs = 0;\n classWidth = '';\n responsiveClass = '';\n @Input()\n width: string;\n @Input()\n height: string;\n @Input()\n responsiveAuto = false;\n @Input()\n childrensWidthAuto = false;\n @Input()\n visibility: 'mobile-only'|'tablet-only'|'desktop-only'|'under-desktop'|'above-mobile';\n @Input()\n marginChild = '';\n @Input()\n marginBottom = '';\n @Input()\n marginBottomChild = '';\n @Input()\n addWacBlock = false;\n @Input()\n lineDisplayContent = false;\n @Input()\n border = false;\n @Input()\n multipleLine = false;\n @Input()\n childrenByLine = 0;\n @Input()\n padding = '';\n @Input()\n lastChildIsDown = false;\n @Input()\n addClass = '';\n halfMarginChild = '';\n @ViewChild(`container`) container: ElementRef;\n nbChildsClass = '';\n\n ngOnInit() {\n this.id = 'row-' + Math.floor(Math.random() * 100000);\n if (this.marginChild) {\n this.halfMarginChild = parseInt(this.marginChild) / 2 + 'px';\n }\n }\n\n responsiveControl(size) {\n if (size > 1024) {\n this.classWidth = '';\n } else if (size <= 480) {\n this.classWidth = 'low';\n } else {\n this.classWidth = 'medium';\n }\n }\n\n handleResponsiveAuto(size) {\n if (size < 500) {\n this.responsiveClass = 'mobile';\n } else {\n this.responsiveClass = '';\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onResize() {\n const size = this.container.nativeElement.offsetWidth;\n this.responsiveControl(size);\n if (this.responsiveAuto) {\n this.handleResponsiveAuto(size);\n }\n }\n\n actionsDom() {\n this.childs = this.container.nativeElement.childElementCount;\n if (this.width) {\n document.getElementById(this.id).parentElement.style.maxWidth = this.width;\n }\n if (this.height) {\n document.getElementById(this.id).parentElement.style.maxHeight = this.height;\n }\n if ((this.childs > 1 && this.marginChild) || this.multipleLine) {\n for (let i = 0; i < this.childs; i++) {\n const child: any = document.getElementById(this.id).children[i];\n child.style.marginLeft = this.halfMarginChild;\n child.style.marginRight = this.halfMarginChild;\n if (this.multipleLine) {\n child.style.width = 'calc(' + (100 / this.childrenByLine) + '% - ' + this.marginChild + ')';\n }\n }\n }\n if (this.childs > 1 && this.marginBottomChild) {\n for (let i = 0; i < this.childs; i++) {\n const child: any = document.getElementById(this.id).children[i];\n child.style.marginBottom = this.marginBottomChild;\n }\n }\n this.nbChildsClass = 'nb-child-' + this.childs;\n this.onResize();\n }\n\n ngAfterContentInit() {\n setTimeout(() => {\n this.actionsDom();\n }, 1);\n }\n\n handleDomChange(event) {\n this.actionsDom();\n }\n}\n","<div watchDomTree (dom-changed)=\"handleDomChange($event)\" [ngStyle]=\"{'padding': padding,'margin-bottom': marginBottom,'transform': (childs > 1 || multipleLine ? 'translateX(-' + halfMarginChild + ')' : 'wrong'), 'width': ((childs > 1 && !addWacBlock) || multipleLine ? 'calc(100% + ' + marginChild + ')' : 'wrong')}\" class=\"wac-row {{ addWacBlock ? 'white-block' : '' }} {{ multipleLine ? 'multiple-line' : '' }} {{ lineDisplayContent ? 'direction-column' : '' }} {{ border ? 'with-border' : '' }} {{ lastChildIsDown ? 'last-child-down' : '' }} {{ childrensWidthAuto ? 'childrens-width-auto' : '' }} {{ position ? position : '' }} {{ visibility ? visibility : '' }} {{ responsiveClass ? responsiveClass : '' }} {{addClass}} {{nbChildsClass}} {{classWidth}}\" #container [ngClass]=\"{\n 'multiple-child': childs > 3,\n 'five-or-more-child': childs > 4,\n 'alone': childs === 1\n}\" [id]=\"id\">\n <ng-content></ng-content>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'wac-column',\n templateUrl: './column.component.html',\n})\nexport class ColumnComponent {\n\n}\n","<p>column works!</p>\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'wac-ai-express',\n templateUrl: './ai-express.component.html',\n})\nexport class AiExpressComponent implements OnInit {\n\n @Input() top = '28px';\n @Input() right = '1px';\n @Input() loading = false;\n @Input() disabled = false;\n @Input() wordingTop: string;\n @Input() wordingToken: string;\n @Input() wordingTokenLeft: string;\n @Input() wordingRegisterTop: string;\n @Input() wordingRegisterBtn: string;\n @Input() wordingDisabled: string;\n @Input() tokenCost = 0;\n @Input() tokenLeft = 0;\n @Input() tokenCount = 0;\n @Input() isRegister = false;\n @Output() validAction = new EventEmitter<boolean>();\n\n isOpen = false;\n hrefRegister = '/v3/ai/select-plan';\n\n constructor() {}\n ngOnInit(): void {}\n\n showPopup() {\n if (!this.isOpen && (!this.disabled || (this.disabled && this.wordingDisabled))) {\n this.isOpen = true;\n }\n }\n\n validate() {\n if (!this.disabled) {\n if (!this.isRegister) {\n if (!this.isOpen) {\n this.isOpen = true;\n } else {\n this.isOpen = false;\n }\n } else {\n if (!this.loading) {\n this.validAction.emit(true);\n }\n }\n }\n }\n\n hidePopup() {\n if (this.isOpen && (!this.disabled || (this.disabled && this.wordingDisabled))) {\n this.isOpen = false;\n }\n }\n\n}\n","<div class=\"wac-ai-express\">\n <ng-content></ng-content>\n <div [style.top]=\"top\" [style.right]=\"right\" class=\"wac-ai-express__icon\" [ngClass]=\"{'disabled': disabled, 'loading': loading}\" (click)=\"validate();\">\n <i class=\"fa-regular fa-wand-magic-sparkles\" *ngIf=\"!loading\"></i>\n <svg *ngIf=\"loading\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"margin:auto;background:transparent;display:block;\" width=\"200px\" height=\"200px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <g transform=\"rotate(0 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.9166666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(30 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.8333333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(60 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.75s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(90 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.6666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(120 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5833333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(150 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(180 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.4166666666666667s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(210 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.3333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(240 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.25s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(270 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.16666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(300 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.08333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g><g transform=\"rotate(330 50 50)\">\n <rect x=\"47\" y=\"24\" rx=\"3\" ry=\"6\" width=\"6\" height=\"12\" fill=\"#59d0cf\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"0s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n </svg>\n </div>\n <div *ngIf=\"isRegister && !disabled\" class=\"wac-ai-express__wrapper\" [ngClass]=\"{'height-auto': (!tokenCost || tokenCost === 0)}\">\n <div>\n <span [innerHTML]=\"wordingTop\"></span>\n </div>\n <div [ngClass]=\"{'hide': (!tokenCost || tokenCost === 0)}\">\n <div>\n <div>\n <i class=\"fa-solid fa-coin-front\"></i>\n <span [innerHTML]=\"tokenCost\"></span>\n </div>\n <span [innerHTML]=\"wordingToken\"></span>\n </div>\n <div>\n <div>\n <strong [innerHTML]=\"tokenLeft\"></strong> / <span [innerHTML]=\"tokenCount\"></span>\n </div>\n <div>\n <span [innerHTML]=\"wordingTokenLeft\"></span>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"!isRegister && !disabled\" class=\"wac-ai-express__register\">\n <p [innerHTML]=\"wordingRegisterTop\"></p>\n <a [target]=\"'_blank'\" [href]=\"hrefRegister\"><i class=\"fa-regular fa-wand-magic-sparkles\"></i> <span [innerHTML]=\"wordingRegisterBtn\"></span></a>\n </div>\n <div *ngIf=\"disabled && wordingDisabled\" class=\"wac-ai-express__disabled\">\n <p [innerHTML]=\"wordingDisabled\"></p>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NwbAllModule } from '@wizishop/ng-wizi-bulma';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { LoaderComponent } from './loader/loader.component';\nimport { InputSearchComponent } from './inputs/input-search/input-search.component';\nimport { SharedDirectives } from '../directives/shared-directives.module';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { TagInputModule } from 'ngx-chips';\nimport { TableComponent } from './table/table.component';\nimport { TagComponent } from './tag/tag.component';\nimport { TabsComponent } from './tabs/tabs.component';\nimport { TabComponent } from './tabs/tab/tab.component';\nimport { ButtonComponent } from './button/button.component';\nimport { InfoComponent } from './info/info.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { DeleteComponent } from './delete/delete.component';\nimport { DropdownComponent } from './dropdown/dropdown.component';\nimport { ImageComponent } from './image/image.component';\nimport { BackComponent } from './back/back.component';\nimport { SeparatorComponent } from './separator/separator.component';\nimport { LogoComponent } from './logo/logo.component';\nimport { RadioComponent } from './radio/radio.component';\nimport { StateComponent } from './state/state.component';\nimport { TagLabelComponent } from './tag-label/tag-label.component';\nimport { CalendarComponent } from './calendar/calendar.component';\nimport { WzEditInPlaceComponent } from './edit-in-place/edit-in-place.component';\nimport { TextAreaComponent } from './text-area/text-area.component';\nimport { H1Component } from './hn/h1/h1.component';\nimport { H2Component } from './hn/h2/h2.component';\nimport { H3Component } from './hn/h3/h3.component';\nimport { HeaderPageComponent } from './header-page/header-page.component';\nimport { InputComponent } from './inputs/input/input.component';\nimport { LinkComponent } from './link/link.component';\nimport { ProgressBarComponent } from './progress-bar/progress-bar.component';\nimport { SwitchComponent } from './switch/switch.component';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { AlertComponent } from './alert/alert.component';\nimport { TextComponent } from './text/text.component';\nimport { PaginationModule } from './pagination/pagination.module';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TableModule } from './table/table.module';\nimport { CheckBoxRow } from './table/directives/checkBoxRow.directive';\nimport { TableColumn } from './table/directives/column.directive';\nimport { TableColumnHeader } from './table/directives/columnHeader.directive';\nimport { TableRow } from './table/directives/raw.directive';\nimport { TooltipModule } from './tooltip/tooltip.module';\nimport { CheckboxModule } from './checkbox/checkbox.module';\nimport { UploadComponent } from './upload/upload.component';\nimport { H4Component } from './hn/h4/h4.component';\nimport { SelectInTextComponent } from './select-in-text/select-in-text.component';\nimport { MultipleSearchComponent } from './multiple-search/multiple-search.component';\nimport { MultipleSearchPlusComponent } from './multiple-search-plus/multiple-search-plus.component';\nimport { InputWithSelectComponent } from './inputs/input-with-select/input-with-select.component';\nimport { PopinComponent } from './popin/popin.component';\nimport { FreePopinComponent } from './free-popin/free-popin.component';\nimport { BlockComponent } from './block/block.component';\nimport { WrapperComponent } from './wrapper/wrapper.component';\nimport { FiltersComponent } from './filters/filters.component';\nimport { WrapperBlocsComponent } from './wrapper-blocs/wrapper-blocs.component';\nimport { SnackbarComponent } from './snackbar/snackbar.component';\nimport { RouterModule } from '@angular/router';\nimport {AlertPopupModule} from './alert-popup/alert-popup-module';\nimport {SearchComponent} from './search/search.component';\nimport {SelectedListComponent} from './selected-list/selected-list.component';\nimport { TreeComponent } from './tree/tree.component';\nimport { TreeModule } from './tree/tree.module';\nimport { SharedPipes } from '../pipes/shared-pipes.module';\nimport { OptionalDisableContainerComponent } from './optional-disable-container/optional-disable-container.component';\nimport { OptionComponent } from './select/option/option.component';\nimport { SelectComponent } from './select/select/select.component';\nimport { OptionCallToActionComponent } from './select/option-call-to-action/option-call-to-action.component';\nimport { PlaceholderComponent } from './common/placeholder/placeholder.component';\nimport { SelectSearchTriggerComponent } from './select/select-search-trigger/select-search-trigger.component';\nimport { LabelComponent } from './common/label/label.component';\nimport {WrapperSidebarComponent} from './wrapper-sidebar/wrapper-sidebar.component';\nimport {AutosizeModule} from 'ngx-autosize';\nimport {BreadcrumbsComponent} from './breadcrumbs/breadcrumbs.component';\nimport {CardPriceComponent} from './card-price/card-price.component';\nimport {TokenCheckComponent} from './token-check/token-check.component';\nimport {BlockWithCheckboxComponent} from './block-with-checkbox/block-with-checkbox.component';\nimport {ConfirmDeleteComponent} from './confirm-delete/confirm-delete.component';\nimport {MosaicComponent} from './mosaic/mosaic.component';\nimport {NgScrollbarModule} from 'ngx-scrollbar';\nimport {NgScrollbarReachedModule} from 'ngx-scrollbar/reached-event';\nimport {ContentWithButtonsComponent} from './content-with-buttons/content-with-buttons.component';\nimport {WrapperMultipleBlockComponent} from './wrapper-multiple-block/wrapper-multiple-block.component';\nimport {DraganddropListComponent} from './draganddrop-list/draganddrop-list.component';\nimport {DragDropModule} from '@angular/cdk/drag-drop';\nimport { ExpansionModule, ExpansionExport } from './expansion/expansion.module';\nimport { BlockSeparatorComponent } from './block/separator/block-separator.component';\nimport { BlockTitleLegacyComponent } from './block/block-title-legacy/block-title-legacy.component';\nimport { SummaryComponent } from './summary/summary.component';\nimport {GooglePreviewComponent} from './google-preview/google-preview.component';\nimport {ChargingBarComponent} from './charging-bar/charging-bar.component';\nimport {ExpandedPanelComponent} from './expanded-panel/expanded-panel.component';\nimport {RowComponent} from './row/row.component';\nimport {ColumnComponent} from './column/column.component';\nimport {AiExpressComponent} from './ai-express/ai-express.component';\nconst components = [\n TagComponent,\n ButtonComponent,\n InfoComponent,\n SettingsComponent,\n DeleteComponent,\n DropdownComponent,\n ImageComponent,\n BackComponent,\n SeparatorComponent,\n LogoComponent,\n RadioComponent,\n StateComponent,\n TagLabelComponent,\n CalendarComponent,\n WzEditInPlaceComponent,\n AlertComponent,\n HeaderPageComponent,\n SwitchComponent,\n LinkComponent,\n H1Component,\n H2Component,\n H3Component,\n H4Component,\n TextComponent,\n UploadComponent,\n SelectInTextComponent,\n MultipleSearchComponent,\n MultipleSearchPlusComponent,\n PopinComponent,\n FreePopinComponent,\n WrapperComponent,\n FiltersComponent,\n WrapperBlocsComponent,\n SearchComponent,\n SelectedListComponent,\n OptionalDisableContainerComponent,\n SelectComponent,\n OptionComponent,\n OptionCallToActionComponent,\n PlaceholderComponent,\n LabelComponent,\n SelectSearchTriggerComponent,\n WrapperSidebarComponent,\n BreadcrumbsComponent,\n CardPriceComponent,\n TokenCheckComponent,\n BlockWithCheckboxComponent,\n ConfirmDeleteComponent,\n MosaicComponent,\n ContentWithButtonsComponent,\n WrapperMultipleBlockComponent,\n DraganddropListComponent,\n SummaryComponent,\n GooglePreviewComponent,\n DraganddropListComponent,\n ChargingBarComponent,\n ExpandedPanelComponent,\n RowComponent,\n ColumnComponent,\n AiExpressComponent\n];\n\nconst exportsFromModule = [\n PaginationComponent,\n TableComponent,\n TableColumn,\n CheckBoxRow,\n TableColumnHeader,\n TableRow,\n TooltipComponent,\n CheckboxComponent,\n LoaderComponent,\n TreeComponent,\n ...ExpansionExport\n];\n\nconst standaloneComponents = [\n TabsComponent,\n TabComponent,\n SnackbarComponent,\n BlockComponent,\n LoaderComponent,\n TextAreaComponent,\n ProgressBarComponent,\n InputComponent,\n InputSearchComponent,\n InputWithSelectComponent,\n BlockTitleLegacyComponent,\n BlockSeparatorComponent,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n NwbAllModule,\n TranslateModule,\n ReactiveFormsModule,\n SharedDirectives,\n SharedPipes,\n CdkTableModule,\n TagInputModule,\n DragDropModule,\n PaginationModule,\n TableModule,\n TooltipModule,\n CheckboxModule,\n PerfectScrollbarModule,\n AlertPopupModule,\n RouterModule,\n AutosizeModule,\n NgScrollbarModule,\n NgScrollbarReachedModule,\n TreeModule,\n ExpansionModule,\n ...standaloneComponents\n ],\n declarations: components,\n exports: [...components, ...exportsFromModule, ...standaloneComponents]\n})\nexport class SharedComponentsModule {}\n","import { NwbAllModule } from '@wizishop/ng-wizi-bulma';\nimport { NgModule } from '@angular/core';\nimport { SharedComponentsModule } from './components/shared-components.module';\nimport { CommonModule } from '@angular/common';\nimport { SharedDirectives } from './directives/shared-directives.module';\nimport { SharedPipes } from './pipes/shared-pipes.module';\n\n@NgModule({\n imports: [\n CommonModule,\n SharedComponentsModule,\n SharedDirectives,\n SharedPipes,\n NwbAllModule],\n exports: [SharedComponentsModule, SharedDirectives, SharedPipes]\n})\nexport class WiziComponentsModule {}\n","import { NwbFilterGroup } from \"@wizishop/ng-wizi-bulma\";\nimport { Observable, ReplaySubject } from \"rxjs\";\nimport { TableFilters } from \"./table-filters.model\";\n\nexport class TableFiltersGroup extends NwbFilterGroup {\n tableFiltersValuesChange$: ReplaySubject<TableFilters>;\n tableFiltersValuesDebouncedChange$: Observable<TableFilters>;\n\n set(key: \"sort\" | \"order\" | \"searchValue\" | \"totalItems\" | \"itemsPerPage\" | \"currentPage\", value: any): void {\n super.set(key, value);\n }\n\n resetToFirstPage(): void {\n this.set(\"currentPage\", 1);\n }\n}","import { BehaviorSubject, distinctUntilChanged, tap } from \"rxjs\";\nimport { TableFilters } from \"./table-filters.model\";\n\n/**\n * Avoid to fetch data when totalItems change\n * @returns\n */\nexport function distinctUntilTableFiltersChanged() {\n return distinctUntilChanged<TableFilters>((previousFilters, currentFilters) => {\n return previousFilters.searchValue === currentFilters.searchValue &&\n previousFilters.sort === currentFilters.sort &&\n previousFilters.order === currentFilters.order &&\n previousFilters.currentPage === currentFilters.currentPage &&\n previousFilters.itemsPerPage === currentFilters.itemsPerPage;\n });\n}\n\nexport function updateTableFiltersTotalItems<TResponse extends {totalItems: number}>(tableFilters$: BehaviorSubject<TableFilters>, totalItems?: number) {\n return tap((response: TResponse) => tableFilters$.next({\n ...tableFilters$.getValue(),\n totalItems: totalItems ?? response['totalItems']\n }))\n}","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nconst currentUsedSelectorForThisAnimation = 'li, div';\n\nexport const showFromBottom = trigger('showFromBottom', [\n transition('* => *', [\n animation([\n query(\n currentUsedSelectorForThisAnimation,\n style({\n opacity: 0,\n position: 'relative',\n bottom: -150\n }),\n { optional: true }\n ),\n query(currentUsedSelectorForThisAnimation, [stagger('150ms', animate('100ms', style({ opacity: 1, bottom: 0 })))], { optional: true })\n ])\n ])\n]);\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nconst currentUsedSelectorForThisAnimation = 'li, div';\n\nexport const showFromTop = trigger('showFromTop', [\n transition('* => *', [\n animation([\n query(\n currentUsedSelectorForThisAnimation,\n style({\n opacity: 0,\n position: 'relative',\n top: -150\n }),\n { optional: true }\n ),\n query(currentUsedSelectorForThisAnimation, [stagger('150ms', animate('100ms', style({ opacity: 1, top: 0 })))], { optional: true })\n ])\n ])\n]);\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nconst currentUsedSelectorForThisAnimation = 'li, div';\n\nexport const showFromLeft = trigger('showFromLeft', [\n transition('* => *', [\n animation([\n query(\n currentUsedSelectorForThisAnimation,\n style({\n opacity: 0,\n position: 'relative',\n left: -150\n }),\n { optional: true }\n ),\n query(currentUsedSelectorForThisAnimation, [stagger('150ms', animate('100ms', style({ opacity: 1, left: 0 })))], { optional: true })\n ])\n ])\n]);\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nconst currentUsedSelectorForThisAnimation = 'li, div';\n\nexport const showFromRight = trigger('showFromRight', [\n transition('* => *', [\n animation([\n query(\n currentUsedSelectorForThisAnimation,\n style({\n opacity: 0,\n position: 'relative',\n right: -150\n }),\n { optional: true }\n ),\n query(currentUsedSelectorForThisAnimation, [stagger('150ms', animate('100ms', style({ opacity: 1, right: 0 })))], { optional: true })\n ])\n ])\n]);\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nexport function animateListFromBottom(passedTime = '.3s ease') {\n return trigger('animateList', [\n transition('* => *', [\n animation(\n [\n query(':enter', [style({ position: 'relative', opacity: 0, bottom: '-60px' })], { optional: true }),\n\n query(\n ':leave',\n [\n style({ position: 'relative', opacity: 1, bottom: 0 }),\n animate('{{time}}', style({ position: 'relative', opacity: 0, bottom: '-60px' }))\n ],\n { optional: true }\n ),\n\n query(':enter', stagger('100ms', [animate('{{time}}', style({ position: 'relative', opacity: 1, bottom: 0 }))]), {\n optional: true\n })\n ],\n { params: { time: passedTime } }\n )\n ])\n ]);\n}\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nexport function animateListFromTop(passedTime = '.3s ease') {\n return trigger('animateList', [\n transition('* => *', [\n animation(\n [\n query(':enter', [style({ position: 'relative', opacity: 0, top: '-60px' })], { optional: true }),\n\n query(\n ':leave',\n [\n style({ position: 'relative', opacity: 1, top: 0 }),\n animate('{{time}}', style({ position: 'relative', opacity: 0, top: '-60px' }))\n ],\n { optional: true }\n ),\n\n query(':enter', stagger('200ms', [animate('{{time}}', style({ position: 'relative', opacity: 1, top: 0 }))]), { optional: true })\n ],\n { params: { time: passedTime } }\n )\n ])\n ]);\n}\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nexport function animateListFromRight(passedTime = '.3s ease-in-out', staggerTime = '50ms') {\n return trigger('animateList', [\n transition('* => *', [\n animation(\n [\n query(':enter', [style({ position: 'relative', opacity: 0, right: '-60px' })], { optional: true }),\n\n query(\n ':leave',\n [\n style({ position: 'relative', opacity: 1, right: 0 }),\n animate('{{time}}', style({ position: 'relative', opacity: 0, right: '-60px' }))\n ],\n { optional: true }\n ),\n\n query(':enter', stagger(staggerTime, [animate('{{time}}', style({ position: 'relative', opacity: 1, right: 0 }))]), {\n optional: true\n })\n ],\n { params: { time: passedTime } }\n )\n ])\n ]);\n}\n","import { animate, animation, query, stagger, style, transition, trigger } from '@angular/animations';\n\nexport function animateListFromLeft(passedTime = '.3s ease') {\n return trigger('animateList', [\n transition('* => *', [\n animation(\n [\n query(':enter', [style({ position: 'relative', opacity: 0, left: '-60px' })], { optional: true }),\n\n query(\n ':leave',\n [\n style({ position: 'relative', opacity: 1, left: 0 }),\n animate('{{time}}', style({ position: 'relative', opacity: 0, left: '-60px' }))\n ],\n { optional: true }\n ),\n\n query(':enter', stagger('{{time}}', [animate('{{time}}', style({ position: 'relative', opacity: 1, left: 0 }))]), {\n optional: true\n })\n ],\n { params: { time: passedTime } }\n )\n ])\n ]);\n}\n","import { animate, animation, style, transition, trigger } from '@angular/animations';\n\nexport const switchInOut = trigger('switchInOut', [\n transition(':enter', [animation([style({ transform: 'translateX(100%)', opacity: 0 }), animate('200ms 200ms ease')])]),\n transition(':leave', [animation([animate('200ms ease', style({ transform: 'translateX(-100%)', opacity: 0 }))])])\n]);\n","/*\n * Public API Surface of angular-components\n */\n\nexport * from './lib/wizi-components.module';\nexport * from './lib/components/shared-components.module';\nexport * from './lib/components/tag/tag.component';\nexport * from './lib/components/tabs/tabs.component';\nexport * from './lib/components/tabs/tab/tab.component';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/info/info.component';\nexport * from './lib/components/settings/settings.component';\nexport * from './lib/components/delete/delete.component';\nexport * from './lib/components/dropdown/dropdown.component';\nexport * from './lib/components/image/image.component';\nexport * from './lib/components/back/back.component';\nexport * from './lib/components/separator/separator.component';\nexport * from './lib/components/logo/logo.component';\nexport * from './lib/components/radio/radio.component';\nexport * from './lib/components/radio/radio-directive';\nexport * from './lib/components/radio/radio-group.directive';\nexport * from './lib/components/state/state.component';\nexport * from './lib/components/tag-label/tag-label.component';\nexport * from './lib/components/calendar/calendar.component';\nexport * from './lib/components/edit-in-place/edit-in-place.component';\nexport * from './lib/components/alert/alert.component';\nexport * from './lib/components/header-page/header-page.component';\nexport * from './lib/components/switch/switch.component';\nexport * from './lib/components/link/link.component';\nexport * from './lib/components/hn/h1/h1.component';\nexport * from './lib/components/hn/h2/h2.component';\nexport * from './lib/components/hn/h3/h3.component';\nexport * from './lib/components/hn/h4/h4.component';\nexport * from './lib/components/select-in-text/select-in-text.component';\nexport * from './lib/components/text/text.component';\nexport * from './lib/components/text-area/text-area.component';\nexport * from './lib/components/pagination/pagination.component';\nexport * from './lib/components/table/table.component';\nexport * from './lib/components/table/shared/table-filters.model';\nexport * from './lib/components/table/shared/table-filters-group.model';\nexport * from './lib/components/table/directives/column.directive';\nexport * from './lib/components/table/directives/checkBoxRow.directive';\nexport * from './lib/components/table/directives/columnHeader.directive';\nexport * from './lib/components/table/directives/raw.directive';\nexport * from './lib/components/inputs/input-search/input-search.component';\nexport * from './lib/components/inputs/input/input.component';\nexport * from './lib/components/tooltip/tooltip.component';\nexport * from './lib/components/checkbox/checkbox.component';\nexport * from './lib/components/loader/loader.component';\nexport * from './lib/components/progress-bar/progress-bar.component';\nexport * from './lib/components/upload/upload.component';\nexport * from './lib/components/select/select-items.dto';\nexport * from './lib/components/inputs/input-with-select/input-with-select.component';\nexport * from './lib/components/inputs/input-with-select/option-item.dto';\nexport * from './lib/components/multiple-search/multiple-search.component';\nexport * from './lib/components/multiple-search-plus/multiple-search-plus.component';\nexport * from './lib/directives/shared-directives.module';\nexport * from './lib/directives/abstract-debounce/debounce-keyup.directive';\nexport * from './lib/directives/abstract-debounce/abstract-debounce.directive';\nexport * from './lib/directives/auto-hide/auto-hide.directive';\nexport * from './lib/directives/zindex-toggle/zindex-toggle.directive';\nexport * from './lib/directives/keyboard-events/only-numbers.directive';\nexport * from './lib/directives/scroll-to/scroll-to.directive';\nexport * from './lib/directives/ng-var.directive';\nexport * from './lib/utils/html-container.class';\nexport * from './lib/utils/uuid';\nexport * from './lib/components/select/call-to-action.model';\nexport * from './lib/components/table/shared/filters-table.service';\nexport * from './lib/components/table/shared/table-filters.model';\nexport * from './lib/components/table/shared/distinct-until-table-filters-changed';\nexport * from './lib/components/popin/popin.component';\nexport * from './lib/components/free-popin/free-popin.component';\nexport * from './lib/components/google-preview/google-preview.component';\nexport * from './lib/components/block/block.component';\nexport * from './lib/components/block/separator/block-separator.component';\nexport * from './lib/components/block/block-title-legacy/block-title-legacy.component';\n\nexport * from './lib/components/wrapper/wrapper.component';\nexport * from './lib/components/filters/filters.component';\nexport * from './lib/components/expanded-panel/expanded-panel.component';\nexport * from './lib/components/filters/filter-item.dto';\nexport * from './lib/components/wrapper-blocs/wrapper-blocs.component';\nexport * from './lib/components/card-price/card-price.component';\nexport * from './lib/components/multiple-search-plus/shared/multiple-search-plus-results.model';\nexport * from './lib/components/multiple-search-plus/shared/multiple-search-plus-option.model';\nexport * from './lib/components/snackbar/snackbar.component';\nexport * from './lib/components/alert-popup/alert-popup.service';\nexport * from './lib/components/alert-popup/alert-popup.component';\nexport * from './lib/components/alert-popup/alert-popup-module';\nexport * from './lib/components/wrapper-sidebar/wrapper-sidebar.component';\nexport * from './lib/components/breadcrumbs/breadcrumbs.component';\nexport * from './lib/components/token-check/token-check.component';\nexport * from './lib/components/row/row.component';\nexport * from './lib/components/column/column.component';\nexport * from './lib/components/block-with-checkbox/block-with-checkbox.component';\nexport * from './lib/components/confirm-delete/confirm-delete.component';\nexport * from './lib/components/search/search.component';\nexport * from './lib/components/charging-bar/charging-bar.component';\nexport * from './lib/components/mosaic/mosaic.component';\nexport * from './lib/components/content-with-buttons/content-with-buttons.component';\nexport * from './lib/components/wrapper-multiple-block/wrapper-multiple-block.component';\nexport * from './lib/components/draganddrop-list/draganddrop-list.component';\nexport * from './lib/components/selected-list/selected-list.component';\nexport * from './lib/components/selected-list/shared/selected-list-option.model';\nexport * from './lib/components/search/shared/search-option.model';\nexport * from './lib/components/tree/tree.component';\nexport * from './lib/components/tree/tree.module';\nexport * from './lib/components/tree/tree.dto';\nexport * from './lib/pipes/shared-pipes.module';\nexport * from './lib/pipes/tree/format-object-to-recursif-tree.pipe';\nexport * from './lib/pipes/tree/format-object-to-simple-tree.pipe';\nexport * from './lib/pipes/select/select-filters.pipe';\nexport * from './lib/pipes/selected-list/are-all-options-selected.pipe';\nexport * from './lib/pipes/find-option-selected-field.pipe';\nexport * from './lib/pipes/call-component-function.pipe';\nexport * from './lib/directives/keyboard-events/keypress-enter.directive';\nexport * from './lib/directives/copy-to-clipboard/copy-to-clipboard.directive';\nexport * from './lib/directives/keyboard-events/two-digital-decimal-number.directive';\nexport * from './lib/directives/watch-dom-tree/watch-dom-tree.directive';\nexport * from './lib/components/optional-disable-container/optional-disable-container.component';\nexport * from './lib/components/summary/summary.component';\n\nexport * from './lib/components/select/select/select.component';\nexport * from './lib/components/select/select/value-change.service';\nexport * from './lib/components/select/select/select.directive';\nexport * from './lib/components/select/option/option.component';\nexport * from './lib/components/select/option-call-to-action/option-call-to-action.component';\nexport * from './lib/components/common/placeholder/placeholder.component';\nexport * from './lib/components/common/label/label.component';\nexport * from './lib/components/ai-express/ai-express.component';\nexport * from './lib/components/select/option/select-option.directive';\nexport * from './lib/components/select/select-search-trigger/select-search-trigger.component';\nexport * from './lib/pipes/select/filter-options.pipe';\n\n// expansion\nexport * from './lib/components/expansion/expansion.module';\nexport * from './lib/components/expansion/accordion/accordion.component';\nexport * from './lib/components/expansion/accordion/accordion-item.token';\nexport * from './lib/components/expansion/expansion-panel-header/expansion-panel-header.component';\nexport * from './lib/components/expansion/expansion-panel-header/expansion-panel-header.token';\nexport * from './lib/components/expansion/expansion-panel-header/expansion-panel-header.directive';\nexport * from './lib/components/expansion/expansion-panel/expansion-panel.component';\nexport * from './lib/components/expansion/expansion-panel/expansion-panel.directive';\n\nexport * from './lib/animations/show/show-from-bottom.animation';\nexport * from './lib/animations/show/show-from-top.animation';\nexport * from './lib/animations/show/show-from-left.animation';\nexport * from './lib/animations/show/show-from-right.animation';\nexport * from './lib/animations/show/opacity.animation';\n\nexport * from './lib/animations/list/animate-list-from-bottom.animation';\nexport * from './lib/animations/list/animate-list-from-top.animation';\nexport * from './lib/animations/list/animate-list-from-right.animation';\nexport * from './lib/animations/list/animate-list-from-left.animation';\n\nexport * from './lib/animations/switch/switch-in-out.animation';\nexport * from './lib/animations/in-out/in-out-x.animation';\nexport * from './lib/animations/in-out/in-out-y.animation';\n\nexport * from './lib/services/history.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.DomService","takeUntil","i1.ValueChangeService","directives","i2","i3.TooltipComponent","i3.DebounceKeyupDirective","i1.TableCheckboxIdService","i3","i4.PagniationArrayTotalPages","i5.PagniationIsLastPage","i6.PagniationText","i1.FiltersTableService","i2.TableCheckboxIdService","i3.MultiSelectionService","i4","i5","i6.InputSearchComponent","i7.LoaderComponent","i8.CheckboxComponent","i9.PaginationComponent","distinctUntilChanged","map","i2.AutoHideDirective","i4.AutoHideDirective","i5.ZindexToggleDirective","i6.OnlyNumberDirective","i7.OptionalDisableContainerComponent","i8","i1.HistoryService","i3.H1Component","pipes","i3.ZindexToggleDirective","i2.DebounceKeyupDirective","i3.AutoHideDirective","i4.ZindexToggleDirective","i5.LoaderComponent","i6.ImageComponent","i7.H3Component","i8.TextComponent","i9","i5.ButtonComponent","i2.VarDirective","i3.ButtonComponent","i4.AreAllOptionsSelectedPipe","i2.CheckboxComponent","i2.KeypressEnterDirective","i6","i2.ButtonComponent","i3.LinkComponent","i4.ButtonComponent","i3.InputComponent","components","i2.DomChangedDirective","tap","currentUsedSelectorForThisAnimation"],"mappings":"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"}
|