@lucca-front/ng 19.3.0-rc.1 → 19.3.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/button/button.component.d.ts +3 -1
  2. package/date2/abstract-date-component.d.ts +3 -1
  3. package/empty-state/empty-state-page/empty-state-page.component.d.ts +3 -1
  4. package/empty-state/empty-state-section/empty-state-section.component.d.ts +3 -1
  5. package/empty-state/empty-state.model.d.ts +1 -0
  6. package/fesm2022/lucca-front-ng-api.mjs +2 -2
  7. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-button.mjs +9 -2
  9. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  10. package/fesm2022/lucca-front-ng-callout.mjs +6 -6
  11. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-core-select-user.mjs +1 -1
  13. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  14. package/fesm2022/lucca-front-ng-date.mjs +2 -2
  15. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-date2.mjs +23 -4
  17. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-department.mjs +2 -2
  19. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-dialog.mjs +4 -4
  21. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-empty-state.mjs +11 -5
  23. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  24. package/fesm2022/lucca-front-ng-establishment.mjs +2 -2
  25. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  26. package/fesm2022/lucca-front-ng-filter-pills.mjs +4 -4
  27. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  28. package/fesm2022/lucca-front-ng-footer.mjs +2 -2
  29. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  30. package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
  31. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +6 -6
  33. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  34. package/fesm2022/lucca-front-ng-highlight-data.mjs +4 -7
  35. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  36. package/fesm2022/lucca-front-ng-icon.mjs +2 -2
  37. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  38. package/fesm2022/lucca-front-ng-modal.mjs +1 -1
  39. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-multi-select.mjs +2 -2
  41. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-plg-push.mjs +2 -2
  43. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-popover2.mjs +2 -2
  45. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-popup-employee.mjs +2 -2
  47. package/fesm2022/lucca-front-ng-popup-employee.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-qualification.mjs +2 -2
  49. package/fesm2022/lucca-front-ng-qualification.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-select.mjs +2 -2
  51. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-simple-select.mjs +5 -3
  53. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-skeleton.mjs +6 -6
  55. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-tag.mjs +2 -2
  57. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-user.mjs +2 -2
  59. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  60. package/package.json +27 -27
  61. package/src/definitions/select/_select-input.scss +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-select.mjs","sources":["../../../packages/ng/select/input/select-input.model.ts","../../../packages/ng/select/input/select-input.component.ts","../../../packages/ng/select/input/select-input.component.html","../../../packages/ng/select/input/select-input.module.ts","../../../packages/ng/select/select.module.ts","../../../packages/ng/select/lucca-front-ng-select.ts"],"sourcesContent":["import { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { ChangeDetectorRef, ElementRef, Renderer2, ViewContainerRef, ViewRef } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { ILuClearer, ILuInput, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ILuInputWithPicker, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuPopoverTrigger, LuPopoverTarget } from '@lucca-front/ng/popover';\nimport { Subscription } from 'rxjs';\n\nexport abstract class ALuSelectInput<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuPopoverTrigger<TPicker> implements ControlValueAccessor, ILuInputWithPicker<T>, ILuInput {\n\tprotected _subs = new Subscription();\n\tconstructor(\n\t\tprotected _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected _renderer: Renderer2,\n\t) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget();\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis.target.position = 'below';\n\t\tthis.target.alignment = 'left';\n\t}\n\tprotected _isContentInitialized = false;\n\tprotected _placeholder: string;\n\tget placeholder() {\n\t\treturn this._placeholder;\n\t}\n\tset placeholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\t/**\n\t * contriol value accessor interface implementation\n\t */\n\tprotected _value: T | T[];\n\tsetValue(value: T | T[]) {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.value = value;\n\t\tthis._cvaOnChange(value);\n\t\tthis._onTouched();\n\t}\n\tget value(): T | T[] {\n\t\treturn this._value;\n\t}\n\tset value(value: T | T[]) {\n\t\tthis._value = value;\n\t\tthis.render();\n\t\tthis.applyClasses();\n\t\tif (this._picker) {\n\t\t\tthis._picker.setValue(value);\n\t\t}\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\t// From ControlValueAccessor interface\n\twriteValue(value: T | T[]) {\n\t\tthis.value = value;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _cvaOnChange = (v: T | T[]) => void v;\n\tregisterOnChange(fn: (v: T | T[]) => unknown) {\n\t\tthis._cvaOnChange = fn;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _onTouched = () => void {};\n\tregisterOnTouched(fn: () => unknown) {\n\t\tthis._onTouched = fn;\n\t}\n\toverride set disabled(d) {\n\t\tthis._disabled = d;\n\t}\n\toverride get disabled() {\n\t\treturn this._disabled;\n\t}\n\tsetDisabledState(disabled: boolean) {\n\t\tthis.disabled = disabled;\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\tprotected isEmpty() {\n\t\tconst isEmptyArray = Array.isArray(this.value) && this.value.length === 0;\n\t\treturn this.value === null || this.value === undefined || isEmptyArray;\n\t}\n\tprotected applyClasses() {\n\t\tif (this.isEmpty()) {\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\n\t\t} else {\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\n\t\t}\n\t}\n\t/**\n\t * popover trigger class extension\n\t */\n\tprotected set _picker(picker: TPicker) {\n\t\tthis.panel = picker;\n\t\tpicker.multiple = this._multiple;\n\t\tthis.subToPickerEvts();\n\t}\n\tprotected get _picker() {\n\t\treturn this.panel;\n\t}\n\tprotected set _clearer(clearer: ILuClearer<T>) {\n\t\tif (!!clearer && !!clearer.onClear) {\n\t\t\tthis._subs.add(clearer.onClear.subscribe(() => this.setValue(this._multiple ? [] : undefined)));\n\t\t}\n\t}\n\tprotected subToPickerEvts() {\n\t\tif (this.panel) {\n\t\t\tthis._subs.add(this.panel.onSelectValue.subscribe((value) => this.setValue(value)));\n\t\t}\n\t}\n\n\toverride closePopover() {\n\t\tthis._onTouched();\n\t\tsuper.closePopover();\n\t}\n\n\tonDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis._subs.unsubscribe();\n\t\tthis._cleanUpSubscriptions();\n\t}\n\n\tprotected override _getOverlayConfig(): OverlayConfig {\n\t\tconst config = super._getOverlayConfig();\n\t\tconst clientRect = this._elementRef.nativeElement.getBoundingClientRect();\n\t\tconfig.minWidth = `${Math.max(185, clientRect.width)}px`; // might become min/maxWidth\n\t\treturn config;\n\t}\n\n\t/* Rendering via a inpt displayer */\n\tprotected _displayer: ILuInputDisplayer<T>;\n\tprotected _displayContainer: ViewContainerRef;\n\tprotected set displayer(d: ILuInputDisplayer<T>) {\n\t\tthis._displayer = d;\n\t\tthis.render();\n\t}\n\tprotected set displayContainer(vcr: ViewContainerRef) {\n\t\tthis._displayContainer = vcr;\n\t}\n\tprotected render() {\n\t\tif (!this._displayer || !this._isContentInitialized) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.useMultipleViews()) {\n\t\t\tthis.renderMultipleViews();\n\t\t} else {\n\t\t\tthis.renderSingleView();\n\t\t}\n\t}\n\tprotected useMultipleViews() {\n\t\treturn this._multiple && !!this._displayer && !this._displayer.multiple;\n\t}\n\n\tprotected renderSingleView() {\n\t\tthis.clearDisplay();\n\t\tif (this.value !== null && this.value !== undefined) {\n\t\t\tconst newView = this.getView(this.value);\n\t\t\tthis.displayView(newView);\n\t\t}\n\t}\n\tprotected clearDisplay() {\n\t\tthis._displayContainer.clear();\n\t}\n\tprotected getView(value: T | T[]) {\n\t\tif (this._displayer) {\n\t\t\treturn this._displayer.getViewRef(value);\n\t\t}\n\t\treturn undefined;\n\t}\n\tprotected displayView(view: ViewRef) {\n\t\tif (view) {\n\t\t\tthis._displayContainer.insert(view);\n\t\t}\n\t}\n\n\tprotected renderMultipleViews() {\n\t\tthis.clearDisplay();\n\t\tconst values = <T[]>this.value || [];\n\t\tconst views = values.map((value) => this.getView(value));\n\t\tviews.forEach((view) => this.displayView(view));\n\t}\n\t// multiple\n\tprotected _multiple = false;\n\tset multiple(m: boolean) {\n\t\tthis._multiple = m;\n\t\tif (this._picker) {\n\t\t\tthis._picker.multiple = m;\n\t\t}\n\t}\n\tget multiple() {\n\t\treturn this._multiple;\n\t}\n}\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { Overlay } from '@angular/cdk/overlay';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tforwardRef,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tRenderer2,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ALuClearer, ALuInputDisplayer, ILuClearer, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuSelectInput } from './select-input.model';\n\n@Directive()\nexport abstract class ALuSelectInputComponent<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuSelectInput<T, TPicker> implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\t@ViewChild('display', { read: ViewContainerRef, static: true })\n\tprotected set _vcDisplayContainer(vcr: ViewContainerRef) {\n\t\tthis.displayContainer = vcr;\n\t}\n\n\t@HostBinding('tabindex') tabindex = 0;\n\n\t@Input('pickerOverlap') set overlapInput(o: boolean) {\n\t\tthis.target.overlap = o;\n\t}\n\n\t@Input('placeholder') set inputPlaceholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\n\t@Input('multiple') set inputMultiple(m: boolean | string) {\n\t\tif (m === '') {\n\t\t\t// allows to have multiple = true when writing\n\t\t\t// <lu-select multiple>\n\t\t\tthis.multiple = true;\n\t\t} else {\n\t\t\tthis.multiple = !!m;\n\t\t}\n\t}\n\n\t/** Event emitted when the associated popover is opened. */\n\t@Output() onOpen = new EventEmitter<void>();\n\t/** Event emitted when the associated popover is closed. */\n\t@Output() onClose = new EventEmitter<void>();\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\n\t@HostBinding('class.is-disabled')\n\tget isDisabled() {\n\t\treturn this.disabled;\n\t}\n\n\t@Input('disabled') set inputDisabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\n\t@HostBinding('class.is-focused')\n\tget isFocused() {\n\t\treturn this._popoverOpen && !this.target.overlap;\n\t}\n\n\t@HostBinding('class.mod-multiple')\n\tget modMultiple() {\n\t\treturn this._multiple;\n\t}\n\n\t@HostBinding('class.is-clearable')\n\tget isClearable() {\n\t\treturn !!this._clearer;\n\t}\n\n\t/**\n\t * popover trigger class extension\n\t */\n\t@ContentChild(ALuPickerPanel, { static: true }) ccPicker: TPicker;\n\t@ViewChild(ALuPickerPanel, { static: true }) vcPicker: TPicker;\n\n\t@ContentChild(ALuInputDisplayer, { static: true })\n\tccDisplayer: ILuInputDisplayer<T>;\n\t@ViewChild(ALuInputDisplayer, { static: true })\n\tvcDisplayer: ILuInputDisplayer<T>;\n\n\t@ContentChild(ALuClearer, { static: true }) ccClearer: ILuClearer<T>;\n\t@ViewChild(ALuClearer, { static: true }) vcClearer: ILuClearer<T>;\n\n\t@HostListener('click')\n\toverride onClick() {\n\t\tsuper.onClick();\n\t}\n\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\n\t@HostListener('keydown.space', ['$event'])\n\t@HostListener('keydown.enter', ['$event'])\n\tonKeydown($event: KeyboardEvent) {\n\t\tif (!this._popoverOpen) {\n\t\t\tthis.openPopover();\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._isContentInitialized = true;\n\n\t\t// init picker and displayer and clearer\n\t\tconst picker = this.ccPicker || this.vcPicker;\n\t\tif (picker) {\n\t\t\tthis._picker = picker;\n\t\t}\n\t\tconst displayer = this.ccDisplayer || this.vcDisplayer;\n\t\tif (displayer) {\n\t\t\tthis._displayer = displayer;\n\t\t}\n\t\tconst clearer = this.ccClearer || this.vcClearer;\n\t\tif (clearer) {\n\t\t\tthis._clearer = clearer;\n\t\t}\n\n\t\tthis.render();\n\t\tthis._picker.setValue(this.value);\n\n\t\t// strange bug where the view renderred in the displayer was only injected after a hover\n\t\t// no matter how many cdr.markforchack i added\n\t\t// but with a timeout it works\n\t\t// shrug emoji\n\t\tsetTimeout(() => {\n\t\t\tthis._changeDetectorRef.markForCheck();\n\t\t}, 1);\n\t}\n\n\tngOnDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis.onDestroy();\n\t}\n\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n\n/**\n * select input\n *\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@Component({\n\tselector: 'lu-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuSelectInputComponent<T> extends ALuSelectInputComponent<T> implements AfterViewInit {\n\t@HostBinding('class.mod-multipleView')\n\tget modMultipleView() {\n\t\treturn this.useMultipleViews();\n\t}\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\n\t// display clearer\n\t@ContentChild(ALuClearer, { read: ElementRef, static: false })\n\tclearerEltRef: ElementRef<HTMLElement>;\n\t@ViewChild('suffix', { read: ElementRef, static: true })\n\tsuffixEltRef: ElementRef<HTMLElement>;\n\n\tdisplayClearer() {\n\t\tif (this.clearerEltRef) {\n\t\t\tthis._renderer.appendChild(this.suffixEltRef.nativeElement, this.clearerEltRef.nativeElement);\n\t\t}\n\t}\n\n\toverride ngAfterViewInit() {\n\t\tsuper.ngAfterViewInit();\n\t\tthis.displayClearer(); // dont keep\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div #suffix class=\"lu-select-suffix\"></div>\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputComponent } from './select-input.component';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@NgModule({\n\timports: [LuSelectInputComponent],\n\texports: [LuSelectInputComponent],\n})\nexport class LuSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputModule } from './input/index';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@NgModule({\n\timports: [LuSelectInputModule],\n\texports: [LuSelectInputModule],\n})\nexport class LuSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;AAQM,MAAgB,cAAyE,SAAQ,iBAA0B,CAAA;IAEhI,WACW,CAAA,kBAAqC,EAC5B,QAAiB,EACjB,WAAoC,EACpC,iBAAmC,EAC5C,SAAoB,EAAA;AAE9B,QAAA,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC;QANrC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;QACT,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QAC1B,IAAS,CAAA,SAAA,GAAT,SAAS;AANV,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE;QAc1B,IAAqB,CAAA,qBAAA,GAAG,KAAK;;QAqC7B,IAAY,CAAA,YAAA,GAAG,CAAC,CAAU,KAAK,KAAK,CAAC;;AAKrC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,KAAK,EAAE;;QAyH1B,IAAS,CAAA,SAAA,GAAG,KAAK;AAxK1B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,EAAE;QACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW;AACzC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM;;AAI/B,IAAA,IAAI,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,YAAY;;IAEzB,IAAI,WAAW,CAAC,CAAS,EAAA;AACxB,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC;;AAMtB,IAAA,QAAQ,CAAC,KAAc,EAAA;AACtB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB;;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE;;AAElB,IAAA,IAAI,KAAK,GAAA;QACR,OAAO,IAAI,CAAC,MAAM;;IAEnB,IAAI,KAAK,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,MAAM,EAAE;QACb,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;;AAE7B,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;;;AAGvC,IAAA,UAAU,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;;AAInB,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AAC3C,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE;;AAIvB,IAAA,iBAAiB,CAAC,EAAiB,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;;IAErB,IAAa,QAAQ,CAAC,CAAC,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC;;AAEnB,IAAA,IAAa,QAAQ,GAAA;QACpB,OAAO,IAAI,CAAC,SAAS;;AAEtB,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;;IAE7B,OAAO,GAAA;AAChB,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;AACzE,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,YAAY;;IAE7D,YAAY,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC;;aACjE;AACN,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC;;;AAGtE;;AAEG;IACH,IAAc,OAAO,CAAC,MAAe,EAAA;AACpC,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;AACnB,QAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS;QAChC,IAAI,CAAC,eAAe,EAAE;;AAEvB,IAAA,IAAc,OAAO,GAAA;QACpB,OAAO,IAAI,CAAC,KAAK;;IAElB,IAAc,QAAQ,CAAC,OAAsB,EAAA;QAC5C,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;AACnC,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;;;IAGvF,eAAe,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;;;IAI5E,YAAY,GAAA;QACpB,IAAI,CAAC,UAAU,EAAE;QACjB,KAAK,CAAC,YAAY,EAAE;;IAGrB,SAAS,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,EAAE;;QAEpB,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;QACxB,IAAI,CAAC,qBAAqB,EAAE;;IAGV,iBAAiB,GAAA;AACnC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,EAAE;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,EAAE;AACzE,QAAA,MAAM,CAAC,QAAQ,GAAG,CAAG,EAAA,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAI,EAAA,CAAA,CAAC;AACzD,QAAA,OAAO,MAAM;;IAMd,IAAc,SAAS,CAAC,CAAuB,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;QACnB,IAAI,CAAC,MAAM,EAAE;;IAEd,IAAc,gBAAgB,CAAC,GAAqB,EAAA;AACnD,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG;;IAEnB,MAAM,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACpD;;AAED,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC5B,IAAI,CAAC,mBAAmB,EAAE;;aACpB;YACN,IAAI,CAAC,gBAAgB,EAAE;;;IAGf,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ;;IAG9D,gBAAgB,GAAA;QACzB,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;;;IAGjB,YAAY,GAAA;AACrB,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;;AAErB,IAAA,OAAO,CAAC,KAAc,EAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;;AAEzC,QAAA,OAAO,SAAS;;AAEP,IAAA,WAAW,CAAC,IAAa,EAAA;QAClC,IAAI,IAAI,EAAE;AACT,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;;;IAI3B,mBAAmB,GAAA;QAC5B,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,MAAM,MAAM,GAAQ,IAAI,CAAC,KAAK,IAAI,EAAE;AACpC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACxD,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;IAIhD,IAAI,QAAQ,CAAC,CAAU,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC;AAClB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC;;;AAG3B,IAAA,IAAI,QAAQ,GAAA;QACX,OAAO,IAAI,CAAC,SAAS;;AAEtB;;ACzKK,MAAgB,uBAAkF,SAAQ,cAA0B,CAAA;IACzI,IACc,mBAAmB,CAAC,GAAqB,EAAA;AACtD,QAAA,IAAI,CAAC,gBAAgB,GAAG,GAAG;;IAK5B,IAA4B,YAAY,CAAC,CAAU,EAAA;AAClD,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC;;IAGxB,IAA0B,gBAAgB,CAAC,CAAS,EAAA;AACnD,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC;;IAGtB,IAAuB,aAAa,CAAC,CAAmB,EAAA;AACvD,QAAA,IAAI,CAAC,KAAK,EAAE,EAAE;;;AAGb,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;;aACd;AACN,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;;;IASrB,WACoB,CAAA,kBAAqC,EACrC,QAAiB,EACjB,WAAoC,EACpC,iBAAmC,EACnC,SAAoB,EAAA;QAEvC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,CAAC;QAN3D,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;QAClB,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QACjB,IAAS,CAAA,SAAA,GAAT,SAAS;QA9BJ,IAAQ,CAAA,QAAA,GAAG,CAAC;;AAqB3B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ;;AAEjC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAQ;;AAY5C,IAAA,IACI,UAAU,GAAA;QACb,OAAO,IAAI,CAAC,QAAQ;;IAGrB,IAAuB,aAAa,CAAC,CAAU,EAAA;AAC9C,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC;;AAGnB,IAAA,IACI,SAAS,GAAA;QACZ,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;;AAGjD,IAAA,IACI,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,SAAS;;AAGtB,IAAA,IACI,WAAW,GAAA;AACd,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ;;IAkBd,OAAO,GAAA;QACf,KAAK,CAAC,OAAO,EAAE;;IAIP,YAAY,GAAA;QACpB,KAAK,CAAC,YAAY,EAAE;;IAIZ,YAAY,GAAA;QACpB,KAAK,CAAC,YAAY,EAAE;;IAIZ,OAAO,GAAA;QACf,KAAK,CAAC,OAAO,EAAE;;IAIP,MAAM,GAAA;QACd,KAAK,CAAC,MAAM,EAAE;;AAKf,IAAA,SAAS,CAAC,MAAqB,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,CAAC,eAAe,EAAE;YACxB,MAAM,CAAC,cAAc,EAAE;;;IAIzB,eAAe,GAAA;AACd,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;;QAGjC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;QAC7C,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM;;QAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;QACtD,IAAI,SAAS,EAAE;AACd,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;QAChD,IAAI,OAAO,EAAE;AACZ,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;;QAGxB,IAAI,CAAC,MAAM,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;QAMjC,UAAU,CAAC,MAAK;AACf,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;SACtC,EAAE,CAAC,CAAC;;IAGN,WAAW,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,EAAE;;QAEpB,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,SAAS,EAAE;;IAGP,SAAS,GAAA;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;;IAGT,UAAU,GAAA;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;;8GA5JC,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAoE9B,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,CAAA,eAAA,EAAA,cAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,aAAA,EAAA,kBAAA,CAAA,EAAA,aAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,aAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,cAAc,EAGd,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,iBAAiB,EAKjB,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,UAAU,EA3EM,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,gBAAgB,EAoEnC,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,cAAc,EAId,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,iBAAiB,0FAIjB,UAAU,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FA7EA,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAD5C;4LAGc,mBAAmB,EAAA,CAAA;sBADhC,SAAS;uBAAC,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;gBAKrC,QAAQ,EAAA,CAAA;sBAAhC,WAAW;uBAAC,UAAU;gBAEK,YAAY,EAAA,CAAA;sBAAvC,KAAK;uBAAC,eAAe;gBAII,gBAAgB,EAAA,CAAA;sBAAzC,KAAK;uBAAC,aAAa;gBAIG,aAAa,EAAA,CAAA;sBAAnC,KAAK;uBAAC,UAAU;gBAWP,MAAM,EAAA,CAAA;sBAAf;gBAES,OAAO,EAAA,CAAA;sBAAhB;gBAaG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,mBAAmB;gBAKT,aAAa,EAAA,CAAA;sBAAnC,KAAK;uBAAC,UAAU;gBAKb,SAAS,EAAA,CAAA;sBADZ,WAAW;uBAAC,kBAAkB;gBAM3B,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,oBAAoB;gBAM7B,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,oBAAoB;gBAQe,QAAQ,EAAA,CAAA;sBAAvD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACD,QAAQ,EAAA,CAAA;sBAApD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAG3C,WAAW,EAAA,CAAA;sBADV,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAGjD,WAAW,EAAA,CAAA;sBADV,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAGF,SAAS,EAAA,CAAA;sBAApD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACD,SAAS,EAAA,CAAA;sBAAjD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAG9B,OAAO,EAAA,CAAA;sBADf,YAAY;uBAAC,OAAO;gBAMZ,YAAY,EAAA,CAAA;sBADpB,YAAY;uBAAC,YAAY;gBAMjB,YAAY,EAAA,CAAA;sBADpB,YAAY;uBAAC,YAAY;gBAMjB,OAAO,EAAA,CAAA;sBADf,YAAY;uBAAC,OAAO;gBAMZ,MAAM,EAAA,CAAA;sBADd,YAAY;uBAAC,MAAM;gBAOpB,SAAS,EAAA,CAAA;sBAFR,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;sBACxC,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AAuD1C;;;;AAIG;AAeG,MAAO,sBAA0B,SAAQ,uBAA0B,CAAA;AACxE,IAAA,IACI,eAAe,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE;;IAG/B,WACoB,CAAA,kBAAqC,EACrC,QAAiB,EACjB,WAAoC,EACpC,iBAAmC,EACnC,SAAoB,EAAA;QAEvC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,CAAC;QAN3D,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;QAClB,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QACjB,IAAS,CAAA,SAAA,GAAT,SAAS;;IAW7B,cAAc,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;;;IAItF,eAAe,GAAA;QACvB,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,cAAc,EAAE,CAAC;;8GA9BX,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EARvB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAmBa,UAAU,EAAU,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,EAEf,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,kECjOxC,4PAOA,EAAA,MAAA,EAAA,CAAA,i9PAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDuMa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAdlC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,mBAGJ,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACL,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,4PAAA,EAAA,MAAA,EAAA,CAAA,i9PAAA,CAAA,EAAA;4LAIG,eAAe,EAAA,CAAA;sBADlB,WAAW;uBAAC,wBAAwB;gBAiBrC,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE;gBAG7D,YAAY,EAAA,CAAA;sBADX,SAAS;uBAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;AE9NxD;;AAEG;MAKU,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAnB,mBAAmB,EAAA,OAAA,EAAA,CAHrB,sBAAsB,CAAA,EAAA,OAAA,EAAA,CACtB,sBAAsB,CAAA,EAAA,CAAA,CAAA;+GAEpB,mBAAmB,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,iBAAA;;;ACND;;AAEG;MAKU,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,OAAA,EAAA,CAHhB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;+GAEjB,cAAc,EAAA,OAAA,EAAA,CAHhB,mBAAmB,EACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;;2FAEjB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,iBAAA;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-select.mjs","sources":["../../../packages/ng/select/input/select-input.model.ts","../../../packages/ng/select/input/select-input.component.ts","../../../packages/ng/select/input/select-input.component.html","../../../packages/ng/select/input/select-input.module.ts","../../../packages/ng/select/select.module.ts","../../../packages/ng/select/lucca-front-ng-select.ts"],"sourcesContent":["import { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { ChangeDetectorRef, ElementRef, Renderer2, ViewContainerRef, ViewRef } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { ILuClearer, ILuInput, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ILuInputWithPicker, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuPopoverTrigger, LuPopoverTarget } from '@lucca-front/ng/popover';\nimport { Subscription } from 'rxjs';\n\nexport abstract class ALuSelectInput<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuPopoverTrigger<TPicker> implements ControlValueAccessor, ILuInputWithPicker<T>, ILuInput {\n\tprotected _subs = new Subscription();\n\tconstructor(\n\t\tprotected _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected _renderer: Renderer2,\n\t) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget();\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis.target.position = 'below';\n\t\tthis.target.alignment = 'left';\n\t}\n\tprotected _isContentInitialized = false;\n\tprotected _placeholder: string;\n\tget placeholder() {\n\t\treturn this._placeholder;\n\t}\n\tset placeholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\t/**\n\t * contriol value accessor interface implementation\n\t */\n\tprotected _value: T | T[];\n\tsetValue(value: T | T[]) {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.value = value;\n\t\tthis._cvaOnChange(value);\n\t\tthis._onTouched();\n\t}\n\tget value(): T | T[] {\n\t\treturn this._value;\n\t}\n\tset value(value: T | T[]) {\n\t\tthis._value = value;\n\t\tthis.render();\n\t\tthis.applyClasses();\n\t\tif (this._picker) {\n\t\t\tthis._picker.setValue(value);\n\t\t}\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\t// From ControlValueAccessor interface\n\twriteValue(value: T | T[]) {\n\t\tthis.value = value;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _cvaOnChange = (v: T | T[]) => void v;\n\tregisterOnChange(fn: (v: T | T[]) => unknown) {\n\t\tthis._cvaOnChange = fn;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _onTouched = () => void {};\n\tregisterOnTouched(fn: () => unknown) {\n\t\tthis._onTouched = fn;\n\t}\n\toverride set disabled(d) {\n\t\tthis._disabled = d;\n\t}\n\toverride get disabled() {\n\t\treturn this._disabled;\n\t}\n\tsetDisabledState(disabled: boolean) {\n\t\tthis.disabled = disabled;\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\tprotected isEmpty() {\n\t\tconst isEmptyArray = Array.isArray(this.value) && this.value.length === 0;\n\t\treturn this.value === null || this.value === undefined || isEmptyArray;\n\t}\n\tprotected applyClasses() {\n\t\tif (this.isEmpty()) {\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\n\t\t} else {\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\n\t\t}\n\t}\n\t/**\n\t * popover trigger class extension\n\t */\n\tprotected set _picker(picker: TPicker) {\n\t\tthis.panel = picker;\n\t\tpicker.multiple = this._multiple;\n\t\tthis.subToPickerEvts();\n\t}\n\tprotected get _picker() {\n\t\treturn this.panel;\n\t}\n\tprotected set _clearer(clearer: ILuClearer<T>) {\n\t\tif (!!clearer && !!clearer.onClear) {\n\t\t\tthis._subs.add(clearer.onClear.subscribe(() => this.setValue(this._multiple ? [] : undefined)));\n\t\t}\n\t}\n\tprotected subToPickerEvts() {\n\t\tif (this.panel) {\n\t\t\tthis._subs.add(this.panel.onSelectValue.subscribe((value) => this.setValue(value)));\n\t\t}\n\t}\n\n\toverride closePopover() {\n\t\tthis._onTouched();\n\t\tsuper.closePopover();\n\t}\n\n\tonDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis._subs.unsubscribe();\n\t\tthis._cleanUpSubscriptions();\n\t}\n\n\tprotected override _getOverlayConfig(): OverlayConfig {\n\t\tconst config = super._getOverlayConfig();\n\t\tconst clientRect = this._elementRef.nativeElement.getBoundingClientRect();\n\t\tconfig.minWidth = `${Math.max(185, clientRect.width)}px`; // might become min/maxWidth\n\t\treturn config;\n\t}\n\n\t/* Rendering via a inpt displayer */\n\tprotected _displayer: ILuInputDisplayer<T>;\n\tprotected _displayContainer: ViewContainerRef;\n\tprotected set displayer(d: ILuInputDisplayer<T>) {\n\t\tthis._displayer = d;\n\t\tthis.render();\n\t}\n\tprotected set displayContainer(vcr: ViewContainerRef) {\n\t\tthis._displayContainer = vcr;\n\t}\n\tprotected render() {\n\t\tif (!this._displayer || !this._isContentInitialized) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.useMultipleViews()) {\n\t\t\tthis.renderMultipleViews();\n\t\t} else {\n\t\t\tthis.renderSingleView();\n\t\t}\n\t}\n\tprotected useMultipleViews() {\n\t\treturn this._multiple && !!this._displayer && !this._displayer.multiple;\n\t}\n\n\tprotected renderSingleView() {\n\t\tthis.clearDisplay();\n\t\tif (this.value !== null && this.value !== undefined) {\n\t\t\tconst newView = this.getView(this.value);\n\t\t\tthis.displayView(newView);\n\t\t}\n\t}\n\tprotected clearDisplay() {\n\t\tthis._displayContainer.clear();\n\t}\n\tprotected getView(value: T | T[]) {\n\t\tif (this._displayer) {\n\t\t\treturn this._displayer.getViewRef(value);\n\t\t}\n\t\treturn undefined;\n\t}\n\tprotected displayView(view: ViewRef) {\n\t\tif (view) {\n\t\t\tthis._displayContainer.insert(view);\n\t\t}\n\t}\n\n\tprotected renderMultipleViews() {\n\t\tthis.clearDisplay();\n\t\tconst values = <T[]>this.value || [];\n\t\tconst views = values.map((value) => this.getView(value));\n\t\tviews.forEach((view) => this.displayView(view));\n\t}\n\t// multiple\n\tprotected _multiple = false;\n\tset multiple(m: boolean) {\n\t\tthis._multiple = m;\n\t\tif (this._picker) {\n\t\t\tthis._picker.multiple = m;\n\t\t}\n\t}\n\tget multiple() {\n\t\treturn this._multiple;\n\t}\n}\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { Overlay } from '@angular/cdk/overlay';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tforwardRef,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tRenderer2,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ALuClearer, ALuInputDisplayer, ILuClearer, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuSelectInput } from './select-input.model';\n\n@Directive()\nexport abstract class ALuSelectInputComponent<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuSelectInput<T, TPicker> implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\t@ViewChild('display', { read: ViewContainerRef, static: true })\n\tprotected set _vcDisplayContainer(vcr: ViewContainerRef) {\n\t\tthis.displayContainer = vcr;\n\t}\n\n\t@HostBinding('tabindex') tabindex = 0;\n\n\t@Input('pickerOverlap') set overlapInput(o: boolean) {\n\t\tthis.target.overlap = o;\n\t}\n\n\t@Input('placeholder') set inputPlaceholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\n\t@Input('multiple') set inputMultiple(m: boolean | string) {\n\t\tif (m === '') {\n\t\t\t// allows to have multiple = true when writing\n\t\t\t// <lu-select multiple>\n\t\t\tthis.multiple = true;\n\t\t} else {\n\t\t\tthis.multiple = !!m;\n\t\t}\n\t}\n\n\t/** Event emitted when the associated popover is opened. */\n\t@Output() onOpen = new EventEmitter<void>();\n\t/** Event emitted when the associated popover is closed. */\n\t@Output() onClose = new EventEmitter<void>();\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\n\t@HostBinding('class.is-disabled')\n\tget isDisabled() {\n\t\treturn this.disabled;\n\t}\n\n\t@Input('disabled') set inputDisabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\n\t@HostBinding('class.is-focused')\n\tget isFocused() {\n\t\treturn this._popoverOpen && !this.target.overlap;\n\t}\n\n\t@HostBinding('class.mod-multiple')\n\tget modMultiple() {\n\t\treturn this._multiple;\n\t}\n\n\t@HostBinding('class.is-clearable')\n\tget isClearable() {\n\t\treturn !!this._clearer;\n\t}\n\n\t/**\n\t * popover trigger class extension\n\t */\n\t@ContentChild(ALuPickerPanel, { static: true }) ccPicker: TPicker;\n\t@ViewChild(ALuPickerPanel, { static: true }) vcPicker: TPicker;\n\n\t@ContentChild(ALuInputDisplayer, { static: true })\n\tccDisplayer: ILuInputDisplayer<T>;\n\t@ViewChild(ALuInputDisplayer, { static: true })\n\tvcDisplayer: ILuInputDisplayer<T>;\n\n\t@ContentChild(ALuClearer, { static: true }) ccClearer: ILuClearer<T>;\n\t@ViewChild(ALuClearer, { static: true }) vcClearer: ILuClearer<T>;\n\n\t@HostListener('click')\n\toverride onClick() {\n\t\tsuper.onClick();\n\t}\n\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\n\t@HostListener('keydown.space', ['$event'])\n\t@HostListener('keydown.enter', ['$event'])\n\tonKeydown($event: KeyboardEvent) {\n\t\tif (!this._popoverOpen) {\n\t\t\tthis.openPopover();\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._isContentInitialized = true;\n\n\t\t// init picker and displayer and clearer\n\t\tconst picker = this.ccPicker || this.vcPicker;\n\t\tif (picker) {\n\t\t\tthis._picker = picker;\n\t\t}\n\t\tconst displayer = this.ccDisplayer || this.vcDisplayer;\n\t\tif (displayer) {\n\t\t\tthis._displayer = displayer;\n\t\t}\n\t\tconst clearer = this.ccClearer || this.vcClearer;\n\t\tif (clearer) {\n\t\t\tthis._clearer = clearer;\n\t\t}\n\n\t\tthis.render();\n\t\tthis._picker.setValue(this.value);\n\n\t\t// strange bug where the view renderred in the displayer was only injected after a hover\n\t\t// no matter how many cdr.markforchack i added\n\t\t// but with a timeout it works\n\t\t// shrug emoji\n\t\tsetTimeout(() => {\n\t\t\tthis._changeDetectorRef.markForCheck();\n\t\t}, 1);\n\t}\n\n\tngOnDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis.onDestroy();\n\t}\n\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n\n/**\n * select input\n *\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@Component({\n\tselector: 'lu-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuSelectInputComponent<T> extends ALuSelectInputComponent<T> implements AfterViewInit {\n\t@HostBinding('class.mod-multipleView')\n\tget modMultipleView() {\n\t\treturn this.useMultipleViews();\n\t}\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\n\t// display clearer\n\t@ContentChild(ALuClearer, { read: ElementRef, static: false })\n\tclearerEltRef: ElementRef<HTMLElement>;\n\t@ViewChild('suffix', { read: ElementRef, static: true })\n\tsuffixEltRef: ElementRef<HTMLElement>;\n\n\tdisplayClearer() {\n\t\tif (this.clearerEltRef) {\n\t\t\tthis._renderer.appendChild(this.suffixEltRef.nativeElement, this.clearerEltRef.nativeElement);\n\t\t}\n\t}\n\n\toverride ngAfterViewInit() {\n\t\tsuper.ngAfterViewInit();\n\t\tthis.displayClearer(); // dont keep\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div #suffix class=\"lu-select-suffix\"></div>\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputComponent } from './select-input.component';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@NgModule({\n\timports: [LuSelectInputComponent],\n\texports: [LuSelectInputComponent],\n})\nexport class LuSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputModule } from './input/index';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@NgModule({\n\timports: [LuSelectInputModule],\n\texports: [LuSelectInputModule],\n})\nexport class LuSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -289,9 +289,11 @@ class LuSimpleSelectInputComponent extends ALuSelectInputComponent {
289
289
  return this.panelRefFactory.buildPanelRef(this, this.overlayConfig);
290
290
  }
291
291
  inputSpace(event) {
292
- if (this.clue.length === 0) {
293
- event.preventDefault();
294
- this.panelRef?.selectCurrentlyHighlightedValue();
292
+ if (this.filterPillMode) {
293
+ if (this.clue.length === 0) {
294
+ event.preventDefault();
295
+ this.panelRef?.selectCurrentlyHighlightedValue();
296
+ }
295
297
  }
296
298
  }
297
299
  hasValue() {
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-simple-select.mjs","sources":["../../../packages/ng/simple-select/translations.ts","../../../packages/ng/simple-select/select.translate.ts","../../../packages/ng/simple-select/select.model.ts","../../../packages/ng/simple-select/panel/option-selected.pipe.ts","../../../packages/ng/simple-select/panel/panel.component.ts","../../../packages/ng/simple-select/panel/panel.component.html","../../../packages/ng/simple-select/input/panel-ref.factory.ts","../../../packages/ng/simple-select/input/select-input.component.ts","../../../packages/ng/simple-select/input/select-input.component.html","../../../packages/ng/simple-select/lucca-front-ng-simple-select.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tplaceholder: 'Select an option',\n\t\tclear: 'Clear',\n\t\tclearSearch: 'Clear search',\n\t\temptyResults: 'Your search did not produce any results.',\n\t\tloading: 'Loading...',\n\t},\n\tde: {\n\t\tplaceholder: 'Wählen Sie eine Option',\n\t\tclear: 'Löschen',\n\t\tclearSearch: 'Suche leeren',\n\t\temptyResults: 'Keine Ergebnisse für Ihre Suche',\n\t\tloading: 'Lädt...',\n\t},\n\tfr: {\n\t\tplaceholder: 'Sélectionnez une option',\n\t\tclear: 'Effacer',\n\t\tclearSearch: 'Vider la recherche',\n\t\temptyResults: 'Aucun résultat pour votre recherche',\n\t\tloading: 'Chargement en cours...',\n\t},\n\tit: {\n\t\tplaceholder: 'Seleziona un’opzione',\n\t\tclear: 'Cancellare',\n\t\tclearSearch: 'Cancellare la ricerca',\n\t\temptyResults: 'Nessun risultato per la ricerca',\n\t\tloading: 'Caricamento in corso...',\n\t},\n\tnl: {\n\t\tplaceholder: 'Selecteer een optie',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Geen resultaten voor uw zoekopdracht',\n\t\tloading: 'Bezig met laden...',\n\t},\n\t'nl-BE': {\n\t\tplaceholder: 'Selecteer een optie',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Geen resultaten voor uw zoekopdracht',\n\t\tloading: 'Bezig met laden...',\n\t},\n\tes: {\n\t\tplaceholder: 'Seleccione una opción',\n\t\tclear: 'Eliminar',\n\t\tclearSearch: 'Vaciar la búsqueda',\n\t\temptyResults: 'No hay resultados para su búsqueda',\n\t\tloading: 'Cargando...',\n\t},\n\tpt: {\n\t\tplaceholder: 'Selecione uma opção',\n\t\tclear: 'Limpar',\n\t\tclearSearch: 'Limpar pesquisa',\n\t\temptyResults: 'Nenhum resultado para sua pesquisa',\n\t\tloading: 'Carregando...',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_SIMPLE_SELECT_TRANSLATIONS = new InjectionToken('LuSimpleSelectTranslations', {\n\tfactory: () => luSimpleSelectTranslations,\n});\n\nexport interface ILuSimpleSelectLabel {\n\tplaceholder: string;\n\tclear: string;\n\tclearSearch: string;\n\temptyResults: string;\n\tloading: string;\n}\n\nexport const luSimpleSelectTranslations: LuTranslation<ILuSimpleSelectLabel> = Translations;\n","import { InjectionToken } from '@angular/core';\nimport type { LuSimpleSelectInputComponent } from './input';\n\nexport const SIMPLE_SELECT_INPUT = new InjectionToken<LuSimpleSelectInputComponent<unknown>>('SimpleSelectInput');\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LuOptionComparer } from '@lucca-front/ng/core-select';\n\n@Pipe({\n\tname: 'luIsOptionSelected',\n\tstandalone: true,\n})\nexport class LuIsOptionSelectedPipe implements PipeTransform {\n\ttransform<T>(option: T, comparer: LuOptionComparer<T>, selectedOption: T): boolean {\n\t\treturn !!selectedOption && comparer(option, selectedOption);\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, QueryList, TrackByFunction, ViewChildren, inject, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { PortalDirective, getIntl } from '@lucca-front/ng/core';\nimport { CoreSelectKeyManager, LuOptionGroup, LuSelectPanelRef, SELECT_ID, ɵLuOptionComponent, ɵLuOptionGroupPipe, ɵgetGroupTemplateLocation } from '@lucca-front/ng/core-select';\nimport { EMPTY } from 'rxjs';\nimport { LuSimpleSelectInputComponent } from '../input/select-input.component';\nimport { SIMPLE_SELECT_INPUT } from '../select.model';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuIsOptionSelectedPipe } from './option-selected.pipe';\n\n@Component({\n\tselector: 'lu-select-panel',\n\ttemplateUrl: './panel.component.html',\n\tstyleUrls: ['./panel.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, NgTemplateOutlet, ɵLuOptionGroupPipe, ɵLuOptionComponent, LuIsOptionSelectedPipe, PortalDirective],\n\tproviders: [CoreSelectKeyManager],\n})\nexport class LuSelectPanelComponent<T> implements AfterViewInit {\n\tpublic selectInput = inject<LuSimpleSelectInputComponent<T>>(SIMPLE_SELECT_INPUT);\n\tpublic panelRef = inject<LuSelectPanelRef<T, T>>(LuSelectPanelRef);\n\tpublic selectId = inject(SELECT_ID);\n\tpublic intl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\toptions$ = this.selectInput.options$;\n\tgrouping = this.selectInput.grouping;\n\tloading$ = this.selectInput.loading$;\n\tsearchable = this.selectInput.searchable;\n\toptionComparer = this.selectInput.optionComparer;\n\toptionKey = this.selectInput.optionKey;\n\n\ttrackOptionsBy: TrackByFunction<T> = (_, option) => this.optionKey(option);\n\ttrackGroupsBy: TrackByFunction<LuOptionGroup<T, unknown>> = (_, group) => group.key;\n\n\tinitialValue: T | undefined = this.selectInput.value;\n\toptionTpl = this.selectInput.optionTpl;\n\n\t@ViewChildren(ɵLuOptionComponent) optionsQL: QueryList<ɵLuOptionComponent<T>>;\n\n\tpublic keyManager = inject<CoreSelectKeyManager<T>>(CoreSelectKeyManager);\n\n\tpublic selected = computed(() => this.selectInput.valueSignal());\n\n\tpublic clueChange$ = this.selectInput.clue$;\n\tpublic shouldDisplayAddOption$ = this.selectInput.shouldDisplayAddOption$;\n\tpublic groupTemplateLocation$ = ɵgetGroupTemplateLocation(!!this.grouping, this.clueChange$, this.options$, this.searchable);\n\n\tonScroll(evt: Event): void {\n\t\tif (!(evt.target instanceof HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (evt.target.scrollTop === 0) {\n\t\t\tthis.panelRef.previousPage.emit();\n\t\t}\n\n\t\tif (evt.target.scrollHeight - evt.target.scrollTop - evt.target.clientHeight < 1) {\n\t\t\tthis.panelRef.nextPage.emit();\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.keyManager.init({\n\t\t\tqueryList: this.optionsQL,\n\t\t\toptions$: this.options$,\n\t\t\toptionComparer: this.optionComparer,\n\t\t\tactiveOptionIdChanged$: this.panelRef.activeOptionIdChanged,\n\t\t\tclueChange$: this.selectInput.searchable ? this.selectInput.clueChange : EMPTY,\n\t\t});\n\n\t\tif (this.initialValue && !this.selectInput.clue) {\n\t\t\tthis.keyManager.highlightOption(this.initialValue);\n\t\t}\n\t}\n}\n","<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\tcdkTrapFocus\n\t*ngIf=\"{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t} as ctx\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" (scroll)=\"onScroll($event)\">\n\t\t<ng-container *luPortal=\"selectInput.panelHeaderTpl()\" />\n\t\t<div role=\"listbox\">\n\t\t\t<ng-container *ngIf=\"grouping && ctx.groupTemplateLocation === 'group-header'\">\n\t\t\t\t<div\n\t\t\t\t\t*ngFor=\"let group of ctx.options | luOptionGroup:grouping.selector; trackBy: trackGroupsBy; let groupIndex = index\"\n\t\t\t\t\tclass=\"lu-picker-content-option-group\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\t[attr.aria-labelledby]=\"selectId + '-group-' + group.key\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"lu-picker-content-option-group-title\" role=\"presentation\" [id]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\" />\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngIf=\"!grouping || ctx.groupTemplateLocation !== 'group-header'\">\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t</ng-container>\n\n\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t<lu-select-option\n\t\t\t\t\t*ngFor=\"let option of options; let index = index; trackBy: trackOptionsBy\"\n\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t[grouping]=\"grouping\"\n\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected:optionComparer:selected()\"\n\t\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t\t/>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-picker-content-option-emptyState\" *ngIf=\"ctx.options.length === 0 && (loading$ | async) === false\">\n\t\t\t\t{{ intl.emptyResults }}\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"loading$ | async\" class=\"lu-picker-content-loading\">\n\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t</div>\n\t\t<div class=\"lu-picker-content-add\" *ngIf=\"ctx.shouldDisplayAddOption\">\n\t\t\t<button class=\"button mod-text mod-withIcon palette-product\" type=\"button\" (click)=\"selectInput.emitAddOption()\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-mathsPlus\"></span>\n\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t</button>\n\t\t</div>\n\t</div>\n</div>\n","import { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector, ViewContainerRef } from '@angular/core';\nimport { addAttributesOnCdkContainer, LuSelectPanelRef, SELECT_ID, SELECT_LABEL_ID } from '@lucca-front/ng/core-select';\nimport { takeUntil } from 'rxjs';\nimport { LuSelectPanelComponent } from '../panel';\nimport { SIMPLE_SELECT_INPUT } from '../select.model';\nimport { LuSimpleSelectInputComponent } from './select-input.component';\n\nabstract class BaseSelectPanelRef<T> extends LuSelectPanelRef<T, T> {\n\tprotected readonly portalRef: ComponentPortal<LuSelectPanelComponent<T>>;\n\tinstance: LuSelectPanelComponent<T>;\n\n\tprotected panelRef: ComponentRef<LuSelectPanelComponent<T>>;\n\n\tprotected constructor(parentInjector: Injector, selectInput: LuSimpleSelectInputComponent<T>) {\n\t\tsuper();\n\n\t\tthis.portalRef = new ComponentPortal<LuSelectPanelComponent<T>>(LuSelectPanelComponent, undefined, this.createInjector(selectInput, parentInjector));\n\t}\n\n\tprotected createInjector(selectInput: LuSimpleSelectInputComponent<T>, parentInjector: Injector): Injector {\n\t\treturn Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: LuSelectPanelRef, useValue: this },\n\t\t\t\t{ provide: SIMPLE_SELECT_INPUT, useValue: selectInput },\n\t\t\t],\n\t\t\tparent: parentInjector,\n\t\t});\n\t}\n\n\toverride handleKeyManagerEvent(event: KeyboardEvent) {\n\t\tthis.instance.keyManager.onKeydown(event);\n\t}\n\n\temitValue(value: T): void {\n\t\tthis.valueChanged.emit(value);\n\t\tthis.close();\n\t}\n\n\tselectCurrentlyHighlightedValue(): void {\n\t\tif (this.instance.keyManager.activeItem) {\n\t\t\tthis.emitValue(this.instance.keyManager.activeItem.option);\n\t\t}\n\t\tthis.close();\n\t}\n}\n\nclass SelectPanelRef<T> extends BaseSelectPanelRef<T> {\n\tconstructor(\n\t\tprivate overlayRef: OverlayRef,\n\t\tparentInjector: Injector,\n\t\tselectInput: LuSimpleSelectInputComponent<T>,\n\t) {\n\t\tsuper(parentInjector, selectInput);\n\t\tthis.panelRef = overlayRef.attach(this.portalRef);\n\t\tthis.instance = this.panelRef.instance;\n\n\t\toverlayRef\n\t\t\t.backdropClick()\n\t\t\t.pipe(takeUntil(this.closed))\n\t\t\t.subscribe(() => this.close());\n\t}\n\n\toverride close(): void {\n\t\tsuper.close();\n\t\tthis.panelRef.destroy();\n\t\tthis.overlayRef.detach();\n\t}\n\n\tupdatePosition(): void {\n\t\tthis.overlayRef.updatePosition();\n\t}\n}\n\nclass SelectPanelDOMHostRef<T> extends BaseSelectPanelRef<T> {\n\tconstructor(host: ViewContainerRef, parentInjector: Injector, selectInput: LuSimpleSelectInputComponent<T>) {\n\t\tsuper(parentInjector, selectInput);\n\t\tthis.panelRef = host.createComponent(this.portalRef.component, {\n\t\t\tinjector: this.portalRef.injector,\n\t\t\tprojectableNodes: this.portalRef.projectableNodes,\n\t\t});\n\t\tthis.instance = this.panelRef.instance;\n\t}\n\n\toverride updatePosition() {\n\t\t// do nothing, this is not a panel so repositioning is handled by the input.\n\t}\n\n\toverride close(): void {\n\t\tthis.closed.emit();\n\t}\n}\n\n@Injectable()\nexport class LuSimpleSelectPanelRefFactory {\n\tprotected overlay = inject(Overlay);\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprotected positionBuilder = inject(OverlayPositionBuilder);\n\tprotected scrollStrategies = inject(ScrollStrategyOptions);\n\tprotected parentInjector = inject(Injector);\n\tprivate selectLabelId = inject(SELECT_LABEL_ID);\n\tprivate selectId = inject(SELECT_ID);\n\n\tbuildPanelRef<T>(selectInput: LuSimpleSelectInputComponent<T>, overlayConfigOverride: OverlayConfig = {}): LuSelectPanelRef<T, T> {\n\t\tconst overlayConfig = this.buildOverlayConfig(overlayConfigOverride);\n\t\tconst overlayRef = this.overlay.create(overlayConfig);\n\n\t\taddAttributesOnCdkContainer(overlayRef, this.selectLabelId, this.selectId);\n\n\t\treturn new SelectPanelRef(overlayRef, this.parentInjector, selectInput);\n\t}\n\n\tbuildAndAttachPanelRef<T>(selectInput: LuSimpleSelectInputComponent<T>, host: ViewContainerRef): LuSelectPanelRef<T, T> {\n\t\treturn new SelectPanelDOMHostRef(host, this.parentInjector, selectInput);\n\t}\n\n\tprotected buildOverlayConfig(overlayConfigOverride: OverlayConfig = {}): OverlayConfig {\n\t\tconst overlayConfig: OverlayConfig = overlayConfigOverride || {};\n\t\toverlayConfig.positionStrategy = this.positionBuilder.flexibleConnectedTo(this.elementRef).withPositions([\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t]);\n\t\toverlayConfig.scrollStrategy = this.scrollStrategies.reposition();\n\t\toverlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;\n\t\toverlayConfig.maxHeight = '100vh';\n\t\toverlayConfig.maxWidth = '100vw';\n\n\t\treturn overlayConfig;\n\t}\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, HostBinding, inject, Input, viewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuSelectPanelRef, provideLuSelectLabelsAndIds, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { FILTER_PILL_INPUT_COMPONENT, FilterPillDisplayerDirective } from '@lucca-front/ng/filter-pills';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuSimpleSelectPanelRefFactory } from './panel-ref.factory';\n\n@Component({\n\tselector: 'lu-simple-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\thost: { class: 'simpleSelect' },\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, ɵLuOptionOutletDirective, NgIf, OverlayModule, FormsModule, InputDirective, FilterPillDisplayerDirective, NgTemplateOutlet, IconComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuSelectInputComponent,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t},\n\t\tLuSimpleSelectPanelRefFactory,\n\t\tprovideLuSelectLabelsAndIds(),\n\t\t{\n\t\t\tprovide: FILTER_PILL_INPUT_COMPONENT,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t},\n\t],\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuSimpleSelectInputComponent<T> extends ALuSelectInputComponent<T, T> implements ControlValueAccessor {\n\tintl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\t@HostBinding('class.mod-filterPill')\n\tpublic get filterPillClass() {\n\t\treturn this.filterPillMode;\n\t}\n\n\t@Input()\n\tautocomplete?: string;\n\n\tfilterPillPanelAnchorRef = viewChild('filterPillPanelAnchor', { read: ViewContainerRef });\n\n\tprotected panelRefFactory = inject(LuSimpleSelectPanelRefFactory);\n\n\tprotected buildPanelRef(): LuSelectPanelRef<T, T> {\n\t\treturn this.panelRefFactory.buildPanelRef(this, this.overlayConfig);\n\t}\n\n\tinputSpace(event: Event): void {\n\t\tif (this.clue.length === 0) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.panelRef?.selectCurrentlyHighlightedValue();\n\t\t}\n\t}\n\n\tprotected hasValue(): boolean {\n\t\treturn this.value !== null && this.value !== undefined;\n\t}\n\n\toverride enableFilterPillMode() {\n\t\tthis._panelRef = this.panelRefFactory.buildAndAttachPanelRef(this, this.filterPillPanelAnchorRef());\n\t\tsuper.enableFilterPillMode();\n\t}\n}\n","<div class=\"simpleSelect-field\">\n\t<input\n\t\tclass=\"simpleSelect-field-input\"\n\t\ttype=\"text\"\n\t\trole=\"combobox\"\n\t\taria-haspopup=\"listbox\"\n\t\t[attr.aria-activedescendant]=\"activeDescendant$ | async\"\n\t\t[attr.aria-expanded]=\"isPanelOpen\"\n\t\t[attr.aria-controls]=\"ariaControls\"\n\t\tplaceholder=\"{{inputPlaceholder}}\"\n\t\t[ngModel]=\"clue\"\n\t\t(ngModelChange)=\"clueChanged($event)\"\n\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t[readonly]=\"!searchable\"\n\t\t[disabled]=\"disabled$ | async\"\n\t\t(keyup.space)=\"inputSpace($event)\"\n\t\tluInput\n\t\t#inputElement\n\t\t[attr.autocomplete]=\"autocomplete\"\n\t\t[attr.tabindex]=\"inputTabindex()\"\n\t/>\n\t<div class=\"simpleSelect-field-value\">\n\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n\t</div>\n\t<button\n\t\t*ngIf=\"clearable && hasValue() && (disabled$ | async) === false\"\n\t\tclass=\"simpleSelect-field-clear clear\"\n\t\trole=\"button\"\n\t\ttype=\"button\"\n\t\t(click)=\"clearValue($event)\"\n\t\t(keydown.space)=\"clearValue($event)\"\n\t>\n\t\t<span class=\"u-mask\">{{ intl.clear }}</span>\n\t</button>\n\t@if (!filterPillMode) {\n\t<lu-icon icon=\"arrowChevronBottom\" class=\"simpleSelect-field-icon\" />\n\t<lu-icon icon=\"searchMagnifyingGlass\" class=\"simpleSelect-field-icon mod-search\" />\n\t}\n</div>\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n</ng-container>\n\n<ng-template #currentValueDisplayerTpl>\n\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value\"></ng-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵgetGroupTemplateLocation","ɵLuOptionComponent","ɵLuOptionGroupPipe","ɵLuOptionOutletDirective"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-simple-select.mjs","sources":["../../../packages/ng/simple-select/translations.ts","../../../packages/ng/simple-select/select.translate.ts","../../../packages/ng/simple-select/select.model.ts","../../../packages/ng/simple-select/panel/option-selected.pipe.ts","../../../packages/ng/simple-select/panel/panel.component.ts","../../../packages/ng/simple-select/panel/panel.component.html","../../../packages/ng/simple-select/input/panel-ref.factory.ts","../../../packages/ng/simple-select/input/select-input.component.ts","../../../packages/ng/simple-select/input/select-input.component.html","../../../packages/ng/simple-select/lucca-front-ng-simple-select.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tplaceholder: 'Select an option',\n\t\tclear: 'Clear',\n\t\tclearSearch: 'Clear search',\n\t\temptyResults: 'Your search did not produce any results.',\n\t\tloading: 'Loading...',\n\t},\n\tde: {\n\t\tplaceholder: 'Wählen Sie eine Option',\n\t\tclear: 'Löschen',\n\t\tclearSearch: 'Suche leeren',\n\t\temptyResults: 'Keine Ergebnisse für Ihre Suche',\n\t\tloading: 'Lädt...',\n\t},\n\tfr: {\n\t\tplaceholder: 'Sélectionnez une option',\n\t\tclear: 'Effacer',\n\t\tclearSearch: 'Vider la recherche',\n\t\temptyResults: 'Aucun résultat pour votre recherche',\n\t\tloading: 'Chargement en cours...',\n\t},\n\tit: {\n\t\tplaceholder: 'Seleziona un’opzione',\n\t\tclear: 'Cancellare',\n\t\tclearSearch: 'Cancellare la ricerca',\n\t\temptyResults: 'Nessun risultato per la ricerca',\n\t\tloading: 'Caricamento in corso...',\n\t},\n\tnl: {\n\t\tplaceholder: 'Selecteer een optie',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Geen resultaten voor uw zoekopdracht',\n\t\tloading: 'Bezig met laden...',\n\t},\n\t'nl-BE': {\n\t\tplaceholder: 'Selecteer een optie',\n\t\tclear: 'Wissen',\n\t\tclearSearch: 'Zoekopdracht leegmaken',\n\t\temptyResults: 'Geen resultaten voor uw zoekopdracht',\n\t\tloading: 'Bezig met laden...',\n\t},\n\tes: {\n\t\tplaceholder: 'Seleccione una opción',\n\t\tclear: 'Eliminar',\n\t\tclearSearch: 'Vaciar la búsqueda',\n\t\temptyResults: 'No hay resultados para su búsqueda',\n\t\tloading: 'Cargando...',\n\t},\n\tpt: {\n\t\tplaceholder: 'Selecione uma opção',\n\t\tclear: 'Limpar',\n\t\tclearSearch: 'Limpar pesquisa',\n\t\temptyResults: 'Nenhum resultado para sua pesquisa',\n\t\tloading: 'Carregando...',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_SIMPLE_SELECT_TRANSLATIONS = new InjectionToken('LuSimpleSelectTranslations', {\n\tfactory: () => luSimpleSelectTranslations,\n});\n\nexport interface ILuSimpleSelectLabel {\n\tplaceholder: string;\n\tclear: string;\n\tclearSearch: string;\n\temptyResults: string;\n\tloading: string;\n}\n\nexport const luSimpleSelectTranslations: LuTranslation<ILuSimpleSelectLabel> = Translations;\n","import { InjectionToken } from '@angular/core';\nimport type { LuSimpleSelectInputComponent } from './input';\n\nexport const SIMPLE_SELECT_INPUT = new InjectionToken<LuSimpleSelectInputComponent<unknown>>('SimpleSelectInput');\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LuOptionComparer } from '@lucca-front/ng/core-select';\n\n@Pipe({\n\tname: 'luIsOptionSelected',\n\tstandalone: true,\n})\nexport class LuIsOptionSelectedPipe implements PipeTransform {\n\ttransform<T>(option: T, comparer: LuOptionComparer<T>, selectedOption: T): boolean {\n\t\treturn !!selectedOption && comparer(option, selectedOption);\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, QueryList, TrackByFunction, ViewChildren, inject, computed } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { PortalDirective, getIntl } from '@lucca-front/ng/core';\nimport { CoreSelectKeyManager, LuOptionGroup, LuSelectPanelRef, SELECT_ID, ɵLuOptionComponent, ɵLuOptionGroupPipe, ɵgetGroupTemplateLocation } from '@lucca-front/ng/core-select';\nimport { EMPTY } from 'rxjs';\nimport { LuSimpleSelectInputComponent } from '../input/select-input.component';\nimport { SIMPLE_SELECT_INPUT } from '../select.model';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuIsOptionSelectedPipe } from './option-selected.pipe';\n\n@Component({\n\tselector: 'lu-select-panel',\n\ttemplateUrl: './panel.component.html',\n\tstyleUrls: ['./panel.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, NgTemplateOutlet, ɵLuOptionGroupPipe, ɵLuOptionComponent, LuIsOptionSelectedPipe, PortalDirective],\n\tproviders: [CoreSelectKeyManager],\n})\nexport class LuSelectPanelComponent<T> implements AfterViewInit {\n\tpublic selectInput = inject<LuSimpleSelectInputComponent<T>>(SIMPLE_SELECT_INPUT);\n\tpublic panelRef = inject<LuSelectPanelRef<T, T>>(LuSelectPanelRef);\n\tpublic selectId = inject(SELECT_ID);\n\tpublic intl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\toptions$ = this.selectInput.options$;\n\tgrouping = this.selectInput.grouping;\n\tloading$ = this.selectInput.loading$;\n\tsearchable = this.selectInput.searchable;\n\toptionComparer = this.selectInput.optionComparer;\n\toptionKey = this.selectInput.optionKey;\n\n\ttrackOptionsBy: TrackByFunction<T> = (_, option) => this.optionKey(option);\n\ttrackGroupsBy: TrackByFunction<LuOptionGroup<T, unknown>> = (_, group) => group.key;\n\n\tinitialValue: T | undefined = this.selectInput.value;\n\toptionTpl = this.selectInput.optionTpl;\n\n\t@ViewChildren(ɵLuOptionComponent) optionsQL: QueryList<ɵLuOptionComponent<T>>;\n\n\tpublic keyManager = inject<CoreSelectKeyManager<T>>(CoreSelectKeyManager);\n\n\tpublic selected = computed(() => this.selectInput.valueSignal());\n\n\tpublic clueChange$ = this.selectInput.clue$;\n\tpublic shouldDisplayAddOption$ = this.selectInput.shouldDisplayAddOption$;\n\tpublic groupTemplateLocation$ = ɵgetGroupTemplateLocation(!!this.grouping, this.clueChange$, this.options$, this.searchable);\n\n\tonScroll(evt: Event): void {\n\t\tif (!(evt.target instanceof HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (evt.target.scrollTop === 0) {\n\t\t\tthis.panelRef.previousPage.emit();\n\t\t}\n\n\t\tif (evt.target.scrollHeight - evt.target.scrollTop - evt.target.clientHeight < 1) {\n\t\t\tthis.panelRef.nextPage.emit();\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.keyManager.init({\n\t\t\tqueryList: this.optionsQL,\n\t\t\toptions$: this.options$,\n\t\t\toptionComparer: this.optionComparer,\n\t\t\tactiveOptionIdChanged$: this.panelRef.activeOptionIdChanged,\n\t\t\tclueChange$: this.selectInput.searchable ? this.selectInput.clueChange : EMPTY,\n\t\t});\n\n\t\tif (this.initialValue && !this.selectInput.clue) {\n\t\t\tthis.keyManager.highlightOption(this.initialValue);\n\t\t}\n\t}\n}\n","<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\tcdkTrapFocus\n\t*ngIf=\"{\n\t\toptions: (options$ | async) || [],\n\t\tgroupTemplateLocation: groupTemplateLocation$ | async,\n\t\tshouldDisplayAddOption: shouldDisplayAddOption$ | async,\n\t} as ctx\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" (scroll)=\"onScroll($event)\">\n\t\t<ng-container *luPortal=\"selectInput.panelHeaderTpl()\" />\n\t\t<div role=\"listbox\">\n\t\t\t<ng-container *ngIf=\"grouping && ctx.groupTemplateLocation === 'group-header'\">\n\t\t\t\t<div\n\t\t\t\t\t*ngFor=\"let group of ctx.options | luOptionGroup:grouping.selector; trackBy: trackGroupsBy; let groupIndex = index\"\n\t\t\t\t\tclass=\"lu-picker-content-option-group\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\t[attr.aria-labelledby]=\"selectId + '-group-' + group.key\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"lu-picker-content-option-group-title\" role=\"presentation\" [id]=\"selectId + '-group-' + group.key\">\n\t\t\t\t\t\t<ng-container *luPortal=\"grouping.content; context: { $implicit: group }\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: group.options, groupIndex: groupIndex }\" />\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-container *ngIf=\"!grouping || ctx.groupTemplateLocation !== 'group-header'\">\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"optionsList\" [ngTemplateOutletContext]=\"{ $implicit: ctx.options }\" />\n\t\t\t</ng-container>\n\n\t\t\t<ng-template #optionsList let-options let-groupIndex=\"groupIndex\">\n\t\t\t\t<lu-select-option\n\t\t\t\t\t*ngFor=\"let option of options; let index = index; trackBy: trackOptionsBy\"\n\t\t\t\t\t[option]=\"option\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t\t[groupTemplateLocation]=\"ctx.groupTemplateLocation\"\n\t\t\t\t\t[groupIndex]=\"groupIndex\"\n\t\t\t\t\t[grouping]=\"grouping\"\n\t\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t\t[isSelected]=\"option | luIsOptionSelected:optionComparer:selected()\"\n\t\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t\t/>\n\t\t\t</ng-template>\n\t\t\t<div class=\"lu-picker-content-option-emptyState\" *ngIf=\"ctx.options.length === 0 && (loading$ | async) === false\">\n\t\t\t\t{{ intl.emptyResults }}\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"loading$ | async\" class=\"lu-picker-content-loading\">\n\t\t\t<div class=\"loading\">{{ intl.loading }}</div>\n\t\t</div>\n\t\t<div class=\"lu-picker-content-add\" *ngIf=\"ctx.shouldDisplayAddOption\">\n\t\t\t<button class=\"button mod-text mod-withIcon palette-product\" type=\"button\" (click)=\"selectInput.emitAddOption()\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-mathsPlus\"></span>\n\t\t\t\t<ng-container *luPortal=\"selectInput.addOptionLabel\" />\n\t\t\t</button>\n\t\t</div>\n\t</div>\n</div>\n","import { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector, ViewContainerRef } from '@angular/core';\nimport { addAttributesOnCdkContainer, LuSelectPanelRef, SELECT_ID, SELECT_LABEL_ID } from '@lucca-front/ng/core-select';\nimport { takeUntil } from 'rxjs';\nimport { LuSelectPanelComponent } from '../panel';\nimport { SIMPLE_SELECT_INPUT } from '../select.model';\nimport { LuSimpleSelectInputComponent } from './select-input.component';\n\nabstract class BaseSelectPanelRef<T> extends LuSelectPanelRef<T, T> {\n\tprotected readonly portalRef: ComponentPortal<LuSelectPanelComponent<T>>;\n\tinstance: LuSelectPanelComponent<T>;\n\n\tprotected panelRef: ComponentRef<LuSelectPanelComponent<T>>;\n\n\tprotected constructor(parentInjector: Injector, selectInput: LuSimpleSelectInputComponent<T>) {\n\t\tsuper();\n\n\t\tthis.portalRef = new ComponentPortal<LuSelectPanelComponent<T>>(LuSelectPanelComponent, undefined, this.createInjector(selectInput, parentInjector));\n\t}\n\n\tprotected createInjector(selectInput: LuSimpleSelectInputComponent<T>, parentInjector: Injector): Injector {\n\t\treturn Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: LuSelectPanelRef, useValue: this },\n\t\t\t\t{ provide: SIMPLE_SELECT_INPUT, useValue: selectInput },\n\t\t\t],\n\t\t\tparent: parentInjector,\n\t\t});\n\t}\n\n\toverride handleKeyManagerEvent(event: KeyboardEvent) {\n\t\tthis.instance.keyManager.onKeydown(event);\n\t}\n\n\temitValue(value: T): void {\n\t\tthis.valueChanged.emit(value);\n\t\tthis.close();\n\t}\n\n\tselectCurrentlyHighlightedValue(): void {\n\t\tif (this.instance.keyManager.activeItem) {\n\t\t\tthis.emitValue(this.instance.keyManager.activeItem.option);\n\t\t}\n\t\tthis.close();\n\t}\n}\n\nclass SelectPanelRef<T> extends BaseSelectPanelRef<T> {\n\tconstructor(\n\t\tprivate overlayRef: OverlayRef,\n\t\tparentInjector: Injector,\n\t\tselectInput: LuSimpleSelectInputComponent<T>,\n\t) {\n\t\tsuper(parentInjector, selectInput);\n\t\tthis.panelRef = overlayRef.attach(this.portalRef);\n\t\tthis.instance = this.panelRef.instance;\n\n\t\toverlayRef\n\t\t\t.backdropClick()\n\t\t\t.pipe(takeUntil(this.closed))\n\t\t\t.subscribe(() => this.close());\n\t}\n\n\toverride close(): void {\n\t\tsuper.close();\n\t\tthis.panelRef.destroy();\n\t\tthis.overlayRef.detach();\n\t}\n\n\tupdatePosition(): void {\n\t\tthis.overlayRef.updatePosition();\n\t}\n}\n\nclass SelectPanelDOMHostRef<T> extends BaseSelectPanelRef<T> {\n\tconstructor(host: ViewContainerRef, parentInjector: Injector, selectInput: LuSimpleSelectInputComponent<T>) {\n\t\tsuper(parentInjector, selectInput);\n\t\tthis.panelRef = host.createComponent(this.portalRef.component, {\n\t\t\tinjector: this.portalRef.injector,\n\t\t\tprojectableNodes: this.portalRef.projectableNodes,\n\t\t});\n\t\tthis.instance = this.panelRef.instance;\n\t}\n\n\toverride updatePosition() {\n\t\t// do nothing, this is not a panel so repositioning is handled by the input.\n\t}\n\n\toverride close(): void {\n\t\tthis.closed.emit();\n\t}\n}\n\n@Injectable()\nexport class LuSimpleSelectPanelRefFactory {\n\tprotected overlay = inject(Overlay);\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprotected positionBuilder = inject(OverlayPositionBuilder);\n\tprotected scrollStrategies = inject(ScrollStrategyOptions);\n\tprotected parentInjector = inject(Injector);\n\tprivate selectLabelId = inject(SELECT_LABEL_ID);\n\tprivate selectId = inject(SELECT_ID);\n\n\tbuildPanelRef<T>(selectInput: LuSimpleSelectInputComponent<T>, overlayConfigOverride: OverlayConfig = {}): LuSelectPanelRef<T, T> {\n\t\tconst overlayConfig = this.buildOverlayConfig(overlayConfigOverride);\n\t\tconst overlayRef = this.overlay.create(overlayConfig);\n\n\t\taddAttributesOnCdkContainer(overlayRef, this.selectLabelId, this.selectId);\n\n\t\treturn new SelectPanelRef(overlayRef, this.parentInjector, selectInput);\n\t}\n\n\tbuildAndAttachPanelRef<T>(selectInput: LuSimpleSelectInputComponent<T>, host: ViewContainerRef): LuSelectPanelRef<T, T> {\n\t\treturn new SelectPanelDOMHostRef(host, this.parentInjector, selectInput);\n\t}\n\n\tprotected buildOverlayConfig(overlayConfigOverride: OverlayConfig = {}): OverlayConfig {\n\t\tconst overlayConfig: OverlayConfig = overlayConfigOverride || {};\n\t\toverlayConfig.positionStrategy = this.positionBuilder.flexibleConnectedTo(this.elementRef).withPositions([\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t]);\n\t\toverlayConfig.scrollStrategy = this.scrollStrategies.reposition();\n\t\toverlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;\n\t\toverlayConfig.maxHeight = '100vh';\n\t\toverlayConfig.maxWidth = '100vw';\n\n\t\treturn overlayConfig;\n\t}\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, HostBinding, inject, Input, viewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuSelectPanelRef, provideLuSelectLabelsAndIds, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { FILTER_PILL_INPUT_COMPONENT, FilterPillDisplayerDirective } from '@lucca-front/ng/filter-pills';\nimport { InputDirective } from '@lucca-front/ng/form-field';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuSimpleSelectPanelRefFactory } from './panel-ref.factory';\n\n@Component({\n\tselector: 'lu-simple-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\thost: { class: 'simpleSelect' },\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, ɵLuOptionOutletDirective, NgIf, OverlayModule, FormsModule, InputDirective, FilterPillDisplayerDirective, NgTemplateOutlet, IconComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuSelectInputComponent,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t},\n\t\tLuSimpleSelectPanelRefFactory,\n\t\tprovideLuSelectLabelsAndIds(),\n\t\t{\n\t\t\tprovide: FILTER_PILL_INPUT_COMPONENT,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t},\n\t],\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuSimpleSelectInputComponent<T> extends ALuSelectInputComponent<T, T> implements ControlValueAccessor {\n\tintl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\t@HostBinding('class.mod-filterPill')\n\tpublic get filterPillClass() {\n\t\treturn this.filterPillMode;\n\t}\n\n\t@Input()\n\tautocomplete?: string;\n\n\tfilterPillPanelAnchorRef = viewChild('filterPillPanelAnchor', { read: ViewContainerRef });\n\n\tprotected panelRefFactory = inject(LuSimpleSelectPanelRefFactory);\n\n\tprotected buildPanelRef(): LuSelectPanelRef<T, T> {\n\t\treturn this.panelRefFactory.buildPanelRef(this, this.overlayConfig);\n\t}\n\n\tinputSpace(event: Event): void {\n\t\tif (this.filterPillMode) {\n\t\t\tif (this.clue.length === 0) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.panelRef?.selectCurrentlyHighlightedValue();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected hasValue(): boolean {\n\t\treturn this.value !== null && this.value !== undefined;\n\t}\n\n\toverride enableFilterPillMode() {\n\t\tthis._panelRef = this.panelRefFactory.buildAndAttachPanelRef(this, this.filterPillPanelAnchorRef());\n\t\tsuper.enableFilterPillMode();\n\t}\n}\n","<div class=\"simpleSelect-field\">\n\t<input\n\t\tclass=\"simpleSelect-field-input\"\n\t\ttype=\"text\"\n\t\trole=\"combobox\"\n\t\taria-haspopup=\"listbox\"\n\t\t[attr.aria-activedescendant]=\"activeDescendant$ | async\"\n\t\t[attr.aria-expanded]=\"isPanelOpen\"\n\t\t[attr.aria-controls]=\"ariaControls\"\n\t\tplaceholder=\"{{inputPlaceholder}}\"\n\t\t[ngModel]=\"clue\"\n\t\t(ngModelChange)=\"clueChanged($event)\"\n\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t[readonly]=\"!searchable\"\n\t\t[disabled]=\"disabled$ | async\"\n\t\t(keyup.space)=\"inputSpace($event)\"\n\t\tluInput\n\t\t#inputElement\n\t\t[attr.autocomplete]=\"autocomplete\"\n\t\t[attr.tabindex]=\"inputTabindex()\"\n\t/>\n\t<div class=\"simpleSelect-field-value\">\n\t\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n\t</div>\n\t<button\n\t\t*ngIf=\"clearable && hasValue() && (disabled$ | async) === false\"\n\t\tclass=\"simpleSelect-field-clear clear\"\n\t\trole=\"button\"\n\t\ttype=\"button\"\n\t\t(click)=\"clearValue($event)\"\n\t\t(keydown.space)=\"clearValue($event)\"\n\t>\n\t\t<span class=\"u-mask\">{{ intl.clear }}</span>\n\t</button>\n\t@if (!filterPillMode) {\n\t<lu-icon icon=\"arrowChevronBottom\" class=\"simpleSelect-field-icon\" />\n\t<lu-icon icon=\"searchMagnifyingGlass\" class=\"simpleSelect-field-icon mod-search\" />\n\t}\n</div>\n<ng-container #filterPillPanelAnchor></ng-container>\n<ng-container *luFilterPillDisplayer>\n\t<ng-container *ngTemplateOutlet=\"currentValueDisplayerTpl\"></ng-container>\n</ng-container>\n\n<ng-template #currentValueDisplayerTpl>\n\t<ng-container *luOptionOutlet=\"displayerTpl(); value: value\"></ng-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵgetGroupTemplateLocation","ɵLuOptionComponent","ɵLuOptionGroupPipe","ɵLuOptionOutletDirective"],"mappings":"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"}