@lucca-front/ng 15.2.2 → 15.2.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-option.mjs","sources":["../../../packages/ng/option/src/lib/item/option-item.model.ts","../../../packages/ng/option/src/lib/item/option-item.component.ts","../../../packages/ng/option/src/lib/item/option-item.component.html","../../../packages/ng/option/src/lib/item/option-item.module.ts","../../../packages/ng/option/src/lib/item/tree-option-item.model.ts","../../../packages/ng/option/src/lib/item/tree-option-item.translate.ts","../../../packages/ng/option/src/lib/item/tree-option-item.component.ts","../../../packages/ng/option/src/lib/item/tree-option-item.component.html","../../../packages/ng/option/src/lib/item/tree-option-item.module.ts","../../../packages/ng/option/src/lib/operator/option-operator.model.ts","../../../packages/ng/option/src/lib/operator/feeder/option-feeder.component.ts","../../../packages/ng/option/src/lib/operator/feeder/option-feeder.module.ts","../../../packages/ng/option/src/lib/operator/tree-option-operator.model.ts","../../../packages/ng/option/src/lib/operator/feeder/tree-option-feeder.component.ts","../../../packages/ng/option/src/lib/operator/feeder/tree-option-feeder.module.ts","../../../packages/ng/option/src/lib/operator/pager/option-pager.component.ts","../../../packages/ng/option/src/lib/operator/pager/option-pager.module.ts","../../../packages/ng/option/src/lib/operator/pager/tree-option-pager.component.ts","../../../packages/ng/option/src/lib/operator/pager/tree-option-pager.module.ts","../../../packages/ng/option/src/lib/placeholder/option-placeholder.translate.ts","../../../packages/ng/option/src/lib/placeholder/option-placeholder.component.ts","../../../packages/ng/option/src/lib/placeholder/option-placeholder.component.html","../../../packages/ng/option/src/lib/placeholder/option-placeholder.module.ts","../../../packages/ng/option/src/lib/operator/searcher/option-searcher.component.ts","../../../packages/ng/option/src/lib/operator/searcher/option-searcher.component.html","../../../packages/ng/option/src/lib/operator/searcher/option-searcher.module.ts","../../../packages/ng/option/src/lib/operator/searcher/tree-option-searcher.component.ts","../../../packages/ng/option/src/lib/operator/searcher/tree-option-searcher.module.ts","../../../packages/ng/option/src/lib/operator/for-groups/for-groups.directive.ts","../../../packages/ng/option/src/lib/operator/for-groups/for-groups.module.ts","../../../packages/ng/option/src/lib/operator/for-options/for-options.directive.ts","../../../packages/ng/option/src/lib/operator/for-options/for-options.module.ts","../../../packages/ng/option/src/lib/operator/for-options/for-tree-options.directive.ts","../../../packages/ng/option/src/lib/operator/for-options/for-tree-options.module.ts","../../../packages/ng/option/src/lib/operator/option-operator.module.ts","../../../packages/ng/option/src/lib/operator/tree-option-operator.module.ts","../../../packages/ng/option/src/lib/selector/option-selector.model.ts","../../../packages/ng/option/src/lib/selector/all/select-all.translate.ts","../../../packages/ng/option/src/lib/selector/all/select-all.component.ts","../../../packages/ng/option/src/lib/selector/all/select-all.component.html","../../../packages/ng/option/src/lib/selector/all/select-all.module.ts","../../../packages/ng/option/src/lib/selector/tree-option-selector.model.ts","../../../packages/ng/option/src/lib/selector/all/tree-select-all.component.ts","../../../packages/ng/option/src/lib/selector/all/tree-select-all.module.ts","../../../packages/ng/option/src/lib/selector/option-selector.module.ts","../../../packages/ng/option/src/lib/selector/tree-option-selector.module.ts","../../../packages/ng/option/src/lib/picker/option-picker.model.ts","../../../packages/ng/option/src/lib/picker/option-picker.component.ts","../../../packages/ng/option/src/lib/picker/option-picker.component.html","../../../packages/ng/option/src/lib/picker/option-picker-advanced.component.ts","../../../packages/ng/option/src/lib/picker/option-picker-advanced.component.html","../../../packages/ng/option/src/lib/picker/option-picker.module.ts","../../../packages/ng/option/src/lib/picker/tree-option-picker.component.ts","../../../packages/ng/option/src/lib/picker/tree-option-picker.component.html","../../../packages/ng/option/src/lib/picker/tree-option-picker-advanced.component.ts","../../../packages/ng/option/src/lib/picker/tree-option-picker-advanced.component.html","../../../packages/ng/option/src/lib/picker/tree-option-picker.module.ts","../../../packages/ng/option/src/lib/picker/tree-option-picker.model.ts","../../../packages/ng/option/src/lib/option.module.ts","../../../packages/ng/option/src/lib/tree-option.module.ts","../../../packages/ng/option/src/public-api.ts","../../../packages/ng/option/src/lucca-front-ng-option.ts"],"sourcesContent":["import { ElementRef } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface ILuOptionItem<T> {\r\n\tvalue: T;\r\n\tonSelect: Observable<this>;\r\n\telement: ElementRef<HTMLElement>;\r\n\tselected: boolean;\r\n\thighlighted: boolean;\r\n\tdisabled: boolean;\r\n}\r\nexport abstract class ALuOptionItem<T> implements ILuOptionItem<T> {\r\n\tabstract value: T;\r\n\tabstract onSelect: Observable<this>;\r\n\tabstract element: ElementRef;\r\n\tabstract selected: boolean;\r\n\tabstract highlighted: boolean;\r\n\tabstract disabled: boolean;\r\n}\r\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\r\nimport { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';\r\nimport { ALuOptionItem, ILuOptionItem } from './option-item.model';\r\n\r\n@Component({\r\n\tselector: 'lu-option',\r\n\ttemplateUrl: './option-item.component.html',\r\n\tstyleUrls: ['./option-item.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\timports: [CommonModule],\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionItem,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionItemComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionItemComponent<T> extends ALuOptionItem<T> implements ILuOptionItem<T> {\r\n\tprotected _selected = false;\r\n\tget selected() {\r\n\t\treturn this._selected;\r\n\t}\r\n\t@Input() set selected(s: boolean) {\r\n\t\tif (s !== this._selected) {\r\n\t\t\tthis._selected = s;\r\n\t\t\tthis._cdr.markForCheck();\r\n\t\t}\r\n\t}\r\n\tprotected _highlighted = false;\r\n\tget highlighted() {\r\n\t\treturn this._highlighted;\r\n\t}\r\n\t@Input() set highlighted(h: boolean) {\r\n\t\tif (h !== this._highlighted) {\r\n\t\t\tthis._highlighted = h;\r\n\t\t\tthis._cdr.markForCheck();\r\n\t\t}\r\n\t}\r\n\t@Input() value: T;\r\n\t@Output() onSelect = new EventEmitter<this>();\r\n\tselect() {\r\n\t\tif (!this.disabled) {\r\n\t\t\tthis.onSelect.emit(this);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _disabled = false;\r\n\tget disabled() {\r\n\t\treturn this._disabled;\r\n\t}\r\n\t@Input() set disabled(d: boolean) {\r\n\t\tthis._disabled = d;\r\n\t}\r\n\r\n\t@ViewChild('element', { read: ElementRef, static: true }) element: ElementRef;\r\n\tconstructor(private _cdr: ChangeDetectorRef) {\r\n\t\tsuper();\r\n\t}\r\n}\r\n","<div class=\"optionItem\" #element>\r\n\t<div\r\n\t\tclass=\"optionItem-value\"\r\n\t\t(click)=\"select()\"\r\n\t\t[class.is-selected]=\"selected\"\r\n\t\t[class.is-highlighted]=\"highlighted\"\r\n\t\t[class.is-disabled]=\"disabled\"\r\n\t>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionItemComponent } from './option-item.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionItemComponent],\r\n\texports: [LuOptionItemComponent],\r\n})\r\nexport class LuOptionItemModule {}\r\n","import { Observable } from 'rxjs';\r\nimport { ALuOptionItem, ILuOptionItem } from './option-item.model';\r\n\r\nexport interface ILuTreeOptionItem<T> extends ILuOptionItem<T> {\r\n\tchildren: this[];\r\n\tallChildren: this[];\r\n\r\n\tonSelectSelf: Observable<this>;\r\n\tonSelectChildren: Observable<this>;\r\n}\r\nexport abstract class ALuTreeOptionItem<T> extends ALuOptionItem<T> implements ILuTreeOptionItem<T> {\r\n\tabstract children: this[];\r\n\tget allChildren(): this[] {\r\n\t\treturn this.children.map((c) => [c, ...c.allChildren]).reduce((aggr, val) => [...aggr, ...val], []);\r\n\t}\r\n\tabstract onSelectSelf: Observable<this>;\r\n\tabstract onSelectChildren: Observable<this>;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport const LU_TREE_OPTION_ITEM_TRANSLATIONS = new InjectionToken('LuTreeOptionItemTranslations', {\r\n\tfactory: () => luTreeOptionItemTranslations,\r\n});\r\n\r\nexport interface ILuTreeOptionItemLabel {\r\n\tparentOnly: string;\r\n\tchildrenOnly: string;\r\n}\r\n\r\nexport const luTreeOptionItemTranslations: ILuTranslation<ILuTreeOptionItemLabel> = {\r\n\ten: {\r\n\t\tparentOnly: 'Parent only',\r\n\t\tchildrenOnly: 'Children only',\r\n\t},\r\n\tfr: {\r\n\t\tparentOnly: 'Seulement le parent',\r\n\t\tchildrenOnly: 'Seulement les enfants',\r\n\t},\r\n};\r\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\r\nimport { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { getIntl, ILuTree } from '@lucca-front/ng/core';\r\nimport { ALuInputDisplayer, ILuInputDisplayer } from '@lucca-front/ng/input';\r\nimport { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';\r\nimport { ALuTreeOptionItem, ILuTreeOptionItem } from './tree-option-item.model';\r\nimport { LU_TREE_OPTION_ITEM_TRANSLATIONS } from './tree-option-item.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-tree-option',\r\n\ttemplateUrl: './tree-option-item.component.html',\r\n\tstyleUrls: ['./tree-option-item.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\timports: [CommonModule, LuTooltipTriggerDirective],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionItem,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionItemComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionItemComponent<T> extends ALuTreeOptionItem<T> implements ILuTreeOptionItem<T> {\r\n\tprotected _children: this[] = [];\r\n\tprotected _tree: ILuTree<T>;\r\n\tprotected _displayer: ILuInputDisplayer<T>;\r\n\t@ViewChild('value', { static: true, read: ViewContainerRef })\r\n\tprotected _valueVCR: ViewContainerRef;\r\n\t@ViewChild('children', { static: true, read: ViewContainerRef })\r\n\tprotected _childrenVCR: ViewContainerRef;\r\n\t@ViewChild('element', { read: ElementRef, static: true }) element: ElementRef;\r\n\r\n\t@Output() onSelect = new EventEmitter<this>();\r\n\t@Output() onSelectSelf = new EventEmitter<this>();\r\n\t@Output() onSelectChildren = new EventEmitter<this>();\r\n\tselect() {\r\n\t\tthis.onSelect.emit(this);\r\n\t}\r\n\tselectSelf() {\r\n\t\tthis.onSelectSelf.emit(this);\r\n\t}\r\n\tselectChildren() {\r\n\t\tthis.onSelectChildren.emit(this);\r\n\t}\r\n\r\n\t@Input() set tree(t: ILuTree<T>) {\r\n\t\tthis._tree = t;\r\n\t\tthis._renderValue(t.value);\r\n\t\tthis._renderChildren(t.children);\r\n\t}\r\n\tget value() {\r\n\t\treturn this._tree.value;\r\n\t}\r\n\tget children() {\r\n\t\treturn this._children;\r\n\t}\r\n\tset children(c) {\r\n\t\tthis._children = c;\r\n\t}\r\n\tget hasChildren() {\r\n\t\treturn !!this.children && this.children.length > 0;\r\n\t}\r\n\r\n\tprotected _selected = false;\r\n\tget selected() {\r\n\t\treturn this._selected;\r\n\t}\r\n\t@Input() set selected(s: boolean) {\r\n\t\tif (s !== this._selected) {\r\n\t\t\tthis._selected = s;\r\n\t\t\tthis._cdr.markForCheck();\r\n\t\t}\r\n\t}\r\n\tprotected _highlighted = false;\r\n\tget highlighted() {\r\n\t\treturn this._highlighted;\r\n\t}\r\n\t@Input() set highlighted(h: boolean) {\r\n\t\tif (h !== this._highlighted) {\r\n\t\t\tthis._highlighted = h;\r\n\t\t\tthis._cdr.markForCheck();\r\n\t\t}\r\n\t}\r\n\tprotected _disabled = false;\r\n\tget disabled() {\r\n\t\treturn this._disabled;\r\n\t}\r\n\t@Input() set disabled(h: boolean) {\r\n\t\tif (h !== this._disabled) {\r\n\t\t\tthis._disabled = h;\r\n\t\t\tthis._cdr.markForCheck();\r\n\t\t}\r\n\t}\r\n\r\n\t@ContentChild(ALuInputDisplayer, { static: true }) set _contentChildDisplayer(displayer: ILuInputDisplayer<T>) {\r\n\t\tthis._displayer = displayer;\r\n\t}\r\n\r\n\tpublic intl = getIntl(LU_TREE_OPTION_ITEM_TRANSLATIONS);\r\n\r\n\tconstructor(private _cdr: ChangeDetectorRef) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tprivate _renderValue(value: T) {\r\n\t\tconst evr = this._displayer.getViewRef(value);\r\n\t\tthis._valueVCR.clear();\r\n\t\tthis._valueVCR.insert(evr);\r\n\t}\r\n\tprivate _renderChildren(children: ILuTree<T>[] = []) {\r\n\t\tthis._childrenVCR.clear();\r\n\t\tthis.children = children.map((c) => {\r\n\t\t\tconst ref = this._childrenVCR.createComponent(LuTreeOptionItemComponent);\r\n\t\t\tref.instance._displayer = this._displayer;\r\n\t\t\tref.instance.tree = c;\r\n\t\t\treturn ref.instance as this; //yolo\r\n\t\t});\r\n\t}\r\n}\r\n","<div class=\"optionItem\" #element>\r\n\t<div class=\"optionItem-value\" (click)=\"select()\" [class.is-selected]=\"selected\" [class.is-highlighted]=\"highlighted\">\r\n\t\t<ng-container #value></ng-container>\r\n\t</div>\r\n\t<div class=\"optionItem-icons\" *ngIf=\"hasChildren\">\r\n\t\t<span class=\"optionItem-icon parentOnly\" (click)=\"selectSelf()\" [luTooltip]=\"intl.parentOnly\">\r\n\t\t\t<svg class=\"optionItem-icon-shape\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\r\n\t\t\t\t<path\r\n\t\t\t\t\topacity=\"0.2\"\r\n\t\t\t\t\td=\"M8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18ZM8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18Z\"\r\n\t\t\t\t/>\r\n\t\t\t\t<path\r\n\t\t\t\t\td=\"M4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7ZM4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7Z\"\r\n\t\t\t\t/>\r\n\t\t\t</svg>\r\n\t\t</span>\r\n\t\t<span class=\"optionItem-icon childrenOnly\" (click)=\"selectChildren()\" [luTooltip]=\"intl.childrenOnly\">\r\n\t\t\t<svg class=\"optionItem-icon-shape\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\r\n\t\t\t\t<path\r\n\t\t\t\t\td=\"M8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18ZM8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18Z\"\r\n\t\t\t\t/>\r\n\t\t\t\t<path\r\n\t\t\t\t\topacity=\"0.2\"\r\n\t\t\t\t\td=\"M4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7ZM4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7Z\"\r\n\t\t\t\t/>\r\n\t\t\t</svg>\r\n\t\t</span>\r\n\t</div>\r\n</div>\r\n\r\n<div #children class=\"children\">\r\n\t<ng-container #children></ng-container>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionItemComponent } from './tree-option-item.component';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionItemComponent],\r\n\texports: [LuTreeOptionItemComponent],\r\n})\r\nexport class LuTreeOptionItemModule {}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface ILuOptionOperator<T> {\r\n\tinOptions$?: Observable<T[]>;\r\n\toutOptions$?: Observable<T[]>;\r\n}\r\nexport abstract class ALuOptionOperator<T> implements ILuOptionOperator<T> {\r\n\tabstract inOptions$?: Observable<T[]>;\r\n\tabstract outOptions$?: Observable<T[]>;\r\n}\r\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\r\n\r\n@Component({\r\n\tselector: 'lu-option-feeder',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionFeederComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionFeederComponent<T> implements ILuOptionOperator<T> {\r\n\toutOptions$ = new BehaviorSubject<T[]>([]);\r\n\t@Input() set options(options: T[]) {\r\n\t\tthis.outOptions$.next(options);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionFeederComponent } from './option-feeder.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionFeederComponent],\r\n\texports: [LuOptionFeederComponent],\r\n})\r\nexport class LuOptionFeederModule {}\r\n","import { ILuOptionOperator, ALuOptionOperator } from './option-operator.model';\r\nimport { ILuTree } from '@lucca-front/ng/core';\r\n\r\nexport type ILuTreeOptionOperator<T> = ILuOptionOperator<ILuTree<T>>;\r\n\r\nexport abstract class ALuTreeOptionOperator<T> extends ALuOptionOperator<ILuTree<T>> implements ILuTreeOptionOperator<T> {}\r\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\r\nimport { ILuTree } from '@lucca-front/ng/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\r\n\r\n@Component({\r\n\tselector: 'lu-tree-option-feeder',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionFeederComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionFeederComponent<T> implements ILuTreeOptionOperator<T> {\r\n\toutOptions$ = new BehaviorSubject<ILuTree<T>[]>([]);\r\n\t@Input() set options(options: ILuTree<T>[]) {\r\n\t\tthis.outOptions$.next(options);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionFeederComponent } from './tree-option-feeder.component';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionFeederComponent],\r\n\texports: [LuTreeOptionFeederComponent],\r\n})\r\nexport class LuTreeOptionFeederModule {}\r\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\r\nimport { ALuOnScrollBottomSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\r\nconst MAGIC_STEP = 10;\r\n@Component({\r\n\tselector: 'lu-option-pager',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionPagerComponent<T> extends ALuOptionOperator<T> implements ILuOptionOperator<T>, ILuOnScrollBottomSubscriber {\r\n\toutOptions$: Observable<T[]>;\r\n\tset inOptions$(in$: Observable<T[]>) {\r\n\t\tthis.outOptions$ = combineLatest([in$, this.paging$]).pipe(\r\n\t\t\tmap(([options, paging]) => {\r\n\t\t\t\treturn (options || []).slice(0, paging);\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\tpaging$ = new BehaviorSubject<number>(MAGIC_STEP);\r\n\tnext() {\r\n\t\tthis.paging$.next(this.paging$.value + MAGIC_STEP);\r\n\t}\r\n\tonScrollBottom() {\r\n\t\tthis.next();\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionPagerComponent } from './option-pager.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionPagerComponent],\r\n\texports: [LuOptionPagerComponent],\r\n})\r\nexport class LuOptionPagerModule {}\r\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\r\nimport { ALuOnScrollBottomSubscriber, ILuOnScrollBottomSubscriber, ILuTree } from '@lucca-front/ng/core';\r\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\r\nconst MAGIC_STEP = 10;\r\n@Component({\r\n\tselector: 'lu-tree-option-pager',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tstandalone: true,\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionPagerComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionOperator<T>, ILuOnScrollBottomSubscriber {\r\n\toutOptions$: Observable<ILuTree<T>[]>;\r\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\r\n\t\tthis.outOptions$ = combineLatest([in$, this.paging$]).pipe(\r\n\t\t\tmap(([options, paging]) => {\r\n\t\t\t\treturn this.trim(options, paging);\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\tpaging$ = new BehaviorSubject<number>(MAGIC_STEP);\r\n\tnext() {\r\n\t\tthis.paging$.next(this.paging$.value + MAGIC_STEP);\r\n\t}\r\n\tonScrollBottom() {\r\n\t\tthis.next();\r\n\t}\r\n\ttrim(trees: ILuTree<T>[] = [], paging: number = MAGIC_STEP): ILuTree<T>[] {\r\n\t\tconst flat = this.flatten(trees);\r\n\t\tconst flatTrimmed = flat.slice(0, paging);\r\n\r\n\t\treturn this.filter(trees, flatTrimmed);\r\n\t}\r\n\tflatten(trees: ILuTree<T>[] = []): T[] {\r\n\t\treturn trees.map((t) => [t.value, ...this.flatten(t.children)]).reduce((a, v) => [...a, ...v], []);\r\n\t}\r\n\tfilter(trees: ILuTree<T>[] = [], values: T[]): ILuTree<T>[] {\r\n\t\treturn trees\r\n\t\t\t.map((t) => {\r\n\t\t\t\tif (!values.some((v) => v === t.value)) {\r\n\t\t\t\t\treturn undefined;\r\n\t\t\t\t}\r\n\t\t\t\treturn { ...t, children: this.filter(t.children, values) };\r\n\t\t\t})\r\n\t\t\t.filter((t) => !!t);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionPagerComponent } from './tree-option-pager.component';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionPagerComponent],\r\n\texports: [LuTreeOptionPagerComponent],\r\n})\r\nexport class LuTreeOptionPagerModule {}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport const LU_OPTION_PLACEHOLDER_TRANSLATIONS = new InjectionToken('LuOptionPlaceholderTranslations', {\r\n\tfactory: () => luOptionPlaceholderTranslations,\r\n});\r\n\r\nexport interface ILuOptionPlaceholderLabel {\r\n\tplaceholderDescription: string;\r\n\tplaceholderAction: string;\r\n}\r\n\r\nexport const luOptionPlaceholderTranslations: ILuTranslation<ILuOptionPlaceholderLabel> = {\r\n\ten: {\r\n\t\tplaceholderDescription: 'No results match your search criteria.',\r\n\t\tplaceholderAction: 'Clear search',\r\n\t},\r\n\tfr: {\r\n\t\tplaceholderDescription: 'Aucun résultat pour votre recherche',\r\n\t\tplaceholderAction: 'Vider la recherche',\r\n\t},\r\n\tes: {\r\n\t\tplaceholderDescription: 'No se han encontrado resultados para su búsqueda',\r\n\t\tplaceholderAction: 'Eliminar búsqueda',\r\n\t},\r\n};\r\n","import { Component, EventEmitter, Output } from '@angular/core';\r\nimport { getIntl } from '@lucca-front/ng/core';\r\nimport { LU_OPTION_PLACEHOLDER_TRANSLATIONS } from './option-placeholder.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-option-placeholder',\r\n\ttemplateUrl: './option-placeholder.component.html',\r\n\tstyleUrls: ['./option-placeholder.component.scss'],\r\n\tstandalone: true,\r\n})\r\nexport class LuOptionPlaceholderComponent {\r\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\r\n\t@Output() onClear = new EventEmitter();\r\n\r\n\tpublic intl = getIntl(LU_OPTION_PLACEHOLDER_TRANSLATIONS);\r\n\r\n\tclear() {\r\n\t\tthis.onClear.emit();\r\n\t}\r\n}\r\n","<div class=\"optionPlaceholder\">\r\n\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.placeholderDescription }}</p>\r\n\t<button type=\"button\" class=\"link\" (click)=\"clear()\">{{ intl.placeholderAction }}</button>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionPlaceholderComponent } from './option-placeholder.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionPlaceholderComponent],\r\n\texports: [LuOptionPlaceholderComponent],\r\n})\r\nexport class LuOptionPlaceholderModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, ViewChild } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber } from '@lucca-front/ng/core';\r\nimport { combineLatest, merge, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { LuOptionPlaceholderComponent } from '../../placeholder';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\r\n\r\n@Component({\r\n\tselector: 'lu-option-searcher',\r\n\ttemplateUrl: 'option-searcher.component.html',\r\n\tstyleUrls: ['option-searcher.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionSearcherComponent<T> extends ALuOptionOperator<T> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\r\n\tsearchControl = new FormControl();\r\n\tclue$ = merge(of(''), this.searchControl.valueChanges) as Observable<string>;\r\n\tempty$: Observable<boolean>;\r\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\r\n\tsearchInput: ElementRef<HTMLElement>;\r\n\toutOptions$: Observable<T[]>;\r\n\tset inOptions$(in$: Observable<T[]>) {\r\n\t\tthis.outOptions$ = combineLatest([in$, this.clue$]).pipe(\r\n\t\t\tmap(([options, clue]) => {\r\n\t\t\t\treturn clue ? (options || []).filter((o) => this.searchFn(o, clue)) : options || [];\r\n\t\t\t}),\r\n\t\t);\r\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => !o || o.length === 0));\r\n\t}\r\n\t@Input() searchFn: (option: T, clue: string) => boolean = () => true;\r\n\r\n\tonOpen() {\r\n\t\tthis.searchInput.nativeElement.focus();\r\n\t\tthis.searchControl.setValue('');\r\n\t}\r\n\tresetClue() {\r\n\t\tthis.searchControl.setValue('');\r\n\t}\r\n}\r\n","<div class=\"textfield mod-search\">\r\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"searchControl\" />\r\n</div>\r\n\r\n<lu-option-placeholder *ngIf=\"empty$ | async\" (onClear)=\"resetClue()\"></lu-option-placeholder>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionSearcherComponent } from './option-searcher.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionSearcherComponent],\r\n\texports: [LuOptionSearcherComponent],\r\n})\r\nexport class LuOptionSearcherModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, ViewChild } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber, ILuTree } from '@lucca-front/ng/core';\r\nimport { combineLatest, merge, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { LuOptionPlaceholderComponent } from '../../placeholder';\r\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\r\n\r\n@Component({\r\n\tselector: 'lu-tree-option-searcher',\r\n\ttemplateUrl: './option-searcher.component.html',\r\n\tstyleUrls: ['./option-searcher.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionSearcherComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionOperator<T>, ILuOnOpenSubscriber {\r\n\tsearchControl = new FormControl();\r\n\tclue$ = merge(of(''), this.searchControl.valueChanges) as Observable<string>;\r\n\tempty$: Observable<boolean>;\r\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\r\n\tsearchInput: ElementRef<HTMLElement>;\r\n\toutOptions$: Observable<ILuTree<T>[]>;\r\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\r\n\t\tthis.outOptions$ = combineLatest([in$, this.clue$]).pipe(\r\n\t\t\tmap(([options, clue]) => {\r\n\t\t\t\tif (!clue) {\r\n\t\t\t\t\treturn options || [];\r\n\t\t\t\t}\r\n\t\t\t\treturn this.trim(options, clue);\r\n\t\t\t}),\r\n\t\t);\r\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => !o || o.length === 0));\r\n\t}\r\n\t@Input() searchFn: (option: T, clue: string) => boolean = () => true;\r\n\r\n\tonOpen() {\r\n\t\tthis.searchInput.nativeElement.focus();\r\n\t\tthis.searchControl.setValue('');\r\n\t}\r\n\ttrim(options: ILuTree<T>[], clue: string): ILuTree<T>[] {\r\n\t\treturn options\r\n\t\t\t.map((option) => {\r\n\t\t\t\tif (this.searchFn(option.value, clue)) {\r\n\t\t\t\t\treturn { ...option };\r\n\t\t\t\t}\r\n\t\t\t\tconst trimmedChildren = option.children ? this.trim(option.children, clue) : [];\r\n\t\t\t\tif (trimmedChildren.length) {\r\n\t\t\t\t\treturn { ...option, children: trimmedChildren };\r\n\t\t\t\t}\r\n\t\t\t\treturn undefined;\r\n\t\t\t})\r\n\t\t\t.filter((o) => !!o);\r\n\t}\r\n\tresetClue() {\r\n\t\tthis.searchControl.setValue('');\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionSearcherComponent } from './tree-option-searcher.component';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionSearcherComponent],\r\n\texports: [LuTreeOptionSearcherComponent],\r\n})\r\nexport class LuTreeOptionSearcherModule {}\r\n","import { ChangeDetectorRef, Directive, forwardRef, Input, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { ILuGroup } from '@lucca-front/ng/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\r\n\r\nexport class LuForGroupContext<T> {\r\n\tpublic constructor(public $implicit: T, public index: number, public count: number) {}\r\n\r\n\tpublic get first(): boolean {\r\n\t\treturn this.index === 0;\r\n\t}\r\n\r\n\tpublic get last(): boolean {\r\n\t\treturn this.index === this.count - 1;\r\n\t}\r\n\r\n\tpublic get even(): boolean {\r\n\t\treturn this.index % 2 === 0;\r\n\t}\r\n\r\n\tpublic get odd(): boolean {\r\n\t\treturn !this.even;\r\n\t}\r\n}\r\n\r\n@Directive({\r\n\tselector: '[luForGroups]',\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuForGroupsDirective),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuForGroupsDirective<TItem, TKey> implements ILuOptionOperator<TItem>, OnDestroy {\r\n\toutOptions$?: Observable<TItem[]>;\r\n\r\n\tprivate _groupByFn: (item: TItem) => TKey;\r\n\t@Input('luForGroupsGroupBy')\r\n\tpublic set attrGroupBy(fn: (item: TItem) => TKey) {\r\n\t\tthis._groupByFn = fn;\r\n\t}\r\n\r\n\tprotected _subs = new Subscription();\r\n\tpublic set inOptions$(options$: Observable<TItem[]>) {\r\n\t\tthis._subs.add(options$.subscribe((options) => this.render(options)));\r\n\t\tthis.outOptions$ = options$;\r\n\t}\r\n\r\n\tpublic constructor(protected _vcr: ViewContainerRef, protected _cdr: ChangeDetectorRef, protected _templateRef: TemplateRef<LuForGroupContext<ILuGroup<TItem, TKey>>>) {}\r\n\r\n\tpublic ngOnDestroy(): void {\r\n\t\tthis._subs.unsubscribe();\r\n\t}\r\n\r\n\tpublic render(options: TItem[]): void {\r\n\t\tthis._vcr.clear();\r\n\t\tconst count = options.length;\r\n\t\tconst groups = this.groupBy(options);\r\n\t\tgroups.forEach((group, index) => {\r\n\t\t\tthis._vcr.createEmbeddedView(this._templateRef, new LuForGroupContext<ILuGroup<TItem, TKey>>(group, index, count));\r\n\t\t});\r\n\t\tthis._cdr.markForCheck();\r\n\t}\r\n\r\n\tprotected groupBy(items: TItem[]): ILuGroup<TItem, TKey>[] {\r\n\t\tconst groups: ILuGroup<TItem, TKey>[] = [];\r\n\t\titems.forEach((item) => {\r\n\t\t\tconst key = this._groupByFn(item);\r\n\t\t\tlet group = groups.find((g) => g.key === key);\r\n\t\t\tif (!group) {\r\n\t\t\t\tgroup = { key: key, items: [] };\r\n\t\t\t\tgroups.push(group);\r\n\t\t\t}\r\n\t\t\tgroup.items.push(item);\r\n\t\t});\r\n\t\treturn groups;\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuForGroupsDirective } from './for-groups.directive';\r\n\r\n@NgModule({\r\n\timports: [LuForGroupsDirective],\r\n\texports: [LuForGroupsDirective],\r\n})\r\nexport class LuForGroupsModule {}\r\n","import { NgForOf, NgForOfContext } from '@angular/common';\r\nimport { ChangeDetectorRef, Directive, forwardRef, Input, IterableDiffers, OnDestroy, TemplateRef, TrackByFunction, ViewContainerRef } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\r\n\r\n@Directive({\r\n\tselector: '[luForOptions]',\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuForOptionsDirective),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuForOptionsDirective<T> extends NgForOf<T> implements ILuOptionOperator<T>, OnDestroy {\r\n\toutOptions$;\r\n\tprotected _subs = new Subscription();\r\n\tset inOptions$(options$: Observable<T[]>) {\r\n\t\tthis._subs.add(\r\n\t\t\toptions$.subscribe((options) => {\r\n\t\t\t\tthis.ngForOf = options;\r\n\t\t\t\tthis._changeDetectionRef.markForCheck();\r\n\t\t\t}),\r\n\t\t);\r\n\t\tthis.outOptions$ = options$;\r\n\t}\r\n\t@Input()\r\n\tset luForOptionsTrackBy(fn: TrackByFunction<T>) {\r\n\t\tthis.ngForTrackBy = fn;\r\n\t}\r\n\r\n\tconstructor(_viewContainer: ViewContainerRef, _template: TemplateRef<NgForOfContext<T>>, _differs: IterableDiffers, protected _changeDetectionRef: ChangeDetectorRef) {\r\n\t\tsuper(_viewContainer, _template, _differs);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subs.unsubscribe();\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuForOptionsDirective } from './for-options.directive';\r\n\r\n@NgModule({\r\n\timports: [LuForOptionsDirective],\r\n\texports: [LuForOptionsDirective],\r\n})\r\nexport class LuForOptionsModule {}\r\n","import { Directive, forwardRef, OnDestroy } from '@angular/core';\r\n\r\nimport { ILuTree } from '@lucca-front/ng/core';\r\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\r\nimport { LuForOptionsDirective } from './for-options.directive';\r\n\r\n@Directive({\r\n\tselector: '[luForTreeOptions]',\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuForTreeOptionsDirective),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuForTreeOptionsDirective<T> extends LuForOptionsDirective<ILuTree<T>> implements ILuTreeOptionOperator<T>, OnDestroy {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuForTreeOptionsDirective } from './for-tree-options.directive';\r\n\r\n@NgModule({\r\n\timports: [LuForTreeOptionsDirective],\r\n\texports: [LuForTreeOptionsDirective],\r\n})\r\nexport class LuForTreeOptionsModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionFeederComponent } from './feeder';\r\nimport { LuForGroupsDirective } from './for-groups/index';\r\nimport { LuForOptionsDirective } from './for-options/index';\r\nimport { LuOptionPagerComponent } from './pager';\r\nimport { LuOptionSearcherComponent } from './searcher/index';\r\n\r\n@NgModule({\r\n\timports: [LuOptionPagerComponent, LuOptionFeederComponent, LuOptionSearcherComponent, LuForOptionsDirective, LuForGroupsDirective],\r\n\texports: [LuOptionPagerComponent, LuOptionFeederComponent, LuOptionSearcherComponent, LuForOptionsDirective, LuForGroupsDirective],\r\n})\r\nexport class LuOptionOperatorModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionFeederComponent } from './feeder/index';\r\nimport { LuForTreeOptionsDirective } from './for-options/index';\r\nimport { LuTreeOptionPagerComponent } from './pager/index';\r\nimport { LuTreeOptionSearcherModule } from './searcher/index';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionFeederComponent, LuForTreeOptionsDirective, LuTreeOptionPagerComponent, LuTreeOptionSearcherModule],\r\n\texports: [LuTreeOptionFeederComponent, LuForTreeOptionsDirective, LuTreeOptionPagerComponent, LuTreeOptionSearcherModule],\r\n})\r\nexport class LuTreeOptionOperatorModule {}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface ILuOptionSelector<T> {\r\n\tmultiple: boolean;\r\n\tonSelectValue: Observable<T | T[]>;\r\n\tsetValue(value: T | T[]): void;\r\n}\r\nexport abstract class ALuOptionSelector<T> implements ILuOptionSelector<T> {\r\n\tmultiple: boolean;\r\n\tabstract onSelectValue: Observable<T | T[]>;\r\n\tabstract setValue(value: T | T[]): void;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport const LU_OPTION_SELECT_ALL_TRANSLATIONS = new InjectionToken('LuOptionSelectAllTranslations', {\r\n\tfactory: () => luOptionSelectAllTranslations,\r\n});\r\n\r\nexport interface ILuOptionSelectAllLabel {\r\n\tselect: string;\r\n\tdeselect: string;\r\n}\r\n\r\nexport const luOptionSelectAllTranslations: ILuTranslation<ILuOptionSelectAllLabel> = {\r\n\ten: {\r\n\t\tselect: 'Select all',\r\n\t\tdeselect: 'Deselect all',\r\n\t},\r\n\tfr: {\r\n\t\tselect: 'Tout sélectionner',\r\n\t\tdeselect: 'Tout Déselectionner',\r\n\t},\r\n\tde: {\r\n\t\tselect: 'Alle auswählen',\r\n\t\tdeselect: 'Alle abwählen',\r\n\t},\r\n\tpt: {\r\n\t\tselect: 'Selecionar tudo',\r\n\t\tdeselect: 'Desselecionar tudo',\r\n\t},\r\n\tes: {\r\n\t\tselect: 'Seleccionar todo',\r\n\t\tdeselect: 'Desmarcar todo',\r\n\t},\r\n};\r\n","import { ChangeDetectionStrategy, Component, forwardRef, HostBinding } from '@angular/core';\r\nimport { getIntl } from '@lucca-front/ng/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { ALuOptionOperator } from '../../operator/option-operator.model';\r\nimport { ALuOptionSelector, ILuOptionSelector } from '../option-selector.model';\r\nimport { LU_OPTION_SELECT_ALL_TRANSLATIONS } from './select-all.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-option-select-all',\r\n\ttemplateUrl: './select-all.component.html',\r\n\tstyleUrls: ['select-all.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionSelectAllComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOptionSelector,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionSelectAllComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionSelectAllComponent<T> extends ALuOptionOperator<T> implements ILuOptionSelector<T> {\r\n\tmultiple = true;\r\n\tonSelectValue = new Subject<T | T[]>();\r\n\tprivate _values: T[];\r\n\r\n\t@HostBinding('class.position-fixed') fixed = true;\r\n\toptions: T[];\r\n\toutOptions$: Observable<T[]>;\r\n\tset inOptions$(in$: Observable<T[]>) {\r\n\t\tthis.outOptions$ = in$.pipe(tap((options) => (this.options = options)));\r\n\t}\r\n\r\n\tpublic intl = getIntl(LU_OPTION_SELECT_ALL_TRANSLATIONS);\r\n\r\n\tselectAll() {\r\n\t\tthis.onSelectValue.next([...this.options]);\r\n\t}\r\n\tdeselectAll() {\r\n\t\tthis.onSelectValue.next([]);\r\n\t}\r\n\tsetValue(values: T | T[]): void {\r\n\t\tthis._values = values as T[];\r\n\t}\r\n}\r\n","<button type=\"button\" (click)=\"selectAll()\" class=\"link selectAll-button\">{{ intl.select }}</button>\r\n<button type=\"button\" (click)=\"deselectAll()\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionSelectAllComponent } from './select-all.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionSelectAllComponent],\r\n\texports: [LuOptionSelectAllComponent],\r\n})\r\nexport class LuOptionSelectAllModule {}\r\n","import { ALuOptionSelector, ILuOptionSelector } from './option-selector.model';\r\n\r\nexport type ILuTreeOptionSelector<T> = ILuOptionSelector<T>;\r\nexport abstract class ALuTreeOptionSelector<T> extends ALuOptionSelector<T> implements ILuTreeOptionSelector<T> {}\r\n","import { ChangeDetectionStrategy, Component, forwardRef, HostBinding } from '@angular/core';\r\nimport { getIntl, ILuTree } from '@lucca-front/ng/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { ALuTreeOptionOperator } from '../../operator/index';\r\nimport { ALuTreeOptionSelector, ILuTreeOptionSelector } from '../tree-option-selector.model';\r\nimport { LU_OPTION_SELECT_ALL_TRANSLATIONS } from './select-all.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-tree-option-select-all',\r\n\ttemplateUrl: './select-all.component.html',\r\n\tstyleUrls: ['select-all.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSelectAllComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionSelector,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSelectAllComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionSelectAllComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionSelector<T> {\r\n\tmultiple = true;\r\n\tonSelectValue = new Subject<T | T[]>();\r\n\tprivate _values: T[];\r\n\r\n\t@HostBinding('class.position-fixed') fixed = true;\r\n\tflatOptions: T[];\r\n\toutOptions$: Observable<ILuTree<T>[]>;\r\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\r\n\t\tthis.outOptions$ = in$.pipe(tap((options) => (this.flatOptions = this.flattenTree(options))));\r\n\t}\r\n\r\n\tpublic intl = getIntl(LU_OPTION_SELECT_ALL_TRANSLATIONS);\r\n\r\n\tselectAll() {\r\n\t\tthis.onSelectValue.next([...this.flatOptions]);\r\n\t}\r\n\tdeselectAll() {\r\n\t\tthis.onSelectValue.next([]);\r\n\t}\r\n\tsetValue(values: T | T[]): void {\r\n\t\tthis._values = values as T[];\r\n\t}\r\n\r\n\tprivate flattenTree(tree: ILuTree<T>[] = []): T[] {\r\n\t\treturn tree.map((t) => [t.value, ...this.flattenTree(t.children)]).reduce((agg, cur) => [...agg, ...cur], []);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionSelectAllComponent } from './tree-select-all.component';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionSelectAllComponent],\r\n\texports: [LuTreeOptionSelectAllComponent],\r\n})\r\nexport class LuTreeOptionSelectAllModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionSelectAllModule } from './all/index';\r\n\r\n@NgModule({\r\n\timports: [LuOptionSelectAllModule],\r\n\texports: [LuOptionSelectAllModule],\r\n})\r\nexport class LuOptionSelectorModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionSelectAllModule } from './all/index';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionSelectAllModule],\r\n\texports: [LuTreeOptionSelectAllModule],\r\n})\r\nexport class LuTreeOptionSelectorModule {}\r\n","import { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { merge, Observable, Subscription } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { ILuOptionItem } from '../item/option-item.model';\r\n\r\nexport type ILuOptionPickerPanel<T> = ILuPickerPanel<T>;\r\n\r\nexport type LuOptionComparer<T> = (option1: T, option2: T) => boolean;\r\n\r\nexport abstract class ALuOptionPicker<T, O extends ILuOptionItem<T> = ILuOptionItem<T>> extends ALuPickerPanel<T> implements ILuOptionPickerPanel<T> {\r\n\tprotected _subs = new Subscription();\r\n\toverride onSelectValue: Observable<T | T[]>;\r\n\tprotected _value: T | T[];\r\n\tsetValue(value: T | T[]) {\r\n\t\tthis._value = value;\r\n\t\tthis._applySelected();\r\n\t}\r\n\tprivate __options$: Observable<O[]>;\r\n\tprotected get _options$() {\r\n\t\treturn this.__options$;\r\n\t}\r\n\tprotected set _options$(options$: Observable<O[]>) {\r\n\t\tthis.__options$ = options$;\r\n\t\t// reapply selected when the options change\r\n\t\tthis._subs.add(\r\n\t\t\toptions$.subscribe(() => {\r\n\t\t\t\tthis._applySelected();\r\n\t\t\t\tthis._applyHighlight();\r\n\t\t\t}),\r\n\t\t);\r\n\t\t// subscribe to any option.onSelect\r\n\t\tconst singleFlow$ = options$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelect))));\r\n\t\tthis._subs.add(singleFlow$.subscribe((option) => this._toggle(option)));\r\n\t}\r\n\tprotected optionComparer: LuOptionComparer<T> = (option1: T, option2: T) => JSON.stringify(option1) === JSON.stringify(option2);\r\n\tprotected _toggle(option: O) {\r\n\t\tconst value = option.value;\r\n\t\tif (!this.multiple) {\r\n\t\t\tthis._select(value);\r\n\t\t} else {\r\n\t\t\tconst values = <T[]>this._value || [];\r\n\t\t\tlet newValues: T[];\r\n\t\t\tif (values.some((v) => this.optionComparer(v, value))) {\r\n\t\t\t\t// value was present, we remove it\r\n\t\t\t\tnewValues = values.filter((v) => !this.optionComparer(v, value));\r\n\t\t\t} else {\r\n\t\t\t\t// value was absent, we add it\r\n\t\t\t\tnewValues = [...values, value];\r\n\t\t\t}\r\n\t\t\tthis._select(newValues);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _select(val: T | T[]) {\r\n\t\tthis._emitSelectValue(val);\r\n\t\tif (!this.multiple) {\r\n\t\t\tthis._emitCloseEvent();\r\n\t\t}\r\n\t}\r\n\tprotected abstract _applySelected();\r\n\tprotected abstract _applyHighlight();\r\n\tprotected destroy() {\r\n\t\tthis._subs.unsubscribe();\r\n\t}\r\n\toverride _handleKeydown(event: KeyboardEvent) {\r\n\t\tswitch (event.key) {\r\n\t\t\tcase 'Escape':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Tab':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected abstract _emitSelectValue(value: T | T[]);\r\n}\r\n","/* eslint-disable @angular-eslint/no-output-native */\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport {\r\n\tAfterViewInit,\r\n\tChangeDetectionStrategy,\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tContentChildren,\r\n\tDirective,\r\n\tEventEmitter,\r\n\tforwardRef,\r\n\tInject,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tQueryList,\r\n\tTemplateRef,\r\n\tViewChild,\r\n} from '@angular/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\nimport { merge, of } from 'rxjs';\r\nimport { delay, map, share } from 'rxjs/operators';\r\nimport { LuOptionItemComponent } from '../item';\r\nimport { ALuOptionItem } from '../item/option-item.model';\r\nimport { ALuOptionPicker, ILuOptionPickerPanel, LuOptionComparer } from './option-picker.model';\r\n\r\n@Directive()\r\nexport abstract class ALuOptionPickerComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>>\r\n\textends ALuOptionPicker<T, O>\r\n\timplements ILuOptionPickerPanel<T>, OnDestroy, AfterViewInit\r\n{\r\n\t/**\r\n\t * This method takes classes set on the host lu-popover element and applies them on the\r\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\r\n\t * to style the containing popover from outside the component.\r\n\t * @param classes list of class names\r\n\t */\r\n\t@Input('panel-classes')\r\n\tset inputPanelClasses(classes: string) {\r\n\t\tthis.panelClasses = classes;\r\n\t}\r\n\t/**\r\n\t * This method takes classes set on the host lu-popover element and applies them on the\r\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\r\n\t * to style the containing popover from outside the component.\r\n\t * @param classes list of class names\r\n\t */\r\n\t@Input('content-classes')\r\n\tset inputContentClasses(classes: string) {\r\n\t\tthis.contentClasses = classes;\r\n\t}\r\n\r\n\t/**\r\n\t * This method take a function that compare options from feeder and options from form value.\r\n\t * By default, compare JSON values.\r\n\t */\r\n\t@Input('option-comparer')\r\n\tset inputOptionComparer(comparer: LuOptionComparer<T>) {\r\n\t\tthis.optionComparer = comparer;\r\n\t}\r\n\r\n\t@Output() override close = new EventEmitter<void>();\r\n\t@Output() override open = new EventEmitter<void>();\r\n\t@Output() override hovered = new EventEmitter<boolean>();\r\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\r\n\t@Output() override onSelectValue = new EventEmitter<T>();\r\n\r\n\tprotected _isOptionItemsInitialized: boolean;\r\n\tprotected _defaultOverlayPaneClasses = ['mod-optionPicker'];\r\n\r\n\tprotected _options: O[] = [];\r\n\tprotected _optionsQL: QueryList<O>;\r\n\t@ContentChildren(ALuOptionItem, { descendants: true }) set optionsQL(ql: QueryList<O>) {\r\n\t\tthis._optionsQL = ql;\r\n\t}\r\n\r\n\tconstructor(protected _changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) protected document: Document) {\r\n\t\tsuper();\r\n\t\tthis._isOptionItemsInitialized = false;\r\n\t\tthis.overlayPaneClass = this._defaultOverlayPaneClasses;\r\n\t}\r\n\r\n\tprotected _emitSelectValue(val: T) {\r\n\t\tthis.onSelectValue.emit(val);\r\n\t}\r\n\tngOnDestroy() {\r\n\t\tsuper.destroy();\r\n\t}\r\n\t_emitOpenEvent(): void {\r\n\t\tthis.open.emit();\r\n\t}\r\n\t_emitCloseEvent(): void {\r\n\t\tthis.close.emit();\r\n\t}\r\n\t_emitHoveredEvent(h: boolean): void {\r\n\t\tthis.hovered.emit(h);\r\n\t}\r\n\toverride onOpen() {\r\n\t\tsuper.onOpen();\r\n\t\tthis.highlightIndex = -1;\r\n\t\tthis._incrHighlight();\r\n\t\tthis._applySelected();\r\n\t}\r\n\t@ViewChild(TemplateRef, { static: true })\r\n\tset vcTemplateRef(tr: TemplateRef<HTMLElement>) {\r\n\t\tthis.templateRef = tr;\r\n\t}\r\n\r\n\t// keydown\r\n\toverride _handleKeydown(event: KeyboardEvent) {\r\n\t\tsuper._handleKeydown(event);\r\n\t\tswitch (event.key) {\r\n\t\t\tcase 'Enter':\r\n\t\t\t\tthis._selectHighlighted();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'ArrowUp':\r\n\t\t\t\tthis._decrHighlight();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'ArrowDown':\r\n\t\t\t\tthis._incrHighlight();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\tprotected _highlightIndex = -1;\r\n\tget highlightIndex() {\r\n\t\treturn this._highlightIndex;\r\n\t}\r\n\tset highlightIndex(i: number) {\r\n\t\tthis._highlightIndex = i;\r\n\t\tthis._applyHighlight(true);\r\n\t}\r\n\tprotected _initHighlight() {\r\n\t\tthis._subs.add(\r\n\t\t\tthis._options$.subscribe((options) => {\r\n\t\t\t\tconst optionCount = options.length;\r\n\t\t\t\tconst newHighlight = Math.max(Math.min(this.highlightIndex, optionCount - 1), -1);\r\n\t\t\t\tif (newHighlight !== this.highlightIndex) {\r\n\t\t\t\t\tthis.highlightIndex = newHighlight;\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t);\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.highlightIndex = -1;\r\n\t\t}, 1);\r\n\t}\r\n\tprotected _incrHighlight() {\r\n\t\tconst nextIndex = this._options.findIndex((item, index) => index > this.highlightIndex && !item.disabled);\r\n\t\tthis.highlightIndex = nextIndex > -1 ? nextIndex : this._options.findIndex((item) => !item.disabled);\r\n\t}\r\n\tprotected _decrHighlight() {\r\n\t\t//NB: findLastIndex would be better but is not available on this project\r\n\t\tlet nextIndex = -1;\r\n\t\tfor (let i = this.highlightIndex - 1; i >= 0; --i) {\r\n\t\t\tif (!this._options[i].disabled) {\r\n\t\t\t\tnextIndex = i;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (nextIndex > -1) {\r\n\t\t\tthis.highlightIndex = nextIndex;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst optionsLength = this._options.length - 1;\r\n\t\tfor (let i = optionsLength; i >= 0; --i) {\r\n\t\t\tif (!this._options[i].disabled) {\r\n\t\t\t\tnextIndex = i;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.highlightIndex = nextIndex;\r\n\t}\r\n\tprotected _applyHighlight(reScroll = false) {\r\n\t\tif (!this.isOpen) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst options = this._options;\r\n\t\t// remove `is-highlighted` class from all other options\r\n\t\toptions.forEach((option) => (option.highlighted = false));\r\n\t\t// apply `is-highlighted` to current highlight\r\n\t\tconst highlightedOption = options[this.highlightIndex];\r\n\r\n\t\tif (highlightedOption) {\r\n\t\t\thighlightedOption.highlighted = true;\r\n\t\t\t// scroll to let the highlighted option visible\r\n\t\t\tif (reScroll) {\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis._scrollToHighlight(highlightedOption.element.nativeElement);\r\n\t\t\t\t}, 1);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis._changeDetectorRef.markForCheck();\r\n\t}\r\n\tprotected _scrollToHighlight(targetElt: HTMLElement) {\r\n\t\tif (!targetElt) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst contentElt = this.document.querySelector<HTMLElement>('.lu-picker-content');\r\n\t\tif (!contentElt) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst headerElt = this.document.querySelector<HTMLElement>('.lu-picker-content .lu-picker-header');\r\n\t\tconst headerHeight = headerElt ? headerElt.offsetHeight : 0;\r\n\t\tconst footerElt = this.document.querySelector<HTMLElement>('.lu-picker-content .lu-picker-footer');\r\n\t\tconst footerHeight = footerElt ? footerElt.offsetHeight : 0;\r\n\t\t// highlighted option is too high\r\n\t\tif (contentElt.scrollTop + headerHeight > targetElt.offsetTop) {\r\n\t\t\tcontentElt.scrollTop = targetElt.offsetTop - headerHeight;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// highlight option is too low\r\n\t\tconst offsetHeight = contentElt.offsetHeight;\r\n\t\tif (contentElt.scrollTop + offsetHeight - footerHeight < targetElt.offsetTop + targetElt.offsetHeight) {\r\n\t\t\tcontentElt.scrollTop = targetElt.offsetTop + targetElt.offsetHeight - offsetHeight + footerHeight;\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\tprotected _selectHighlighted() {\r\n\t\tconst options = this._options ? this._options : [];\r\n\t\tconst highlightedOption = options[this.highlightIndex];\r\n\t\tif (highlightedOption) {\r\n\t\t\tthis._toggle(highlightedOption);\r\n\t\t}\r\n\t}\r\n\tprotected _initSelected() {\r\n\t\tthis._subs.add(\r\n\t\t\tthis._options$.subscribe(() => {\r\n\t\t\t\tthis._applySelected();\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\tprotected _applySelected() {\r\n\t\tif (!this._options) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// const selectedClass = 'is-selected';\r\n\r\n\t\tconst options = this._options;\r\n\t\t// remove `is-selected` class from all other options\r\n\t\toptions.forEach((option) => (option.selected = false));\r\n\r\n\t\t// add `is-selected` to all selected indexes\r\n\t\tconst selectedIndexes: number[] = [];\r\n\t\tif (!this.multiple) {\r\n\t\t\tconst selectedIndex = this._options.findIndex((o) => this.optionComparer(o.value, this._value as T));\r\n\t\t\tif (selectedIndex !== -1) {\r\n\t\t\t\tselectedIndexes.push(selectedIndex);\r\n\t\t\t}\r\n\t\t\tif (selectedIndex !== -1 && this.highlightIndex === -1) {\r\n\t\t\t\tthis.highlightIndex = selectedIndex;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tconst values = <T[]>this._value || [];\r\n\t\t\tconst matchingIndexes = this._options\r\n\t\t\t\t.map((o) => values.some((v) => this.optionComparer(o.value, v)))\r\n\t\t\t\t.map((f, i) => (f ? i : null))\r\n\t\t\t\t.filter((i) => i !== null);\r\n\t\t\tselectedIndexes.push(...matchingIndexes);\r\n\t\t\t// selectedIndexes.push(\r\n\t\t\t// \t...values\r\n\t\t\t// \t.map(v => this._options.findIndex(o => this.optionComparer(o.value, v)))\r\n\t\t\t// \t.filter(i => i !== -1)\r\n\t\t\t// );\r\n\t\t}\r\n\t\tselectedIndexes.forEach((i) => {\r\n\t\t\tconst option = options[i];\r\n\t\t\tif (option) {\r\n\t\t\t\toption.selected = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected initItems() {\r\n\t\tconst items$ = merge(of(this._optionsQL), this._optionsQL.changes).pipe(\r\n\t\t\tmap<QueryList<O>, O[]>((q) => q.toArray()),\r\n\t\t\tdelay(0),\r\n\t\t\tshare(),\r\n\t\t);\r\n\t\titems$.subscribe((o) => (this._options = o || []));\r\n\t\tthis._options$ = items$;\r\n\t\tthis._initHighlight();\r\n\t\tthis._initSelected();\r\n\t}\r\n\tngAfterViewInit() {\r\n\t\tthis.initItems();\r\n\t}\r\n}\r\n/**\r\n * basic option picker panel\r\n */\r\n@Component({\r\n\tselector: 'lu-option-picker',\r\n\ttemplateUrl: './option-picker.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tanimations: [luTransformPopover],\r\n\texportAs: 'LuOptionPicker',\r\n\tstandalone: true,\r\n\timports: [CommonModule, OverlayModule, LuOptionItemComponent, A11yModule],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionPickerComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionPickerComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>> extends ALuOptionPickerComponent<T, O> {\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-option-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t[class.mod-multiple]=\"multiple\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { A11yModule } from '@angular/cdk/a11y';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, QueryList } from '@angular/core';\r\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\nimport { LuScrollDirective } from '@lucca-front/ng/scroll';\r\nimport { merge, Observable } from 'rxjs';\r\nimport { first, map, mergeAll, shareReplay, startWith } from 'rxjs/operators';\r\nimport { LuOptionItemComponent } from '../item';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../operator/index';\r\nimport { ALuOptionSelector, ILuOptionSelector } from '../selector/index';\r\nimport { ALuOptionPickerComponent } from './option-picker.component';\r\n\r\n@Directive()\r\nexport abstract class ALuOptionPickerAdvancedComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>>\r\n\textends ALuOptionPickerComponent<T, O>\r\n\timplements AfterViewInit\r\n{\r\n\tloading$: Observable<boolean>;\r\n\r\n\tprotected _operators: ILuOptionOperator<T>[] = [];\r\n\tprotected _operatorsQL: QueryList<ILuOptionOperator<T>>;\r\n\t@ContentChildren(ALuOptionOperator, { descendants: true }) set operatorsQL(ql: QueryList<ILuOptionOperator<T>>) {\r\n\t\tthis._operatorsQL = ql;\r\n\t}\r\n\tprotected _onOpenSubscribers: ILuOnOpenSubscriber[] = [];\r\n\t@ContentChildren(ALuOnOpenSubscriber, { descendants: true }) set onOpenSubsQL(ql: QueryList<ILuOnOpenSubscriber>) {\r\n\t\tthis._onOpenSubscribers = ql.toArray();\r\n\t}\r\n\tprotected _onCloseSubscribers: ILuOnCloseSubscriber[] = [];\r\n\t@ContentChildren(ALuOnCloseSubscriber, { descendants: true })\r\n\tset onCloseSubsQL(ql: QueryList<ILuOnCloseSubscriber>) {\r\n\t\tthis._onCloseSubscribers = ql.toArray();\r\n\t}\r\n\tprotected _onScrollBottomSubscribers: ILuOnScrollBottomSubscriber[] = [];\r\n\t@ContentChildren(ALuOnScrollBottomSubscriber, { descendants: true })\r\n\tset onScrollBottomSubsQL(ql: QueryList<ILuOnScrollBottomSubscriber>) {\r\n\t\tthis._onScrollBottomSubscribers = ql.toArray();\r\n\t}\r\n\tprotected _selectors: ILuOptionSelector<T>[] = [];\r\n\tprotected _selectorsQL: QueryList<ILuOptionSelector<T>>;\r\n\t@ContentChildren(ALuOptionSelector, { descendants: true }) set selectorsQL(ql: QueryList<ILuOptionSelector<T>>) {\r\n\t\tthis._selectorsQL = ql;\r\n\t}\r\n\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n\tonScrollBottom() {\r\n\t\tthis._onScrollBottomSubscribers.forEach((o: ILuOnScrollBottomSubscriber) => {\r\n\t\t\tif (!o.onScrollBottom) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\to.onScrollBottom();\r\n\t\t});\r\n\t}\r\n\toverride onOpen() {\r\n\t\tthis._onOpenSubscribers.forEach((o: ILuOnOpenSubscriber) => {\r\n\t\t\to.onOpen();\r\n\t\t});\r\n\t\tconst operators = this._operators || [];\r\n\t\tconst lastOperator = operators[operators.length - 1];\r\n\t\tif (lastOperator && lastOperator.outOptions$) {\r\n\t\t\tthis.loading$ = lastOperator.outOptions$.pipe(\r\n\t\t\t\tfirst(),\r\n\t\t\t\tmap(() => false),\r\n\t\t\t\tstartWith(true),\r\n\t\t\t\tshareReplay(),\r\n\t\t\t);\r\n\t\t}\r\n\t\tsuper.onOpen();\r\n\t}\r\n\toverride onClose() {\r\n\t\tthis._onCloseSubscribers.forEach((o: ILuOnCloseSubscriber) => {\r\n\t\t\to.onClose();\r\n\t\t});\r\n\t\tsuper.onClose();\r\n\t}\r\n\toverride setValue(value: T | T[]) {\r\n\t\tsuper.setValue(value);\r\n\t\tthis._selectors.forEach((s) => s.setValue(value));\r\n\t}\r\n\tprotected initOperators() {\r\n\t\tconst operators = this._operatorsQL.toArray();\r\n\t\tthis._operators = operators;\r\n\t\tlet options$: Observable<T[]>;\r\n\t\toperators.forEach((operator) => {\r\n\t\t\toperator.inOptions$ = options$;\r\n\t\t\toptions$ = operator.outOptions$;\r\n\t\t});\r\n\t}\r\n\tprotected initSelectors() {\r\n\t\t// TODO : FIX changes type\r\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n\t\tconst selectors$: Observable<ILuOptionSelector<T>[]> = this._selectorsQL.changes.pipe(startWith(this._selectorsQL.toArray()));\r\n\t\tthis._subs.add(\r\n\t\t\tselectors$.subscribe((selectors) => {\r\n\t\t\t\tthis._selectors = selectors;\r\n\t\t\t\tthis._selectors.forEach((s) => s.setValue(this._value));\r\n\t\t\t\tthis._subs.add(\r\n\t\t\t\t\tmerge(this._selectors.map((s) => s.onSelectValue))\r\n\t\t\t\t\t\t.pipe(mergeAll())\r\n\t\t\t\t\t\t.subscribe((values) => {\r\n\t\t\t\t\t\t\tthis._select(values);\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t);\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\toverride ngAfterViewInit() {\r\n\t\tsuper.ngAfterViewInit();\r\n\t\tthis.initOperators();\r\n\t\tthis.initSelectors();\r\n\t}\r\n}\r\n\r\n/**\r\n * advanced option picker panel\r\n */\r\n@Component({\r\n\tselector: 'lu-option-picker-advanced',\r\n\ttemplateUrl: './option-picker-advanced.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tanimations: [luTransformPopover],\r\n\texportAs: 'LuOptionPickerAdvanced',\r\n\tstandalone: true,\r\n\timports: [CommonModule, OverlayModule, LuOptionItemComponent, LuScrollDirective, A11yModule],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionPickerAdvancedComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionPickerAdvancedComponent<\r\n\tT,\r\n\tO extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>,\r\n> extends ALuOptionPickerAdvancedComponent<T, O> {\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-option-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t[class.mod-multiple]=\"multiple\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div\r\n\t\t\t[class.is-loading]=\"loading$ | async\"\r\n\t\t\tclass=\"lu-picker-content\"\r\n\t\t\t[ngClass]=\"contentClassesMap\"\r\n\t\t\t[cdkTrapFocus]=\"trapFocus\"\r\n\t\t\tluScroll\r\n\t\t\t(onScrollBottom)=\"onScrollBottom()\"\r\n\t\t>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t\t<div *ngIf=\"loading$ | async\" class=\"loading lu-picker-loading\"></div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionItemComponent } from '../item/index';\r\nimport { LuOptionPickerAdvancedComponent } from './option-picker-advanced.component';\r\nimport { LuOptionPickerComponent } from './option-picker.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionPickerComponent, LuOptionPickerAdvancedComponent, LuOptionItemComponent],\r\n\texports: [LuOptionPickerComponent, LuOptionPickerAdvancedComponent, LuOptionItemComponent],\r\n})\r\nexport class LuOptionPickerModule {}\r\n","import { A11yModule } from '@angular/cdk/a11y';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, OnDestroy, QueryList, ViewContainerRef } from '@angular/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\nimport { merge, Observable } from 'rxjs';\r\nimport { delay, map, startWith, switchMap } from 'rxjs/operators';\r\nimport { ALuTreeOptionItem } from '../item/index';\r\nimport { ALuOptionPickerComponent } from './option-picker.component';\r\nimport { ILuTreeOptionPickerPanel } from './tree-option-picker.model';\r\n\r\nenum ToggleMode {\r\n\tall,\r\n\tself,\r\n\tchildren,\r\n}\r\n\r\n@Directive()\r\nexport abstract class ALuTreeOptionPickerComponent<T, O extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>>\r\n\textends ALuOptionPickerComponent<T, O>\r\n\timplements ILuTreeOptionPickerPanel<T>, OnDestroy, AfterViewInit\r\n{\r\n\t@ContentChildren(ALuTreeOptionItem, { descendants: true })\r\n\toverride set optionsQL(ql: QueryList<O>) {\r\n\t\tthis._optionsQL = ql;\r\n\t}\r\n\t@ContentChildren(ALuTreeOptionItem, {\r\n\t\tdescendants: true,\r\n\t\tread: ViewContainerRef,\r\n\t})\r\n\toptionsQLVR: QueryList<ViewContainerRef>;\r\n\tprotected override set _options$(optionItems$: Observable<O[]>) {\r\n\t\t// reapply selected when the options change\r\n\t\tthis._subs.add(optionItems$.subscribe(() => this._applySelected()));\r\n\t\t// subscribe to any option.onSelect\r\n\t\tconst singleFlowSelect$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelect))));\r\n\t\tconst singleFlowSelectSelf$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelectSelf))));\r\n\t\tconst singleFlowSelectChildren$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelectChildren))));\r\n\r\n\t\tthis._subs.add(singleFlowSelect$.subscribe((option) => this._toggle(option, ToggleMode.all)));\r\n\t\tthis._subs.add(singleFlowSelectSelf$.subscribe((option) => this._toggle(option, ToggleMode.self)));\r\n\t\tthis._subs.add(singleFlowSelectChildren$.subscribe((option) => this._toggle(option, ToggleMode.children)));\r\n\t}\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n\tprotected override _toggle(option: O, mod = ToggleMode.all) {\r\n\t\tswitch (mod) {\r\n\t\t\tcase ToggleMode.self:\r\n\t\t\t\treturn this._toggleSelf(option);\r\n\t\t\tcase ToggleMode.children:\r\n\t\t\t\treturn this._toggleChildren(option);\r\n\t\t\tdefault:\r\n\t\t\t\treturn this._toggleAll(option);\r\n\t\t}\r\n\t}\r\n\tprotected _toggleAll(option: O) {\r\n\t\tconst value = option.value;\r\n\t\tif (!this.multiple) {\r\n\t\t\tthis._select(value);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\r\n\t\tconst values = <T[]>this._value || [];\r\n\t\tlet newValues: T[];\r\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\r\n\t\tconst allChildrenSelected = allChildren.every((child) => values.some((v) => this.optionComparer(v, child)));\r\n\t\tif (selfSelected && allChildrenSelected) {\r\n\t\t\t// remove option and its children\r\n\t\t\tnewValues = this._remove(values, [value, ...allChildren]);\r\n\t\t} else {\r\n\t\t\t// add option and its children\r\n\t\t\tnewValues = this._add(values, [value, ...allChildren]);\r\n\t\t}\r\n\t\tthis._select(newValues);\r\n\t}\r\n\tprotected _toggleSelf(option: O) {\r\n\t\tconst value = option.value;\r\n\t\tif (!this.multiple) {\r\n\t\t\tthis._select(value);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\r\n\t\tconst values = <T[]>this._value || [];\r\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\r\n\t\tconst someChildSelected = allChildren.some((child) => values.some((v) => this.optionComparer(v, child)));\r\n\r\n\t\tlet newValues = this._remove(values, [...allChildren]);\r\n\t\tif (selfSelected && !someChildSelected) {\r\n\t\t\t// remove option\r\n\t\t\tnewValues = this._remove(newValues, [value]);\r\n\t\t} else {\r\n\t\t\t// add option\r\n\t\t\tnewValues = this._add(newValues, [value]);\r\n\t\t}\r\n\t\tthis._select(newValues);\r\n\t}\r\n\tprotected _toggleChildren(option: O) {\r\n\t\tconst value = option.value;\r\n\t\tif (!this.multiple) {\r\n\t\t\tthis._select(value);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\r\n\t\tconst values = <T[]>this._value || [];\r\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\r\n\t\tlet newValues = this._remove(values, [value]);\r\n\t\tconst allChildrenSelected = allChildren.every((child) => values.some((v) => this.optionComparer(v, child)));\r\n\t\tif (allChildrenSelected && !selfSelected) {\r\n\t\t\tnewValues = this._remove(newValues, allChildren);\r\n\t\t} else {\r\n\t\t\tnewValues = this._add(newValues, allChildren);\r\n\t\t}\r\n\t\tthis._select(newValues);\r\n\t}\r\n\tprotected _add(values: T[], entries: T[]): T[] {\r\n\t\tconst newEntries = entries.filter((entry) => !values.some((v) => this.optionComparer(v, entry)));\r\n\t\treturn [...values, ...newEntries];\r\n\t}\r\n\tprotected _remove(values: T[], entries: T[]): T[] {\r\n\t\tconst entriesToKeep = values.filter((value) => !entries.some((e) => this.optionComparer(e, value)));\r\n\t\treturn [...entriesToKeep];\r\n\t}\r\n\r\n\tprotected override initItems() {\r\n\t\tconst items$ = this._optionsQL.changes.pipe(\r\n\t\t\tstartWith(this._optionsQL),\r\n\t\t\tmap<QueryList<O>, O[]>((q) => q.toArray()),\r\n\t\t\tmap((roots) => roots.map((r) => [r, ...r.allChildren]).reduce((agg, val) => [...agg, ...val], [])),\r\n\t\t\tdelay(0),\r\n\t\t);\r\n\t\tthis._subs.add(items$.subscribe((o) => (this._options = o || [])));\r\n\t\tthis._options$ = items$;\r\n\t}\r\n\toverride ngAfterViewInit() {\r\n\t\tthis.initItems();\r\n\t}\r\n}\r\n/**\r\n * basic tree option picker panel\r\n */\r\n@Component({\r\n\tselector: 'lu-tree-option-picker',\r\n\ttemplateUrl: './tree-option-picker.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tanimations: [luTransformPopover],\r\n\texportAs: 'LuTreeOptionPicker',\r\n\tstandalone: true,\r\n\timports: [CommonModule, A11yModule],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPickerComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionPickerComponent<\r\n\tT,\r\n\tO extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>,\r\n> extends ALuTreeOptionPickerComponent<T, O> {\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-tree-option-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t[class.mod-multiple]=\"multiple\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { A11yModule } from '@angular/cdk/a11y';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, QueryList } from '@angular/core';\r\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuTree } from '@lucca-front/ng/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\nimport { merge, Observable } from 'rxjs';\r\nimport { first, map, mergeAll, shareReplay, startWith } from 'rxjs/operators';\r\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../operator/index';\r\nimport { ALuTreeOptionSelector, ILuTreeOptionSelector } from '../selector/index';\r\nimport { ALuTreeOptionPickerComponent } from './tree-option-picker.component';\r\n\r\n@Directive()\r\nexport abstract class ALuTreeOptionPickerAdvancedComponent<T, O extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>>\r\n\textends ALuTreeOptionPickerComponent<T, O>\r\n\timplements AfterViewInit\r\n{\r\n\tloading$: Observable<boolean>;\r\n\r\n\tprotected _operators: ILuTreeOptionOperator<T>[] = [];\r\n\tprotected _operatorsQL: QueryList<ILuTreeOptionOperator<T>>;\r\n\t@ContentChildren(ALuTreeOptionOperator, { descendants: true })\r\n\tset operatorsQL(ql: QueryList<ILuTreeOptionOperator<T>>) {\r\n\t\tthis._operatorsQL = ql;\r\n\t}\r\n\tprotected _onOpenSubscribers: ILuOnOpenSubscriber[] = [];\r\n\t@ContentChildren(ALuOnOpenSubscriber, { descendants: true }) set onOpenSubsQL(ql: QueryList<ILuOnOpenSubscriber>) {\r\n\t\tthis._onOpenSubscribers = ql.toArray();\r\n\t}\r\n\tprotected _onCloseSubscribers: ILuOnCloseSubscriber[] = [];\r\n\t@ContentChildren(ALuOnCloseSubscriber, { descendants: true })\r\n\tset onCloseSubsQL(ql: QueryList<ILuOnCloseSubscriber>) {\r\n\t\tthis._onCloseSubscribers = ql.toArray();\r\n\t}\r\n\tprotected _onScrollBottomSubscribers: ILuOnScrollBottomSubscriber[] = [];\r\n\t@ContentChildren(ALuOnScrollBottomSubscriber, { descendants: true })\r\n\tset onScrollBottomSubsQL(ql: QueryList<ILuOnScrollBottomSubscriber>) {\r\n\t\tthis._onScrollBottomSubscribers = ql.toArray();\r\n\t}\r\n\r\n\tprotected _selectorsQL: QueryList<ILuTreeOptionSelector<T>>;\r\n\tprotected _selectors: ILuTreeOptionSelector<T>[] = [];\r\n\t@ContentChildren(ALuTreeOptionSelector, { descendants: true })\r\n\tset selectorsQL(ql: QueryList<ILuTreeOptionSelector<T>>) {\r\n\t\tthis._selectorsQL = ql;\r\n\t}\r\n\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n\tonScrollBottom() {\r\n\t\tthis._onScrollBottomSubscribers.forEach((o) => {\r\n\t\t\tif (!o.onScrollBottom) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\to.onScrollBottom();\r\n\t\t});\r\n\t}\r\n\toverride onOpen() {\r\n\t\tthis._onOpenSubscribers.forEach((o) => {\r\n\t\t\to.onOpen();\r\n\t\t});\r\n\t\tsuper.onOpen();\r\n\t}\r\n\toverride onClose() {\r\n\t\tthis._onCloseSubscribers.forEach((o) => {\r\n\t\t\to.onClose();\r\n\t\t});\r\n\t\tsuper.onClose();\r\n\t}\r\n\toverride setValue(value: T | T[]) {\r\n\t\tsuper.setValue(value);\r\n\t\tthis._selectors.forEach((s) => s.setValue(value));\r\n\t}\r\n\r\n\tprotected initOperators() {\r\n\t\tconst operators = this._operatorsQL.toArray();\r\n\t\tthis._operators = operators;\r\n\t\tlet options$: Observable<ILuTree<T>[]>;\r\n\t\toperators.forEach((operator) => {\r\n\t\t\toperator.inOptions$ = options$;\r\n\t\t\toptions$ = operator.outOptions$;\r\n\t\t});\r\n\t\tconst lastOperator = operators[operators.length - 1];\r\n\t\tif (lastOperator && lastOperator.outOptions$) {\r\n\t\t\tthis.loading$ = lastOperator.outOptions$.pipe(\r\n\t\t\t\tfirst(),\r\n\t\t\t\tmap(() => false),\r\n\t\t\t\tstartWith(true),\r\n\t\t\t\tshareReplay(),\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\tprotected initSelectors() {\r\n\t\tthis._selectors = this._selectorsQL.toArray();\r\n\t\tthis._subs.add(\r\n\t\t\tmerge(this._selectors.map((s) => s.onSelectValue))\r\n\t\t\t\t.pipe(mergeAll())\r\n\t\t\t\t.subscribe((values) => {\r\n\t\t\t\t\tthis._select(values);\r\n\t\t\t\t}),\r\n\t\t);\r\n\t}\r\n\toverride ngAfterViewInit() {\r\n\t\tsuper.ngAfterViewInit();\r\n\t\tthis.initOperators();\r\n\t\tthis.initSelectors();\r\n\t}\r\n}\r\n\r\n/**\r\n * advanced option picker panel\r\n */\r\n@Component({\r\n\tselector: 'lu-tree-option-picker-advanced',\r\n\ttemplateUrl: './tree-option-picker-advanced.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tanimations: [luTransformPopover],\r\n\texportAs: 'LuOptionPicker',\r\n\tstandalone: true,\r\n\timports: [CommonModule, A11yModule],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPickerAdvancedComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionPickerAdvancedComponent<\r\n\tT,\r\n\tO extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>,\r\n> extends ALuTreeOptionPickerAdvancedComponent<T, O> {\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-tree-option-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t[class.mod-multiple]=\"multiple\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\" luScroll (onScrollBottom)=\"onScrollBottom()\">\r\n\t\t\t<ng-content [class.is-loading]=\"loading$ | async\"></ng-content>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { A11yModule } from '@angular/cdk/a11y';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { LuScrollDirective } from '@lucca-front/ng/scroll';\r\nimport { LuTreeOptionPickerAdvancedComponent } from './tree-option-picker-advanced.component';\r\nimport { LuTreeOptionPickerComponent } from './tree-option-picker.component';\r\n\r\n@NgModule({\r\n\timports: [CommonModule, OverlayModule, LuScrollDirective, A11yModule, LuTreeOptionPickerAdvancedComponent, LuTreeOptionPickerComponent],\r\n\texports: [LuTreeOptionPickerComponent, LuTreeOptionPickerAdvancedComponent],\r\n})\r\nexport class LuTreeOptionPickerModule {}\r\n","import { ILuTreeOptionItem } from '../item/index';\r\nimport { ALuOptionPicker, ILuOptionPickerPanel } from './option-picker.model';\r\n\r\nexport type ILuTreeOptionPickerPanel<T> = ILuOptionPickerPanel<T>;\r\n\r\nexport abstract class ALuTreeOptionPicker<T, I extends ILuTreeOptionItem<T> = ILuTreeOptionItem<T>> extends ALuOptionPicker<T, I> implements ILuTreeOptionPickerPanel<T> {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionItemComponent } from './item/index';\r\nimport { LuForGroupsDirective, LuForOptionsDirective, LuOptionFeederComponent, LuOptionPagerComponent, LuOptionSearcherComponent } from './operator/index';\r\nimport { LuOptionPickerAdvancedComponent, LuOptionPickerComponent } from './picker/index';\r\nimport { LuOptionPlaceholderComponent } from './placeholder/index';\r\nimport { LuOptionSelectAllComponent } from './selector/index';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tLuOptionItemComponent,\r\n\t\tLuOptionPickerComponent,\r\n\t\tLuOptionPickerAdvancedComponent,\r\n\t\tLuOptionPagerComponent,\r\n\t\tLuOptionFeederComponent,\r\n\t\tLuOptionSearcherComponent,\r\n\t\tLuForOptionsDirective,\r\n\t\tLuForGroupsDirective,\r\n\t\tLuOptionSelectAllComponent,\r\n\t\tLuOptionPlaceholderComponent,\r\n\t],\r\n\texports: [\r\n\t\tLuOptionItemComponent,\r\n\t\tLuOptionPickerAdvancedComponent,\r\n\t\tLuOptionPickerComponent,\r\n\t\tLuOptionPagerComponent,\r\n\t\tLuOptionFeederComponent,\r\n\t\tLuOptionSearcherComponent,\r\n\t\tLuForOptionsDirective,\r\n\t\tLuForGroupsDirective,\r\n\t\tLuOptionSelectAllComponent,\r\n\t\tLuOptionPlaceholderComponent,\r\n\t],\r\n})\r\nexport class LuOptionModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionItemModule } from './item/index';\r\nimport { LuTreeOptionPickerModule } from './picker/index';\r\nimport { LuTreeOptionOperatorModule } from './operator/index';\r\nimport { LuTreeOptionSelectorModule } from './selector/index';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionItemModule, LuTreeOptionPickerModule, LuTreeOptionOperatorModule, LuTreeOptionSelectorModule],\r\n\texports: [LuTreeOptionItemModule, LuTreeOptionPickerModule, LuTreeOptionOperatorModule, LuTreeOptionSelectorModule],\r\n})\r\nexport class LuTreeOptionModule {}\r\n","/*\r\n * Public API Surface of scroll\r\n */\r\n\r\nexport * from './lib/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MAGIC_STEP","i1"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-option.mjs","sources":["../../../packages/ng/option/src/lib/item/option-item.model.ts","../../../packages/ng/option/src/lib/item/option-item.component.ts","../../../packages/ng/option/src/lib/item/option-item.component.html","../../../packages/ng/option/src/lib/item/option-item.module.ts","../../../packages/ng/option/src/lib/item/tree-option-item.model.ts","../../../packages/ng/option/src/lib/item/tree-option-item.translate.ts","../../../packages/ng/option/src/lib/item/tree-option-item.component.ts","../../../packages/ng/option/src/lib/item/tree-option-item.component.html","../../../packages/ng/option/src/lib/item/tree-option-item.module.ts","../../../packages/ng/option/src/lib/operator/option-operator.model.ts","../../../packages/ng/option/src/lib/operator/feeder/option-feeder.component.ts","../../../packages/ng/option/src/lib/operator/feeder/option-feeder.module.ts","../../../packages/ng/option/src/lib/operator/tree-option-operator.model.ts","../../../packages/ng/option/src/lib/operator/feeder/tree-option-feeder.component.ts","../../../packages/ng/option/src/lib/operator/feeder/tree-option-feeder.module.ts","../../../packages/ng/option/src/lib/operator/pager/option-pager.component.ts","../../../packages/ng/option/src/lib/operator/pager/option-pager.module.ts","../../../packages/ng/option/src/lib/operator/pager/tree-option-pager.component.ts","../../../packages/ng/option/src/lib/operator/pager/tree-option-pager.module.ts","../../../packages/ng/option/src/lib/placeholder/option-placeholder.translate.ts","../../../packages/ng/option/src/lib/placeholder/option-placeholder.component.ts","../../../packages/ng/option/src/lib/placeholder/option-placeholder.component.html","../../../packages/ng/option/src/lib/placeholder/option-placeholder.module.ts","../../../packages/ng/option/src/lib/operator/searcher/option-searcher.component.ts","../../../packages/ng/option/src/lib/operator/searcher/option-searcher.component.html","../../../packages/ng/option/src/lib/operator/searcher/option-searcher.module.ts","../../../packages/ng/option/src/lib/operator/searcher/tree-option-searcher.component.ts","../../../packages/ng/option/src/lib/operator/searcher/tree-option-searcher.module.ts","../../../packages/ng/option/src/lib/operator/for-groups/for-groups.directive.ts","../../../packages/ng/option/src/lib/operator/for-groups/for-groups.module.ts","../../../packages/ng/option/src/lib/operator/for-options/for-options.directive.ts","../../../packages/ng/option/src/lib/operator/for-options/for-options.module.ts","../../../packages/ng/option/src/lib/operator/for-options/for-tree-options.directive.ts","../../../packages/ng/option/src/lib/operator/for-options/for-tree-options.module.ts","../../../packages/ng/option/src/lib/operator/option-operator.module.ts","../../../packages/ng/option/src/lib/operator/tree-option-operator.module.ts","../../../packages/ng/option/src/lib/selector/option-selector.model.ts","../../../packages/ng/option/src/lib/selector/all/select-all.translate.ts","../../../packages/ng/option/src/lib/selector/all/select-all.component.ts","../../../packages/ng/option/src/lib/selector/all/select-all.component.html","../../../packages/ng/option/src/lib/selector/all/select-all.module.ts","../../../packages/ng/option/src/lib/selector/tree-option-selector.model.ts","../../../packages/ng/option/src/lib/selector/all/tree-select-all.component.ts","../../../packages/ng/option/src/lib/selector/all/tree-select-all.module.ts","../../../packages/ng/option/src/lib/selector/option-selector.module.ts","../../../packages/ng/option/src/lib/selector/tree-option-selector.module.ts","../../../packages/ng/option/src/lib/picker/option-picker.model.ts","../../../packages/ng/option/src/lib/picker/option-picker.component.ts","../../../packages/ng/option/src/lib/picker/option-picker.component.html","../../../packages/ng/option/src/lib/picker/option-picker-advanced.component.ts","../../../packages/ng/option/src/lib/picker/option-picker-advanced.component.html","../../../packages/ng/option/src/lib/picker/option-picker.module.ts","../../../packages/ng/option/src/lib/picker/tree-option-picker.component.ts","../../../packages/ng/option/src/lib/picker/tree-option-picker.component.html","../../../packages/ng/option/src/lib/picker/tree-option-picker-advanced.component.ts","../../../packages/ng/option/src/lib/picker/tree-option-picker-advanced.component.html","../../../packages/ng/option/src/lib/picker/tree-option-picker.module.ts","../../../packages/ng/option/src/lib/picker/tree-option-picker.model.ts","../../../packages/ng/option/src/lib/option.module.ts","../../../packages/ng/option/src/lib/tree-option.module.ts","../../../packages/ng/option/src/public-api.ts","../../../packages/ng/option/src/lucca-front-ng-option.ts"],"sourcesContent":["import { ElementRef } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface ILuOptionItem<T> {\r\n\tvalue: T;\r\n\tonSelect: Observable<this>;\r\n\telement: ElementRef<HTMLElement>;\r\n\tselected: boolean;\r\n\thighlighted: boolean;\r\n\tdisabled: boolean;\r\n}\r\nexport abstract class ALuOptionItem<T> implements ILuOptionItem<T> {\r\n\tabstract value: T;\r\n\tabstract onSelect: Observable<this>;\r\n\tabstract element: ElementRef;\r\n\tabstract selected: boolean;\r\n\tabstract highlighted: boolean;\r\n\tabstract disabled: boolean;\r\n}\r\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\r\nimport { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';\r\nimport { ALuOptionItem, ILuOptionItem } from './option-item.model';\r\n\r\n@Component({\r\n\tselector: 'lu-option',\r\n\ttemplateUrl: './option-item.component.html',\r\n\tstyleUrls: ['./option-item.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\timports: [CommonModule],\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionItem,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionItemComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionItemComponent<T> extends ALuOptionItem<T> implements ILuOptionItem<T> {\r\n\tprotected _selected = false;\r\n\tget selected() {\r\n\t\treturn this._selected;\r\n\t}\r\n\t@Input() set selected(s: boolean) {\r\n\t\tif (s !== this._selected) {\r\n\t\t\tthis._selected = s;\r\n\t\t\tthis._cdr.markForCheck();\r\n\t\t}\r\n\t}\r\n\tprotected _highlighted = false;\r\n\tget highlighted() {\r\n\t\treturn this._highlighted;\r\n\t}\r\n\t@Input() set highlighted(h: boolean) {\r\n\t\tif (h !== this._highlighted) {\r\n\t\t\tthis._highlighted = h;\r\n\t\t\tthis._cdr.markForCheck();\r\n\t\t}\r\n\t}\r\n\t@Input() value: T;\r\n\t@Output() onSelect = new EventEmitter<this>();\r\n\tselect() {\r\n\t\tif (!this.disabled) {\r\n\t\t\tthis.onSelect.emit(this);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _disabled = false;\r\n\tget disabled() {\r\n\t\treturn this._disabled;\r\n\t}\r\n\t@Input() set disabled(d: boolean) {\r\n\t\tthis._disabled = d;\r\n\t}\r\n\r\n\t@ViewChild('element', { read: ElementRef, static: true }) element: ElementRef;\r\n\tconstructor(private _cdr: ChangeDetectorRef) {\r\n\t\tsuper();\r\n\t}\r\n}\r\n","<div class=\"optionItem\" #element>\r\n\t<div\r\n\t\tclass=\"optionItem-value\"\r\n\t\t(click)=\"select()\"\r\n\t\t[class.is-selected]=\"selected\"\r\n\t\t[class.is-highlighted]=\"highlighted\"\r\n\t\t[class.is-disabled]=\"disabled\"\r\n\t>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionItemComponent } from './option-item.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionItemComponent],\r\n\texports: [LuOptionItemComponent],\r\n})\r\nexport class LuOptionItemModule {}\r\n","import { Observable } from 'rxjs';\r\nimport { ALuOptionItem, ILuOptionItem } from './option-item.model';\r\n\r\nexport interface ILuTreeOptionItem<T> extends ILuOptionItem<T> {\r\n\tchildren: this[];\r\n\tallChildren: this[];\r\n\r\n\tonSelectSelf: Observable<this>;\r\n\tonSelectChildren: Observable<this>;\r\n}\r\nexport abstract class ALuTreeOptionItem<T> extends ALuOptionItem<T> implements ILuTreeOptionItem<T> {\r\n\tabstract children: this[];\r\n\tget allChildren(): this[] {\r\n\t\treturn this.children.map((c) => [c, ...c.allChildren]).reduce((aggr, val) => [...aggr, ...val], []);\r\n\t}\r\n\tabstract onSelectSelf: Observable<this>;\r\n\tabstract onSelectChildren: Observable<this>;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport const LU_TREE_OPTION_ITEM_TRANSLATIONS = new InjectionToken('LuTreeOptionItemTranslations', {\r\n\tfactory: () => luTreeOptionItemTranslations,\r\n});\r\n\r\nexport interface ILuTreeOptionItemLabel {\r\n\tparentOnly: string;\r\n\tchildrenOnly: string;\r\n}\r\n\r\nexport const luTreeOptionItemTranslations: ILuTranslation<ILuTreeOptionItemLabel> = {\r\n\ten: {\r\n\t\tparentOnly: 'Parent only',\r\n\t\tchildrenOnly: 'Children only',\r\n\t},\r\n\tfr: {\r\n\t\tparentOnly: 'Seulement le parent',\r\n\t\tchildrenOnly: 'Seulement les enfants',\r\n\t},\r\n};\r\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\r\nimport { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { getIntl, ILuTree } from '@lucca-front/ng/core';\r\nimport { ALuInputDisplayer, ILuInputDisplayer } from '@lucca-front/ng/input';\r\nimport { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';\r\nimport { ALuTreeOptionItem, ILuTreeOptionItem } from './tree-option-item.model';\r\nimport { LU_TREE_OPTION_ITEM_TRANSLATIONS } from './tree-option-item.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-tree-option',\r\n\ttemplateUrl: './tree-option-item.component.html',\r\n\tstyleUrls: ['./tree-option-item.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\timports: [CommonModule, LuTooltipTriggerDirective],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionItem,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionItemComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionItemComponent<T> extends ALuTreeOptionItem<T> implements ILuTreeOptionItem<T> {\r\n\tprotected _children: this[] = [];\r\n\tprotected _tree: ILuTree<T>;\r\n\tprotected _displayer: ILuInputDisplayer<T>;\r\n\t@ViewChild('value', { static: true, read: ViewContainerRef })\r\n\tprotected _valueVCR: ViewContainerRef;\r\n\t@ViewChild('children', { static: true, read: ViewContainerRef })\r\n\tprotected _childrenVCR: ViewContainerRef;\r\n\t@ViewChild('element', { read: ElementRef, static: true }) element: ElementRef;\r\n\r\n\t@Output() onSelect = new EventEmitter<this>();\r\n\t@Output() onSelectSelf = new EventEmitter<this>();\r\n\t@Output() onSelectChildren = new EventEmitter<this>();\r\n\tselect() {\r\n\t\tif (this.disabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.onSelect.emit(this);\r\n\t}\r\n\tselectSelf() {\r\n\t\tif (this.disabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.onSelectSelf.emit(this);\r\n\t}\r\n\tselectChildren() {\r\n\t\tthis.onSelectChildren.emit(this);\r\n\t}\r\n\r\n\t@Input() set tree(t: ILuTree<T>) {\r\n\t\tthis._tree = t;\r\n\t\tthis._renderValue(t.value);\r\n\t\tthis._renderChildren(t.children);\r\n\t}\r\n\tget value() {\r\n\t\treturn this._tree.value;\r\n\t}\r\n\tget children() {\r\n\t\treturn this._children;\r\n\t}\r\n\tset children(c) {\r\n\t\tthis._children = c;\r\n\t}\r\n\tget hasChildren() {\r\n\t\treturn !!this.children && this.children.length > 0;\r\n\t}\r\n\r\n\tprotected _selected = false;\r\n\tget selected() {\r\n\t\treturn this._selected;\r\n\t}\r\n\t@Input() set selected(s: boolean) {\r\n\t\tif (s !== this._selected && !this.disabled) {\r\n\t\t\tthis._selected = s;\r\n\t\t\tthis._cdr.markForCheck();\r\n\t\t}\r\n\t}\r\n\tprotected _highlighted = false;\r\n\tget highlighted() {\r\n\t\treturn this._highlighted;\r\n\t}\r\n\t@Input() set highlighted(h: boolean) {\r\n\t\tif (h !== this._highlighted) {\r\n\t\t\tthis._highlighted = h;\r\n\t\t\tthis._cdr.markForCheck();\r\n\t\t}\r\n\t}\r\n\tget disabled() {\r\n\t\treturn this._tree.disabled;\r\n\t}\r\n\r\n\t@ContentChild(ALuInputDisplayer, { static: true }) set _contentChildDisplayer(displayer: ILuInputDisplayer<T>) {\r\n\t\tthis._displayer = displayer;\r\n\t}\r\n\r\n\tpublic intl = getIntl(LU_TREE_OPTION_ITEM_TRANSLATIONS);\r\n\r\n\tconstructor(private _cdr: ChangeDetectorRef) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tprivate _renderValue(value: T) {\r\n\t\tconst evr = this._displayer.getViewRef(value);\r\n\t\tthis._valueVCR.clear();\r\n\t\tthis._valueVCR.insert(evr);\r\n\t}\r\n\tprivate _renderChildren(children: ILuTree<T>[] = []) {\r\n\t\tthis._childrenVCR.clear();\r\n\t\tthis.children = children.map((c) => {\r\n\t\t\tconst ref = this._childrenVCR.createComponent(LuTreeOptionItemComponent);\r\n\t\t\tref.instance._displayer = this._displayer;\r\n\t\t\tref.instance.tree = c;\r\n\t\t\treturn ref.instance as this; //yolo\r\n\t\t});\r\n\t}\r\n}\r\n","<div class=\"optionItem\" #element>\r\n\t<div\r\n\t\tclass=\"optionItem-value\"\r\n\t\t(click)=\"select()\"\r\n\t\t[class.is-disabled]=\"disabled\"\r\n\t\t[class.is-selected]=\"selected\"\r\n\t\t[class.is-highlighted]=\"highlighted\"\r\n\t>\r\n\t\t<ng-container #value></ng-container>\r\n\t</div>\r\n\t<div class=\"optionItem-icons\" *ngIf=\"hasChildren\">\r\n\t\t<span *ngIf=\"!_tree.disabled\" class=\"optionItem-icon parentOnly\" (click)=\"selectSelf()\" [luTooltip]=\"intl.parentOnly\">\r\n\t\t\t<svg class=\"optionItem-icon-shape\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\r\n\t\t\t\t<path\r\n\t\t\t\t\topacity=\"0.2\"\r\n\t\t\t\t\td=\"M8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18ZM8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18Z\"\r\n\t\t\t\t/>\r\n\t\t\t\t<path\r\n\t\t\t\t\td=\"M4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7ZM4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7Z\"\r\n\t\t\t\t/>\r\n\t\t\t</svg>\r\n\t\t</span>\r\n\t\t<span class=\"optionItem-icon childrenOnly\" (click)=\"selectChildren()\" [luTooltip]=\"intl.childrenOnly\">\r\n\t\t\t<svg class=\"optionItem-icon-shape\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\r\n\t\t\t\t<path\r\n\t\t\t\t\td=\"M8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18ZM8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18Z\"\r\n\t\t\t\t/>\r\n\t\t\t\t<path\r\n\t\t\t\t\topacity=\"0.2\"\r\n\t\t\t\t\td=\"M4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7ZM4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7Z\"\r\n\t\t\t\t/>\r\n\t\t\t</svg>\r\n\t\t</span>\r\n\t</div>\r\n</div>\r\n\r\n<div #children class=\"children\">\r\n\t<ng-container #children></ng-container>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionItemComponent } from './tree-option-item.component';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionItemComponent],\r\n\texports: [LuTreeOptionItemComponent],\r\n})\r\nexport class LuTreeOptionItemModule {}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface ILuOptionOperator<T> {\r\n\tinOptions$?: Observable<T[]>;\r\n\toutOptions$?: Observable<T[]>;\r\n}\r\nexport abstract class ALuOptionOperator<T> implements ILuOptionOperator<T> {\r\n\tabstract inOptions$?: Observable<T[]>;\r\n\tabstract outOptions$?: Observable<T[]>;\r\n}\r\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\r\n\r\n@Component({\r\n\tselector: 'lu-option-feeder',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionFeederComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionFeederComponent<T> implements ILuOptionOperator<T> {\r\n\toutOptions$ = new BehaviorSubject<T[]>([]);\r\n\t@Input() set options(options: T[]) {\r\n\t\tthis.outOptions$.next(options);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionFeederComponent } from './option-feeder.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionFeederComponent],\r\n\texports: [LuOptionFeederComponent],\r\n})\r\nexport class LuOptionFeederModule {}\r\n","import { ILuOptionOperator, ALuOptionOperator } from './option-operator.model';\r\nimport { ILuTree } from '@lucca-front/ng/core';\r\n\r\nexport type ILuTreeOptionOperator<T> = ILuOptionOperator<ILuTree<T>>;\r\n\r\nexport abstract class ALuTreeOptionOperator<T> extends ALuOptionOperator<ILuTree<T>> implements ILuTreeOptionOperator<T> {}\r\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\r\nimport { ILuTree } from '@lucca-front/ng/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\r\n\r\n@Component({\r\n\tselector: 'lu-tree-option-feeder',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionFeederComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionFeederComponent<T> implements ILuTreeOptionOperator<T> {\r\n\toutOptions$ = new BehaviorSubject<ILuTree<T>[]>([]);\r\n\t@Input() set options(options: ILuTree<T>[]) {\r\n\t\tthis.outOptions$.next(options);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionFeederComponent } from './tree-option-feeder.component';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionFeederComponent],\r\n\texports: [LuTreeOptionFeederComponent],\r\n})\r\nexport class LuTreeOptionFeederModule {}\r\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\r\nimport { ALuOnScrollBottomSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\r\nconst MAGIC_STEP = 10;\r\n@Component({\r\n\tselector: 'lu-option-pager',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionPagerComponent<T> extends ALuOptionOperator<T> implements ILuOptionOperator<T>, ILuOnScrollBottomSubscriber {\r\n\toutOptions$: Observable<T[]>;\r\n\tset inOptions$(in$: Observable<T[]>) {\r\n\t\tthis.outOptions$ = combineLatest([in$, this.paging$]).pipe(\r\n\t\t\tmap(([options, paging]) => {\r\n\t\t\t\treturn (options || []).slice(0, paging);\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\tpaging$ = new BehaviorSubject<number>(MAGIC_STEP);\r\n\tnext() {\r\n\t\tthis.paging$.next(this.paging$.value + MAGIC_STEP);\r\n\t}\r\n\tonScrollBottom() {\r\n\t\tthis.next();\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionPagerComponent } from './option-pager.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionPagerComponent],\r\n\texports: [LuOptionPagerComponent],\r\n})\r\nexport class LuOptionPagerModule {}\r\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\r\nimport { ALuOnScrollBottomSubscriber, ILuOnScrollBottomSubscriber, ILuTree } from '@lucca-front/ng/core';\r\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\r\nconst MAGIC_STEP = 10;\r\n@Component({\r\n\tselector: 'lu-tree-option-pager',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tstandalone: true,\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionPagerComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionOperator<T>, ILuOnScrollBottomSubscriber {\r\n\toutOptions$: Observable<ILuTree<T>[]>;\r\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\r\n\t\tthis.outOptions$ = combineLatest([in$, this.paging$]).pipe(\r\n\t\t\tmap(([options, paging]) => {\r\n\t\t\t\treturn this.trim(options, paging);\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\tpaging$ = new BehaviorSubject<number>(MAGIC_STEP);\r\n\tnext() {\r\n\t\tthis.paging$.next(this.paging$.value + MAGIC_STEP);\r\n\t}\r\n\tonScrollBottom() {\r\n\t\tthis.next();\r\n\t}\r\n\ttrim(trees: ILuTree<T>[] = [], paging: number = MAGIC_STEP): ILuTree<T>[] {\r\n\t\tconst flat = this.flatten(trees);\r\n\t\tconst flatTrimmed = flat.slice(0, paging);\r\n\r\n\t\treturn this.filter(trees, flatTrimmed);\r\n\t}\r\n\tflatten(trees: ILuTree<T>[] = []): T[] {\r\n\t\treturn trees.map((t) => [t.value, ...this.flatten(t.children)]).reduce((a, v) => [...a, ...v], []);\r\n\t}\r\n\tfilter(trees: ILuTree<T>[] = [], values: T[]): ILuTree<T>[] {\r\n\t\treturn trees\r\n\t\t\t.map((t) => {\r\n\t\t\t\tif (!values.some((v) => v === t.value)) {\r\n\t\t\t\t\treturn undefined;\r\n\t\t\t\t}\r\n\t\t\t\treturn { ...t, children: this.filter(t.children, values) };\r\n\t\t\t})\r\n\t\t\t.filter((t) => !!t);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionPagerComponent } from './tree-option-pager.component';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionPagerComponent],\r\n\texports: [LuTreeOptionPagerComponent],\r\n})\r\nexport class LuTreeOptionPagerModule {}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport const LU_OPTION_PLACEHOLDER_TRANSLATIONS = new InjectionToken('LuOptionPlaceholderTranslations', {\r\n\tfactory: () => luOptionPlaceholderTranslations,\r\n});\r\n\r\nexport interface ILuOptionPlaceholderLabel {\r\n\tplaceholderDescription: string;\r\n\tplaceholderAction: string;\r\n}\r\n\r\nexport const luOptionPlaceholderTranslations: ILuTranslation<ILuOptionPlaceholderLabel> = {\r\n\ten: {\r\n\t\tplaceholderDescription: 'No results match your search criteria.',\r\n\t\tplaceholderAction: 'Clear search',\r\n\t},\r\n\tfr: {\r\n\t\tplaceholderDescription: 'Aucun résultat pour votre recherche',\r\n\t\tplaceholderAction: 'Vider la recherche',\r\n\t},\r\n\tes: {\r\n\t\tplaceholderDescription: 'No se han encontrado resultados para su búsqueda',\r\n\t\tplaceholderAction: 'Eliminar búsqueda',\r\n\t},\r\n};\r\n","import { Component, EventEmitter, Output } from '@angular/core';\r\nimport { getIntl } from '@lucca-front/ng/core';\r\nimport { LU_OPTION_PLACEHOLDER_TRANSLATIONS } from './option-placeholder.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-option-placeholder',\r\n\ttemplateUrl: './option-placeholder.component.html',\r\n\tstyleUrls: ['./option-placeholder.component.scss'],\r\n\tstandalone: true,\r\n})\r\nexport class LuOptionPlaceholderComponent {\r\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\r\n\t@Output() onClear = new EventEmitter();\r\n\r\n\tpublic intl = getIntl(LU_OPTION_PLACEHOLDER_TRANSLATIONS);\r\n\r\n\tclear() {\r\n\t\tthis.onClear.emit();\r\n\t}\r\n}\r\n","<div class=\"optionPlaceholder\">\r\n\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.placeholderDescription }}</p>\r\n\t<button type=\"button\" class=\"link\" (click)=\"clear()\">{{ intl.placeholderAction }}</button>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionPlaceholderComponent } from './option-placeholder.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionPlaceholderComponent],\r\n\texports: [LuOptionPlaceholderComponent],\r\n})\r\nexport class LuOptionPlaceholderModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, ViewChild } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber } from '@lucca-front/ng/core';\r\nimport { combineLatest, merge, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { LuOptionPlaceholderComponent } from '../../placeholder';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\r\n\r\n@Component({\r\n\tselector: 'lu-option-searcher',\r\n\ttemplateUrl: 'option-searcher.component.html',\r\n\tstyleUrls: ['option-searcher.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionSearcherComponent<T> extends ALuOptionOperator<T> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\r\n\tsearchControl = new FormControl();\r\n\tclue$ = merge(of(''), this.searchControl.valueChanges) as Observable<string>;\r\n\tempty$: Observable<boolean>;\r\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\r\n\tsearchInput: ElementRef<HTMLElement>;\r\n\toutOptions$: Observable<T[]>;\r\n\tset inOptions$(in$: Observable<T[]>) {\r\n\t\tthis.outOptions$ = combineLatest([in$, this.clue$]).pipe(\r\n\t\t\tmap(([options, clue]) => {\r\n\t\t\t\treturn clue ? (options || []).filter((o) => this.searchFn(o, clue)) : options || [];\r\n\t\t\t}),\r\n\t\t);\r\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => !o || o.length === 0));\r\n\t}\r\n\t@Input() searchFn: (option: T, clue: string) => boolean = () => true;\r\n\r\n\tonOpen() {\r\n\t\tthis.searchInput.nativeElement.focus();\r\n\t\tthis.searchControl.setValue('');\r\n\t}\r\n\tresetClue() {\r\n\t\tthis.searchControl.setValue('');\r\n\t}\r\n}\r\n","<div class=\"textfield mod-search\">\r\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"searchControl\" />\r\n</div>\r\n\r\n<lu-option-placeholder *ngIf=\"empty$ | async\" (onClear)=\"resetClue()\"></lu-option-placeholder>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionSearcherComponent } from './option-searcher.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionSearcherComponent],\r\n\texports: [LuOptionSearcherComponent],\r\n})\r\nexport class LuOptionSearcherModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, ViewChild } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber, ILuTree } from '@lucca-front/ng/core';\r\nimport { combineLatest, merge, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { LuOptionPlaceholderComponent } from '../../placeholder';\r\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\r\n\r\n@Component({\r\n\tselector: 'lu-tree-option-searcher',\r\n\ttemplateUrl: './option-searcher.component.html',\r\n\tstyleUrls: ['./option-searcher.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionSearcherComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionOperator<T>, ILuOnOpenSubscriber {\r\n\tsearchControl = new FormControl();\r\n\tclue$ = merge(of(''), this.searchControl.valueChanges) as Observable<string>;\r\n\tempty$: Observable<boolean>;\r\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\r\n\tsearchInput: ElementRef<HTMLElement>;\r\n\toutOptions$: Observable<ILuTree<T>[]>;\r\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\r\n\t\tthis.outOptions$ = combineLatest([in$, this.clue$]).pipe(\r\n\t\t\tmap(([options, clue]) => {\r\n\t\t\t\tif (!clue) {\r\n\t\t\t\t\treturn options || [];\r\n\t\t\t\t}\r\n\t\t\t\treturn this.trim(options, clue);\r\n\t\t\t}),\r\n\t\t);\r\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => !o || o.length === 0));\r\n\t}\r\n\t@Input() searchFn: (option: T, clue: string) => boolean = () => true;\r\n\r\n\tonOpen() {\r\n\t\tthis.searchInput.nativeElement.focus();\r\n\t\tthis.searchControl.setValue('');\r\n\t}\r\n\ttrim(options: ILuTree<T>[], clue: string): ILuTree<T>[] {\r\n\t\treturn options\r\n\t\t\t.map((option) => {\r\n\t\t\t\tif (this.searchFn(option.value, clue)) {\r\n\t\t\t\t\treturn { ...option };\r\n\t\t\t\t}\r\n\t\t\t\tconst trimmedChildren = option.children ? this.trim(option.children, clue) : [];\r\n\t\t\t\tif (trimmedChildren.length) {\r\n\t\t\t\t\treturn { ...option, children: trimmedChildren };\r\n\t\t\t\t}\r\n\t\t\t\treturn undefined;\r\n\t\t\t})\r\n\t\t\t.filter((o) => !!o);\r\n\t}\r\n\tresetClue() {\r\n\t\tthis.searchControl.setValue('');\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionSearcherComponent } from './tree-option-searcher.component';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionSearcherComponent],\r\n\texports: [LuTreeOptionSearcherComponent],\r\n})\r\nexport class LuTreeOptionSearcherModule {}\r\n","import { ChangeDetectorRef, Directive, forwardRef, Input, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { ILuGroup } from '@lucca-front/ng/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\r\n\r\nexport class LuForGroupContext<T> {\r\n\tpublic constructor(public $implicit: T, public index: number, public count: number) {}\r\n\r\n\tpublic get first(): boolean {\r\n\t\treturn this.index === 0;\r\n\t}\r\n\r\n\tpublic get last(): boolean {\r\n\t\treturn this.index === this.count - 1;\r\n\t}\r\n\r\n\tpublic get even(): boolean {\r\n\t\treturn this.index % 2 === 0;\r\n\t}\r\n\r\n\tpublic get odd(): boolean {\r\n\t\treturn !this.even;\r\n\t}\r\n}\r\n\r\n@Directive({\r\n\tselector: '[luForGroups]',\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuForGroupsDirective),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuForGroupsDirective<TItem, TKey> implements ILuOptionOperator<TItem>, OnDestroy {\r\n\toutOptions$?: Observable<TItem[]>;\r\n\r\n\tprivate _groupByFn: (item: TItem) => TKey;\r\n\t@Input('luForGroupsGroupBy')\r\n\tpublic set attrGroupBy(fn: (item: TItem) => TKey) {\r\n\t\tthis._groupByFn = fn;\r\n\t}\r\n\r\n\tprotected _subs = new Subscription();\r\n\tpublic set inOptions$(options$: Observable<TItem[]>) {\r\n\t\tthis._subs.add(options$.subscribe((options) => this.render(options)));\r\n\t\tthis.outOptions$ = options$;\r\n\t}\r\n\r\n\tpublic constructor(protected _vcr: ViewContainerRef, protected _cdr: ChangeDetectorRef, protected _templateRef: TemplateRef<LuForGroupContext<ILuGroup<TItem, TKey>>>) {}\r\n\r\n\tpublic ngOnDestroy(): void {\r\n\t\tthis._subs.unsubscribe();\r\n\t}\r\n\r\n\tpublic render(options: TItem[]): void {\r\n\t\tthis._vcr.clear();\r\n\t\tconst count = options.length;\r\n\t\tconst groups = this.groupBy(options);\r\n\t\tgroups.forEach((group, index) => {\r\n\t\t\tthis._vcr.createEmbeddedView(this._templateRef, new LuForGroupContext<ILuGroup<TItem, TKey>>(group, index, count));\r\n\t\t});\r\n\t\tthis._cdr.markForCheck();\r\n\t}\r\n\r\n\tprotected groupBy(items: TItem[]): ILuGroup<TItem, TKey>[] {\r\n\t\tconst groups: ILuGroup<TItem, TKey>[] = [];\r\n\t\titems.forEach((item) => {\r\n\t\t\tconst key = this._groupByFn(item);\r\n\t\t\tlet group = groups.find((g) => g.key === key);\r\n\t\t\tif (!group) {\r\n\t\t\t\tgroup = { key: key, items: [] };\r\n\t\t\t\tgroups.push(group);\r\n\t\t\t}\r\n\t\t\tgroup.items.push(item);\r\n\t\t});\r\n\t\treturn groups;\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuForGroupsDirective } from './for-groups.directive';\r\n\r\n@NgModule({\r\n\timports: [LuForGroupsDirective],\r\n\texports: [LuForGroupsDirective],\r\n})\r\nexport class LuForGroupsModule {}\r\n","import { NgForOf, NgForOfContext } from '@angular/common';\r\nimport { ChangeDetectorRef, Directive, forwardRef, Input, IterableDiffers, OnDestroy, TemplateRef, TrackByFunction, ViewContainerRef } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\r\n\r\n@Directive({\r\n\tselector: '[luForOptions]',\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuForOptionsDirective),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuForOptionsDirective<T> extends NgForOf<T> implements ILuOptionOperator<T>, OnDestroy {\r\n\toutOptions$;\r\n\tprotected _subs = new Subscription();\r\n\tset inOptions$(options$: Observable<T[]>) {\r\n\t\tthis._subs.add(\r\n\t\t\toptions$.subscribe((options) => {\r\n\t\t\t\tthis.ngForOf = options;\r\n\t\t\t\tthis._changeDetectionRef.markForCheck();\r\n\t\t\t}),\r\n\t\t);\r\n\t\tthis.outOptions$ = options$;\r\n\t}\r\n\t@Input()\r\n\tset luForOptionsTrackBy(fn: TrackByFunction<T>) {\r\n\t\tthis.ngForTrackBy = fn;\r\n\t}\r\n\r\n\tconstructor(_viewContainer: ViewContainerRef, _template: TemplateRef<NgForOfContext<T>>, _differs: IterableDiffers, protected _changeDetectionRef: ChangeDetectorRef) {\r\n\t\tsuper(_viewContainer, _template, _differs);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subs.unsubscribe();\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuForOptionsDirective } from './for-options.directive';\r\n\r\n@NgModule({\r\n\timports: [LuForOptionsDirective],\r\n\texports: [LuForOptionsDirective],\r\n})\r\nexport class LuForOptionsModule {}\r\n","import { Directive, forwardRef, OnDestroy } from '@angular/core';\r\n\r\nimport { ILuTree } from '@lucca-front/ng/core';\r\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\r\nimport { LuForOptionsDirective } from './for-options.directive';\r\n\r\n@Directive({\r\n\tselector: '[luForTreeOptions]',\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuForTreeOptionsDirective),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuForTreeOptionsDirective<T> extends LuForOptionsDirective<ILuTree<T>> implements ILuTreeOptionOperator<T>, OnDestroy {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuForTreeOptionsDirective } from './for-tree-options.directive';\r\n\r\n@NgModule({\r\n\timports: [LuForTreeOptionsDirective],\r\n\texports: [LuForTreeOptionsDirective],\r\n})\r\nexport class LuForTreeOptionsModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionFeederComponent } from './feeder';\r\nimport { LuForGroupsDirective } from './for-groups/index';\r\nimport { LuForOptionsDirective } from './for-options/index';\r\nimport { LuOptionPagerComponent } from './pager';\r\nimport { LuOptionSearcherComponent } from './searcher/index';\r\n\r\n@NgModule({\r\n\timports: [LuOptionPagerComponent, LuOptionFeederComponent, LuOptionSearcherComponent, LuForOptionsDirective, LuForGroupsDirective],\r\n\texports: [LuOptionPagerComponent, LuOptionFeederComponent, LuOptionSearcherComponent, LuForOptionsDirective, LuForGroupsDirective],\r\n})\r\nexport class LuOptionOperatorModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionFeederComponent } from './feeder/index';\r\nimport { LuForTreeOptionsDirective } from './for-options/index';\r\nimport { LuTreeOptionPagerComponent } from './pager/index';\r\nimport { LuTreeOptionSearcherModule } from './searcher/index';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionFeederComponent, LuForTreeOptionsDirective, LuTreeOptionPagerComponent, LuTreeOptionSearcherModule],\r\n\texports: [LuTreeOptionFeederComponent, LuForTreeOptionsDirective, LuTreeOptionPagerComponent, LuTreeOptionSearcherModule],\r\n})\r\nexport class LuTreeOptionOperatorModule {}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface ILuOptionSelector<T> {\r\n\tmultiple: boolean;\r\n\tonSelectValue: Observable<T | T[]>;\r\n\tsetValue(value: T | T[]): void;\r\n}\r\nexport abstract class ALuOptionSelector<T> implements ILuOptionSelector<T> {\r\n\tmultiple: boolean;\r\n\tabstract onSelectValue: Observable<T | T[]>;\r\n\tabstract setValue(value: T | T[]): void;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport const LU_OPTION_SELECT_ALL_TRANSLATIONS = new InjectionToken('LuOptionSelectAllTranslations', {\r\n\tfactory: () => luOptionSelectAllTranslations,\r\n});\r\n\r\nexport interface ILuOptionSelectAllLabel {\r\n\tselect: string;\r\n\tdeselect: string;\r\n}\r\n\r\nexport const luOptionSelectAllTranslations: ILuTranslation<ILuOptionSelectAllLabel> = {\r\n\ten: {\r\n\t\tselect: 'Select all',\r\n\t\tdeselect: 'Deselect all',\r\n\t},\r\n\tfr: {\r\n\t\tselect: 'Tout sélectionner',\r\n\t\tdeselect: 'Tout Déselectionner',\r\n\t},\r\n\tde: {\r\n\t\tselect: 'Alle auswählen',\r\n\t\tdeselect: 'Alle abwählen',\r\n\t},\r\n\tpt: {\r\n\t\tselect: 'Selecionar tudo',\r\n\t\tdeselect: 'Desselecionar tudo',\r\n\t},\r\n\tes: {\r\n\t\tselect: 'Seleccionar todo',\r\n\t\tdeselect: 'Desmarcar todo',\r\n\t},\r\n};\r\n","import { ChangeDetectionStrategy, Component, forwardRef, HostBinding } from '@angular/core';\r\nimport { getIntl } from '@lucca-front/ng/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { ALuOptionOperator } from '../../operator/option-operator.model';\r\nimport { ALuOptionSelector, ILuOptionSelector } from '../option-selector.model';\r\nimport { LU_OPTION_SELECT_ALL_TRANSLATIONS } from './select-all.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-option-select-all',\r\n\ttemplateUrl: './select-all.component.html',\r\n\tstyleUrls: ['select-all.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionSelectAllComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOptionSelector,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionSelectAllComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionSelectAllComponent<T> extends ALuOptionOperator<T> implements ILuOptionSelector<T> {\r\n\tmultiple = true;\r\n\tonSelectValue = new Subject<T | T[]>();\r\n\tprivate _values: T[];\r\n\r\n\t@HostBinding('class.position-fixed') fixed = true;\r\n\toptions: T[];\r\n\toutOptions$: Observable<T[]>;\r\n\tset inOptions$(in$: Observable<T[]>) {\r\n\t\tthis.outOptions$ = in$.pipe(tap((options) => (this.options = options)));\r\n\t}\r\n\r\n\tpublic intl = getIntl(LU_OPTION_SELECT_ALL_TRANSLATIONS);\r\n\r\n\tselectAll() {\r\n\t\tthis.onSelectValue.next([...this.options]);\r\n\t}\r\n\tdeselectAll() {\r\n\t\tthis.onSelectValue.next([]);\r\n\t}\r\n\tsetValue(values: T | T[]): void {\r\n\t\tthis._values = values as T[];\r\n\t}\r\n}\r\n","<button type=\"button\" (click)=\"selectAll()\" class=\"link selectAll-button\">{{ intl.select }}</button>\r\n<button type=\"button\" (click)=\"deselectAll()\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionSelectAllComponent } from './select-all.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionSelectAllComponent],\r\n\texports: [LuOptionSelectAllComponent],\r\n})\r\nexport class LuOptionSelectAllModule {}\r\n","import { ALuOptionSelector, ILuOptionSelector } from './option-selector.model';\r\n\r\nexport type ILuTreeOptionSelector<T> = ILuOptionSelector<T>;\r\nexport abstract class ALuTreeOptionSelector<T> extends ALuOptionSelector<T> implements ILuTreeOptionSelector<T> {}\r\n","import { ChangeDetectionStrategy, Component, forwardRef, HostBinding } from '@angular/core';\r\nimport { getIntl, ILuTree } from '@lucca-front/ng/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { ALuTreeOptionOperator } from '../../operator/index';\r\nimport { ALuTreeOptionSelector, ILuTreeOptionSelector } from '../tree-option-selector.model';\r\nimport { LU_OPTION_SELECT_ALL_TRANSLATIONS } from './select-all.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-tree-option-select-all',\r\n\ttemplateUrl: './select-all.component.html',\r\n\tstyleUrls: ['select-all.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSelectAllComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuTreeOptionSelector,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSelectAllComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionSelectAllComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionSelector<T> {\r\n\tmultiple = true;\r\n\tonSelectValue = new Subject<T | T[]>();\r\n\tprivate _values: T[];\r\n\r\n\t@HostBinding('class.position-fixed') fixed = true;\r\n\tflatOptions: T[];\r\n\toutOptions$: Observable<ILuTree<T>[]>;\r\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\r\n\t\tthis.outOptions$ = in$.pipe(tap((options) => (this.flatOptions = this.flattenTree(options))));\r\n\t}\r\n\r\n\tpublic intl = getIntl(LU_OPTION_SELECT_ALL_TRANSLATIONS);\r\n\r\n\tselectAll() {\r\n\t\tthis.onSelectValue.next([...this.flatOptions]);\r\n\t}\r\n\tdeselectAll() {\r\n\t\tthis.onSelectValue.next([]);\r\n\t}\r\n\tsetValue(values: T | T[]): void {\r\n\t\tthis._values = values as T[];\r\n\t}\r\n\r\n\tprivate flattenTree(tree: ILuTree<T>[] = []): T[] {\r\n\t\treturn tree.map((t) => [t.value, ...this.flattenTree(t.children)]).reduce((agg, cur) => [...agg, ...cur], []);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionSelectAllComponent } from './tree-select-all.component';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionSelectAllComponent],\r\n\texports: [LuTreeOptionSelectAllComponent],\r\n})\r\nexport class LuTreeOptionSelectAllModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionSelectAllModule } from './all/index';\r\n\r\n@NgModule({\r\n\timports: [LuOptionSelectAllModule],\r\n\texports: [LuOptionSelectAllModule],\r\n})\r\nexport class LuOptionSelectorModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionSelectAllModule } from './all/index';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionSelectAllModule],\r\n\texports: [LuTreeOptionSelectAllModule],\r\n})\r\nexport class LuTreeOptionSelectorModule {}\r\n","import { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { merge, Observable, Subscription } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { ILuOptionItem } from '../item/option-item.model';\r\n\r\nexport type ILuOptionPickerPanel<T> = ILuPickerPanel<T>;\r\n\r\nexport type LuOptionComparer<T> = (option1: T, option2: T) => boolean;\r\n\r\nexport abstract class ALuOptionPicker<T, O extends ILuOptionItem<T> = ILuOptionItem<T>> extends ALuPickerPanel<T> implements ILuOptionPickerPanel<T> {\r\n\tprotected _subs = new Subscription();\r\n\toverride onSelectValue: Observable<T | T[]>;\r\n\tprotected _value: T | T[];\r\n\tsetValue(value: T | T[]) {\r\n\t\tthis._value = value;\r\n\t\tthis._applySelected();\r\n\t}\r\n\tprivate __options$: Observable<O[]>;\r\n\tprotected get _options$() {\r\n\t\treturn this.__options$;\r\n\t}\r\n\tprotected set _options$(options$: Observable<O[]>) {\r\n\t\tthis.__options$ = options$;\r\n\t\t// reapply selected when the options change\r\n\t\tthis._subs.add(\r\n\t\t\toptions$.subscribe(() => {\r\n\t\t\t\tthis._applySelected();\r\n\t\t\t\tthis._applyHighlight();\r\n\t\t\t}),\r\n\t\t);\r\n\t\t// subscribe to any option.onSelect\r\n\t\tconst singleFlow$ = options$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelect))));\r\n\t\tthis._subs.add(singleFlow$.subscribe((option) => this._toggle(option)));\r\n\t}\r\n\tprotected optionComparer: LuOptionComparer<T> = (option1: T, option2: T) => JSON.stringify(option1) === JSON.stringify(option2);\r\n\tprotected _toggle(option: O) {\r\n\t\tconst value = option.value;\r\n\t\tif (!this.multiple) {\r\n\t\t\tthis._select(value);\r\n\t\t} else {\r\n\t\t\tconst values = <T[]>this._value || [];\r\n\t\t\tlet newValues: T[];\r\n\t\t\tif (values.some((v) => this.optionComparer(v, value))) {\r\n\t\t\t\t// value was present, we remove it\r\n\t\t\t\tnewValues = values.filter((v) => !this.optionComparer(v, value));\r\n\t\t\t} else {\r\n\t\t\t\t// value was absent, we add it\r\n\t\t\t\tnewValues = [...values, value];\r\n\t\t\t}\r\n\t\t\tthis._select(newValues);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _select(val: T | T[]) {\r\n\t\tthis._emitSelectValue(val);\r\n\t\tif (!this.multiple) {\r\n\t\t\tthis._emitCloseEvent();\r\n\t\t}\r\n\t}\r\n\tprotected abstract _applySelected();\r\n\tprotected abstract _applyHighlight();\r\n\tprotected destroy() {\r\n\t\tthis._subs.unsubscribe();\r\n\t}\r\n\toverride _handleKeydown(event: KeyboardEvent) {\r\n\t\tswitch (event.key) {\r\n\t\t\tcase 'Escape':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Tab':\r\n\t\t\t\tthis._emitCloseEvent();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected abstract _emitSelectValue(value: T | T[]);\r\n}\r\n","/* eslint-disable @angular-eslint/no-output-native */\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport {\r\n\tAfterViewInit,\r\n\tChangeDetectionStrategy,\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tContentChildren,\r\n\tDirective,\r\n\tEventEmitter,\r\n\tforwardRef,\r\n\tInject,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tQueryList,\r\n\tTemplateRef,\r\n\tViewChild,\r\n} from '@angular/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\nimport { merge, of } from 'rxjs';\r\nimport { delay, map, share } from 'rxjs/operators';\r\nimport { LuOptionItemComponent } from '../item';\r\nimport { ALuOptionItem } from '../item/option-item.model';\r\nimport { ALuOptionPicker, ILuOptionPickerPanel, LuOptionComparer } from './option-picker.model';\r\n\r\n@Directive()\r\nexport abstract class ALuOptionPickerComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>>\r\n\textends ALuOptionPicker<T, O>\r\n\timplements ILuOptionPickerPanel<T>, OnDestroy, AfterViewInit\r\n{\r\n\t/**\r\n\t * This method takes classes set on the host lu-popover element and applies them on the\r\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\r\n\t * to style the containing popover from outside the component.\r\n\t * @param classes list of class names\r\n\t */\r\n\t@Input('panel-classes')\r\n\tset inputPanelClasses(classes: string) {\r\n\t\tthis.panelClasses = classes;\r\n\t}\r\n\t/**\r\n\t * This method takes classes set on the host lu-popover element and applies them on the\r\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\r\n\t * to style the containing popover from outside the component.\r\n\t * @param classes list of class names\r\n\t */\r\n\t@Input('content-classes')\r\n\tset inputContentClasses(classes: string) {\r\n\t\tthis.contentClasses = classes;\r\n\t}\r\n\r\n\t/**\r\n\t * This method take a function that compare options from feeder and options from form value.\r\n\t * By default, compare JSON values.\r\n\t */\r\n\t@Input('option-comparer')\r\n\tset inputOptionComparer(comparer: LuOptionComparer<T>) {\r\n\t\tthis.optionComparer = comparer;\r\n\t}\r\n\r\n\t@Output() override close = new EventEmitter<void>();\r\n\t@Output() override open = new EventEmitter<void>();\r\n\t@Output() override hovered = new EventEmitter<boolean>();\r\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\r\n\t@Output() override onSelectValue = new EventEmitter<T>();\r\n\r\n\tprotected _isOptionItemsInitialized: boolean;\r\n\tprotected _defaultOverlayPaneClasses = ['mod-optionPicker'];\r\n\r\n\tprotected _options: O[] = [];\r\n\tprotected _optionsQL: QueryList<O>;\r\n\t@ContentChildren(ALuOptionItem, { descendants: true }) set optionsQL(ql: QueryList<O>) {\r\n\t\tthis._optionsQL = ql;\r\n\t}\r\n\r\n\tconstructor(protected _changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) protected document: Document) {\r\n\t\tsuper();\r\n\t\tthis._isOptionItemsInitialized = false;\r\n\t\tthis.overlayPaneClass = this._defaultOverlayPaneClasses;\r\n\t}\r\n\r\n\tprotected _emitSelectValue(val: T) {\r\n\t\tthis.onSelectValue.emit(val);\r\n\t}\r\n\tngOnDestroy() {\r\n\t\tsuper.destroy();\r\n\t}\r\n\t_emitOpenEvent(): void {\r\n\t\tthis.open.emit();\r\n\t}\r\n\t_emitCloseEvent(): void {\r\n\t\tthis.close.emit();\r\n\t}\r\n\t_emitHoveredEvent(h: boolean): void {\r\n\t\tthis.hovered.emit(h);\r\n\t}\r\n\toverride onOpen() {\r\n\t\tsuper.onOpen();\r\n\t\tthis.highlightIndex = -1;\r\n\t\tthis._incrHighlight();\r\n\t\tthis._applySelected();\r\n\t}\r\n\t@ViewChild(TemplateRef, { static: true })\r\n\tset vcTemplateRef(tr: TemplateRef<HTMLElement>) {\r\n\t\tthis.templateRef = tr;\r\n\t}\r\n\r\n\t// keydown\r\n\toverride _handleKeydown(event: KeyboardEvent) {\r\n\t\tsuper._handleKeydown(event);\r\n\t\tswitch (event.key) {\r\n\t\t\tcase 'Enter':\r\n\t\t\t\tthis._selectHighlighted();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'ArrowUp':\r\n\t\t\t\tthis._decrHighlight();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'ArrowDown':\r\n\t\t\t\tthis._incrHighlight();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\tprotected _highlightIndex = -1;\r\n\tget highlightIndex() {\r\n\t\treturn this._highlightIndex;\r\n\t}\r\n\tset highlightIndex(i: number) {\r\n\t\tthis._highlightIndex = i;\r\n\t\tthis._applyHighlight(true);\r\n\t}\r\n\tprotected _initHighlight() {\r\n\t\tthis._subs.add(\r\n\t\t\tthis._options$.subscribe((options) => {\r\n\t\t\t\tconst optionCount = options.length;\r\n\t\t\t\tconst newHighlight = Math.max(Math.min(this.highlightIndex, optionCount - 1), -1);\r\n\t\t\t\tif (newHighlight !== this.highlightIndex) {\r\n\t\t\t\t\tthis.highlightIndex = newHighlight;\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t);\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.highlightIndex = -1;\r\n\t\t}, 1);\r\n\t}\r\n\tprotected _incrHighlight() {\r\n\t\tconst nextIndex = this._options.findIndex((item, index) => index > this.highlightIndex && !item.disabled);\r\n\t\tthis.highlightIndex = nextIndex > -1 ? nextIndex : this._options.findIndex((item) => !item.disabled);\r\n\t}\r\n\tprotected _decrHighlight() {\r\n\t\t//NB: findLastIndex would be better but is not available on this project\r\n\t\tlet nextIndex = -1;\r\n\t\tfor (let i = this.highlightIndex - 1; i >= 0; --i) {\r\n\t\t\tif (!this._options[i].disabled) {\r\n\t\t\t\tnextIndex = i;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (nextIndex > -1) {\r\n\t\t\tthis.highlightIndex = nextIndex;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst optionsLength = this._options.length - 1;\r\n\t\tfor (let i = optionsLength; i >= 0; --i) {\r\n\t\t\tif (!this._options[i].disabled) {\r\n\t\t\t\tnextIndex = i;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.highlightIndex = nextIndex;\r\n\t}\r\n\tprotected _applyHighlight(reScroll = false) {\r\n\t\tif (!this.isOpen) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst options = this._options;\r\n\t\t// remove `is-highlighted` class from all other options\r\n\t\toptions.forEach((option) => (option.highlighted = false));\r\n\t\t// apply `is-highlighted` to current highlight\r\n\t\tconst highlightedOption = options[this.highlightIndex];\r\n\r\n\t\tif (highlightedOption) {\r\n\t\t\thighlightedOption.highlighted = true;\r\n\t\t\t// scroll to let the highlighted option visible\r\n\t\t\tif (reScroll) {\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis._scrollToHighlight(highlightedOption.element.nativeElement);\r\n\t\t\t\t}, 1);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis._changeDetectorRef.markForCheck();\r\n\t}\r\n\tprotected _scrollToHighlight(targetElt: HTMLElement) {\r\n\t\tif (!targetElt) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst contentElt = this.document.querySelector<HTMLElement>('.lu-picker-content');\r\n\t\tif (!contentElt) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst headerElt = this.document.querySelector<HTMLElement>('.lu-picker-content .lu-picker-header');\r\n\t\tconst headerHeight = headerElt ? headerElt.offsetHeight : 0;\r\n\t\tconst footerElt = this.document.querySelector<HTMLElement>('.lu-picker-content .lu-picker-footer');\r\n\t\tconst footerHeight = footerElt ? footerElt.offsetHeight : 0;\r\n\t\t// highlighted option is too high\r\n\t\tif (contentElt.scrollTop + headerHeight > targetElt.offsetTop) {\r\n\t\t\tcontentElt.scrollTop = targetElt.offsetTop - headerHeight;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// highlight option is too low\r\n\t\tconst offsetHeight = contentElt.offsetHeight;\r\n\t\tif (contentElt.scrollTop + offsetHeight - footerHeight < targetElt.offsetTop + targetElt.offsetHeight) {\r\n\t\t\tcontentElt.scrollTop = targetElt.offsetTop + targetElt.offsetHeight - offsetHeight + footerHeight;\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\tprotected _selectHighlighted() {\r\n\t\tconst options = this._options ? this._options : [];\r\n\t\tconst highlightedOption = options[this.highlightIndex];\r\n\t\tif (highlightedOption) {\r\n\t\t\tthis._toggle(highlightedOption);\r\n\t\t}\r\n\t}\r\n\tprotected _initSelected() {\r\n\t\tthis._subs.add(\r\n\t\t\tthis._options$.subscribe(() => {\r\n\t\t\t\tthis._applySelected();\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\tprotected _applySelected() {\r\n\t\tif (!this._options) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// const selectedClass = 'is-selected';\r\n\r\n\t\tconst options = this._options;\r\n\t\t// remove `is-selected` class from all other options\r\n\t\toptions.forEach((option) => (option.selected = false));\r\n\r\n\t\t// add `is-selected` to all selected indexes\r\n\t\tconst selectedIndexes: number[] = [];\r\n\t\tif (!this.multiple) {\r\n\t\t\tconst selectedIndex = this._options.findIndex((o) => this.optionComparer(o.value, this._value as T));\r\n\t\t\tif (selectedIndex !== -1) {\r\n\t\t\t\tselectedIndexes.push(selectedIndex);\r\n\t\t\t}\r\n\t\t\tif (selectedIndex !== -1 && this.highlightIndex === -1) {\r\n\t\t\t\tthis.highlightIndex = selectedIndex;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tconst values = <T[]>this._value || [];\r\n\t\t\tconst matchingIndexes = this._options\r\n\t\t\t\t.map((o) => values.some((v) => this.optionComparer(o.value, v)))\r\n\t\t\t\t.map((f, i) => (f ? i : null))\r\n\t\t\t\t.filter((i) => i !== null);\r\n\t\t\tselectedIndexes.push(...matchingIndexes);\r\n\t\t\t// selectedIndexes.push(\r\n\t\t\t// \t...values\r\n\t\t\t// \t.map(v => this._options.findIndex(o => this.optionComparer(o.value, v)))\r\n\t\t\t// \t.filter(i => i !== -1)\r\n\t\t\t// );\r\n\t\t}\r\n\t\tselectedIndexes.forEach((i) => {\r\n\t\t\tconst option = options[i];\r\n\t\t\tif (option) {\r\n\t\t\t\toption.selected = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprotected initItems() {\r\n\t\tconst items$ = merge(of(this._optionsQL), this._optionsQL.changes).pipe(\r\n\t\t\tmap<QueryList<O>, O[]>((q) => q.toArray()),\r\n\t\t\tdelay(0),\r\n\t\t\tshare(),\r\n\t\t);\r\n\t\titems$.subscribe((o) => (this._options = o || []));\r\n\t\tthis._options$ = items$;\r\n\t\tthis._initHighlight();\r\n\t\tthis._initSelected();\r\n\t}\r\n\tngAfterViewInit() {\r\n\t\tthis.initItems();\r\n\t}\r\n}\r\n/**\r\n * basic option picker panel\r\n */\r\n@Component({\r\n\tselector: 'lu-option-picker',\r\n\ttemplateUrl: './option-picker.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tanimations: [luTransformPopover],\r\n\texportAs: 'LuOptionPicker',\r\n\tstandalone: true,\r\n\timports: [CommonModule, OverlayModule, LuOptionItemComponent, A11yModule],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionPickerComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionPickerComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>> extends ALuOptionPickerComponent<T, O> {\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-option-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t[class.mod-multiple]=\"multiple\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { A11yModule } from '@angular/cdk/a11y';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, QueryList } from '@angular/core';\r\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\nimport { LuScrollDirective } from '@lucca-front/ng/scroll';\r\nimport { merge, Observable } from 'rxjs';\r\nimport { first, map, mergeAll, shareReplay, startWith } from 'rxjs/operators';\r\nimport { LuOptionItemComponent } from '../item';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '../operator/index';\r\nimport { ALuOptionSelector, ILuOptionSelector } from '../selector/index';\r\nimport { ALuOptionPickerComponent } from './option-picker.component';\r\n\r\n@Directive()\r\nexport abstract class ALuOptionPickerAdvancedComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>>\r\n\textends ALuOptionPickerComponent<T, O>\r\n\timplements AfterViewInit\r\n{\r\n\tloading$: Observable<boolean>;\r\n\r\n\tprotected _operators: ILuOptionOperator<T>[] = [];\r\n\tprotected _operatorsQL: QueryList<ILuOptionOperator<T>>;\r\n\t@ContentChildren(ALuOptionOperator, { descendants: true }) set operatorsQL(ql: QueryList<ILuOptionOperator<T>>) {\r\n\t\tthis._operatorsQL = ql;\r\n\t}\r\n\tprotected _onOpenSubscribers: ILuOnOpenSubscriber[] = [];\r\n\t@ContentChildren(ALuOnOpenSubscriber, { descendants: true }) set onOpenSubsQL(ql: QueryList<ILuOnOpenSubscriber>) {\r\n\t\tthis._onOpenSubscribers = ql.toArray();\r\n\t}\r\n\tprotected _onCloseSubscribers: ILuOnCloseSubscriber[] = [];\r\n\t@ContentChildren(ALuOnCloseSubscriber, { descendants: true })\r\n\tset onCloseSubsQL(ql: QueryList<ILuOnCloseSubscriber>) {\r\n\t\tthis._onCloseSubscribers = ql.toArray();\r\n\t}\r\n\tprotected _onScrollBottomSubscribers: ILuOnScrollBottomSubscriber[] = [];\r\n\t@ContentChildren(ALuOnScrollBottomSubscriber, { descendants: true })\r\n\tset onScrollBottomSubsQL(ql: QueryList<ILuOnScrollBottomSubscriber>) {\r\n\t\tthis._onScrollBottomSubscribers = ql.toArray();\r\n\t}\r\n\tprotected _selectors: ILuOptionSelector<T>[] = [];\r\n\tprotected _selectorsQL: QueryList<ILuOptionSelector<T>>;\r\n\t@ContentChildren(ALuOptionSelector, { descendants: true }) set selectorsQL(ql: QueryList<ILuOptionSelector<T>>) {\r\n\t\tthis._selectorsQL = ql;\r\n\t}\r\n\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n\tonScrollBottom() {\r\n\t\tthis._onScrollBottomSubscribers.forEach((o: ILuOnScrollBottomSubscriber) => {\r\n\t\t\tif (!o.onScrollBottom) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\to.onScrollBottom();\r\n\t\t});\r\n\t}\r\n\toverride onOpen() {\r\n\t\tthis._onOpenSubscribers.forEach((o: ILuOnOpenSubscriber) => {\r\n\t\t\to.onOpen();\r\n\t\t});\r\n\t\tconst operators = this._operators || [];\r\n\t\tconst lastOperator = operators[operators.length - 1];\r\n\t\tif (lastOperator && lastOperator.outOptions$) {\r\n\t\t\tthis.loading$ = lastOperator.outOptions$.pipe(\r\n\t\t\t\tfirst(),\r\n\t\t\t\tmap(() => false),\r\n\t\t\t\tstartWith(true),\r\n\t\t\t\tshareReplay(),\r\n\t\t\t);\r\n\t\t}\r\n\t\tsuper.onOpen();\r\n\t}\r\n\toverride onClose() {\r\n\t\tthis._onCloseSubscribers.forEach((o: ILuOnCloseSubscriber) => {\r\n\t\t\to.onClose();\r\n\t\t});\r\n\t\tsuper.onClose();\r\n\t}\r\n\toverride setValue(value: T | T[]) {\r\n\t\tsuper.setValue(value);\r\n\t\tthis._selectors.forEach((s) => s.setValue(value));\r\n\t}\r\n\tprotected initOperators() {\r\n\t\tconst operators = this._operatorsQL.toArray();\r\n\t\tthis._operators = operators;\r\n\t\tlet options$: Observable<T[]>;\r\n\t\toperators.forEach((operator) => {\r\n\t\t\toperator.inOptions$ = options$;\r\n\t\t\toptions$ = operator.outOptions$;\r\n\t\t});\r\n\t}\r\n\tprotected initSelectors() {\r\n\t\t// TODO : FIX changes type\r\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n\t\tconst selectors$: Observable<ILuOptionSelector<T>[]> = this._selectorsQL.changes.pipe(startWith(this._selectorsQL.toArray()));\r\n\t\tthis._subs.add(\r\n\t\t\tselectors$.subscribe((selectors) => {\r\n\t\t\t\tthis._selectors = selectors;\r\n\t\t\t\tthis._selectors.forEach((s) => s.setValue(this._value));\r\n\t\t\t\tthis._subs.add(\r\n\t\t\t\t\tmerge(this._selectors.map((s) => s.onSelectValue))\r\n\t\t\t\t\t\t.pipe(mergeAll())\r\n\t\t\t\t\t\t.subscribe((values) => {\r\n\t\t\t\t\t\t\tthis._select(values);\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t);\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\toverride ngAfterViewInit() {\r\n\t\tsuper.ngAfterViewInit();\r\n\t\tthis.initOperators();\r\n\t\tthis.initSelectors();\r\n\t}\r\n}\r\n\r\n/**\r\n * advanced option picker panel\r\n */\r\n@Component({\r\n\tselector: 'lu-option-picker-advanced',\r\n\ttemplateUrl: './option-picker-advanced.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tanimations: [luTransformPopover],\r\n\texportAs: 'LuOptionPickerAdvanced',\r\n\tstandalone: true,\r\n\timports: [CommonModule, OverlayModule, LuOptionItemComponent, LuScrollDirective, A11yModule],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuOptionPickerAdvancedComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuOptionPickerAdvancedComponent<\r\n\tT,\r\n\tO extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>,\r\n> extends ALuOptionPickerAdvancedComponent<T, O> {\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-option-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t[class.mod-multiple]=\"multiple\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div\r\n\t\t\t[class.is-loading]=\"loading$ | async\"\r\n\t\t\tclass=\"lu-picker-content\"\r\n\t\t\t[ngClass]=\"contentClassesMap\"\r\n\t\t\t[cdkTrapFocus]=\"trapFocus\"\r\n\t\t\tluScroll\r\n\t\t\t(onScrollBottom)=\"onScrollBottom()\"\r\n\t\t>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t\t<div *ngIf=\"loading$ | async\" class=\"loading lu-picker-loading\"></div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionItemComponent } from '../item/index';\r\nimport { LuOptionPickerAdvancedComponent } from './option-picker-advanced.component';\r\nimport { LuOptionPickerComponent } from './option-picker.component';\r\n\r\n@NgModule({\r\n\timports: [LuOptionPickerComponent, LuOptionPickerAdvancedComponent, LuOptionItemComponent],\r\n\texports: [LuOptionPickerComponent, LuOptionPickerAdvancedComponent, LuOptionItemComponent],\r\n})\r\nexport class LuOptionPickerModule {}\r\n","import { A11yModule } from '@angular/cdk/a11y';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, OnDestroy, QueryList, ViewContainerRef } from '@angular/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\nimport { merge, Observable } from 'rxjs';\r\nimport { delay, map, startWith, switchMap } from 'rxjs/operators';\r\nimport { ALuTreeOptionItem } from '../item/index';\r\nimport { ALuOptionPickerComponent } from './option-picker.component';\r\nimport { ILuTreeOptionPickerPanel } from './tree-option-picker.model';\r\n\r\nenum ToggleMode {\r\n\tall,\r\n\tself,\r\n\tchildren,\r\n}\r\n\r\n@Directive()\r\nexport abstract class ALuTreeOptionPickerComponent<T, O extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>>\r\n\textends ALuOptionPickerComponent<T, O>\r\n\timplements ILuTreeOptionPickerPanel<T>, OnDestroy, AfterViewInit\r\n{\r\n\t@ContentChildren(ALuTreeOptionItem, { descendants: true })\r\n\toverride set optionsQL(ql: QueryList<O>) {\r\n\t\tthis._optionsQL = ql;\r\n\t}\r\n\t@ContentChildren(ALuTreeOptionItem, {\r\n\t\tdescendants: true,\r\n\t\tread: ViewContainerRef,\r\n\t})\r\n\toptionsQLVR: QueryList<ViewContainerRef>;\r\n\tprotected override set _options$(optionItems$: Observable<O[]>) {\r\n\t\t// reapply selected when the options change\r\n\t\tthis._subs.add(optionItems$.subscribe(() => this._applySelected()));\r\n\t\t// subscribe to any option.onSelect\r\n\t\tconst singleFlowSelect$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelect))));\r\n\t\tconst singleFlowSelectSelf$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelectSelf))));\r\n\t\tconst singleFlowSelectChildren$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelectChildren))));\r\n\r\n\t\tthis._subs.add(singleFlowSelect$.subscribe((option) => this._toggle(option, ToggleMode.all)));\r\n\t\tthis._subs.add(singleFlowSelectSelf$.subscribe((option) => this._toggle(option, ToggleMode.self)));\r\n\t\tthis._subs.add(singleFlowSelectChildren$.subscribe((option) => this._toggle(option, ToggleMode.children)));\r\n\t}\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n\tprotected override _toggle(option: O, mod = ToggleMode.all) {\r\n\t\tswitch (mod) {\r\n\t\t\tcase ToggleMode.self:\r\n\t\t\t\treturn this._toggleSelf(option);\r\n\t\t\tcase ToggleMode.children:\r\n\t\t\t\treturn this._toggleChildren(option);\r\n\t\t\tdefault:\r\n\t\t\t\treturn this._toggleAll(option);\r\n\t\t}\r\n\t}\r\n\tprotected _toggleAll(option: O) {\r\n\t\tconst value = option.value;\r\n\t\tif (!this.multiple) {\r\n\t\t\tthis._select(value);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\r\n\t\tconst values = <T[]>this._value || [];\r\n\t\tlet newValues: T[];\r\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\r\n\t\tconst allChildrenSelected = allChildren.every((child) => values.some((v) => this.optionComparer(v, child)));\r\n\t\tif (selfSelected && allChildrenSelected) {\r\n\t\t\t// remove option and its children\r\n\t\t\tnewValues = this._remove(values, [value, ...allChildren]);\r\n\t\t} else {\r\n\t\t\t// add option and its children\r\n\t\t\tnewValues = this._add(values, [value, ...allChildren]);\r\n\t\t}\r\n\t\tthis._select(newValues);\r\n\t}\r\n\tprotected _toggleSelf(option: O) {\r\n\t\tconst value = option.value;\r\n\t\tif (!this.multiple) {\r\n\t\t\tthis._select(value);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\r\n\t\tconst values = <T[]>this._value || [];\r\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\r\n\t\tconst someChildSelected = allChildren.some((child) => values.some((v) => this.optionComparer(v, child)));\r\n\r\n\t\tlet newValues = this._remove(values, [...allChildren]);\r\n\t\tif (selfSelected && !someChildSelected) {\r\n\t\t\t// remove option\r\n\t\t\tnewValues = this._remove(newValues, [value]);\r\n\t\t} else {\r\n\t\t\t// add option\r\n\t\t\tnewValues = this._add(newValues, [value]);\r\n\t\t}\r\n\t\tthis._select(newValues);\r\n\t}\r\n\tprotected _toggleChildren(option: O) {\r\n\t\tconst value = option.value;\r\n\t\tif (!this.multiple) {\r\n\t\t\tthis._select(value);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\r\n\t\tconst values = <T[]>this._value || [];\r\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\r\n\t\tlet newValues = this._remove(values, [value]);\r\n\t\tconst allChildrenSelected = allChildren.every((child) => values.some((v) => this.optionComparer(v, child)));\r\n\t\tif (allChildrenSelected && !selfSelected) {\r\n\t\t\tnewValues = this._remove(newValues, allChildren);\r\n\t\t} else {\r\n\t\t\tnewValues = this._add(newValues, allChildren);\r\n\t\t}\r\n\t\tthis._select(newValues);\r\n\t}\r\n\tprotected _add(values: T[], entries: T[]): T[] {\r\n\t\tconst newEntries = entries.filter((entry) => !values.some((v) => this.optionComparer(v, entry)));\r\n\t\treturn [...values, ...newEntries];\r\n\t}\r\n\tprotected _remove(values: T[], entries: T[]): T[] {\r\n\t\tconst entriesToKeep = values.filter((value) => !entries.some((e) => this.optionComparer(e, value)));\r\n\t\treturn [...entriesToKeep];\r\n\t}\r\n\r\n\tprotected override initItems() {\r\n\t\tconst items$ = this._optionsQL.changes.pipe(\r\n\t\t\tstartWith(this._optionsQL),\r\n\t\t\tmap<QueryList<O>, O[]>((q) => q.toArray()),\r\n\t\t\tmap((roots) => roots.map((r) => [r, ...r.allChildren]).reduce((agg, val) => [...agg, ...val], [])),\r\n\t\t\tdelay(0),\r\n\t\t);\r\n\t\tthis._subs.add(items$.subscribe((o) => (this._options = o || [])));\r\n\t\tthis._options$ = items$;\r\n\t}\r\n\toverride ngAfterViewInit() {\r\n\t\tthis.initItems();\r\n\t}\r\n}\r\n/**\r\n * basic tree option picker panel\r\n */\r\n@Component({\r\n\tselector: 'lu-tree-option-picker',\r\n\ttemplateUrl: './tree-option-picker.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tanimations: [luTransformPopover],\r\n\texportAs: 'LuTreeOptionPicker',\r\n\tstandalone: true,\r\n\timports: [CommonModule, A11yModule],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPickerComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionPickerComponent<\r\n\tT,\r\n\tO extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>,\r\n> extends ALuTreeOptionPickerComponent<T, O> {\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-tree-option-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t[class.mod-multiple]=\"multiple\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { A11yModule } from '@angular/cdk/a11y';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, QueryList } from '@angular/core';\r\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuTree } from '@lucca-front/ng/core';\r\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { luTransformPopover } from '@lucca-front/ng/popover';\r\nimport { merge, Observable } from 'rxjs';\r\nimport { first, map, mergeAll, shareReplay, startWith } from 'rxjs/operators';\r\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../operator/index';\r\nimport { ALuTreeOptionSelector, ILuTreeOptionSelector } from '../selector/index';\r\nimport { ALuTreeOptionPickerComponent } from './tree-option-picker.component';\r\n\r\n@Directive()\r\nexport abstract class ALuTreeOptionPickerAdvancedComponent<T, O extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>>\r\n\textends ALuTreeOptionPickerComponent<T, O>\r\n\timplements AfterViewInit\r\n{\r\n\tloading$: Observable<boolean>;\r\n\r\n\tprotected _operators: ILuTreeOptionOperator<T>[] = [];\r\n\tprotected _operatorsQL: QueryList<ILuTreeOptionOperator<T>>;\r\n\t@ContentChildren(ALuTreeOptionOperator, { descendants: true })\r\n\tset operatorsQL(ql: QueryList<ILuTreeOptionOperator<T>>) {\r\n\t\tthis._operatorsQL = ql;\r\n\t}\r\n\tprotected _onOpenSubscribers: ILuOnOpenSubscriber[] = [];\r\n\t@ContentChildren(ALuOnOpenSubscriber, { descendants: true }) set onOpenSubsQL(ql: QueryList<ILuOnOpenSubscriber>) {\r\n\t\tthis._onOpenSubscribers = ql.toArray();\r\n\t}\r\n\tprotected _onCloseSubscribers: ILuOnCloseSubscriber[] = [];\r\n\t@ContentChildren(ALuOnCloseSubscriber, { descendants: true })\r\n\tset onCloseSubsQL(ql: QueryList<ILuOnCloseSubscriber>) {\r\n\t\tthis._onCloseSubscribers = ql.toArray();\r\n\t}\r\n\tprotected _onScrollBottomSubscribers: ILuOnScrollBottomSubscriber[] = [];\r\n\t@ContentChildren(ALuOnScrollBottomSubscriber, { descendants: true })\r\n\tset onScrollBottomSubsQL(ql: QueryList<ILuOnScrollBottomSubscriber>) {\r\n\t\tthis._onScrollBottomSubscribers = ql.toArray();\r\n\t}\r\n\r\n\tprotected _selectorsQL: QueryList<ILuTreeOptionSelector<T>>;\r\n\tprotected _selectors: ILuTreeOptionSelector<T>[] = [];\r\n\t@ContentChildren(ALuTreeOptionSelector, { descendants: true })\r\n\tset selectorsQL(ql: QueryList<ILuTreeOptionSelector<T>>) {\r\n\t\tthis._selectorsQL = ql;\r\n\t}\r\n\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n\tonScrollBottom() {\r\n\t\tthis._onScrollBottomSubscribers.forEach((o) => {\r\n\t\t\tif (!o.onScrollBottom) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\to.onScrollBottom();\r\n\t\t});\r\n\t}\r\n\toverride onOpen() {\r\n\t\tthis._onOpenSubscribers.forEach((o) => {\r\n\t\t\to.onOpen();\r\n\t\t});\r\n\t\tsuper.onOpen();\r\n\t}\r\n\toverride onClose() {\r\n\t\tthis._onCloseSubscribers.forEach((o) => {\r\n\t\t\to.onClose();\r\n\t\t});\r\n\t\tsuper.onClose();\r\n\t}\r\n\toverride setValue(value: T | T[]) {\r\n\t\tsuper.setValue(value);\r\n\t\tthis._selectors.forEach((s) => s.setValue(value));\r\n\t}\r\n\r\n\tprotected initOperators() {\r\n\t\tconst operators = this._operatorsQL.toArray();\r\n\t\tthis._operators = operators;\r\n\t\tlet options$: Observable<ILuTree<T>[]>;\r\n\t\toperators.forEach((operator) => {\r\n\t\t\toperator.inOptions$ = options$;\r\n\t\t\toptions$ = operator.outOptions$;\r\n\t\t});\r\n\t\tconst lastOperator = operators[operators.length - 1];\r\n\t\tif (lastOperator && lastOperator.outOptions$) {\r\n\t\t\tthis.loading$ = lastOperator.outOptions$.pipe(\r\n\t\t\t\tfirst(),\r\n\t\t\t\tmap(() => false),\r\n\t\t\t\tstartWith(true),\r\n\t\t\t\tshareReplay(),\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\tprotected initSelectors() {\r\n\t\tthis._selectors = this._selectorsQL.toArray();\r\n\t\tthis._subs.add(\r\n\t\t\tmerge(this._selectors.map((s) => s.onSelectValue))\r\n\t\t\t\t.pipe(mergeAll())\r\n\t\t\t\t.subscribe((values) => {\r\n\t\t\t\t\tthis._select(values);\r\n\t\t\t\t}),\r\n\t\t);\r\n\t}\r\n\toverride ngAfterViewInit() {\r\n\t\tsuper.ngAfterViewInit();\r\n\t\tthis.initOperators();\r\n\t\tthis.initSelectors();\r\n\t}\r\n}\r\n\r\n/**\r\n * advanced option picker panel\r\n */\r\n@Component({\r\n\tselector: 'lu-tree-option-picker-advanced',\r\n\ttemplateUrl: './tree-option-picker-advanced.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tanimations: [luTransformPopover],\r\n\texportAs: 'LuOptionPicker',\r\n\tstandalone: true,\r\n\timports: [CommonModule, A11yModule],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuPickerPanel,\r\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPickerAdvancedComponent),\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuTreeOptionPickerAdvancedComponent<\r\n\tT,\r\n\tO extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>,\r\n> extends ALuTreeOptionPickerAdvancedComponent<T, O> {\r\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\r\n\t\tsuper(_changeDetectorRef, document);\r\n\t}\r\n}\r\n","<ng-template>\r\n\t<div\r\n\t\tclass=\"lu-picker-panel lu-tree-option-picker-panel\"\r\n\t\trole=\"dialog\"\r\n\t\t[ngClass]=\"panelClassesMap\"\r\n\t\t[class.mod-multiple]=\"multiple\"\r\n\t\t(click)=\"onClick()\"\r\n\t\t(mouseover)=\"onMouseOver()\"\r\n\t\t(mouseleave)=\"onMouseLeave()\"\r\n\t\t(mousedown)=\"onMouseDown()\"\r\n\t>\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\" luScroll (onScrollBottom)=\"onScrollBottom()\">\r\n\t\t\t<ng-content [class.is-loading]=\"loading$ | async\"></ng-content>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n","import { A11yModule } from '@angular/cdk/a11y';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { LuScrollDirective } from '@lucca-front/ng/scroll';\r\nimport { LuTreeOptionPickerAdvancedComponent } from './tree-option-picker-advanced.component';\r\nimport { LuTreeOptionPickerComponent } from './tree-option-picker.component';\r\n\r\n@NgModule({\r\n\timports: [CommonModule, OverlayModule, LuScrollDirective, A11yModule, LuTreeOptionPickerAdvancedComponent, LuTreeOptionPickerComponent],\r\n\texports: [LuTreeOptionPickerComponent, LuTreeOptionPickerAdvancedComponent],\r\n})\r\nexport class LuTreeOptionPickerModule {}\r\n","import { ILuTreeOptionItem } from '../item/index';\r\nimport { ALuOptionPicker, ILuOptionPickerPanel } from './option-picker.model';\r\n\r\nexport type ILuTreeOptionPickerPanel<T> = ILuOptionPickerPanel<T>;\r\n\r\nexport abstract class ALuTreeOptionPicker<T, I extends ILuTreeOptionItem<T> = ILuTreeOptionItem<T>> extends ALuOptionPicker<T, I> implements ILuTreeOptionPickerPanel<T> {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuOptionItemComponent } from './item/index';\r\nimport { LuForGroupsDirective, LuForOptionsDirective, LuOptionFeederComponent, LuOptionPagerComponent, LuOptionSearcherComponent } from './operator/index';\r\nimport { LuOptionPickerAdvancedComponent, LuOptionPickerComponent } from './picker/index';\r\nimport { LuOptionPlaceholderComponent } from './placeholder/index';\r\nimport { LuOptionSelectAllComponent } from './selector/index';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tLuOptionItemComponent,\r\n\t\tLuOptionPickerComponent,\r\n\t\tLuOptionPickerAdvancedComponent,\r\n\t\tLuOptionPagerComponent,\r\n\t\tLuOptionFeederComponent,\r\n\t\tLuOptionSearcherComponent,\r\n\t\tLuForOptionsDirective,\r\n\t\tLuForGroupsDirective,\r\n\t\tLuOptionSelectAllComponent,\r\n\t\tLuOptionPlaceholderComponent,\r\n\t],\r\n\texports: [\r\n\t\tLuOptionItemComponent,\r\n\t\tLuOptionPickerAdvancedComponent,\r\n\t\tLuOptionPickerComponent,\r\n\t\tLuOptionPagerComponent,\r\n\t\tLuOptionFeederComponent,\r\n\t\tLuOptionSearcherComponent,\r\n\t\tLuForOptionsDirective,\r\n\t\tLuForGroupsDirective,\r\n\t\tLuOptionSelectAllComponent,\r\n\t\tLuOptionPlaceholderComponent,\r\n\t],\r\n})\r\nexport class LuOptionModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTreeOptionItemModule } from './item/index';\r\nimport { LuTreeOptionPickerModule } from './picker/index';\r\nimport { LuTreeOptionOperatorModule } from './operator/index';\r\nimport { LuTreeOptionSelectorModule } from './selector/index';\r\n\r\n@NgModule({\r\n\timports: [LuTreeOptionItemModule, LuTreeOptionPickerModule, LuTreeOptionOperatorModule, LuTreeOptionSelectorModule],\r\n\texports: [LuTreeOptionItemModule, LuTreeOptionPickerModule, LuTreeOptionOperatorModule, LuTreeOptionSelectorModule],\r\n})\r\nexport class LuTreeOptionModule {}\r\n","/*\r\n * Public API Surface of scroll\r\n */\r\n\r\nexport * from './lib/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MAGIC_STEP","i1"],"mappings":"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"}