@lucca-front/ng 15.1.3 → 15.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/api/lib/select/input/api-select-input.component.mjs +3 -3
- package/esm2020/date/lib/select/date-select-input.component.mjs +3 -3
- package/esm2020/department/lib/select/input/department-select-input.component.mjs +3 -3
- package/esm2020/establishment/lib/select/input/establishment-select-input.component.mjs +3 -3
- package/esm2020/input/lib/clearer/clearer.component.mjs +3 -3
- package/esm2020/modal/lib/modal-config.default.mjs +8 -2
- package/esm2020/modal/lib/modal-config.model.mjs +5 -2
- package/esm2020/modal/lib/modal-panel.component.mjs +26 -26
- package/esm2020/modal/lib/modal-ref.factory.mjs +11 -11
- package/esm2020/modal/lib/modal-ref.model.mjs +8 -1
- package/esm2020/modal/lib/modal.module.mjs +13 -13
- package/esm2020/modal/lib/modal.service.mjs +1 -1
- package/esm2020/modal/lib/modal.token.mjs +4 -4
- package/esm2020/option/lib/item/tree-option-item.component.mjs +3 -3
- package/esm2020/popup/lib/popup-config.default.mjs +2 -2
- package/esm2020/popup/lib/popup-ref.model.mjs +33 -18
- package/esm2020/popup/lib/popup.service.mjs +1 -1
- package/esm2020/qualification/lib/select/input/qualification-select-input.component.mjs +3 -3
- package/esm2020/select/lib/input/select-input.component.mjs +2 -2
- package/esm2020/sidepanel/lib/index.mjs +1 -8
- package/esm2020/sidepanel/lib/sidepanel.model.mjs +27 -2
- package/esm2020/sidepanel/lib/sidepanel.module.mjs +9 -15
- package/esm2020/sidepanel/lib/sidepanel.service.mjs +11 -3
- package/esm2020/simple-select/api/lib/api-v3.directive.mjs +57 -0
- package/esm2020/simple-select/api/lib/api-v4.directive.mjs +50 -0
- package/esm2020/simple-select/api/lib/api.directive.mjs +40 -0
- package/esm2020/simple-select/api/lucca-front-ng-simple-select-api.mjs +5 -0
- package/esm2020/simple-select/api/public-api.mjs +4 -0
- package/esm2020/simple-select/lib/index.mjs +2 -1
- package/esm2020/simple-select/lib/input/panel-ref.factory.mjs +90 -0
- package/esm2020/simple-select/lib/input/select-input.component.mjs +54 -174
- package/esm2020/simple-select/lib/input/select-input.models.mjs +60 -0
- package/esm2020/simple-select/lib/option/default-option.component.mjs +21 -0
- package/esm2020/simple-select/lib/option/disabled.directive.mjs +26 -0
- package/esm2020/simple-select/lib/option/index.mjs +4 -2
- package/esm2020/simple-select/lib/option/option-outlet.directive.mjs +70 -0
- package/esm2020/simple-select/lib/option/option.component.mjs +36 -17
- package/esm2020/simple-select/lib/option/option.token.mjs +22 -0
- package/esm2020/simple-select/lib/panel/index.mjs +2 -1
- package/esm2020/simple-select/lib/panel/panel.component.mjs +27 -53
- package/esm2020/simple-select/lib/panel/panel.models.mjs +23 -0
- package/esm2020/simple-select/lib/select.model.mjs +1 -1
- package/esm2020/simple-select/lib/select.translate.mjs +37 -0
- package/esm2020/user/lib/select/input/user-select-input.component.mjs +3 -3
- package/fesm2015/lucca-front-ng-api.mjs +2 -2
- package/fesm2015/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-date.mjs +2 -2
- package/fesm2015/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-department.mjs +2 -2
- package/fesm2015/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-establishment.mjs +2 -2
- package/fesm2015/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-input.mjs +2 -2
- package/fesm2015/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-modal.mjs +64 -48
- package/fesm2015/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-option.mjs +2 -2
- package/fesm2015/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-popup.mjs +33 -18
- package/fesm2015/lucca-front-ng-popup.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-qualification.mjs +2 -2
- package/fesm2015/lucca-front-ng-qualification.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-select.mjs +2 -2
- package/fesm2015/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-sidepanel.mjs +40 -141
- package/fesm2015/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-simple-select-api.mjs +137 -0
- package/fesm2015/lucca-front-ng-simple-select-api.mjs.map +1 -0
- package/fesm2015/lucca-front-ng-simple-select.mjs +378 -192
- package/fesm2015/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-user.mjs +2 -2
- package/fesm2015/lucca-front-ng-user.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-api.mjs +2 -2
- package/fesm2020/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-date.mjs +2 -2
- package/fesm2020/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-department.mjs +2 -2
- package/fesm2020/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-establishment.mjs +2 -2
- package/fesm2020/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-input.mjs +2 -2
- package/fesm2020/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-modal.mjs +68 -48
- package/fesm2020/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-option.mjs +2 -2
- package/fesm2020/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-popup.mjs +33 -18
- package/fesm2020/lucca-front-ng-popup.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-qualification.mjs +2 -2
- package/fesm2020/lucca-front-ng-qualification.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-select.mjs +2 -2
- package/fesm2020/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-sidepanel.mjs +40 -141
- package/fesm2020/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-simple-select-api.mjs +145 -0
- package/fesm2020/lucca-front-ng-simple-select-api.mjs.map +1 -0
- package/fesm2020/lucca-front-ng-simple-select.mjs +373 -182
- package/fesm2020/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-user.mjs +2 -2
- package/fesm2020/lucca-front-ng-user.mjs.map +1 -1
- package/modal/lib/modal-config.default.d.ts +3 -2
- package/modal/lib/modal-config.model.d.ts +23 -3
- package/modal/lib/modal-panel.component.d.ts +8 -7
- package/modal/lib/modal-ref.factory.d.ts +9 -8
- package/modal/lib/modal-ref.model.d.ts +8 -2
- package/modal/lib/modal.module.d.ts +8 -6
- package/modal/lib/modal.service.d.ts +3 -3
- package/modal/lib/modal.token.d.ts +2 -2
- package/package.json +11 -3
- package/popup/lib/popup-ref.model.d.ts +9 -4
- package/popup/lib/popup.service.d.ts +2 -2
- package/sidepanel/lib/index.d.ts +0 -7
- package/sidepanel/lib/sidepanel.model.d.ts +42 -1
- package/sidepanel/lib/sidepanel.module.d.ts +5 -6
- package/sidepanel/lib/sidepanel.service.d.ts +12 -4
- package/simple-select/api/index.d.ts +5 -0
- package/simple-select/api/lib/api-v3.directive.d.ts +25 -0
- package/simple-select/api/lib/api-v4.directive.d.ts +22 -0
- package/simple-select/api/lib/api.directive.d.ts +32 -0
- package/simple-select/api/public-api.d.ts +3 -0
- package/simple-select/lib/index.d.ts +1 -0
- package/simple-select/lib/input/panel-ref.factory.d.ts +16 -0
- package/simple-select/lib/input/select-input.component.d.ts +22 -33
- package/simple-select/lib/input/select-input.models.d.ts +3 -0
- package/simple-select/lib/option/default-option.component.d.ts +9 -0
- package/simple-select/lib/option/disabled.directive.d.ts +7 -0
- package/simple-select/lib/option/index.d.ts +3 -1
- package/simple-select/lib/option/option-outlet.directive.d.ts +19 -0
- package/simple-select/lib/option/option.component.d.ts +16 -6
- package/simple-select/lib/option/option.token.d.ts +9 -0
- package/simple-select/lib/panel/index.d.ts +1 -0
- package/simple-select/lib/panel/panel.component.d.ts +11 -21
- package/simple-select/lib/panel/panel.models.d.ts +13 -0
- package/simple-select/lib/select.model.d.ts +3 -3
- package/simple-select/lib/select.translate.d.ts +10 -0
- package/src/components/_dropdown.scss +6 -4
- package/src/components/_sidepanel.scss +16 -6
- package/src/definitions/select/_select-clearer.scss +24 -9
- package/src/definitions/select/_select-input.scss +5 -16
- package/esm2020/sidepanel/lib/sidepanel-config.default.mjs +0 -11
- package/esm2020/sidepanel/lib/sidepanel-config.model.mjs +0 -2
- package/esm2020/sidepanel/lib/sidepanel-panel.component.mjs +0 -44
- package/esm2020/sidepanel/lib/sidepanel-ref.factory.mjs +0 -59
- package/esm2020/sidepanel/lib/sidepanel-ref.model.mjs +0 -4
- package/esm2020/sidepanel/lib/sidepanel.token.mjs +0 -6
- package/esm2020/sidepanel/lib/sidepanel.translate.mjs +0 -22
- package/sidepanel/lib/sidepanel-config.default.d.ts +0 -2
- package/sidepanel/lib/sidepanel-config.model.d.ts +0 -4
- package/sidepanel/lib/sidepanel-panel.component.d.ts +0 -19
- package/sidepanel/lib/sidepanel-ref.factory.d.ts +0 -29
- package/sidepanel/lib/sidepanel-ref.model.d.ts +0 -5
- package/sidepanel/lib/sidepanel.token.d.ts +0 -7
- package/sidepanel/lib/sidepanel.translate.d.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-select.mjs","sources":["../../../packages/ng/select/src/lib/input/select-input.model.ts","../../../packages/ng/select/src/lib/input/select-input.component.ts","../../../packages/ng/select/src/lib/input/select-input.component.html","../../../packages/ng/select/src/lib/input/select-input.module.ts","../../../packages/ng/select/src/lib/select.module.ts","../../../packages/ng/select/src/public-api.ts","../../../packages/ng/select/src/lucca-front-ng-select.ts"],"sourcesContent":["import { Overlay, OverlayConfig } from '@angular/cdk/overlay';\r\nimport { ChangeDetectorRef, ElementRef, Renderer2, ViewContainerRef, ViewRef } from '@angular/core';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\nimport { ILuClearer, ILuInput, ILuInputDisplayer } from '@lucca-front/ng/input';\r\nimport { ILuInputWithPicker, ILuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { ALuPopoverTrigger, LuPopoverTarget } from '@lucca-front/ng/popover';\r\nimport { Subscription } from 'rxjs';\r\n\r\nexport abstract class ALuSelectInput<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuPopoverTrigger<TPicker> implements ControlValueAccessor, ILuInputWithPicker<T>, ILuInput {\r\n\tprotected _subs = new Subscription();\r\n\tconstructor(\r\n\t\tprotected _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected _renderer: Renderer2,\r\n\t) {\r\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\r\n\t\tthis.target = new LuPopoverTarget();\r\n\t\tthis.target.elementRef = this._elementRef;\r\n\t\tthis.target.position = 'below';\r\n\t\tthis.target.alignment = 'left';\r\n\t}\r\n\tprotected _isContentInitialized = false;\r\n\tprotected _placeholder: string;\r\n\tget placeholder() {\r\n\t\treturn this._placeholder;\r\n\t}\r\n\tset placeholder(p: string) {\r\n\t\tthis._placeholder = p;\r\n\t}\r\n\t/**\r\n\t * contriol value accessor interface implementation\r\n\t */\r\n\tprotected _value: T | T[];\r\n\tsetValue(value: T | T[]) {\r\n\t\tif (this.disabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.value = value;\r\n\t\tthis._cvaOnChange(value);\r\n\t\tthis._onTouched();\r\n\t}\r\n\tget value(): T | T[] {\r\n\t\treturn this._value;\r\n\t}\r\n\tset value(value: T | T[]) {\r\n\t\tthis._value = value;\r\n\t\tthis.render();\r\n\t\tthis.applyClasses();\r\n\t\tif (this._picker) {\r\n\t\t\tthis._picker.setValue(value);\r\n\t\t}\r\n\t\tthis._changeDetectorRef.markForCheck();\r\n\t}\r\n\t// From ControlValueAccessor interface\r\n\twriteValue(value: T | T[]) {\r\n\t\tthis.value = value;\r\n\t}\r\n\t// From ControlValueAccessor interface\r\n\tprotected _cvaOnChange = (v: T | T[]) => void v;\r\n\tregisterOnChange(fn: (v: T | T[]) => unknown) {\r\n\t\tthis._cvaOnChange = fn;\r\n\t}\r\n\t// From ControlValueAccessor interface\r\n\tprotected _onTouched = () => void {};\r\n\tregisterOnTouched(fn: () => unknown) {\r\n\t\tthis._onTouched = fn;\r\n\t}\r\n\toverride set disabled(d) {\r\n\t\tthis._disabled = d;\r\n\t}\r\n\toverride get disabled() {\r\n\t\treturn this._disabled;\r\n\t}\r\n\tsetDisabledState(disabled: boolean) {\r\n\t\tthis.disabled = disabled;\r\n\t\tthis._changeDetectorRef.markForCheck();\r\n\t}\r\n\tprotected isEmpty() {\r\n\t\tconst isEmptyArray = Array.isArray(this.value) && this.value.length === 0;\r\n\t\treturn this.value === null || this.value === undefined || isEmptyArray;\r\n\t}\r\n\tprotected applyClasses() {\r\n\t\tif (this.isEmpty()) {\r\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\r\n\t\t} else {\r\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\r\n\t\t}\r\n\t}\r\n\t/**\r\n\t * popover trigger class extension\r\n\t */\r\n\tprotected set _picker(picker: TPicker) {\r\n\t\tthis.panel = picker;\r\n\t\tpicker.multiple = this._multiple;\r\n\t\tthis.subToPickerEvts();\r\n\t}\r\n\tprotected get _picker() {\r\n\t\treturn this.panel;\r\n\t}\r\n\tprotected set _clearer(clearer: ILuClearer<T>) {\r\n\t\tif (!!clearer && !!clearer.onClear) {\r\n\t\t\tthis._subs.add(clearer.onClear.subscribe(() => this.setValue(this._multiple ? [] : undefined)));\r\n\t\t}\r\n\t}\r\n\tprotected subToPickerEvts() {\r\n\t\tif (this.panel) {\r\n\t\t\tthis._subs.add(this.panel.onSelectValue.subscribe((value) => this.setValue(value)));\r\n\t\t}\r\n\t}\r\n\r\n\toverride closePopover() {\r\n\t\tthis._onTouched();\r\n\t\tsuper.closePopover();\r\n\t}\r\n\r\n\tonDestroy() {\r\n\t\tif (this._popoverOpen) {\r\n\t\t\tthis.closePopover();\r\n\t\t}\r\n\t\tthis.destroyPopover();\r\n\t\tthis._subs.unsubscribe();\r\n\t\tthis._cleanUpSubscriptions();\r\n\t}\r\n\r\n\tprotected override _getOverlayConfig(): OverlayConfig {\r\n\t\tconst config = super._getOverlayConfig();\r\n\t\tconst clientRect = this._elementRef.nativeElement.getBoundingClientRect();\r\n\t\tconfig.minWidth = `${Math.max(185, clientRect.width)}px`; // might become min/maxWidth\r\n\t\treturn config;\r\n\t}\r\n\r\n\t/* Rendering via a inpt displayer */\r\n\tprotected _displayer: ILuInputDisplayer<T>;\r\n\tprotected _displayContainer: ViewContainerRef;\r\n\tprotected set displayer(d: ILuInputDisplayer<T>) {\r\n\t\tthis._displayer = d;\r\n\t\tthis.render();\r\n\t}\r\n\tprotected set displayContainer(vcr: ViewContainerRef) {\r\n\t\tthis._displayContainer = vcr;\r\n\t}\r\n\tprotected render() {\r\n\t\tif (!this._displayer || !this._isContentInitialized) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.useMultipleViews()) {\r\n\t\t\tthis.renderMultipleViews();\r\n\t\t} else {\r\n\t\t\tthis.renderSingleView();\r\n\t\t}\r\n\t}\r\n\tprotected useMultipleViews() {\r\n\t\treturn this._multiple && !!this._displayer && !this._displayer.multiple;\r\n\t}\r\n\r\n\tprotected renderSingleView() {\r\n\t\tthis.clearDisplay();\r\n\t\tif (this.value !== null && this.value !== undefined) {\r\n\t\t\tconst newView = this.getView(this.value);\r\n\t\t\tthis.displayView(newView);\r\n\t\t}\r\n\t}\r\n\tprotected clearDisplay() {\r\n\t\tthis._displayContainer.clear();\r\n\t}\r\n\tprotected getView(value: T | T[]) {\r\n\t\tif (this._displayer) {\r\n\t\t\treturn this._displayer.getViewRef(value);\r\n\t\t}\r\n\t\treturn undefined;\r\n\t}\r\n\tprotected displayView(view: ViewRef) {\r\n\t\tif (view) {\r\n\t\t\tthis._displayContainer.insert(view);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected renderMultipleViews() {\r\n\t\tthis.clearDisplay();\r\n\t\tconst values = <T[]>this.value || [];\r\n\t\tconst views = values.map((value) => this.getView(value));\r\n\t\tviews.forEach((view) => this.displayView(view));\r\n\t}\r\n\t// multiple\r\n\tprotected _multiple = false;\r\n\tset multiple(m: boolean) {\r\n\t\tthis._multiple = m;\r\n\t\tif (this._picker) {\r\n\t\t\tthis._picker.multiple = m;\r\n\t\t}\r\n\t}\r\n\tget multiple() {\r\n\t\treturn this._multiple;\r\n\t}\r\n}\r\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\r\nimport { Overlay } from '@angular/cdk/overlay';\r\nimport {\r\n\tAfterViewInit,\r\n\tChangeDetectionStrategy,\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tContentChild,\r\n\tDirective,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tforwardRef,\r\n\tHostBinding,\r\n\tHostListener,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tRenderer2,\r\n\tViewChild,\r\n\tViewContainerRef,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ALuClearer, ALuInputDisplayer, ILuClearer, ILuInputDisplayer } from '@lucca-front/ng/input';\r\nimport { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { ALuSelectInput } from './select-input.model';\r\n\r\n@Directive()\r\nexport abstract class ALuSelectInputComponent<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuSelectInput<T, TPicker> implements ControlValueAccessor, AfterViewInit, OnDestroy {\r\n\t@ViewChild('display', { read: ViewContainerRef, static: true })\r\n\tprotected set _vcDisplayContainer(vcr: ViewContainerRef) {\r\n\t\tthis.displayContainer = vcr;\r\n\t}\r\n\r\n\t@HostBinding('tabindex') tabindex = 0;\r\n\r\n\t@Input('pickerOverlap') set overlapInput(o: boolean) {\r\n\t\tthis.target.overlap = o;\r\n\t}\r\n\r\n\t@Input('placeholder') set inputPlaceholder(p: string) {\r\n\t\tthis._placeholder = p;\r\n\t}\r\n\t@Input('multiple') set inputMultiple(m: boolean | string) {\r\n\t\tif (m === '') {\r\n\t\t\t// allows to have multiple = true when writing\r\n\t\t\t// <lu-select multiple>\r\n\t\t\tthis.multiple = true;\r\n\t\t} else {\r\n\t\t\tthis.multiple = !!m;\r\n\t\t}\r\n\t}\r\n\t/** Event emitted when the associated popover is opened. */\r\n\t@Output() onOpen = new EventEmitter<void>();\r\n\t/** Event emitted when the associated popover is closed. */\r\n\t@Output() onClose = new EventEmitter<void>();\r\n\r\n\tconstructor(\r\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected override _renderer: Renderer2,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\r\n\t}\r\n\t@HostBinding('class.is-disabled')\r\n\tget isDisabled() {\r\n\t\treturn this.disabled;\r\n\t}\r\n\t@Input('disabled') set inputDisabled(d: boolean) {\r\n\t\tthis._disabled = d;\r\n\t}\r\n\t@HostBinding('class.is-focused')\r\n\tget isFocused() {\r\n\t\treturn this._popoverOpen && !this.target.overlap;\r\n\t}\r\n\t@HostBinding('class.mod-multiple')\r\n\tget modMultiple() {\r\n\t\treturn this._multiple;\r\n\t}\r\n\r\n\t@HostBinding('class.is-clearable')\r\n\tget isClearable() {\r\n\t\treturn !!this._clearer;\r\n\t}\r\n\t/**\r\n\t * popover trigger class extension\r\n\t */\r\n\t@ContentChild(ALuPickerPanel, { static: true }) ccPicker: TPicker;\r\n\t@ViewChild(ALuPickerPanel, { static: true }) vcPicker: TPicker;\r\n\r\n\t@ContentChild(ALuInputDisplayer, { static: true })\r\n\tccDisplayer: ILuInputDisplayer<T>;\r\n\t@ViewChild(ALuInputDisplayer, { static: true })\r\n\tvcDisplayer: ILuInputDisplayer<T>;\r\n\r\n\t@ContentChild(ALuClearer, { static: true }) ccClearer: ILuClearer<T>;\r\n\t@ViewChild(ALuClearer, { static: true }) vcClearer: ILuClearer<T>;\r\n\r\n\t@HostListener('click')\r\n\toverride onClick() {\r\n\t\tsuper.onClick();\r\n\t}\r\n\t@HostListener('mouseenter')\r\n\toverride onMouseEnter() {\r\n\t\tsuper.onMouseEnter();\r\n\t}\r\n\t@HostListener('mouseleave')\r\n\toverride onMouseLeave() {\r\n\t\tsuper.onMouseLeave();\r\n\t}\r\n\t@HostListener('focus')\r\n\toverride onFocus() {\r\n\t\tsuper.onFocus();\r\n\t}\r\n\t@HostListener('blur')\r\n\toverride onBlur() {\r\n\t\tsuper.onBlur();\r\n\t}\r\n\t@HostListener('keydown.space', ['$event'])\r\n\t@HostListener('keydown.enter', ['$event'])\r\n\tonKeydown($event: KeyboardEvent) {\r\n\t\tif (!this._popoverOpen) {\r\n\t\t\tthis.openPopover();\r\n\t\t\t$event.stopPropagation();\r\n\t\t\t$event.preventDefault();\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tthis._isContentInitialized = true;\r\n\r\n\t\t// init picker and displayer and clearer\r\n\t\tconst picker = this.ccPicker || this.vcPicker;\r\n\t\tif (picker) {\r\n\t\t\tthis._picker = picker;\r\n\t\t}\r\n\t\tconst displayer = this.ccDisplayer || this.vcDisplayer;\r\n\t\tif (displayer) {\r\n\t\t\tthis._displayer = displayer;\r\n\t\t}\r\n\t\tconst clearer = this.ccClearer || this.vcClearer;\r\n\t\tif (clearer) {\r\n\t\t\tthis._clearer = clearer;\r\n\t\t}\r\n\r\n\t\tthis.render();\r\n\t\tthis._picker.setValue(this.value);\r\n\r\n\t\t// strange bug where the view renderred in the displayer was only injected after a hover\r\n\t\t// no matter how many cdr.markforchack i added\r\n\t\t// but with a timeout it works\r\n\t\t// shrug emoji\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis._changeDetectorRef.markForCheck();\r\n\t\t}, 1);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this._popoverOpen) {\r\n\t\t\tthis.closePopover();\r\n\t\t}\r\n\t\tthis.destroyPopover();\r\n\t\tthis.onDestroy();\r\n\t}\r\n\tprotected _emitOpen(): void {\r\n\t\tthis.onOpen.emit();\r\n\t}\r\n\tprotected _emitClose(): void {\r\n\t\tthis.onClose.emit();\r\n\t}\r\n}\r\n\r\n/**\r\n * select input\r\n */\r\n@Component({\r\n\tselector: 'lu-select',\r\n\ttemplateUrl: './select-input.component.html',\r\n\tstyleUrls: ['./select-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuSelectInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuSelectInputComponent<T> extends ALuSelectInputComponent<T> implements AfterViewInit {\r\n\t@HostBinding('class.mod-multipleView')\r\n\tget modMultipleView() {\r\n\t\treturn this.useMultipleViews();\r\n\t}\r\n\tconstructor(\r\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected override _renderer: Renderer2,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\r\n\t}\r\n\t// display clearer\r\n\t@ContentChild(ALuClearer, { read: ElementRef, static: false })\r\n\tclearerEltRef: ElementRef<HTMLElement>;\r\n\t@ViewChild('suffix', { read: ElementRef, static: true })\r\n\tsuffixEltRef: ElementRef<HTMLElement>;\r\n\tdisplayClearer() {\r\n\t\tif (this.clearerEltRef) {\r\n\t\t\tthis._renderer.appendChild(this.suffixEltRef.nativeElement, this.clearerEltRef.nativeElement);\r\n\t\t}\r\n\t}\r\n\r\n\toverride ngAfterViewInit() {\r\n\t\tsuper.ngAfterViewInit();\r\n\t\tthis.displayClearer(); // dont keep\r\n\t}\r\n}\r\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container #display></ng-container>\r\n\t</div>\r\n</div>\r\n<div #suffix class=\"lu-select-suffix\"></div>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuSelectInputComponent } from './select-input.component';\r\n\r\n@NgModule({\r\n\timports: [LuSelectInputComponent],\r\n\texports: [LuSelectInputComponent],\r\n})\r\nexport class LuSelectInputModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuSelectInputModule } from './input/index';\r\n\r\n@NgModule({\r\n\timports: [LuSelectInputModule],\r\n\texports: [LuSelectInputModule],\r\n})\r\nexport class LuSelectModule {}\r\n","/*\r\n * Public API Surface of safe-content\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":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-select.mjs","sources":["../../../packages/ng/select/src/lib/input/select-input.model.ts","../../../packages/ng/select/src/lib/input/select-input.component.ts","../../../packages/ng/select/src/lib/input/select-input.component.html","../../../packages/ng/select/src/lib/input/select-input.module.ts","../../../packages/ng/select/src/lib/select.module.ts","../../../packages/ng/select/src/public-api.ts","../../../packages/ng/select/src/lucca-front-ng-select.ts"],"sourcesContent":["import { Overlay, OverlayConfig } from '@angular/cdk/overlay';\r\nimport { ChangeDetectorRef, ElementRef, Renderer2, ViewContainerRef, ViewRef } from '@angular/core';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\nimport { ILuClearer, ILuInput, ILuInputDisplayer } from '@lucca-front/ng/input';\r\nimport { ILuInputWithPicker, ILuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { ALuPopoverTrigger, LuPopoverTarget } from '@lucca-front/ng/popover';\r\nimport { Subscription } from 'rxjs';\r\n\r\nexport abstract class ALuSelectInput<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuPopoverTrigger<TPicker> implements ControlValueAccessor, ILuInputWithPicker<T>, ILuInput {\r\n\tprotected _subs = new Subscription();\r\n\tconstructor(\r\n\t\tprotected _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected _renderer: Renderer2,\r\n\t) {\r\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\r\n\t\tthis.target = new LuPopoverTarget();\r\n\t\tthis.target.elementRef = this._elementRef;\r\n\t\tthis.target.position = 'below';\r\n\t\tthis.target.alignment = 'left';\r\n\t}\r\n\tprotected _isContentInitialized = false;\r\n\tprotected _placeholder: string;\r\n\tget placeholder() {\r\n\t\treturn this._placeholder;\r\n\t}\r\n\tset placeholder(p: string) {\r\n\t\tthis._placeholder = p;\r\n\t}\r\n\t/**\r\n\t * contriol value accessor interface implementation\r\n\t */\r\n\tprotected _value: T | T[];\r\n\tsetValue(value: T | T[]) {\r\n\t\tif (this.disabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.value = value;\r\n\t\tthis._cvaOnChange(value);\r\n\t\tthis._onTouched();\r\n\t}\r\n\tget value(): T | T[] {\r\n\t\treturn this._value;\r\n\t}\r\n\tset value(value: T | T[]) {\r\n\t\tthis._value = value;\r\n\t\tthis.render();\r\n\t\tthis.applyClasses();\r\n\t\tif (this._picker) {\r\n\t\t\tthis._picker.setValue(value);\r\n\t\t}\r\n\t\tthis._changeDetectorRef.markForCheck();\r\n\t}\r\n\t// From ControlValueAccessor interface\r\n\twriteValue(value: T | T[]) {\r\n\t\tthis.value = value;\r\n\t}\r\n\t// From ControlValueAccessor interface\r\n\tprotected _cvaOnChange = (v: T | T[]) => void v;\r\n\tregisterOnChange(fn: (v: T | T[]) => unknown) {\r\n\t\tthis._cvaOnChange = fn;\r\n\t}\r\n\t// From ControlValueAccessor interface\r\n\tprotected _onTouched = () => void {};\r\n\tregisterOnTouched(fn: () => unknown) {\r\n\t\tthis._onTouched = fn;\r\n\t}\r\n\toverride set disabled(d) {\r\n\t\tthis._disabled = d;\r\n\t}\r\n\toverride get disabled() {\r\n\t\treturn this._disabled;\r\n\t}\r\n\tsetDisabledState(disabled: boolean) {\r\n\t\tthis.disabled = disabled;\r\n\t\tthis._changeDetectorRef.markForCheck();\r\n\t}\r\n\tprotected isEmpty() {\r\n\t\tconst isEmptyArray = Array.isArray(this.value) && this.value.length === 0;\r\n\t\treturn this.value === null || this.value === undefined || isEmptyArray;\r\n\t}\r\n\tprotected applyClasses() {\r\n\t\tif (this.isEmpty()) {\r\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\r\n\t\t} else {\r\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\r\n\t\t}\r\n\t}\r\n\t/**\r\n\t * popover trigger class extension\r\n\t */\r\n\tprotected set _picker(picker: TPicker) {\r\n\t\tthis.panel = picker;\r\n\t\tpicker.multiple = this._multiple;\r\n\t\tthis.subToPickerEvts();\r\n\t}\r\n\tprotected get _picker() {\r\n\t\treturn this.panel;\r\n\t}\r\n\tprotected set _clearer(clearer: ILuClearer<T>) {\r\n\t\tif (!!clearer && !!clearer.onClear) {\r\n\t\t\tthis._subs.add(clearer.onClear.subscribe(() => this.setValue(this._multiple ? [] : undefined)));\r\n\t\t}\r\n\t}\r\n\tprotected subToPickerEvts() {\r\n\t\tif (this.panel) {\r\n\t\t\tthis._subs.add(this.panel.onSelectValue.subscribe((value) => this.setValue(value)));\r\n\t\t}\r\n\t}\r\n\r\n\toverride closePopover() {\r\n\t\tthis._onTouched();\r\n\t\tsuper.closePopover();\r\n\t}\r\n\r\n\tonDestroy() {\r\n\t\tif (this._popoverOpen) {\r\n\t\t\tthis.closePopover();\r\n\t\t}\r\n\t\tthis.destroyPopover();\r\n\t\tthis._subs.unsubscribe();\r\n\t\tthis._cleanUpSubscriptions();\r\n\t}\r\n\r\n\tprotected override _getOverlayConfig(): OverlayConfig {\r\n\t\tconst config = super._getOverlayConfig();\r\n\t\tconst clientRect = this._elementRef.nativeElement.getBoundingClientRect();\r\n\t\tconfig.minWidth = `${Math.max(185, clientRect.width)}px`; // might become min/maxWidth\r\n\t\treturn config;\r\n\t}\r\n\r\n\t/* Rendering via a inpt displayer */\r\n\tprotected _displayer: ILuInputDisplayer<T>;\r\n\tprotected _displayContainer: ViewContainerRef;\r\n\tprotected set displayer(d: ILuInputDisplayer<T>) {\r\n\t\tthis._displayer = d;\r\n\t\tthis.render();\r\n\t}\r\n\tprotected set displayContainer(vcr: ViewContainerRef) {\r\n\t\tthis._displayContainer = vcr;\r\n\t}\r\n\tprotected render() {\r\n\t\tif (!this._displayer || !this._isContentInitialized) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.useMultipleViews()) {\r\n\t\t\tthis.renderMultipleViews();\r\n\t\t} else {\r\n\t\t\tthis.renderSingleView();\r\n\t\t}\r\n\t}\r\n\tprotected useMultipleViews() {\r\n\t\treturn this._multiple && !!this._displayer && !this._displayer.multiple;\r\n\t}\r\n\r\n\tprotected renderSingleView() {\r\n\t\tthis.clearDisplay();\r\n\t\tif (this.value !== null && this.value !== undefined) {\r\n\t\t\tconst newView = this.getView(this.value);\r\n\t\t\tthis.displayView(newView);\r\n\t\t}\r\n\t}\r\n\tprotected clearDisplay() {\r\n\t\tthis._displayContainer.clear();\r\n\t}\r\n\tprotected getView(value: T | T[]) {\r\n\t\tif (this._displayer) {\r\n\t\t\treturn this._displayer.getViewRef(value);\r\n\t\t}\r\n\t\treturn undefined;\r\n\t}\r\n\tprotected displayView(view: ViewRef) {\r\n\t\tif (view) {\r\n\t\t\tthis._displayContainer.insert(view);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected renderMultipleViews() {\r\n\t\tthis.clearDisplay();\r\n\t\tconst values = <T[]>this.value || [];\r\n\t\tconst views = values.map((value) => this.getView(value));\r\n\t\tviews.forEach((view) => this.displayView(view));\r\n\t}\r\n\t// multiple\r\n\tprotected _multiple = false;\r\n\tset multiple(m: boolean) {\r\n\t\tthis._multiple = m;\r\n\t\tif (this._picker) {\r\n\t\t\tthis._picker.multiple = m;\r\n\t\t}\r\n\t}\r\n\tget multiple() {\r\n\t\treturn this._multiple;\r\n\t}\r\n}\r\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\r\nimport { Overlay } from '@angular/cdk/overlay';\r\nimport {\r\n\tAfterViewInit,\r\n\tChangeDetectionStrategy,\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tContentChild,\r\n\tDirective,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tforwardRef,\r\n\tHostBinding,\r\n\tHostListener,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tRenderer2,\r\n\tViewChild,\r\n\tViewContainerRef,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ALuClearer, ALuInputDisplayer, ILuClearer, ILuInputDisplayer } from '@lucca-front/ng/input';\r\nimport { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\r\nimport { ALuSelectInput } from './select-input.model';\r\n\r\n@Directive()\r\nexport abstract class ALuSelectInputComponent<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuSelectInput<T, TPicker> implements ControlValueAccessor, AfterViewInit, OnDestroy {\r\n\t@ViewChild('display', { read: ViewContainerRef, static: true })\r\n\tprotected set _vcDisplayContainer(vcr: ViewContainerRef) {\r\n\t\tthis.displayContainer = vcr;\r\n\t}\r\n\r\n\t@HostBinding('tabindex') tabindex = 0;\r\n\r\n\t@Input('pickerOverlap') set overlapInput(o: boolean) {\r\n\t\tthis.target.overlap = o;\r\n\t}\r\n\r\n\t@Input('placeholder') set inputPlaceholder(p: string) {\r\n\t\tthis._placeholder = p;\r\n\t}\r\n\t@Input('multiple') set inputMultiple(m: boolean | string) {\r\n\t\tif (m === '') {\r\n\t\t\t// allows to have multiple = true when writing\r\n\t\t\t// <lu-select multiple>\r\n\t\t\tthis.multiple = true;\r\n\t\t} else {\r\n\t\t\tthis.multiple = !!m;\r\n\t\t}\r\n\t}\r\n\t/** Event emitted when the associated popover is opened. */\r\n\t@Output() onOpen = new EventEmitter<void>();\r\n\t/** Event emitted when the associated popover is closed. */\r\n\t@Output() onClose = new EventEmitter<void>();\r\n\r\n\tconstructor(\r\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected override _renderer: Renderer2,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\r\n\t}\r\n\t@HostBinding('class.is-disabled')\r\n\tget isDisabled() {\r\n\t\treturn this.disabled;\r\n\t}\r\n\t@Input('disabled') set inputDisabled(d: boolean) {\r\n\t\tthis._disabled = d;\r\n\t}\r\n\t@HostBinding('class.is-focused')\r\n\tget isFocused() {\r\n\t\treturn this._popoverOpen && !this.target.overlap;\r\n\t}\r\n\t@HostBinding('class.mod-multiple')\r\n\tget modMultiple() {\r\n\t\treturn this._multiple;\r\n\t}\r\n\r\n\t@HostBinding('class.is-clearable')\r\n\tget isClearable() {\r\n\t\treturn !!this._clearer;\r\n\t}\r\n\t/**\r\n\t * popover trigger class extension\r\n\t */\r\n\t@ContentChild(ALuPickerPanel, { static: true }) ccPicker: TPicker;\r\n\t@ViewChild(ALuPickerPanel, { static: true }) vcPicker: TPicker;\r\n\r\n\t@ContentChild(ALuInputDisplayer, { static: true })\r\n\tccDisplayer: ILuInputDisplayer<T>;\r\n\t@ViewChild(ALuInputDisplayer, { static: true })\r\n\tvcDisplayer: ILuInputDisplayer<T>;\r\n\r\n\t@ContentChild(ALuClearer, { static: true }) ccClearer: ILuClearer<T>;\r\n\t@ViewChild(ALuClearer, { static: true }) vcClearer: ILuClearer<T>;\r\n\r\n\t@HostListener('click')\r\n\toverride onClick() {\r\n\t\tsuper.onClick();\r\n\t}\r\n\t@HostListener('mouseenter')\r\n\toverride onMouseEnter() {\r\n\t\tsuper.onMouseEnter();\r\n\t}\r\n\t@HostListener('mouseleave')\r\n\toverride onMouseLeave() {\r\n\t\tsuper.onMouseLeave();\r\n\t}\r\n\t@HostListener('focus')\r\n\toverride onFocus() {\r\n\t\tsuper.onFocus();\r\n\t}\r\n\t@HostListener('blur')\r\n\toverride onBlur() {\r\n\t\tsuper.onBlur();\r\n\t}\r\n\t@HostListener('keydown.space', ['$event'])\r\n\t@HostListener('keydown.enter', ['$event'])\r\n\tonKeydown($event: KeyboardEvent) {\r\n\t\tif (!this._popoverOpen) {\r\n\t\t\tthis.openPopover();\r\n\t\t\t$event.stopPropagation();\r\n\t\t\t$event.preventDefault();\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tthis._isContentInitialized = true;\r\n\r\n\t\t// init picker and displayer and clearer\r\n\t\tconst picker = this.ccPicker || this.vcPicker;\r\n\t\tif (picker) {\r\n\t\t\tthis._picker = picker;\r\n\t\t}\r\n\t\tconst displayer = this.ccDisplayer || this.vcDisplayer;\r\n\t\tif (displayer) {\r\n\t\t\tthis._displayer = displayer;\r\n\t\t}\r\n\t\tconst clearer = this.ccClearer || this.vcClearer;\r\n\t\tif (clearer) {\r\n\t\t\tthis._clearer = clearer;\r\n\t\t}\r\n\r\n\t\tthis.render();\r\n\t\tthis._picker.setValue(this.value);\r\n\r\n\t\t// strange bug where the view renderred in the displayer was only injected after a hover\r\n\t\t// no matter how many cdr.markforchack i added\r\n\t\t// but with a timeout it works\r\n\t\t// shrug emoji\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis._changeDetectorRef.markForCheck();\r\n\t\t}, 1);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this._popoverOpen) {\r\n\t\t\tthis.closePopover();\r\n\t\t}\r\n\t\tthis.destroyPopover();\r\n\t\tthis.onDestroy();\r\n\t}\r\n\tprotected _emitOpen(): void {\r\n\t\tthis.onOpen.emit();\r\n\t}\r\n\tprotected _emitClose(): void {\r\n\t\tthis.onClose.emit();\r\n\t}\r\n}\r\n\r\n/**\r\n * select input\r\n */\r\n@Component({\r\n\tselector: 'lu-select',\r\n\ttemplateUrl: './select-input.component.html',\r\n\tstyleUrls: ['./select-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuSelectInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuSelectInputComponent<T> extends ALuSelectInputComponent<T> implements AfterViewInit {\r\n\t@HostBinding('class.mod-multipleView')\r\n\tget modMultipleView() {\r\n\t\treturn this.useMultipleViews();\r\n\t}\r\n\tconstructor(\r\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected override _renderer: Renderer2,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\r\n\t}\r\n\t// display clearer\r\n\t@ContentChild(ALuClearer, { read: ElementRef, static: false })\r\n\tclearerEltRef: ElementRef<HTMLElement>;\r\n\t@ViewChild('suffix', { read: ElementRef, static: true })\r\n\tsuffixEltRef: ElementRef<HTMLElement>;\r\n\tdisplayClearer() {\r\n\t\tif (this.clearerEltRef) {\r\n\t\t\tthis._renderer.appendChild(this.suffixEltRef.nativeElement, this.clearerEltRef.nativeElement);\r\n\t\t}\r\n\t}\r\n\r\n\toverride ngAfterViewInit() {\r\n\t\tsuper.ngAfterViewInit();\r\n\t\tthis.displayClearer(); // dont keep\r\n\t}\r\n}\r\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container #display></ng-container>\r\n\t</div>\r\n</div>\r\n<div #suffix class=\"lu-select-suffix\"></div>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuSelectInputComponent } from './select-input.component';\r\n\r\n@NgModule({\r\n\timports: [LuSelectInputComponent],\r\n\texports: [LuSelectInputComponent],\r\n})\r\nexport class LuSelectInputModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuSelectInputModule } from './input/index';\r\n\r\n@NgModule({\r\n\timports: [LuSelectInputModule],\r\n\texports: [LuSelectInputModule],\r\n})\r\nexport class LuSelectModule {}\r\n","/*\r\n * Public API Surface of safe-content\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":[],"mappings":"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"}
|
|
@@ -1,148 +1,46 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { ALuModalRef, ALuModalPanelComponent, setAriaHiddenOnApplicationRoot, LuModal } from '@lucca-front/ng/modal';
|
|
5
|
-
import * as i2 from '@angular/common';
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
-
import * as i3 from '@angular/cdk/a11y';
|
|
8
|
-
import { A11yModule } from '@angular/cdk/a11y';
|
|
9
|
-
import * as i4 from '@lucca-front/ng/tooltip';
|
|
10
|
-
import { LuTooltipModule } from '@lucca-front/ng/tooltip';
|
|
11
|
-
import { ComponentPortal } from '@angular/cdk/portal';
|
|
12
|
-
import * as i1 from '@angular/cdk/overlay';
|
|
13
|
-
import { OverlayModule } from '@angular/cdk/overlay';
|
|
14
|
-
|
|
15
|
-
const luDefaultSidepanelConfig = {
|
|
16
|
-
position: 'right',
|
|
17
|
-
noBackdrop: false,
|
|
18
|
-
undismissable: false,
|
|
19
|
-
backdropClass: ['cdk-overlay-dark-backdrop', 'lu-popup-backdrop'],
|
|
20
|
-
panelClass: ['lu-popup-panel', 'mod-sidepanel'],
|
|
21
|
-
size: 'standard',
|
|
22
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
23
|
-
};
|
|
2
|
+
import { InjectionToken, inject, Injectable, NgModule } from '@angular/core';
|
|
3
|
+
import { luDefaultSidepanelConfig, LU_MODAL_DATA, luModalTranslations, LuModal, LuModalModule } from '@lucca-front/ng/modal';
|
|
24
4
|
|
|
5
|
+
/**
|
|
6
|
+
* For backward compatibility, we re-export modal tokens as sidepanel tokens.
|
|
7
|
+
* We should remove all sidepanel related files in the next major version (16+).
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use LU_MODAL_CONFIG from @lucca-front/ng/modal instead.
|
|
11
|
+
*/
|
|
12
|
+
const LU_SIDEPANEL_CONFIG = new InjectionToken('LuSidepanelDefaultConfig', {
|
|
13
|
+
factory: () => luDefaultSidepanelConfig,
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Use LU_MODAL_DATA from @lucca-front/ng/modal instead.
|
|
17
|
+
*/
|
|
18
|
+
const LU_SIDEPANEL_DATA = LU_MODAL_DATA;
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Use LU_MODAL_TRANSLATIONS from @lucca-front/ng/modal instead.
|
|
21
|
+
*/
|
|
25
22
|
const LU_SIDEPANEL_TRANSLATIONS = new InjectionToken('LuSidepanelTranslations', {
|
|
26
23
|
factory: () => luSidepanelTranslations,
|
|
27
24
|
});
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
close: 'Close',
|
|
33
|
-
},
|
|
34
|
-
fr: {
|
|
35
|
-
submit: 'Ok',
|
|
36
|
-
cancel: 'Annuler',
|
|
37
|
-
close: 'Fermer',
|
|
38
|
-
},
|
|
39
|
-
es: {
|
|
40
|
-
submit: 'Ok',
|
|
41
|
-
cancel: 'Cancelar',
|
|
42
|
-
close: 'Cerrar',
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
class ALuSidepanelRef extends ALuModalRef {
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/* eslint-disable max-len */
|
|
50
|
-
class LuSidepanelPanelComponent extends ALuModalPanelComponent {
|
|
51
|
-
constructor(_ref, _cdr) {
|
|
52
|
-
super(_ref, _cdr);
|
|
53
|
-
this.class = true;
|
|
54
|
-
this.intl = getIntl(LU_SIDEPANEL_TRANSLATIONS);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
LuSidepanelPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelPanelComponent, deps: [{ token: ALuSidepanelRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
-
LuSidepanelPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: LuSidepanelPanelComponent, selector: "lu-sidepanel-panel", host: { properties: { "class.lu-sidepanel-panel": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n\tclass=\"lu-sidepanel-panel-inner\"\r\n\tcdkTrapFocus=\"true\"\r\n\tcdkTrapFocusAutoCapture=\"true\"\r\n\trole=\"dialog\"\r\n\taria-modal=\"true\"\r\n\t[attr.aria-labelledby]=\"'luSidepanelTitle' + modalId\"\r\n>\r\n\t<div class=\"lu-sidepanel-container\" role=\"document\">\r\n\t\t<div class=\"lu-modal-header\" tabindex=\"-1\" cdkFocusInitial>\r\n\t\t\t<button type=\"button\" class=\"actionIcon lu-modal-header-close\" (click)=\"dismiss()\" [luTooltip]=\"closeLabel\">\r\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-cross\"></span>\r\n\t\t\t\t<span class=\"u-mask\">{{ closeLabel }}</span>\r\n\t\t\t</button>\r\n\t\t\t<h1 [attr.id]=\"'luSidepanelTitle' + modalId\" class=\"lu-modal-header-title\">{{ title$ | async }}</h1>\r\n\t\t</div>\r\n\t\t<div class=\"lu-modal-content\">\r\n\t\t\t<ng-container #container></ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"lu-modal-footer\">\r\n\t\t\t<button\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t*ngIf=\"!isSubmitHidden\"\r\n\t\t\t\tclass=\"button palette-{{ submitPalette }}\"\r\n\t\t\t\t[disabled]=\"submitDisabled$ | async\"\r\n\t\t\t\t[class.mod-counter]=\"hasSubmitCounter$ | async\"\r\n\t\t\t\t[ngClass]=\"submitClass$ | async\"\r\n\t\t\t\t(click)=\"submit()\"\r\n\t\t\t>\r\n\t\t\t\t{{ submitLabel$ | async }}\r\n\t\t\t\t<label class=\"button-counter\" *ngIf=\"hasSubmitCounter$ | async\">{{ submitCounter$ | async }}</label>\r\n\t\t\t</button>\r\n\t\t\t<button type=\"button\" class=\"button mod-text\" (click)=\"dismiss()\">{{ cancelLabel$ | async }}</button>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i4.LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipPosition", "luTooltipWhenEllipsis"], outputs: ["luTooltipOnOpen", "luTooltipOnClose"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelPanelComponent, decorators: [{
|
|
60
|
-
type: Component,
|
|
61
|
-
args: [{ selector: 'lu-sidepanel-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n\tclass=\"lu-sidepanel-panel-inner\"\r\n\tcdkTrapFocus=\"true\"\r\n\tcdkTrapFocusAutoCapture=\"true\"\r\n\trole=\"dialog\"\r\n\taria-modal=\"true\"\r\n\t[attr.aria-labelledby]=\"'luSidepanelTitle' + modalId\"\r\n>\r\n\t<div class=\"lu-sidepanel-container\" role=\"document\">\r\n\t\t<div class=\"lu-modal-header\" tabindex=\"-1\" cdkFocusInitial>\r\n\t\t\t<button type=\"button\" class=\"actionIcon lu-modal-header-close\" (click)=\"dismiss()\" [luTooltip]=\"closeLabel\">\r\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-cross\"></span>\r\n\t\t\t\t<span class=\"u-mask\">{{ closeLabel }}</span>\r\n\t\t\t</button>\r\n\t\t\t<h1 [attr.id]=\"'luSidepanelTitle' + modalId\" class=\"lu-modal-header-title\">{{ title$ | async }}</h1>\r\n\t\t</div>\r\n\t\t<div class=\"lu-modal-content\">\r\n\t\t\t<ng-container #container></ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"lu-modal-footer\">\r\n\t\t\t<button\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t*ngIf=\"!isSubmitHidden\"\r\n\t\t\t\tclass=\"button palette-{{ submitPalette }}\"\r\n\t\t\t\t[disabled]=\"submitDisabled$ | async\"\r\n\t\t\t\t[class.mod-counter]=\"hasSubmitCounter$ | async\"\r\n\t\t\t\t[ngClass]=\"submitClass$ | async\"\r\n\t\t\t\t(click)=\"submit()\"\r\n\t\t\t>\r\n\t\t\t\t{{ submitLabel$ | async }}\r\n\t\t\t\t<label class=\"button-counter\" *ngIf=\"hasSubmitCounter$ | async\">{{ submitCounter$ | async }}</label>\r\n\t\t\t</button>\r\n\t\t\t<button type=\"button\" class=\"button mod-text\" (click)=\"dismiss()\">{{ cancelLabel$ | async }}</button>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n" }]
|
|
62
|
-
}], ctorParameters: function () { return [{ type: ALuSidepanelRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { class: [{
|
|
63
|
-
type: HostBinding,
|
|
64
|
-
args: ['class.lu-sidepanel-panel']
|
|
65
|
-
}] } });
|
|
66
|
-
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
67
|
-
class LuSidepanelPanelComponentDefaultCD extends ALuModalPanelComponent {
|
|
68
|
-
constructor(_ref, _cdr) {
|
|
69
|
-
super(_ref, _cdr);
|
|
70
|
-
this.class = true;
|
|
71
|
-
this.intl = getIntl(LU_SIDEPANEL_TRANSLATIONS);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
LuSidepanelPanelComponentDefaultCD.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelPanelComponentDefaultCD, deps: [{ token: ALuSidepanelRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
-
LuSidepanelPanelComponentDefaultCD.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: LuSidepanelPanelComponentDefaultCD, selector: "lu-sidepanel-panel-default", host: { properties: { "class.lu-sidepanel-panel": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n\tclass=\"lu-sidepanel-panel-inner\"\r\n\tcdkTrapFocus=\"true\"\r\n\tcdkTrapFocusAutoCapture=\"true\"\r\n\trole=\"dialog\"\r\n\taria-modal=\"true\"\r\n\t[attr.aria-labelledby]=\"'luSidepanelTitle' + modalId\"\r\n>\r\n\t<div class=\"lu-sidepanel-container\" role=\"document\">\r\n\t\t<div class=\"lu-modal-header\" tabindex=\"-1\" cdkFocusInitial>\r\n\t\t\t<button type=\"button\" class=\"actionIcon lu-modal-header-close\" (click)=\"dismiss()\" [luTooltip]=\"closeLabel\">\r\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-cross\"></span>\r\n\t\t\t\t<span class=\"u-mask\">{{ closeLabel }}</span>\r\n\t\t\t</button>\r\n\t\t\t<h1 [attr.id]=\"'luSidepanelTitle' + modalId\" class=\"lu-modal-header-title\">{{ title$ | async }}</h1>\r\n\t\t</div>\r\n\t\t<div class=\"lu-modal-content\">\r\n\t\t\t<ng-container #container></ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"lu-modal-footer\">\r\n\t\t\t<button\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t*ngIf=\"!isSubmitHidden\"\r\n\t\t\t\tclass=\"button palette-{{ submitPalette }}\"\r\n\t\t\t\t[disabled]=\"submitDisabled$ | async\"\r\n\t\t\t\t[class.mod-counter]=\"hasSubmitCounter$ | async\"\r\n\t\t\t\t[ngClass]=\"submitClass$ | async\"\r\n\t\t\t\t(click)=\"submit()\"\r\n\t\t\t>\r\n\t\t\t\t{{ submitLabel$ | async }}\r\n\t\t\t\t<label class=\"button-counter\" *ngIf=\"hasSubmitCounter$ | async\">{{ submitCounter$ | async }}</label>\r\n\t\t\t</button>\r\n\t\t\t<button type=\"button\" class=\"button mod-text\" (click)=\"dismiss()\">{{ cancelLabel$ | async }}</button>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i4.LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipPosition", "luTooltipWhenEllipsis"], outputs: ["luTooltipOnOpen", "luTooltipOnClose"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelPanelComponentDefaultCD, decorators: [{
|
|
77
|
-
type: Component,
|
|
78
|
-
args: [{ selector: 'lu-sidepanel-panel-default', changeDetection: ChangeDetectionStrategy.Default, template: "<div\r\n\tclass=\"lu-sidepanel-panel-inner\"\r\n\tcdkTrapFocus=\"true\"\r\n\tcdkTrapFocusAutoCapture=\"true\"\r\n\trole=\"dialog\"\r\n\taria-modal=\"true\"\r\n\t[attr.aria-labelledby]=\"'luSidepanelTitle' + modalId\"\r\n>\r\n\t<div class=\"lu-sidepanel-container\" role=\"document\">\r\n\t\t<div class=\"lu-modal-header\" tabindex=\"-1\" cdkFocusInitial>\r\n\t\t\t<button type=\"button\" class=\"actionIcon lu-modal-header-close\" (click)=\"dismiss()\" [luTooltip]=\"closeLabel\">\r\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-cross\"></span>\r\n\t\t\t\t<span class=\"u-mask\">{{ closeLabel }}</span>\r\n\t\t\t</button>\r\n\t\t\t<h1 [attr.id]=\"'luSidepanelTitle' + modalId\" class=\"lu-modal-header-title\">{{ title$ | async }}</h1>\r\n\t\t</div>\r\n\t\t<div class=\"lu-modal-content\">\r\n\t\t\t<ng-container #container></ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"lu-modal-footer\">\r\n\t\t\t<button\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t*ngIf=\"!isSubmitHidden\"\r\n\t\t\t\tclass=\"button palette-{{ submitPalette }}\"\r\n\t\t\t\t[disabled]=\"submitDisabled$ | async\"\r\n\t\t\t\t[class.mod-counter]=\"hasSubmitCounter$ | async\"\r\n\t\t\t\t[ngClass]=\"submitClass$ | async\"\r\n\t\t\t\t(click)=\"submit()\"\r\n\t\t\t>\r\n\t\t\t\t{{ submitLabel$ | async }}\r\n\t\t\t\t<label class=\"button-counter\" *ngIf=\"hasSubmitCounter$ | async\">{{ submitCounter$ | async }}</label>\r\n\t\t\t</button>\r\n\t\t\t<button type=\"button\" class=\"button mod-text\" (click)=\"dismiss()\">{{ cancelLabel$ | async }}</button>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n" }]
|
|
79
|
-
}], ctorParameters: function () { return [{ type: ALuSidepanelRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { class: [{
|
|
80
|
-
type: HostBinding,
|
|
81
|
-
args: ['class.lu-sidepanel-panel']
|
|
82
|
-
}] } });
|
|
83
|
-
|
|
84
|
-
/** Injection token that can be used to access the data that was passed in to a dialog. */
|
|
85
|
-
const LU_SIDEPANEL_DATA = new InjectionToken('LuSidepanelData');
|
|
86
|
-
const LU_SIDEPANEL_CONFIG = new InjectionToken('LuSidepanelDefaultConfig');
|
|
87
|
-
const LU_SIDEPANEL_REF_FACTORY = new InjectionToken('LuSidepanelRefFactory');
|
|
88
|
-
|
|
89
|
-
class LuSidepanelRef extends ALuSidepanelRef {
|
|
90
|
-
constructor(_overlay, _injector, _component, _config, _applicationRef) {
|
|
91
|
-
super(_overlay, _injector, _component, _config);
|
|
92
|
-
this._overlay = _overlay;
|
|
93
|
-
this._injector = _injector;
|
|
94
|
-
this._component = _component;
|
|
95
|
-
this._config = _config;
|
|
96
|
-
this._applicationRef = _applicationRef;
|
|
97
|
-
}
|
|
98
|
-
_openPopup(data) {
|
|
99
|
-
const injector = Injector.create({
|
|
100
|
-
providers: [
|
|
101
|
-
{ provide: ALuSidepanelRef, useValue: this },
|
|
102
|
-
{ provide: LU_SIDEPANEL_DATA, useValue: data },
|
|
103
|
-
],
|
|
104
|
-
parent: this._injector,
|
|
105
|
-
});
|
|
106
|
-
if (this._config.changeDetection === ChangeDetectionStrategy.OnPush) {
|
|
107
|
-
const containerPortal = new ComponentPortal(LuSidepanelPanelComponent, undefined, injector);
|
|
108
|
-
this._containerRef = this._overlayRef.attach(containerPortal);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
const containerPortal = new ComponentPortal(LuSidepanelPanelComponentDefaultCD, undefined, injector);
|
|
112
|
-
this._containerRef = this._overlayRef.attach(containerPortal);
|
|
113
|
-
}
|
|
114
|
-
const panel = this._containerRef.instance;
|
|
115
|
-
this._componentRef = panel.attachInnerComponent(this._component, injector);
|
|
116
|
-
setAriaHiddenOnApplicationRoot(this._applicationRef, true);
|
|
117
|
-
}
|
|
118
|
-
_closePopup() {
|
|
119
|
-
this._componentRef.destroy();
|
|
120
|
-
this._containerRef.destroy();
|
|
121
|
-
setAriaHiddenOnApplicationRoot(this._applicationRef, false);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
class LuSidepanelRefFactory {
|
|
125
|
-
constructor(_overlay, _injector) {
|
|
126
|
-
this._overlay = _overlay;
|
|
127
|
-
this._injector = _injector;
|
|
128
|
-
this._applicationRef = inject(ApplicationRef);
|
|
129
|
-
}
|
|
130
|
-
forge(component, config) {
|
|
131
|
-
return new LuSidepanelRef(this._overlay, this._injector, component, config, this._applicationRef);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
LuSidepanelRefFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelRefFactory, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
135
|
-
LuSidepanelRefFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelRefFactory });
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelRefFactory, decorators: [{
|
|
137
|
-
type: Injectable
|
|
138
|
-
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }]; } });
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Use luModalTranslations from @lucca-front/ng/modal instead.
|
|
27
|
+
*/
|
|
28
|
+
const luSidepanelTranslations = luModalTranslations;
|
|
139
29
|
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.
|
|
32
|
+
*/
|
|
140
33
|
class LuSidepanel extends LuModal {
|
|
141
34
|
constructor() {
|
|
142
35
|
super(...arguments);
|
|
143
|
-
this._factory = inject(LU_SIDEPANEL_REF_FACTORY);
|
|
144
36
|
this._config = inject(LU_SIDEPANEL_CONFIG);
|
|
145
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.
|
|
40
|
+
*/
|
|
41
|
+
open(component, data = undefined, config = {}) {
|
|
42
|
+
return super.open(component, data, config);
|
|
43
|
+
}
|
|
146
44
|
}
|
|
147
45
|
LuSidepanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanel, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
148
46
|
LuSidepanel.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanel });
|
|
@@ -150,18 +48,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
|
|
|
150
48
|
type: Injectable
|
|
151
49
|
}] });
|
|
152
50
|
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.
|
|
53
|
+
*/
|
|
153
54
|
class LuSidepanelModule {
|
|
154
55
|
}
|
|
155
56
|
LuSidepanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
156
|
-
LuSidepanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelModule,
|
|
157
|
-
LuSidepanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelModule, providers: [LuSidepanel
|
|
57
|
+
LuSidepanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelModule, imports: [LuModalModule] });
|
|
58
|
+
LuSidepanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelModule, providers: [LuSidepanel], imports: [LuModalModule] });
|
|
158
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSidepanelModule, decorators: [{
|
|
159
60
|
type: NgModule,
|
|
160
61
|
args: [{
|
|
161
|
-
imports: [
|
|
162
|
-
|
|
163
|
-
exports: [LuSidepanelPanelComponent, LuSidepanelPanelComponentDefaultCD],
|
|
164
|
-
providers: [LuSidepanel, { provide: LU_SIDEPANEL_CONFIG, useValue: luDefaultSidepanelConfig }, { provide: LU_SIDEPANEL_REF_FACTORY, useClass: LuSidepanelRefFactory }],
|
|
62
|
+
imports: [LuModalModule],
|
|
63
|
+
providers: [LuSidepanel],
|
|
165
64
|
}]
|
|
166
65
|
}] });
|
|
167
66
|
|
|
@@ -173,5 +72,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
|
|
|
173
72
|
* Generated bundle index. Do not edit.
|
|
174
73
|
*/
|
|
175
74
|
|
|
176
|
-
export {
|
|
75
|
+
export { LU_SIDEPANEL_CONFIG, LU_SIDEPANEL_DATA, LU_SIDEPANEL_TRANSLATIONS, LuSidepanel, LuSidepanelModule, luSidepanelTranslations };
|
|
177
76
|
//# sourceMappingURL=lucca-front-ng-sidepanel.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-sidepanel.mjs","sources":["../../../packages/ng/sidepanel/src/lib/sidepanel-config.default.ts","../../../packages/ng/sidepanel/src/lib/sidepanel.translate.ts","../../../packages/ng/sidepanel/src/lib/sidepanel-ref.model.ts","../../../packages/ng/sidepanel/src/lib/sidepanel-panel.component.ts","../../../packages/ng/sidepanel/src/lib/sidepanel-panel.component.html","../../../packages/ng/sidepanel/src/lib/sidepanel.token.ts","../../../packages/ng/sidepanel/src/lib/sidepanel-ref.factory.ts","../../../packages/ng/sidepanel/src/lib/sidepanel.service.ts","../../../packages/ng/sidepanel/src/lib/sidepanel.module.ts","../../../packages/ng/sidepanel/src/public-api.ts","../../../packages/ng/sidepanel/src/lucca-front-ng-sidepanel.ts"],"sourcesContent":["import { ILuSidepanelConfig } from './sidepanel-config.model';\r\nimport { ChangeDetectionStrategy } from '@angular/core';\r\n\r\nexport const luDefaultSidepanelConfig: ILuSidepanelConfig = {\r\n\tposition: 'right',\r\n\tnoBackdrop: false,\r\n\tundismissable: false,\r\n\tbackdropClass: ['cdk-overlay-dark-backdrop', 'lu-popup-backdrop'],\r\n\tpanelClass: ['lu-popup-panel', 'mod-sidepanel'],\r\n\tsize: 'standard',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n};\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport const LU_SIDEPANEL_TRANSLATIONS = new InjectionToken('LuSidepanelTranslations', {\r\n\tfactory: () => luSidepanelTranslations,\r\n});\r\n\r\nexport interface ILuSidepanelLabel {\r\n\tsubmit: string;\r\n\tcancel: string;\r\n\tclose: string;\r\n}\r\n\r\nexport const luSidepanelTranslations: ILuTranslation<ILuSidepanelLabel> = {\r\n\ten: {\r\n\t\tsubmit: 'Ok',\r\n\t\tcancel: 'Cancel',\r\n\t\tclose: 'Close',\r\n\t},\r\n\tfr: {\r\n\t\tsubmit: 'Ok',\r\n\t\tcancel: 'Annuler',\r\n\t\tclose: 'Fermer',\r\n\t},\r\n\tes: {\r\n\t\tsubmit: 'Ok',\r\n\t\tcancel: 'Cancelar',\r\n\t\tclose: 'Cerrar',\r\n\t},\r\n};\r\n","import { ALuModalRef, ILuModalRef } from '@lucca-front/ng/modal';\r\nimport { ILuSidepanelContent } from './sidepanel.model';\r\n\r\nexport type ILuSidepanelRef<T extends ILuSidepanelContent = ILuSidepanelContent, D = unknown, R = unknown> = ILuModalRef<T, D, R>;\r\nexport abstract class ALuSidepanelRef<T extends ILuSidepanelContent = ILuSidepanelContent, D = unknown, R = unknown> extends ALuModalRef<T, D, R> implements ILuSidepanelRef<T, D, R> {}\r\n","/* eslint-disable max-len */\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding } from '@angular/core';\r\nimport { getIntl } from '@lucca-front/ng/core';\r\nimport { ALuModalPanelComponent } from '@lucca-front/ng/modal';\r\nimport { ALuSidepanelRef } from './sidepanel-ref.model';\r\nimport { ILuSidepanelContent } from './sidepanel.model';\r\nimport { LU_SIDEPANEL_TRANSLATIONS } from './sidepanel.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-sidepanel-panel',\r\n\ttemplateUrl: './sidepanel-panel.component.html',\r\n\tstyleUrls: ['./sidepanel-panel.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LuSidepanelPanelComponent<T extends ILuSidepanelContent = ILuSidepanelContent> extends ALuModalPanelComponent<T> {\r\n\t@HostBinding('class.lu-sidepanel-panel') public class = true;\r\n\tpublic override intl = getIntl(LU_SIDEPANEL_TRANSLATIONS);\r\n\r\n\tconstructor(_ref: ALuSidepanelRef<T>, _cdr: ChangeDetectorRef) {\r\n\t\tsuper(_ref, _cdr);\r\n\t}\r\n}\r\n\r\n@Component({\r\n\tselector: 'lu-sidepanel-panel-default',\r\n\ttemplateUrl: './sidepanel-panel.component.html',\r\n\tstyleUrls: ['./sidepanel-panel.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.Default,\r\n})\r\n// eslint-disable-next-line @angular-eslint/component-class-suffix\r\nexport class LuSidepanelPanelComponentDefaultCD<T extends ILuSidepanelContent = ILuSidepanelContent> extends ALuModalPanelComponent<T> {\r\n\t@HostBinding('class.lu-sidepanel-panel') public class = true;\r\n\tpublic override intl = getIntl(LU_SIDEPANEL_TRANSLATIONS);\r\n\tconstructor(_ref: ALuSidepanelRef<T>, _cdr: ChangeDetectorRef) {\r\n\t\tsuper(_ref, _cdr);\r\n\t}\r\n}\r\n","<div\r\n\tclass=\"lu-sidepanel-panel-inner\"\r\n\tcdkTrapFocus=\"true\"\r\n\tcdkTrapFocusAutoCapture=\"true\"\r\n\trole=\"dialog\"\r\n\taria-modal=\"true\"\r\n\t[attr.aria-labelledby]=\"'luSidepanelTitle' + modalId\"\r\n>\r\n\t<div class=\"lu-sidepanel-container\" role=\"document\">\r\n\t\t<div class=\"lu-modal-header\" tabindex=\"-1\" cdkFocusInitial>\r\n\t\t\t<button type=\"button\" class=\"actionIcon lu-modal-header-close\" (click)=\"dismiss()\" [luTooltip]=\"closeLabel\">\r\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-cross\"></span>\r\n\t\t\t\t<span class=\"u-mask\">{{ closeLabel }}</span>\r\n\t\t\t</button>\r\n\t\t\t<h1 [attr.id]=\"'luSidepanelTitle' + modalId\" class=\"lu-modal-header-title\">{{ title$ | async }}</h1>\r\n\t\t</div>\r\n\t\t<div class=\"lu-modal-content\">\r\n\t\t\t<ng-container #container></ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"lu-modal-footer\">\r\n\t\t\t<button\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t*ngIf=\"!isSubmitHidden\"\r\n\t\t\t\tclass=\"button palette-{{ submitPalette }}\"\r\n\t\t\t\t[disabled]=\"submitDisabled$ | async\"\r\n\t\t\t\t[class.mod-counter]=\"hasSubmitCounter$ | async\"\r\n\t\t\t\t[ngClass]=\"submitClass$ | async\"\r\n\t\t\t\t(click)=\"submit()\"\r\n\t\t\t>\r\n\t\t\t\t{{ submitLabel$ | async }}\r\n\t\t\t\t<label class=\"button-counter\" *ngIf=\"hasSubmitCounter$ | async\">{{ submitCounter$ | async }}</label>\r\n\t\t\t</button>\r\n\t\t\t<button type=\"button\" class=\"button mod-text\" (click)=\"dismiss()\">{{ cancelLabel$ | async }}</button>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ILuPopupRefFactory } from '@lucca-front/ng/popup';\r\nimport { ILuSidepanelConfig } from './sidepanel-config.model';\r\n\r\n/** Injection token that can be used to access the data that was passed in to a dialog. */\r\nexport const LU_SIDEPANEL_DATA = new InjectionToken<unknown>('LuSidepanelData');\r\nexport const LU_SIDEPANEL_CONFIG = new InjectionToken<ILuSidepanelConfig>('LuSidepanelDefaultConfig');\r\nexport const LU_SIDEPANEL_REF_FACTORY = new InjectionToken<ILuPopupRefFactory>('LuSidepanelRefFactory');\r\n","import { ComponentType, Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { ApplicationRef, ChangeDetectionStrategy, ComponentRef, inject, Injectable, Injector } from '@angular/core';\r\nimport { setAriaHiddenOnApplicationRoot } from '@lucca-front/ng/modal';\r\nimport { ILuPopupRefFactory } from '@lucca-front/ng/popup';\r\nimport { ILuSidepanelConfig } from './sidepanel-config.model';\r\nimport { LuSidepanelPanelComponent, LuSidepanelPanelComponentDefaultCD } from './sidepanel-panel.component';\r\nimport { ALuSidepanelRef, ILuSidepanelRef } from './sidepanel-ref.model';\r\nimport { ILuSidepanelContent } from './sidepanel.model';\r\nimport { LU_SIDEPANEL_DATA } from './sidepanel.token';\r\n\r\nclass LuSidepanelRef<T extends ILuSidepanelContent<unknown> = ILuSidepanelContent<unknown>, D = unknown, R = unknown> extends ALuSidepanelRef<T, D, R> implements ILuSidepanelRef<T, D, R> {\r\n\tprotected _containerRef: ComponentRef<LuSidepanelPanelComponent<T>>;\r\n\tconstructor(\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _injector: Injector,\r\n\t\tprotected override _component: ComponentType<T>,\r\n\t\tprotected override _config: ILuSidepanelConfig,\r\n\t\tprotected _applicationRef: ApplicationRef,\r\n\t) {\r\n\t\tsuper(_overlay, _injector, _component, _config);\r\n\t}\r\n\tprotected override _openPopup(data?: D) {\r\n\t\tconst injector = Injector.create({\r\n\t\t\tproviders: [\r\n\t\t\t\t{ provide: ALuSidepanelRef, useValue: this },\r\n\t\t\t\t{ provide: LU_SIDEPANEL_DATA, useValue: data },\r\n\t\t\t],\r\n\t\t\tparent: this._injector,\r\n\t\t});\r\n\t\tif (this._config.changeDetection === ChangeDetectionStrategy.OnPush) {\r\n\t\t\tconst containerPortal = new ComponentPortal<LuSidepanelPanelComponent<T>>(LuSidepanelPanelComponent, undefined, injector);\r\n\t\t\tthis._containerRef = this._overlayRef.attach(containerPortal);\r\n\t\t} else {\r\n\t\t\tconst containerPortal = new ComponentPortal<LuSidepanelPanelComponentDefaultCD<T>>(LuSidepanelPanelComponentDefaultCD, undefined, injector);\r\n\t\t\tthis._containerRef = this._overlayRef.attach(containerPortal);\r\n\t\t}\r\n\t\tconst panel = this._containerRef.instance;\r\n\t\tthis._componentRef = panel.attachInnerComponent(this._component, injector);\r\n\r\n\t\tsetAriaHiddenOnApplicationRoot(this._applicationRef, true);\r\n\t}\r\n\tprotected override _closePopup() {\r\n\t\tthis._componentRef.destroy();\r\n\t\tthis._containerRef.destroy();\r\n\t\tsetAriaHiddenOnApplicationRoot(this._applicationRef, false);\r\n\t}\r\n}\r\n\r\n@Injectable()\r\nexport class LuSidepanelRefFactory implements ILuPopupRefFactory<ILuSidepanelContent<unknown>, ILuSidepanelConfig> {\r\n\tprotected _applicationRef = inject(ApplicationRef);\r\n\r\n\tconstructor(protected _overlay: Overlay, protected _injector: Injector) {}\r\n\tforge<T extends ILuSidepanelContent<unknown>, C extends ILuSidepanelConfig, D, R>(component: ComponentType<T>, config: C) {\r\n\t\treturn new LuSidepanelRef<T, D, R>(this._overlay, this._injector, component, config, this._applicationRef);\r\n\t}\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { LuModal } from '@lucca-front/ng/modal';\r\nimport { ILuSidepanelConfig } from './sidepanel-config.model';\r\nimport { LU_SIDEPANEL_CONFIG, LU_SIDEPANEL_REF_FACTORY } from './sidepanel.token';\r\n\r\n@Injectable()\r\nexport class LuSidepanel<C extends ILuSidepanelConfig = ILuSidepanelConfig> extends LuModal<C> {\r\n\tprotected override _factory = inject(LU_SIDEPANEL_REF_FACTORY);\r\n\tprotected override _config = inject(LU_SIDEPANEL_CONFIG);\r\n}\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 { LuTooltipModule } from '@lucca-front/ng/tooltip';\r\nimport { luDefaultSidepanelConfig } from './sidepanel-config.default';\r\nimport { LuSidepanelPanelComponent, LuSidepanelPanelComponentDefaultCD } from './sidepanel-panel.component';\r\nimport { LuSidepanelRefFactory } from './sidepanel-ref.factory';\r\nimport { LuSidepanel } from './sidepanel.service';\r\nimport { LU_SIDEPANEL_CONFIG, LU_SIDEPANEL_REF_FACTORY } from './sidepanel.token';\r\n\r\n@NgModule({\r\n\timports: [OverlayModule, CommonModule, A11yModule, LuTooltipModule],\r\n\tdeclarations: [LuSidepanelPanelComponent, LuSidepanelPanelComponentDefaultCD],\r\n\texports: [LuSidepanelPanelComponent, LuSidepanelPanelComponentDefaultCD],\r\n\tproviders: [LuSidepanel, { provide: LU_SIDEPANEL_CONFIG, useValue: luDefaultSidepanelConfig }, { provide: LU_SIDEPANEL_REF_FACTORY, useClass: LuSidepanelRefFactory }],\r\n})\r\nexport class LuSidepanelModule {}\r\n","/*\r\n * Public API Surface of safe-content\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":["i1.ALuSidepanelRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-sidepanel.mjs","sources":["../../../packages/ng/sidepanel/src/lib/sidepanel.model.ts","../../../packages/ng/sidepanel/src/lib/sidepanel.service.ts","../../../packages/ng/sidepanel/src/lib/sidepanel.module.ts","../../../packages/ng/sidepanel/src/public-api.ts","../../../packages/ng/sidepanel/src/lucca-front-ng-sidepanel.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { ILuTranslation } from '@lucca-front/ng/core';\r\nimport { ILuModalContent, ILuModalLabel, ILuModalRef, luDefaultSidepanelConfig, LuModalConfig, luModalTranslations, LU_MODAL_DATA } from '@lucca-front/ng/modal';\r\n\r\n/**\r\n * For backward compatibility, we re-export modal tokens as sidepanel tokens.\r\n * We should remove all sidepanel related files in the next major version (16+).\r\n */\r\n\r\n/**\r\n * @deprecated Use LU_MODAL_CONFIG from @lucca-front/ng/modal instead.\r\n */\r\nexport const LU_SIDEPANEL_CONFIG = new InjectionToken<LuSidepanelConfig>('LuSidepanelDefaultConfig', {\r\n\tfactory: () => luDefaultSidepanelConfig,\r\n});\r\n\r\n/**\r\n * @deprecated Use LU_MODAL_DATA from @lucca-front/ng/modal instead.\r\n */\r\nexport const LU_SIDEPANEL_DATA = LU_MODAL_DATA;\r\n\r\n/**\r\n * @deprecated Use LU_MODAL_TRANSLATIONS from @lucca-front/ng/modal instead.\r\n */\r\nexport const LU_SIDEPANEL_TRANSLATIONS = new InjectionToken('LuSidepanelTranslations', {\r\n\tfactory: () => luSidepanelTranslations,\r\n});\r\n\r\n/**\r\n * @deprecated Use ILuModalLabel from @lucca-front/ng/modal instead.\r\n */\r\nexport type ILuSidepanelLabel = ILuModalLabel;\r\n\r\n/**\r\n * @deprecated Use luModalTranslations from @lucca-front/ng/modal instead.\r\n */\r\nexport const luSidepanelTranslations: ILuTranslation<ILuSidepanelLabel> = luModalTranslations;\r\n\r\n/**\r\n * @deprecated Use LuModalConfig from @lucca-front/ng/modal instead.\r\n */\r\nexport type LuSidepanelConfig = LuModalConfig;\r\n\r\n/**\r\n * @deprecated Use LuModalConfig from @lucca-front/ng/modal instead.\r\n */\r\nexport type ILuSidepanelConfig = LuModalConfig;\r\n\r\n/**\r\n * @deprecated Use ILuModalContent from @lucca-front/ng/modal instead.\r\n */\r\nexport type ILuSidepanelContent<T = unknown> = ILuModalContent<T>;\r\n\r\n/**\r\n * @deprecated Use ILuModalRef from @lucca-front/ng/modal instead.\r\n */\r\nexport type ILuSidepanelRef<T extends ILuSidepanelContent = ILuSidepanelContent, D = unknown, R = unknown> = ILuModalRef<T, D, R>;\r\n","import { ComponentType } from '@angular/cdk/overlay';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport { LuModal } from '@lucca-front/ng/modal';\r\nimport { ILuPopupRef } from '@lucca-front/ng/popup';\r\nimport { LuSidepanelConfig, LU_SIDEPANEL_CONFIG } from './sidepanel.model';\r\n\r\n/**\r\n * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\r\n */\r\n@Injectable()\r\nexport class LuSidepanel<C extends LuSidepanelConfig = LuSidepanelConfig> extends LuModal<C> {\r\n\tprotected override _config = inject<C>(LU_SIDEPANEL_CONFIG);\r\n\r\n\t/**\r\n\t * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\r\n\t */\r\n\toverride open<T, D, R>(component: ComponentType<T>, data: D = undefined, config: Partial<C> = {}): ILuPopupRef<T, D, R> {\r\n\t\treturn super.open(component, data, config);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuModalModule } from '@lucca-front/ng/modal';\r\nimport { LuSidepanel } from './sidepanel.service';\r\n\r\n/**\r\n * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\r\n */\r\n@NgModule({\r\n\timports: [LuModalModule],\r\n\tproviders: [LuSidepanel],\r\n})\r\nexport class LuSidepanelModule {}\r\n","/*\r\n * Public API Surface of safe-content\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":[],"mappings":";;;;AAIA;;;AAGG;AAEH;;AAEG;MACU,mBAAmB,GAAG,IAAI,cAAc,CAAoB,0BAA0B,EAAE;AACpG,IAAA,OAAO,EAAE,MAAM,wBAAwB;AACvC,CAAA,EAAE;AAEH;;AAEG;AACI,MAAM,iBAAiB,GAAG,cAAc;AAE/C;;AAEG;MACU,yBAAyB,GAAG,IAAI,cAAc,CAAC,yBAAyB,EAAE;AACtF,IAAA,OAAO,EAAE,MAAM,uBAAuB;AACtC,CAAA,EAAE;AAOH;;AAEG;AACI,MAAM,uBAAuB,GAAsC;;AC9B1E;;AAEG;AAEG,MAAO,WAA6D,SAAQ,OAAU,CAAA;AAD5F,IAAA,WAAA,GAAA;;AAEoB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAI,mBAAmB,CAAC,CAAC;KAQ5D;AANA;;AAEG;IACM,IAAI,CAAU,SAA2B,EAAE,OAAU,SAAS,EAAE,SAAqB,EAAE,EAAA;QAC/F,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;KAC3C;;wGARW,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4GAAX,WAAW,EAAA,CAAA,CAAA;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;;;ACLX;;AAEG;MAKU,iBAAiB,CAAA;;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAHnB,aAAa,CAAA,EAAA,CAAA,CAAA;AAGX,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAFlB,SAAA,EAAA,CAAC,WAAW,CAAC,YADd,aAAa,CAAA,EAAA,CAAA,CAAA;2FAGX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,SAAS,EAAE,CAAC,WAAW,CAAC;iBACxB,CAAA;;;ACVD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { inject, Directive, Input } from '@angular/core';
|
|
4
|
+
import { Subject, scan, startWith, debounceTime, BehaviorSubject, takeUntil, combineLatest, switchMap, concatMap, catchError, of, tap, takeWhile, ReplaySubject, map, take } from 'rxjs';
|
|
5
|
+
import { LuSimpleSelectInputComponent } from '@lucca-front/ng/simple-select';
|
|
6
|
+
|
|
7
|
+
const MAGIC_PAGE_SIZE = 20;
|
|
8
|
+
const MAGIC_DEBOUNCE_DURATION = 250;
|
|
9
|
+
class ALuSimpleSelectApiDirective {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.destroy$ = new Subject();
|
|
12
|
+
this.pageSize = MAGIC_PAGE_SIZE;
|
|
13
|
+
this.debounceDuration = MAGIC_DEBOUNCE_DURATION;
|
|
14
|
+
this.select = inject(LuSimpleSelectInputComponent);
|
|
15
|
+
this.page$ = this.select.nextPage.pipe(scan((page) => page + 1, 0), startWith(0));
|
|
16
|
+
this.clue$ = this.select.clueChange.pipe(startWith(''), debounceTime(this.debounceDuration));
|
|
17
|
+
this.loading$ = new BehaviorSubject(false);
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.select.optionComparer = this.optionComparer;
|
|
21
|
+
this.buildOptions().pipe(takeUntil(this.destroy$)).subscribe(this.select.options$);
|
|
22
|
+
this.loading$.pipe(debounceTime(0), takeUntil(this.destroy$)).subscribe(this.select.loading$);
|
|
23
|
+
}
|
|
24
|
+
buildOptions() {
|
|
25
|
+
return combineLatest([this.params$.pipe(debounceTime(0)), this.select.isPanelOpen$]).pipe(switchMap(([params, isOpened]) => isOpened
|
|
26
|
+
? this.page$.pipe(concatMap((page) => {
|
|
27
|
+
this.loading$.next(true);
|
|
28
|
+
return this.getOptions(params, page).pipe(catchError(() => of([])), tap(() => this.loading$.next(false)));
|
|
29
|
+
}), takeWhile((items) => items.length === this.pageSize, true), scan((acc, items) => [...acc, ...items], []))
|
|
30
|
+
: of([])));
|
|
31
|
+
}
|
|
32
|
+
ngOnDestroy() {
|
|
33
|
+
this.destroy$.next();
|
|
34
|
+
this.destroy$.complete();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
ALuSimpleSelectApiDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: ALuSimpleSelectApiDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
38
|
+
ALuSimpleSelectApiDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: ALuSimpleSelectApiDirective, ngImport: i0 });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: ALuSimpleSelectApiDirective, decorators: [{
|
|
40
|
+
type: Directive
|
|
41
|
+
}] });
|
|
42
|
+
|
|
43
|
+
class LuSimpleSelectApiV3Directive extends ALuSimpleSelectApiDirective {
|
|
44
|
+
constructor() {
|
|
45
|
+
super(...arguments);
|
|
46
|
+
this.url$ = new ReplaySubject(1);
|
|
47
|
+
this.fields$ = new BehaviorSubject('id,name');
|
|
48
|
+
this.orderBy$ = new BehaviorSubject('name,asc');
|
|
49
|
+
this.filters$ = new BehaviorSubject({});
|
|
50
|
+
this.httpClient = inject(HttpClient);
|
|
51
|
+
this.params$ = combineLatest([this.fields$, this.filters$, this.orderBy$, this.clue$]).pipe(map(([fields, filters, orderBy, clue]) => (Object.assign(Object.assign(Object.assign({}, filters), { fields,
|
|
52
|
+
orderBy }), (clue ? { name: `like,${encodeURIComponent(clue)}` } : {})))));
|
|
53
|
+
this.optionComparer = (a, b) => a.id === b.id;
|
|
54
|
+
}
|
|
55
|
+
set apiV3(value) {
|
|
56
|
+
this.url$.next(value);
|
|
57
|
+
}
|
|
58
|
+
set fields(value) {
|
|
59
|
+
this.fields$.next(value);
|
|
60
|
+
}
|
|
61
|
+
set orderBy(value) {
|
|
62
|
+
this.orderBy$.next(value);
|
|
63
|
+
}
|
|
64
|
+
set filters(value) {
|
|
65
|
+
this.filters$.next(value);
|
|
66
|
+
}
|
|
67
|
+
getOptions(params, page) {
|
|
68
|
+
return this.url$.pipe(take(1), switchMap((url) => this.httpClient.get(url, { params: Object.assign(Object.assign({}, params), { paging: `${page * this.pageSize},${this.pageSize}` }) })), map((res) => res.data.items));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
LuSimpleSelectApiV3Directive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectApiV3Directive, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
72
|
+
LuSimpleSelectApiV3Directive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: LuSimpleSelectApiV3Directive, isStandalone: true, selector: "lu-simple-select[apiV3]", inputs: { apiV3: "apiV3", fields: "fields", orderBy: "orderBy", filters: "filters" }, usesInheritance: true, ngImport: i0 });
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectApiV3Directive, decorators: [{
|
|
74
|
+
type: Directive,
|
|
75
|
+
args: [{
|
|
76
|
+
// The attribute is already prefixed with "lu-simple-select"
|
|
77
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
78
|
+
selector: 'lu-simple-select[apiV3]',
|
|
79
|
+
standalone: true,
|
|
80
|
+
}]
|
|
81
|
+
}], propDecorators: { apiV3: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], fields: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], orderBy: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], filters: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}] } });
|
|
90
|
+
|
|
91
|
+
class LuSimpleSelectApiV4Directive extends ALuSimpleSelectApiDirective {
|
|
92
|
+
constructor() {
|
|
93
|
+
super(...arguments);
|
|
94
|
+
this.url$ = new ReplaySubject(1);
|
|
95
|
+
this.sort$ = new BehaviorSubject('name,asc');
|
|
96
|
+
this.filters$ = new BehaviorSubject({});
|
|
97
|
+
this.httpClient = inject(HttpClient);
|
|
98
|
+
this.params$ = combineLatest([this.filters$, this.sort$, this.clue$]).pipe(map(([filters, sort, clue]) => (Object.assign(Object.assign(Object.assign({}, filters), { sort }), (clue ? { search: encodeURIComponent(clue) } : {})))));
|
|
99
|
+
this.optionComparer = (a, b) => a.id === b.id;
|
|
100
|
+
}
|
|
101
|
+
set apiV4(value) {
|
|
102
|
+
this.url$.next(value);
|
|
103
|
+
}
|
|
104
|
+
set sort(value) {
|
|
105
|
+
this.sort$.next(value);
|
|
106
|
+
}
|
|
107
|
+
set filters(value) {
|
|
108
|
+
this.filters$.next(value);
|
|
109
|
+
}
|
|
110
|
+
getOptions(params, page) {
|
|
111
|
+
return this.url$.pipe(take(1), switchMap((url) => this.httpClient.get(url, { params: Object.assign(Object.assign({}, params), { page: page + 1, limit: this.pageSize }) })), map((res) => { var _a; return (_a = (Array.isArray(res) ? res : res === null || res === void 0 ? void 0 : res.items)) !== null && _a !== void 0 ? _a : []; }));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
LuSimpleSelectApiV4Directive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectApiV4Directive, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
115
|
+
LuSimpleSelectApiV4Directive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: LuSimpleSelectApiV4Directive, isStandalone: true, selector: "lu-simple-select[apiV4]", inputs: { apiV4: "apiV4", sort: "sort", filters: "filters" }, usesInheritance: true, ngImport: i0 });
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: LuSimpleSelectApiV4Directive, decorators: [{
|
|
117
|
+
type: Directive,
|
|
118
|
+
args: [{
|
|
119
|
+
// The attribute is already prefixed with "lu-simple-select"
|
|
120
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
121
|
+
selector: 'lu-simple-select[apiV4]',
|
|
122
|
+
standalone: true,
|
|
123
|
+
}]
|
|
124
|
+
}], propDecorators: { apiV4: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], sort: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], filters: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}] } });
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Generated bundle index. Do not edit.
|
|
134
|
+
*/
|
|
135
|
+
|
|
136
|
+
export { ALuSimpleSelectApiDirective, LuSimpleSelectApiV3Directive, LuSimpleSelectApiV4Directive };
|
|
137
|
+
//# sourceMappingURL=lucca-front-ng-simple-select-api.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-simple-select-api.mjs","sources":["../../../packages/ng/simple-select/api/src/lib/api.directive.ts","../../../packages/ng/simple-select/api/src/lib/api-v3.directive.ts","../../../packages/ng/simple-select/api/src/lib/api-v4.directive.ts","../../../packages/ng/simple-select/api/src/lucca-front-ng-simple-select-api.ts"],"sourcesContent":["import { Directive, inject, OnDestroy, OnInit } from '@angular/core';\r\nimport { LuSimpleSelectInputComponent } from '@lucca-front/ng/simple-select';\r\nimport { BehaviorSubject, catchError, combineLatest, concatMap, debounceTime, Observable, of, scan, startWith, Subject, switchMap, takeUntil, takeWhile, tap } from 'rxjs';\r\n\r\nexport const MAGIC_PAGE_SIZE = 20;\r\nexport const MAGIC_DEBOUNCE_DURATION = 250;\r\n\r\n@Directive()\r\nexport abstract class ALuSimpleSelectApiDirective<TOption, TParams = Record<string, string | number | boolean>> implements OnDestroy, OnInit {\r\n\tprotected destroy$ = new Subject<void>();\r\n\tprotected pageSize = MAGIC_PAGE_SIZE;\r\n\tprotected debounceDuration = MAGIC_DEBOUNCE_DURATION;\r\n\r\n\tprotected select = inject<LuSimpleSelectInputComponent<TOption>>(LuSimpleSelectInputComponent);\r\n\r\n\tprotected page$ = this.select.nextPage.pipe(\r\n\t\tscan((page) => page + 1, 0),\r\n\t\tstartWith(0),\r\n\t);\r\n\r\n\tprotected clue$ = this.select.clueChange.pipe(startWith(''), debounceTime(this.debounceDuration));\r\n\r\n\t/**\r\n\t * Create an object that will be used as params for the api call\r\n\t */\r\n\tprotected abstract params$: Observable<TParams>;\r\n\r\n\t/**\r\n\t * Compare two options to know if they are the same. For example, compare by id or by JSON\r\n\t */\r\n\tprotected abstract optionComparer: (a: TOption, b: TOption) => boolean;\r\n\r\n\t/**\r\n\t * Return the options for the given params and page\r\n\t */\r\n\tprotected abstract getOptions(params: TParams, page: number): Observable<TOption[]>;\r\n\r\n\tprotected loading$ = new BehaviorSubject(false);\r\n\tpublic ngOnInit(): void {\r\n\t\tthis.select.optionComparer = this.optionComparer;\r\n\t\tthis.buildOptions().pipe(takeUntil(this.destroy$)).subscribe(this.select.options$);\r\n\t\tthis.loading$.pipe(debounceTime(0), takeUntil(this.destroy$)).subscribe(this.select.loading$);\r\n\t}\r\n\r\n\tprotected buildOptions(): Observable<TOption[]> {\r\n\t\treturn combineLatest([this.params$.pipe(debounceTime(0)), this.select.isPanelOpen$]).pipe(\r\n\t\t\tswitchMap(([params, isOpened]) =>\r\n\t\t\t\tisOpened\r\n\t\t\t\t\t? this.page$.pipe(\r\n\t\t\t\t\t\t\tconcatMap((page) => {\r\n\t\t\t\t\t\t\t\tthis.loading$.next(true);\r\n\t\t\t\t\t\t\t\treturn this.getOptions(params, page).pipe(\r\n\t\t\t\t\t\t\t\t\tcatchError(() => of([] as TOption[])),\r\n\t\t\t\t\t\t\t\t\ttap(() => this.loading$.next(false)),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\ttakeWhile((items) => items.length === this.pageSize, true),\r\n\t\t\t\t\t\t\tscan((acc, items) => [...acc, ...items], [] as TOption[]),\r\n\t\t\t\t\t )\r\n\t\t\t\t\t: of([] as TOption[]),\r\n\t\t\t),\r\n\t\t);\r\n\t}\r\n\r\n\tpublic ngOnDestroy(): void {\r\n\t\tthis.destroy$.next();\r\n\t\tthis.destroy$.complete();\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Directive, inject, Input } from '@angular/core';\r\nimport { ILuApiCollectionResponse, ILuApiItem } from '@lucca-front/ng/api';\r\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, switchMap, take } from 'rxjs';\r\nimport { ALuSimpleSelectApiDirective } from './api.directive';\r\n\r\n@Directive({\r\n\t// The attribute is already prefixed with \"lu-simple-select\"\r\n\t// eslint-disable-next-line @angular-eslint/directive-selector\r\n\tselector: 'lu-simple-select[apiV3]',\r\n\tstandalone: true,\r\n})\r\nexport class LuSimpleSelectApiV3Directive<T extends ILuApiItem> extends ALuSimpleSelectApiDirective<T> {\r\n\t@Input()\r\n\tpublic set apiV3(value: string) {\r\n\t\tthis.url$.next(value);\r\n\t}\r\n\r\n\t@Input()\r\n\tpublic set fields(value: string) {\r\n\t\tthis.fields$.next(value);\r\n\t}\r\n\r\n\t@Input()\r\n\tpublic set orderBy(value: string) {\r\n\t\tthis.orderBy$.next(value);\r\n\t}\r\n\r\n\t@Input()\r\n\tpublic set filters(value: Record<string, string | number | boolean>) {\r\n\t\tthis.filters$.next(value);\r\n\t}\r\n\r\n\tprotected url$ = new ReplaySubject<string>(1);\r\n\tprotected fields$ = new BehaviorSubject<string>('id,name');\r\n\tprotected orderBy$ = new BehaviorSubject<string>('name,asc');\r\n\tprotected filters$ = new BehaviorSubject<Record<string, string | number | boolean>>({});\r\n\r\n\tprotected httpClient = inject(HttpClient);\r\n\r\n\tprotected override params$ = combineLatest([this.fields$, this.filters$, this.orderBy$, this.clue$]).pipe(\r\n\t\tmap(([fields, filters, orderBy, clue]) => ({\r\n\t\t\t...filters,\r\n\t\t\tfields,\r\n\t\t\torderBy,\r\n\t\t\t...(clue ? { name: `like,${encodeURIComponent(clue)}` } : {}),\r\n\t\t})),\r\n\t);\r\n\r\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\r\n\t\treturn this.url$.pipe(\r\n\t\t\ttake(1),\r\n\t\t\tswitchMap((url) => this.httpClient.get<ILuApiCollectionResponse<T>>(url, { params: { ...params, paging: `${page * this.pageSize},${this.pageSize}` } })),\r\n\t\t\tmap((res) => res.data.items),\r\n\t\t);\r\n\t}\r\n\r\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Directive, inject, Input } from '@angular/core';\r\nimport { ILuApiItem } from '@lucca-front/ng/api';\r\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, switchMap, take } from 'rxjs';\r\nimport { ALuSimpleSelectApiDirective } from './api.directive';\r\n\r\n@Directive({\r\n\t// The attribute is already prefixed with \"lu-simple-select\"\r\n\t// eslint-disable-next-line @angular-eslint/directive-selector\r\n\tselector: 'lu-simple-select[apiV4]',\r\n\tstandalone: true,\r\n})\r\nexport class LuSimpleSelectApiV4Directive<T extends ILuApiItem> extends ALuSimpleSelectApiDirective<T> {\r\n\t@Input()\r\n\tpublic set apiV4(value: string) {\r\n\t\tthis.url$.next(value);\r\n\t}\r\n\r\n\t@Input()\r\n\tpublic set sort(value: string) {\r\n\t\tthis.sort$.next(value);\r\n\t}\r\n\r\n\t@Input()\r\n\tpublic set filters(value: Record<string, string | number | boolean>) {\r\n\t\tthis.filters$.next(value);\r\n\t}\r\n\r\n\tprotected url$ = new ReplaySubject<string>(1);\r\n\tprotected sort$ = new BehaviorSubject<string>('name,asc');\r\n\tprotected filters$ = new BehaviorSubject<Record<string, string | number | boolean>>({});\r\n\r\n\tprotected httpClient = inject(HttpClient);\r\n\r\n\tprotected override params$ = combineLatest([this.filters$, this.sort$, this.clue$]).pipe(\r\n\t\tmap(([filters, sort, clue]) => ({\r\n\t\t\t...filters,\r\n\t\t\tsort,\r\n\t\t\t...(clue ? { search: encodeURIComponent(clue) } : {}),\r\n\t\t})),\r\n\t);\r\n\r\n\tprotected override getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]> {\r\n\t\treturn this.url$.pipe(\r\n\t\t\ttake(1),\r\n\t\t\tswitchMap((url) => this.httpClient.get<T[] | { items: T[] }>(url, { params: { ...params, page: page + 1, limit: this.pageSize } })),\r\n\t\t\tmap((res) => (Array.isArray(res) ? res : res?.items) ?? []),\r\n\t\t);\r\n\t}\r\n\r\n\tprotected override optionComparer = (a: T, b: T) => a.id === b.id;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|