@lucca-front/ng 22.0.0-rc.2 → 22.0.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 (80) hide show
  1. package/fesm2022/lucca-front-ng-api.mjs +160 -85
  2. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-clear.mjs +7 -6
  4. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-core-select-api.mjs +37 -21
  6. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-core-select-user.mjs +2 -2
  8. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-core-select.mjs +229 -135
  10. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-core.mjs +1 -12
  12. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-date.mjs +124 -100
  14. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-date2.mjs +37 -25
  16. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-department.mjs +0 -2
  18. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-divider.mjs +6 -4
  20. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-dropdown.mjs +34 -31
  22. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-establishment.mjs +83 -49
  24. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-filter-pills.mjs +18 -8
  26. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-form-field.mjs +10 -7
  28. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-formly.mjs +2 -3
  30. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-forms.mjs +46 -5
  32. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-input.mjs +0 -1
  34. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-modal.mjs +15 -11
  36. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-multi-select.mjs +115 -91
  38. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-number-format.mjs +11 -7
  40. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-option.mjs +37 -30
  42. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-popover.mjs +238 -123
  44. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-popover2.mjs +65 -37
  46. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-select.mjs +123 -76
  48. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-simple-select.mjs +13 -13
  51. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-time.mjs +8 -6
  53. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-user-popover.mjs +13 -9
  55. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-user.mjs +93 -59
  57. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  58. package/package.json +4 -4
  59. package/types/lucca-front-ng-api.d.ts +62 -62
  60. package/types/lucca-front-ng-clear.d.ts +2 -3
  61. package/types/lucca-front-ng-core-select-api.d.ts +22 -22
  62. package/types/lucca-front-ng-core-select.d.ts +139 -140
  63. package/types/lucca-front-ng-core.d.ts +2 -7
  64. package/types/lucca-front-ng-date.d.ts +26 -28
  65. package/types/lucca-front-ng-divider.d.ts +1 -1
  66. package/types/lucca-front-ng-dropdown.d.ts +4 -5
  67. package/types/lucca-front-ng-establishment.d.ts +19 -18
  68. package/types/lucca-front-ng-form-field.d.ts +3 -2
  69. package/types/lucca-front-ng-forms.d.ts +32 -12
  70. package/types/lucca-front-ng-modal.d.ts +2 -2
  71. package/types/lucca-front-ng-multi-select.d.ts +37 -36
  72. package/types/lucca-front-ng-option.d.ts +10 -10
  73. package/types/lucca-front-ng-popover.d.ts +46 -52
  74. package/types/lucca-front-ng-popover2.d.ts +11 -13
  75. package/types/lucca-front-ng-segmented-control.d.ts +4 -2
  76. package/types/lucca-front-ng-select.d.ts +28 -30
  77. package/types/lucca-front-ng-simple-select.d.ts +3 -3
  78. package/types/lucca-front-ng-time.d.ts +1 -1
  79. package/types/lucca-front-ng-user-popover.d.ts +3 -4
  80. package/types/lucca-front-ng-user.d.ts +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-api.mjs","sources":["../../../packages/ng/api/service/api-service.model.ts","../../../packages/ng/api/service/api-v3.service.ts","../../../packages/ng/api/service/api-v4.service.ts","../../../packages/ng/api/service/api-hybrid.service.ts","../../../packages/ng/api/select/feeder/api-feeder.model.ts","../../../packages/ng/api/select/feeder/api-feeder.component.ts","../../../packages/ng/api/select/searcher/api-searcher.model.ts","../../../packages/ng/api/select/searcher/api-searcher.component.ts","../../../packages/ng/api/select/searcher/api-searcher.component.html","../../../packages/ng/api/select/searcher/api-searcher.module.ts","../../../packages/ng/api/select/input/api-select-input.component.ts","../../../packages/ng/api/select/input/api-select-input.component.html","../../../packages/ng/api/select/input/api-select-input.module.ts","../../../packages/ng/api/select/pager/api-pager.model.ts","../../../packages/ng/api/select/pager/api-pager.component.ts","../../../packages/ng/api/select/api-select.module.ts","../../../packages/ng/api/api.module.ts","../../../packages/ng/api/lucca-front-ng-api.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\nexport interface ILuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> {\n\tgetAll(filters?: string[]): Observable<T[]>;\n\tgetPaged(page: number, filters?: string[]): Observable<T[]>;\n\tsearchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tsearchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n\nexport abstract class ALuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> implements ILuApiService<T> {\n\tabstract getAll(filters?: string[]): Observable<T[]>;\n\tabstract getPaged(page: number, filters?: string[]): Observable<T[]>;\n\tabstract searchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tabstract searchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiCollectionResponse, ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\nconst MAGIC_PAGE_SIZE = 20;\n\n@Injectable()\nexport class LuApiV3Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\tprotected _fields = 'fields=id,name';\n\tset fields(fields: string) {\n\t\tif (fields) {\n\t\t\tthis._fields = `fields=${fields}`;\n\t\t}\n\t}\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tif (filters) {\n\t\t\tthis._filters = filters || [];\n\t\t}\n\t}\n\tprotected _orderBy = 'orderBy=name,asc';\n\tset orderBy(orderBy: string) {\n\t\tif (orderBy) {\n\t\t\tthis._orderBy = `orderBy=${orderBy}`;\n\t\t}\n\t}\n\n\tget url() {\n\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._get([this.url, ...filters].join('&'));\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst url = [this.url, this._clueFilter(clue), ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, this._clueFilter(clue), paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tprotected _get(url: string): Observable<T[]> {\n\t\treturn this._http.get<ILuApiCollectionResponse<T>>(url).pipe(map((response) => response.data.items));\n\t}\n\tprotected _clueFilter(clue: string) {\n\t\tconst urlSafeClue = encodeURIComponent(clue);\n\t\treturn `name=like,${urlSafeClue}`;\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\n@Injectable()\nexport class LuApiV4Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\tget filters(): string[] {\n\t\treturn this._filters;\n\t}\n\n\tprotected _sort: string;\n\tset sort(sort: string) {\n\t\tif (sort) {\n\t\t\tthis._sort = `sort=${sort}`;\n\t\t}\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\tconst query = [...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tgetPaged(page = 0, filters: string[] = []): Observable<T[]> {\n\t\tconst query = [`page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchAll(clue = '', filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchPaged(clue = '', page = 0, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, `page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tcount(): Observable<number> {\n\t\tconst query = [...this.filters, 'fields.root=count', 'limit=0'].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ count: number }>(url).pipe(map((res) => res.count));\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\nimport { LuApiV3Service } from './api-v3.service';\nimport { LuApiV4Service } from './api-v4.service';\n\n@Injectable()\nexport class LuApiHybridService<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprivate _v3Service: LuApiV3Service<T>;\n\tprivate _v4Service: LuApiV4Service<T>;\n\n\tprivate _standard: 'v3' | 'v4' = 'v3';\n\tset standard(std: 'v3' | 'v4') {\n\t\tthis._standard = std;\n\t}\n\n\t// both\n\tset api(api: string) {\n\t\tthis._v3Service.api = api;\n\t\tthis._v4Service.api = api;\n\t}\n\tset filters(filters: string[]) {\n\t\tthis._v3Service.filters = filters;\n\t\tthis._v4Service.filters = filters;\n\t}\n\n\t// api v3 only\n\tset fields(fields: string) {\n\t\tthis._v3Service.fields = fields;\n\t}\n\tset orderBy(orderBy: string) {\n\t\tthis._v3Service.orderBy = orderBy;\n\t}\n\n\t// api v4 only\n\tset sort(sort: string) {\n\t\tthis._v4Service.sort = sort;\n\t}\n\n\tprivate get _service(): ALuApiService<T> {\n\t\tswitch (this._standard) {\n\t\t\tcase 'v4':\n\t\t\t\treturn this._v4Service;\n\t\t\tcase 'v3':\n\t\t\tdefault:\n\t\t\t\treturn this._v3Service;\n\t\t}\n\t}\n\n\tconstructor(private _http: HttpClient) {\n\t\tsuper();\n\t\tthis._v3Service = new LuApiV3Service(this._http);\n\t\tthis._v4Service = new LuApiV4Service(this._http);\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getAll(filters);\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getPaged(page, filters);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchAll(clue, filters);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchPaged(clue, page, filters);\n\t}\n}\n","import { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nexport type ILuApiOptionFeeder<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiFeederService<T extends ILuApiItem = ILuApiItem> {\n\tgetAll(): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionFeeder<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> implements ILuApiOptionFeeder<T> {\n\treadonly outOptions$ = new BehaviorSubject<T[]>([]);\n\tprotected _service: S;\n\tconstructor(service: S) {\n\t\tthis._service = service;\n\t}\n\tonOpen() {\n\t\tthis._service.getAll().subscribe((items) => this.outOptions$.next(items));\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, input, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber, syncInputSignal } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionFeeder } from './api-feeder.model';\n\n@Component({\n\tselector: 'lu-api-feeder',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiFeederComponent<T extends ILuApiItem = ILuApiItem> extends ALuApiOptionFeeder<T, LuApiHybridService<T>> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\n\toverride readonly outOptions$ = new BehaviorSubject<T[]>([]);\n\n\treadonly standard = input<'v3' | 'v4'>();\n\n\treadonly api = input<string>();\n\n\treadonly fields = input<string>();\n\n\treadonly filters = input<string[]>();\n\n\treadonly orderBy = input<string>();\n\n\treadonly sort = input<string>();\n\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\n\t\tsyncInputSignal(this.standard, (standard) => (this._service.standard = standard));\n\t\tsyncInputSignal(this.api, (api) => (this._service.api = api));\n\t\tsyncInputSignal(this.fields, (fields) => (this._service.fields = fields));\n\t\tsyncInputSignal(this.filters, (filters) => (this._service.filters = filters));\n\t\tsyncInputSignal(this.orderBy, (orderBy) => (this._service.orderBy = orderBy));\n\t\tsyncInputSignal(this.sort, (sort) => (this._service.sort = sort));\n\t}\n}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, map, scan, share, startWith, switchMap } from 'rxjs/operators';\nimport { ILuApiService } from '../../service/index';\nimport { ILuApiOptionFeeder } from '../feeder/index';\n\nexport type ILuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionFeeder<T>;\n\nexport abstract class ALuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionFeeder<T>, ILuOnOpenSubscriber\n{\n\treadonly outOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\tempty$: Observable<boolean>;\n\n\tprotected _clue$: Observable<string>;\n\n\tset clue$(clue$: Observable<string>) {\n\t\t// this.initObservables(clue$);\n\t\tthis._clue$ = clue$;\n\t}\n\tconstructor(protected _service: S) {}\n\tinit() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tthis.resetClue();\n\t}\n\tonClose() {\n\t\tthis.clearOptions();\n\t}\n\tprotected initObservables() {\n\t\t// this._clue$ = clue$.pipe(share());\n\t\tconst results$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => this._service.searchAll(clue)),\n\t\t\tcatchError(() => of([])),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe((items) => this.outOptions$.next(items));\n\t\tthis.loading$ = merge(this._clue$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.empty$ = results$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract resetClue();\n\tprotected clearOptions() {\n\t\tthis.outOptions$.next([]);\n\t}\n}\n\nexport type ILuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionSearcher<T>;\n\nexport abstract class ALuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\textends ALuApiOptionSearcher<T, S>\n\timplements ILuApiOptionPagedSearcher<T>, ILuOnScrollBottomSubscriber\n{\n\toverride readonly outOptions$ = new Subject<T[]>();\n\toverride loading$: Observable<boolean>;\n\tprotected _loading = false;\n\tprotected readonly _page$ = new Subject<void>();\n\tprotected _isLastPage: boolean;\n\tprotected _options: T[] = [];\n\n\tconstructor(service: S) {\n\t\tsuper(service);\n\t}\n\toverride onOpen() {\n\t\tthis.resetClue();\n\t}\n\tonScrollBottom() {\n\t\tif (!this._loading && !this._isLastPage) {\n\t\t\tthis._page$.next();\n\t\t}\n\t}\n\n\tprotected override initObservables() {\n\t\tconst pager$ = this._page$.pipe(\n\t\t\tscan((acc) => acc + 1, 0),\n\t\t\tstartWith(0),\n\t\t);\n\t\tconst query$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => pager$.pipe(map<number, [number, string]>((page) => [page, clue]))),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst results$ = query$.pipe(\n\t\t\tswitchMap(([page, clue]) =>\n\t\t\t\tthis._service.searchPaged(clue, page).pipe(\n\t\t\t\t\tcatchError(() => of([])),\n\t\t\t\t\tmap<T[], [T[], number]>((items) => [items, page]),\n\t\t\t\t),\n\t\t\t),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe(([items, page]) => {\n\t\t\tif (page === 0) {\n\t\t\t\tthis._options = [...items];\n\t\t\t} else {\n\t\t\t\tthis._options.push(...items);\n\t\t\t}\n\t\t\tthis._isLastPage = !items.length;\n\t\t\tthis.outOptions$.next([...this._options]);\n\t\t});\n\t\tthis.loading$ = merge(query$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract override resetClue();\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Inject, input, OnInit, Optional, Self, SkipSelf, viewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, syncInputSignal } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { Observable } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPagedSearcher, ALuApiOptionSearcher } from './api-searcher.model';\n\n@Component({\n\tselector: 'lu-api-searcher',\n\ttemplateUrl: './api-searcher.component.html',\n\tstyleUrl: './api-searcher.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [AsyncPipe, ReactiveFormsModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> extends ALuApiOptionSearcher<T, LuApiHybridService<T>> implements OnInit {\n\treadonly searchInput = viewChild.required<ElementRef<HTMLElement>>('searchInput');\n\n\treadonly standard = input<'v3' | 'v4'>();\n\n\treadonly api = input<string>();\n\n\treadonly fields = input<string>();\n\n\treadonly filters = input<string[]>();\n\n\treadonly orderBy = input<string>();\n\n\treadonly sort = input<string>();\n\n\treadonly debounceTime = input<number>(250);\n\n\tclueControl: FormControl;\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\n\t\tsyncInputSignal(this.standard, (standard) => (this._service.standard = standard));\n\t\tsyncInputSignal(this.api, (api) => (this._service.api = api));\n\t\tsyncInputSignal(this.fields, (fields) => (this._service.fields = fields));\n\t\tsyncInputSignal(this.filters, (filters) => (this._service.filters = filters));\n\t\tsyncInputSignal(this.orderBy, (orderBy) => (this._service.orderBy = orderBy));\n\t\tsyncInputSignal(this.sort, (sort) => (this._service.sort = sort));\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime())) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput().nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.setValue('');\n\t}\n}\n\n@Component({\n\tselector: 'lu-api-paged-searcher',\n\ttemplateUrl: './api-searcher.component.html',\n\tstyleUrl: './api-searcher.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [AsyncPipe, ReactiveFormsModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiPagedSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuApiOptionPagedSearcher<T, LuApiHybridService<T>>\n\timplements OnInit\n{\n\treadonly searchInput = viewChild.required<ElementRef<HTMLElement>>('searchInput');\n\n\treadonly standard = input<'v3' | 'v4'>();\n\n\treadonly api = input<string>();\n\n\treadonly fields = input<string>();\n\n\treadonly filters = input<string[]>();\n\n\treadonly orderBy = input<string>();\n\n\treadonly sort = input<string>();\n\n\treadonly debounceTime = input<number>(250);\n\n\tclueControl: FormControl;\n\tconstructor(@Inject(ALuApiService) @Optional() @SkipSelf() hostService: LuApiHybridService<T>, @Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>) {\n\t\tsuper(hostService || selfService);\n\n\t\tsyncInputSignal(this.standard, (standard) => (this._service.standard = standard));\n\t\tsyncInputSignal(this.api, (api) => (this._service.api = api));\n\t\tsyncInputSignal(this.fields, (fields) => (this._service.fields = fields));\n\t\tsyncInputSignal(this.filters, (filters) => (this._service.filters = filters));\n\t\tsyncInputSignal(this.orderBy, (orderBy) => (this._service.orderBy = orderBy));\n\t\tsyncInputSignal(this.sort, (sort) => (this._service.sort = sort));\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime())) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput().nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.reset('');\n\t}\n}\n","<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" maxlength=\"100\" [formControl]=\"clueControl\" />\n</div>\n@if ((empty$ | async) && (loading$ | async) === false) {\n\t<lu-option-placeholder (onClear)=\"resetClue()\" />\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './api-searcher.component';\n\n/**\n * @deprecated use `LuApiPagedSearcherComponent, LuApiSearcherComponent` instead\n */\n@NgModule({\n\timports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n\texports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n})\nexport class LuApiSearcherModule {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, input, Renderer2, ViewContainerRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClearComponent } from '@lucca-front/ng/clear';\nimport { LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { ILuOptionItem, LuForOptionsDirective, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { LuApiPagedSearcherComponent } from '../searcher';\n\n@Component({\n\tselector: 'lu-api-select',\n\ttemplateUrl: './api-select-input.component.html',\n\tstyleUrl: './api-select-input.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [ClearComponent, LuOptionPickerAdvancedComponent, LuApiPagedSearcherComponent, LuOptionItemComponent, LuForOptionsDirective, LuInputDisplayerDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuApiSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiSelectInputComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuSelectInputComponent<T, LuOptionPickerAdvancedComponent<T, ILuOptionItem<T>>>\n\timplements ControlValueAccessor, AfterViewInit\n{\n\treadonly standard = input<'v3' | 'v4'>('v3');\n\n\treadonly api = input<string>();\n\n\t/**\n\t * only works with standard=\"v3\"\n\t */\n\treadonly fields = input<string>();\n\n\treadonly filters = input<string[]>();\n\n\t/**\n\t * only works with standard=\"v3\", otherwise use sort\n\t */\n\treadonly orderBy = input<string>();\n\n\t/**\n\t * only works with standard=\"v4\", otherwise use orderBy\n\t */\n\treadonly sort = input<string>();\n\n\tbyId: LuOptionComparer<T> = (option1: T, option2: T) => option1 && option2 && option1.id === option2.id;\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","<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 />\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-clear />\n</div>\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\"\n\t><span class=\"pr-u-ellipsis\">{{ option.name }}</span></span\n>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-api-paged-searcher\n\t\t\t[standard]=\"standard()\"\n\t\t\t[api]=\"api()\"\n\t\t\t[fields]=\"fields()\"\n\t\t\t[filters]=\"filters()\"\n\t\t\t[orderBy]=\"orderBy()\"\n\t\t\t[sort]=\"sort()\"\n\t\t/>\n\t</header>\n\t<div class=\"lu-picker-content-option\">\n\t\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\n\t</div>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectInputComponent } from './api-select-input.component';\n\n/**\n * @deprecated use `LuApiSelectInputComponent` instead\n */\n@NgModule({\n\timports: [LuApiSelectInputComponent],\n\texports: [LuApiSelectInputComponent],\n})\nexport class LuApiSelectInputModule {}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nenum Strategy {\n\tappend,\n\treplace,\n}\nexport type ILuApiOptionPager<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiPagerService<T extends ILuApiItem = ILuApiItem> {\n\tgetPaged(page: number): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionPager<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionPager<T>, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber\n{\n\treadonly outOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\n\tprotected _loading = false;\n\tprotected _results$: Observable<{ items: T[]; strategy: Strategy }>;\n\tprotected _options: T[] = [];\n\tprotected readonly _page$ = new Subject<number>();\n\tprotected _page: number;\n\tprotected _initialized = false;\n\tconstructor(protected _service: S) {}\n\tprotected init() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tif (!this._initialized) {\n\t\t\tthis._page$.next(0);\n\t\t\tthis._initialized = true;\n\t\t}\n\t}\n\t// onClose() {\n\t// \tthis._page$.next(0);\n\t// }\n\tonScrollBottom() {\n\t\tif (!this._loading) {\n\t\t\tthis._page$.next(this._page + 1);\n\t\t}\n\t}\n\tprotected initObservables() {\n\t\tconst _results$: Observable<{ items: T[]; strategy: Strategy }> = this._page$.pipe(\n\t\t\tdistinctUntilChanged(),\n\t\t\ttap((p) => (this._page = p)),\n\t\t\tswitchMap((page) => {\n\t\t\t\tif (page === undefined) {\n\t\t\t\t\treturn of({ items: [] as T[], strategy: Strategy.replace });\n\t\t\t\t}\n\t\t\t\treturn this._service.getPaged(page).pipe(\n\t\t\t\t\tmap((items) => ({\n\t\t\t\t\t\titems: items,\n\t\t\t\t\t\tstrategy: page === 0 ? Strategy.replace : Strategy.append,\n\t\t\t\t\t})),\n\t\t\t\t);\n\t\t\t}),\n\t\t\tcatchError(() => of({ items: [] as T[], strategy: Strategy.replace })),\n\t\t\ttap((results) => {\n\t\t\t\tif (results.strategy === Strategy.replace) {\n\t\t\t\t\tthis._options = [...results.items];\n\t\t\t\t} else {\n\t\t\t\t\tthis._options.push(...results.items);\n\t\t\t\t}\n\t\t\t\tthis.outOptions$.next([...this._options]);\n\t\t\t}),\n\t\t);\n\n\t\tthis.loading$ = merge(this._page$.pipe(map(() => true)), _results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, input, OnInit, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, syncInputSignal } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPager } from './api-pager.model';\n\n@Component({\n\tselector: 'lu-api-pager',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiPagerComponent<T extends ILuApiItem = ILuApiItem>\n\textends ALuApiOptionPager<T, LuApiHybridService<T>>\n\timplements ILuOptionOperator<T>, OnInit, ILuOnScrollBottomSubscriber, ILuOnOpenSubscriber\n{\n\treadonly standard = input<'v3' | 'v4'>();\n\n\treadonly api = input<string>();\n\n\treadonly fields = input<string>();\n\n\treadonly filters = input<string[]>();\n\n\treadonly orderBy = input<string>();\n\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\n\t\tsyncInputSignal(this.standard, (standard) => (this._service.standard = standard));\n\t\tsyncInputSignal(this.api, (api) => (this._service.api = api));\n\t\tsyncInputSignal(this.fields, (fields) => (this._service.fields = fields));\n\t\tsyncInputSignal(this.filters, (filters) => (this._service.filters = filters));\n\t\tsyncInputSignal(this.orderBy, (orderBy) => (this._service.orderBy = orderBy));\n\t}\n\n\tngOnInit() {\n\t\tsuper.init();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiFeederComponent } from './feeder/index';\nimport { LuApiSelectInputComponent } from './input/index';\nimport { LuApiPagerComponent } from './pager/index';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './searcher/index';\n\n/**\n * @deprecated use `LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent` instead\n */\n@NgModule({\n\timports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n\texports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n})\nexport class LuApiSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectModule } from './select/index';\n\n/**\n * @deprecated use `LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent` instead\n */\n@NgModule({\n\timports: [LuApiSelectModule],\n\texports: [LuApiSelectModule],\n})\nexport class LuApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-api.mjs","sources":["../../../packages/ng/api/service/api-service.model.ts","../../../packages/ng/api/service/api-v3.service.ts","../../../packages/ng/api/service/api-v4.service.ts","../../../packages/ng/api/service/api-hybrid.service.ts","../../../packages/ng/api/select/feeder/api-feeder.model.ts","../../../packages/ng/api/select/feeder/api-feeder.component.ts","../../../packages/ng/api/select/searcher/api-searcher.model.ts","../../../packages/ng/api/select/searcher/api-searcher.component.ts","../../../packages/ng/api/select/searcher/api-searcher.component.html","../../../packages/ng/api/select/searcher/api-searcher.module.ts","../../../packages/ng/api/select/input/api-select-input.component.ts","../../../packages/ng/api/select/input/api-select-input.component.html","../../../packages/ng/api/select/input/api-select-input.module.ts","../../../packages/ng/api/select/pager/api-pager.model.ts","../../../packages/ng/api/select/pager/api-pager.component.ts","../../../packages/ng/api/select/api-select.module.ts","../../../packages/ng/api/api.module.ts","../../../packages/ng/api/lucca-front-ng-api.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\nexport interface ILuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> {\n\tgetAll(filters?: string[]): Observable<T[]>;\n\tgetPaged(page: number, filters?: string[]): Observable<T[]>;\n\tsearchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tsearchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n\nexport abstract class ALuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> implements ILuApiService<T> {\n\tabstract getAll(filters?: string[]): Observable<T[]>;\n\tabstract getPaged(page: number, filters?: string[]): Observable<T[]>;\n\tabstract searchAll(clue: string, filters?: string[]): Observable<T[]>;\n\tabstract searchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiCollectionResponse, ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\nconst MAGIC_PAGE_SIZE = 20;\n\n@Injectable()\nexport class LuApiV3Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\tprotected _fields = 'fields=id,name';\n\tset fields(fields: string) {\n\t\tif (fields) {\n\t\t\tthis._fields = `fields=${fields}`;\n\t\t}\n\t}\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tif (filters) {\n\t\t\tthis._filters = filters || [];\n\t\t}\n\t}\n\tprotected _orderBy = 'orderBy=name,asc';\n\tset orderBy(orderBy: string) {\n\t\tif (orderBy) {\n\t\t\tthis._orderBy = `orderBy=${orderBy}`;\n\t\t}\n\t}\n\n\tget url() {\n\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._get([this.url, ...filters].join('&'));\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst url = [this.url, this._clueFilter(clue), ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\n\t\tconst url = [this.url, this._clueFilter(clue), paging, ...filters].join('&');\n\t\treturn this._get(url);\n\t}\n\n\tprotected _get(url: string): Observable<T[]> {\n\t\treturn this._http.get<ILuApiCollectionResponse<T>>(url).pipe(map((response) => response.data.items));\n\t}\n\tprotected _clueFilter(clue: string) {\n\t\tconst urlSafeClue = encodeURIComponent(clue);\n\t\treturn `name=like,${urlSafeClue}`;\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\n\n@Injectable()\nexport class LuApiV4Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprotected _api: string;\n\tset api(api: string) {\n\t\tthis._api = api;\n\t}\n\n\tprotected _filters: string[] = [];\n\tset filters(filters: string[]) {\n\t\tthis._filters = filters || [];\n\t}\n\tget filters(): string[] {\n\t\treturn this._filters;\n\t}\n\n\tprotected _sort: string;\n\tset sort(sort: string) {\n\t\tif (sort) {\n\t\t\tthis._sort = `sort=${sort}`;\n\t\t}\n\t}\n\n\tconstructor(protected _http: HttpClient) {\n\t\tsuper();\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\tconst query = [...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tgetPaged(page = 0, filters: string[] = []): Observable<T[]> {\n\t\tconst query = [`page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchAll(clue = '', filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getAll(filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tsearchPaged(clue = '', page = 0, filters: string[] = []): Observable<T[]> {\n\t\tif (!clue) {\n\t\t\treturn this.getPaged(page, filters);\n\t\t}\n\t\tconst urlSafeClues = clue\n\t\t\t.split(' ')\n\t\t\t.map((c) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\tconst query = [`search=${urlSafeClues}`, `page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\n\t}\n\tcount(): Observable<number> {\n\t\tconst query = [...this.filters, 'fields.root=count', 'limit=0'].filter((f) => !!f);\n\t\tconst url = [this._api, query.join('&')].join('?');\n\t\treturn this._http.get<{ count: number }>(url).pipe(map((res) => res.count));\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ILuApiItem } from '../api.model';\nimport { ALuApiService } from './api-service.model';\nimport { LuApiV3Service } from './api-v3.service';\nimport { LuApiV4Service } from './api-v4.service';\n\n@Injectable()\nexport class LuApiHybridService<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\n\tprivate _v3Service: LuApiV3Service<T>;\n\tprivate _v4Service: LuApiV4Service<T>;\n\n\tprivate _standard: 'v3' | 'v4' = 'v3';\n\tset standard(std: 'v3' | 'v4') {\n\t\tthis._standard = std;\n\t}\n\n\t// both\n\tset api(api: string) {\n\t\tthis._v3Service.api = api;\n\t\tthis._v4Service.api = api;\n\t}\n\tset filters(filters: string[]) {\n\t\tthis._v3Service.filters = filters;\n\t\tthis._v4Service.filters = filters;\n\t}\n\n\t// api v3 only\n\tset fields(fields: string) {\n\t\tthis._v3Service.fields = fields;\n\t}\n\tset orderBy(orderBy: string) {\n\t\tthis._v3Service.orderBy = orderBy;\n\t}\n\n\t// api v4 only\n\tset sort(sort: string) {\n\t\tthis._v4Service.sort = sort;\n\t}\n\n\tprivate get _service(): ALuApiService<T> {\n\t\tswitch (this._standard) {\n\t\t\tcase 'v4':\n\t\t\t\treturn this._v4Service;\n\t\t\tcase 'v3':\n\t\t\tdefault:\n\t\t\t\treturn this._v3Service;\n\t\t}\n\t}\n\n\tconstructor(private _http: HttpClient) {\n\t\tsuper();\n\t\tthis._v3Service = new LuApiV3Service(this._http);\n\t\tthis._v4Service = new LuApiV4Service(this._http);\n\t}\n\n\tgetAll(filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getAll(filters);\n\t}\n\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.getPaged(page, filters);\n\t}\n\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchAll(clue, filters);\n\t}\n\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\n\t\treturn this._service.searchPaged(clue, page, filters);\n\t}\n}\n","import { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nexport type ILuApiOptionFeeder<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiFeederService<T extends ILuApiItem = ILuApiItem> {\n\tgetAll(): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionFeeder<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> implements ILuApiOptionFeeder<T> {\n\treadonly outOptions$ = new BehaviorSubject<T[]>([]);\n\tprotected _service: S;\n\tconstructor(service: S) {\n\t\tthis._service = service;\n\t}\n\tonOpen() {\n\t\tthis._service.getAll().subscribe((items) => this.outOptions$.next(items));\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject } from 'rxjs';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionFeeder } from './api-feeder.model';\n@Component({\n\tselector: 'lu-api-feeder',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiFeederComponent<T extends ILuApiItem = ILuApiItem> extends ALuApiOptionFeeder<T, LuApiHybridService<T>> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\n\toverride readonly outOptions$ = new BehaviorSubject<T[]>([]);\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, map, scan, share, startWith, switchMap } from 'rxjs/operators';\nimport { ILuApiService } from '../../service/index';\nimport { ILuApiOptionFeeder } from '../feeder/index';\n\nexport type ILuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionFeeder<T>;\n\nexport abstract class ALuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionFeeder<T>, ILuOnOpenSubscriber\n{\n\treadonly outOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\tempty$: Observable<boolean>;\n\n\tprotected _clue$: Observable<string>;\n\n\tset clue$(clue$: Observable<string>) {\n\t\t// this.initObservables(clue$);\n\t\tthis._clue$ = clue$;\n\t}\n\tconstructor(protected _service: S) {}\n\tinit() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tthis.resetClue();\n\t}\n\tonClose() {\n\t\tthis.clearOptions();\n\t}\n\tprotected initObservables() {\n\t\t// this._clue$ = clue$.pipe(share());\n\t\tconst results$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => this._service.searchAll(clue)),\n\t\t\tcatchError(() => of([])),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe((items) => this.outOptions$.next(items));\n\t\tthis.loading$ = merge(this._clue$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.empty$ = results$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract resetClue();\n\tprotected clearOptions() {\n\t\tthis.outOptions$.next([]);\n\t}\n}\n\nexport type ILuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionSearcher<T>;\n\nexport abstract class ALuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\textends ALuApiOptionSearcher<T, S>\n\timplements ILuApiOptionPagedSearcher<T>, ILuOnScrollBottomSubscriber\n{\n\toverride readonly outOptions$ = new Subject<T[]>();\n\toverride loading$: Observable<boolean>;\n\tprotected _loading = false;\n\tprotected readonly _page$ = new Subject<void>();\n\tprotected _isLastPage: boolean;\n\tprotected _options: T[] = [];\n\n\tconstructor(service: S) {\n\t\tsuper(service);\n\t}\n\toverride onOpen() {\n\t\tthis.resetClue();\n\t}\n\tonScrollBottom() {\n\t\tif (!this._loading && !this._isLastPage) {\n\t\t\tthis._page$.next();\n\t\t}\n\t}\n\n\tprotected override initObservables() {\n\t\tconst pager$ = this._page$.pipe(\n\t\t\tscan((acc) => acc + 1, 0),\n\t\t\tstartWith(0),\n\t\t);\n\t\tconst query$ = this._clue$.pipe(\n\t\t\tswitchMap((clue) => pager$.pipe(map<number, [number, string]>((page) => [page, clue]))),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst results$ = query$.pipe(\n\t\t\tswitchMap(([page, clue]) =>\n\t\t\t\tthis._service.searchPaged(clue, page).pipe(\n\t\t\t\t\tcatchError(() => of([])),\n\t\t\t\t\tmap<T[], [T[], number]>((items) => [items, page]),\n\t\t\t\t),\n\t\t\t),\n\t\t\tshare(),\n\t\t);\n\n\t\tresults$.subscribe(([items, page]) => {\n\t\t\tif (page === 0) {\n\t\t\t\tthis._options = [...items];\n\t\t\t} else {\n\t\t\t\tthis._options.push(...items);\n\t\t\t}\n\t\t\tthis._isLastPage = !items.length;\n\t\t\tthis.outOptions$.next([...this._options]);\n\t\t});\n\t\tthis.loading$ = merge(query$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\n\t}\n\tabstract override resetClue();\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { Observable } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPagedSearcher, ALuApiOptionSearcher } from './api-searcher.model';\n\n@Component({\n\tselector: 'lu-api-searcher',\n\ttemplateUrl: './api-searcher.component.html',\n\tstyleUrl: './api-searcher.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [AsyncPipe, ReactiveFormsModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> extends ALuApiOptionSearcher<T, LuApiHybridService<T>> implements OnInit {\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\treadonly searchInput: ElementRef<HTMLElement>;\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\t@Input() debounceTime = 250;\n\n\tclueControl: FormControl;\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.setValue('');\n\t}\n}\n\n@Component({\n\tselector: 'lu-api-paged-searcher',\n\ttemplateUrl: './api-searcher.component.html',\n\tstyleUrl: './api-searcher.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [AsyncPipe, ReactiveFormsModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t],\n})\nexport class LuApiPagedSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuApiOptionPagedSearcher<T, LuApiHybridService<T>>\n\timplements OnInit\n{\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\treadonly searchInput: ElementRef<HTMLElement>;\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set sort(sort: string) {\n\t\tthis._service.sort = sort;\n\t}\n\t@Input() debounceTime = 250;\n\n\tclueControl: FormControl;\n\tconstructor(@Inject(ALuApiService) @Optional() @SkipSelf() hostService: LuApiHybridService<T>, @Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>) {\n\t\tsuper(hostService || selfService);\n\t}\n\tngOnInit() {\n\t\tthis.clueControl = new FormControl(undefined);\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\n\t\tsuper.init();\n\t}\n\n\toverride onOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tsuper.onOpen();\n\t}\n\tresetClue() {\n\t\tthis.clueControl.reset('');\n\t}\n}\n","<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t<input #searchInput class=\"textfield-input\" maxlength=\"100\" [formControl]=\"clueControl\" />\n</div>\n@if ((empty$ | async) && (loading$ | async) === false) {\n\t<lu-option-placeholder (onClear)=\"resetClue()\" />\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './api-searcher.component';\n\n/**\n * @deprecated use `LuApiPagedSearcherComponent, LuApiSearcherComponent` instead\n */\n@NgModule({\n\timports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n\texports: [LuApiPagedSearcherComponent, LuApiSearcherComponent],\n})\nexport class LuApiSearcherModule {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Input, Renderer2, ViewContainerRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClearComponent } from '@lucca-front/ng/clear';\nimport { LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { ILuOptionItem, LuForOptionsDirective, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { LuApiPagedSearcherComponent } from '../searcher';\n\n@Component({\n\tselector: 'lu-api-select',\n\ttemplateUrl: './api-select-input.component.html',\n\tstyleUrl: './api-select-input.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [ClearComponent, LuOptionPickerAdvancedComponent, LuApiPagedSearcherComponent, LuOptionItemComponent, LuForOptionsDirective, LuInputDisplayerDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuApiSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiSelectInputComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\n\textends ALuSelectInputComponent<T, LuOptionPickerAdvancedComponent<T, ILuOptionItem<T>>>\n\timplements ControlValueAccessor, AfterViewInit\n{\n\t@Input() standard: 'v3' | 'v4' = 'v3';\n\t@Input() api: string;\n\t/**\n\t * only works with standard=\"v3\"\n\t */\n\t@Input() fields: string;\n\t@Input() filters: string[];\n\t/**\n\t * only works with standard=\"v3\", otherwise use sort\n\t */\n\t@Input() orderBy: string;\n\t/**\n\t * only works with standard=\"v4\", otherwise use orderBy\n\t */\n\t@Input() sort: string;\n\n\tbyId: LuOptionComparer<T> = (option1: T, option2: T) => option1 && option2 && option1.id === option2.id;\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","<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 />\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-clear />\n</div>\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\"\n\t><span class=\"pr-u-ellipsis\">{{ option.name }}</span></span\n>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-api-paged-searcher [standard]=\"standard\" [api]=\"api\" [fields]=\"fields\" [filters]=\"filters\" [orderBy]=\"orderBy\" [sort]=\"sort\" />\n\t</header>\n\t<div class=\"lu-picker-content-option\">\n\t\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\n\t</div>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectInputComponent } from './api-select-input.component';\n\n/**\n * @deprecated use `LuApiSelectInputComponent` instead\n */\n@NgModule({\n\timports: [LuApiSelectInputComponent],\n\texports: [LuApiSelectInputComponent],\n})\nexport class LuApiSelectInputModule {}\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ILuOptionOperator } from '@lucca-front/ng/option';\nimport { merge, Observable, of, Subject } from 'rxjs';\nimport { catchError, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { ILuApiItem } from '../../api.model';\nimport { ILuApiService } from '../../service/index';\n\nenum Strategy {\n\tappend,\n\treplace,\n}\nexport type ILuApiOptionPager<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\nexport interface ILuApiPagerService<T extends ILuApiItem = ILuApiItem> {\n\tgetPaged(page: number): Observable<T[]>;\n}\n\nexport abstract class ALuApiOptionPager<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\n\timplements ILuApiOptionPager<T>, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber\n{\n\treadonly outOptions$ = new Subject<T[]>();\n\tloading$: Observable<boolean>;\n\n\tprotected _loading = false;\n\tprotected _results$: Observable<{ items: T[]; strategy: Strategy }>;\n\tprotected _options: T[] = [];\n\tprotected readonly _page$ = new Subject<number>();\n\tprotected _page: number;\n\tprotected _initialized = false;\n\tconstructor(protected _service: S) {}\n\tprotected init() {\n\t\tthis.initObservables();\n\t}\n\tonOpen() {\n\t\tif (!this._initialized) {\n\t\t\tthis._page$.next(0);\n\t\t\tthis._initialized = true;\n\t\t}\n\t}\n\t// onClose() {\n\t// \tthis._page$.next(0);\n\t// }\n\tonScrollBottom() {\n\t\tif (!this._loading) {\n\t\t\tthis._page$.next(this._page + 1);\n\t\t}\n\t}\n\tprotected initObservables() {\n\t\tconst _results$: Observable<{ items: T[]; strategy: Strategy }> = this._page$.pipe(\n\t\t\tdistinctUntilChanged(),\n\t\t\ttap((p) => (this._page = p)),\n\t\t\tswitchMap((page) => {\n\t\t\t\tif (page === undefined) {\n\t\t\t\t\treturn of({ items: [] as T[], strategy: Strategy.replace });\n\t\t\t\t}\n\t\t\t\treturn this._service.getPaged(page).pipe(\n\t\t\t\t\tmap((items) => ({\n\t\t\t\t\t\titems: items,\n\t\t\t\t\t\tstrategy: page === 0 ? Strategy.replace : Strategy.append,\n\t\t\t\t\t})),\n\t\t\t\t);\n\t\t\t}),\n\t\t\tcatchError(() => of({ items: [] as T[], strategy: Strategy.replace })),\n\t\t\ttap((results) => {\n\t\t\t\tif (results.strategy === Strategy.replace) {\n\t\t\t\t\tthis._options = [...results.items];\n\t\t\t\t} else {\n\t\t\t\t\tthis._options.push(...results.items);\n\t\t\t\t}\n\t\t\t\tthis.outOptions$.next([...this._options]);\n\t\t\t}),\n\t\t);\n\n\t\tthis.loading$ = merge(this._page$.pipe(map(() => true)), _results$.pipe(map(() => false)));\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { ILuApiItem } from '../../api.model';\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\nimport { ALuApiOptionPager } from './api-pager.model';\n\n@Component({\n\tselector: 'lu-api-pager',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuApiService,\n\t\t\tuseClass: LuApiHybridService,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuApiPagerComponent<T extends ILuApiItem = ILuApiItem>\n\textends ALuApiOptionPager<T, LuApiHybridService<T>>\n\timplements ILuOptionOperator<T>, OnInit, ILuOnScrollBottomSubscriber, ILuOnOpenSubscriber\n{\n\tconstructor(\n\t\t@Inject(ALuApiService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: LuApiHybridService<T>,\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\n\t) {\n\t\tsuper(hostService || selfService);\n\t}\n\n\t@Input() set standard(standard: 'v3' | 'v4') {\n\t\tthis._service.standard = standard;\n\t}\n\t@Input() set api(api: string) {\n\t\tthis._service.api = api;\n\t}\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\n\tngOnInit() {\n\t\tsuper.init();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuApiFeederComponent } from './feeder/index';\nimport { LuApiSelectInputComponent } from './input/index';\nimport { LuApiPagerComponent } from './pager/index';\nimport { LuApiPagedSearcherComponent, LuApiSearcherComponent } from './searcher/index';\n\n/**\n * @deprecated use `LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent` instead\n */\n@NgModule({\n\timports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n\texports: [LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent],\n})\nexport class LuApiSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuApiSelectModule } from './select/index';\n\n/**\n * @deprecated use `LuApiFeederComponent, LuApiPagedSearcherComponent, LuApiSearcherComponent, LuApiPagerComponent, LuApiSelectInputComponent` instead\n */\n@NgModule({\n\timports: [LuApiSelectModule],\n\texports: [LuApiSelectModule],\n})\nexport class LuApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, input, booleanAttribute, EventEmitter, contentChildren, effect, untracked, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
- import { outputFromObservable } from '@angular/core/rxjs-interop';
2
+ import { InjectionToken, inject, input, booleanAttribute, EventEmitter, contentChildren, effect, untracked, forwardRef, Output, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
4
3
  import { LuClass, intlInputOptions } from '@lucca-front/ng/core';
5
4
 
6
5
  class ALuClear {
@@ -60,11 +59,11 @@ class ClearComponent extends ALuClear {
60
59
  * Change the clear colors for use on a dark background
61
60
  */
62
61
  this.inverted = input(false, { ...(ngDevMode ? { debugName: "inverted" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
63
- this.onClear = new EventEmitter();
64
62
  /**
65
63
  * Emit event when button clear is click
66
64
  */
67
- this.onClearOutput = outputFromObservable(this.onClear, { alias: 'onClear' });
65
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
66
+ this.onClear = new EventEmitter();
68
67
  this.contentRef = contentChildren('content', ...(ngDevMode ? [{ debugName: "contentRef" }] : /* istanbul ignore next */ []));
69
68
  effect(() => {
70
69
  const palette = this.palette();
@@ -81,7 +80,7 @@ class ClearComponent extends ALuClear {
81
80
  this.onClear.emit();
82
81
  }
83
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: ClearComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: ClearComponent, isStandalone: true, selector: "lu-clear", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, inverted: { classPropertyName: "inverted", publicName: "inverted", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClearOutput: "onClear" }, host: { attributes: { "role": "button" }, listeners: { "click": "clear($event)", "keyup.space": "clear($event)", "keydown.enter": "$event.preventDefault(); $event.stopPropagation(); clear($event)", "keydown.space": "$event.preventDefault(); $event.stopPropagation()" }, properties: { "attr.tabindex": "disabled() ? null : \"0\"", "attr.disabled": "disabled() ? \"disabled\" : null", "class.mod-S": "size() === \"S\"", "class.palette-product": "palette() === \"product\"", "class.mod-inverted": "inverted()" }, classAttribute: "clear" }, providers: [
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: ClearComponent, isStandalone: true, selector: "lu-clear", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, inverted: { classPropertyName: "inverted", publicName: "inverted", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClear: "onClear" }, host: { attributes: { "role": "button" }, listeners: { "click": "clear($event)", "keyup.space": "clear($event)", "keydown.enter": "$event.preventDefault(); $event.stopPropagation(); clear($event)", "keydown.space": "$event.preventDefault(); $event.stopPropagation()" }, properties: { "attr.tabindex": "disabled() ? null : \"0\"", "attr.disabled": "disabled() ? \"disabled\" : null", "class.mod-S": "size() === \"S\"", "class.palette-product": "palette() === \"product\"", "class.mod-inverted": "inverted()" }, classAttribute: "clear" }, providers: [
85
84
  {
86
85
  provide: ALuClear,
87
86
  useExisting: forwardRef(() => ClearComponent),
@@ -110,7 +109,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
110
109
  },
111
110
  LuClass,
112
111
  ], template: "<span class=\"pr-u-mask\">\n\t@if (contentRef().length) {\n\t\t<ng-content />\n\t} @else {\n\t\t{{ intl().clear }}\n\t}\n</span>\n", styles: ["@layer components{.clear{--components-clear-display: grid;--components-clear-size: 1rem;--components-clear-background: var(--palettes-800, var(--palettes-neutral-800));--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:var(--components-clear-display);grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--pr-t-border-radius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background: var(--palettes-700, var(--palettes-neutral-700))}.clear:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-900, var(--palettes-neutral-900))}.clear .lucca-icon{display:none}}@layer mods{.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}.clear.mod-inverted{--components-clear-cross-color: var(--palettes-800, var(--palettes-neutral-800));--components-clear-background: var(--palettes-0, var(--palettes-neutral-0))}.clear.mod-inverted:hover{--components-clear-background: var(--palettes-50, var(--palettes-neutral-50))}.clear.mod-inverted:active{--components-clear-background: var(--palettes-100, var(--palettes-neutral-100))}.clear[disabled]{cursor:default;--components-clear-cross-color: var(--palettes-neutral-500)}.clear[disabled],.clear[disabled]:hover,.clear[disabled]:active{--components-clear-background: var(--palettes-neutral-300)}.clear[hidden],.filterPill[disabled] .clear,.filterPill:not(.is-filled) .clear,.textfield-input[disabled] .clear,.textfield-input:not(.is-filled) .clear{--components-clear-display: none}.multiSelect.is-selected:has(.multipleSelect-clear) .clear{--components-clear-display: grid}}\n"] }]
113
- }], ctorParameters: () => [], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], palette: [{ type: i0.Input, args: [{ isSignal: true, alias: "palette", required: false }] }], inverted: [{ type: i0.Input, args: [{ isSignal: true, alias: "inverted", required: false }] }], onClearOutput: [{ type: i0.Output, args: ["onClear"] }], contentRef: [{ type: i0.ContentChildren, args: ['content', { isSignal: true }] }] } });
112
+ }], ctorParameters: () => [], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], palette: [{ type: i0.Input, args: [{ isSignal: true, alias: "palette", required: false }] }], inverted: [{ type: i0.Input, args: [{ isSignal: true, alias: "inverted", required: false }] }], onClear: [{
113
+ type: Output
114
+ }], contentRef: [{ type: i0.ContentChildren, args: ['content', { isSignal: true }] }] } });
114
115
 
115
116
  /**
116
117
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-clear.mjs","sources":["../../../packages/ng/clear/clear.model.ts","../../../packages/ng/clear/translations.ts","../../../packages/ng/clear/clear.translate.ts","../../../packages/ng/clear/clear.component.ts","../../../packages/ng/clear/clear.component.html","../../../packages/ng/clear/lucca-front-ng-clear.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\nexport interface ILuClear<T> {\n\tonClear: Observable<T>;\n}\n\nexport abstract class ALuClear<T> implements ILuClear<T> {\n\tonClear: Observable<T>;\n}\n","export const Translations = {\n\ten: {\n\t\tclear: 'Clear this field',\n\t},\n\tde: {\n\t\tclear: 'Den Inhalt aus diesem Feld entfernen',\n\t},\n\tfr: {\n\t\tclear: 'Vider ce champ',\n\t},\n\tit: {\n\t\tclear: 'Svuotare questo campo',\n\t},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\t'nl-BE': {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\tes: {\n\t\tclear: 'Vaciar este campo',\n\t},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CLEAR_TRANSLATIONS = new InjectionToken('LuClearTranslations', {\n\tfactory: () => luClearTranslations,\n});\n\nexport interface LuClearLabel {\n\tclear: string;\n}\n\nexport const luClearTranslations: LuTranslation<LuClearLabel> = Translations;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, contentChildren, effect, ElementRef, EventEmitter, forwardRef, inject, input, untracked, ViewEncapsulation } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\nimport { intlInputOptions, LuClass, Palette } from '@lucca-front/ng/core';\nimport { ALuClear, ILuClear } from './clear.model';\nimport { LU_CLEAR_TRANSLATIONS } from './clear.translate';\n\n@Component({\n\tselector: 'lu-clear',\n\tstyleUrl: './clear.component.scss',\n\ttemplateUrl: './clear.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\texportAs: 'luClearer',\n\thost: {\n\t\trole: 'button',\n\t\tclass: 'clear',\n\t\t'[attr.tabindex]': 'disabled() ? null : \"0\"',\n\t\t'[attr.disabled]': 'disabled() ? \"disabled\" : null',\n\t\t'[class.mod-S]': 'size() === \"S\"',\n\t\t'[class.palette-product]': 'palette() === \"product\"',\n\t\t'[class.mod-inverted]': 'inverted()',\n\t\t'(click)': 'clear($event)',\n\t\t'(keyup.space)': 'clear($event)',\n\t\t'(keydown.enter)': '$event.preventDefault(); $event.stopPropagation(); clear($event)',\n\t\t'(keydown.space)': '$event.preventDefault(); $event.stopPropagation()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuClear,\n\t\t\tuseExisting: forwardRef(() => ClearComponent),\n\t\t},\n\t\tLuClass,\n\t],\n})\nexport class ClearComponent<T> extends ALuClear<T> implements ILuClear<T> {\n\t#luClass = inject(LuClass);\n\treadonly intl = input(...intlInputOptions(LU_CLEAR_TRANSLATIONS));\n\n\t/**\n\t * Which size should the clear be? Defaults to small\n\t */\n\treadonly size = input<'S' | null>(null);\n\n\t/**\n\t * Disabled the clear\n\t */\n\treadonly disabled = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Which palette should be used for the entire clear\n\t */\n\treadonly palette = input<Palette>('none');\n\n\t/**\n\t * Change the clear colors for use on a dark background\n\t */\n\treadonly inverted = input(false, { transform: booleanAttribute });\n\n\toverride readonly onClear = new EventEmitter<T>();\n\n\t/**\n\t * Emit event when button clear is click\n\t */\n\tprotected readonly onClearOutput = outputFromObservable(this.onClear, { alias: 'onClear' });\n\n\treadonly contentRef = contentChildren<ElementRef>('content');\n\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst palette = this.palette();\n\t\t\tuntracked(() => {\n\t\t\t\tif (palette !== 'none') {\n\t\t\t\t\tthis.#luClass.setState({ [`palette-${this.palette()}`]: !!this.palette() });\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tclear($event: Event) {\n\t\t$event.preventDefault();\n\t\t$event.stopPropagation();\n\n\t\tthis.onClear.emit();\n\t}\n}\n","<span class=\"pr-u-mask\">\n\t@if (contentRef().length) {\n\t\t<ng-content />\n\t} @else {\n\t\t{{ intl().clear }}\n\t}\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAMsB,QAAQ,CAAA;AAE7B;;ACRM,MAAM,YAAY,GAAG;AAC3B,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,kBAAkB;AACzB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,sCAAsC;AAC7C,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,gBAAgB;AACvB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,uBAAuB;AAC9B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,oBAAoB;AAC3B,KAAA;AACD,IAAA,OAAO,EAAE;AACR,QAAA,KAAK,EAAE,oBAAoB;AAC3B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,mBAAmB;AAC1B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,qBAAqB;AAC5B,KAAA;CACD;;ACrBM,MAAM,qBAAqB,GAAG,IAAI,cAAc,CAAC,qBAAqB,EAAE;AAC9E,IAAA,OAAO,EAAE,MAAM,mBAAmB;AAClC,CAAA,CAAC;AAMK,MAAM,mBAAmB,GAAgC,YAAY;;ACsBtE,MAAO,cAAkB,SAAQ,QAAW,CAAA;AACjD,IAAA,QAAQ;AAgCR,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE;AAjCR,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QACjB,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAEjE;;AAEG;AACM,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAa,IAAI,2EAAC;AAEvC;;AAEG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEjE;;AAEG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAU,MAAM,8EAAC;AAEzC;;AAEG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE/C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAK;AAEjD;;AAEG;AACgB,QAAA,IAAA,CAAA,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAElF,QAAA,IAAA,CAAA,UAAU,GAAG,eAAe,CAAa,SAAS,iFAAC;QAI3D,MAAM,CAAC,MAAK;AACX,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,CAAC,MAAK;AACd,gBAAA,IAAI,OAAO,KAAK,MAAM,EAAE;oBACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,QAAA,EAAW,IAAI,CAAC,OAAO,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5E;AACD,YAAA,CAAC,CAAC;AACH,QAAA,CAAC,CAAC;IACH;AAEA,IAAA,KAAK,CAAC,MAAa,EAAA;QAClB,MAAM,CAAC,cAAc,EAAE;QACvB,MAAM,CAAC,eAAe,EAAE;AAExB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;IACpB;+GAlDY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,kEAAA,EAAA,eAAA,EAAA,mDAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,eAAA,EAAA,kCAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EARf;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,cAAc,CAAC;AAC7C,aAAA;YACD,OAAO;AACP,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChCF,oIAOA,EAAA,MAAA,EAAA,CAAA,6qGAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FD2Ba,cAAc,EAAA,UAAA,EAAA,CAAA;kBA5B1B,SAAS;+BACC,UAAU,EAAA,aAAA,EAGL,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,WAAW,EAAA,IAAA,EACf;AACL,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,iBAAiB,EAAE,yBAAyB;AAC5C,wBAAA,iBAAiB,EAAE,gCAAgC;AACnD,wBAAA,eAAe,EAAE,gBAAgB;AACjC,wBAAA,yBAAyB,EAAE,yBAAyB;AACpD,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,SAAS,EAAE,eAAe;AAC1B,wBAAA,eAAe,EAAE,eAAe;AAChC,wBAAA,iBAAiB,EAAE,kEAAkE;AACrF,wBAAA,iBAAiB,EAAE,mDAAmD;qBACtE,EAAA,SAAA,EACU;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,QAAQ;AACjB,4BAAA,WAAW,EAAE,UAAU,CAAC,oBAAoB,CAAC;AAC7C,yBAAA;wBACD,OAAO;AACP,qBAAA,EAAA,QAAA,EAAA,oIAAA,EAAA,MAAA,EAAA,CAAA,6qGAAA,CAAA,EAAA;+mBAiCiD,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEjE5D;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-clear.mjs","sources":["../../../packages/ng/clear/clear.model.ts","../../../packages/ng/clear/translations.ts","../../../packages/ng/clear/clear.translate.ts","../../../packages/ng/clear/clear.component.ts","../../../packages/ng/clear/clear.component.html","../../../packages/ng/clear/lucca-front-ng-clear.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\nexport interface ILuClear<T> {\n\tonClear: Observable<T>;\n}\n\nexport abstract class ALuClear<T> implements ILuClear<T> {\n\tonClear: Observable<T>;\n}\n","export const Translations = {\n\ten: {\n\t\tclear: 'Clear this field',\n\t},\n\tde: {\n\t\tclear: 'Den Inhalt aus diesem Feld entfernen',\n\t},\n\tfr: {\n\t\tclear: 'Vider ce champ',\n\t},\n\tit: {\n\t\tclear: 'Svuotare questo campo',\n\t},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\t'nl-BE': {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\tes: {\n\t\tclear: 'Vaciar este campo',\n\t},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CLEAR_TRANSLATIONS = new InjectionToken('LuClearTranslations', {\n\tfactory: () => luClearTranslations,\n});\n\nexport interface LuClearLabel {\n\tclear: string;\n}\n\nexport const luClearTranslations: LuTranslation<LuClearLabel> = Translations;\n","import {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcontentChildren,\n\teffect,\n\tElementRef,\n\tEventEmitter,\n\tforwardRef,\n\tinject,\n\tinput,\n\tOutput,\n\tuntracked,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { intlInputOptions, LuClass, Palette } from '@lucca-front/ng/core';\nimport { ALuClear, ILuClear } from './clear.model';\nimport { LU_CLEAR_TRANSLATIONS } from './clear.translate';\n\n@Component({\n\tselector: 'lu-clear',\n\tstyleUrl: './clear.component.scss',\n\ttemplateUrl: './clear.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\texportAs: 'luClearer',\n\thost: {\n\t\trole: 'button',\n\t\tclass: 'clear',\n\t\t'[attr.tabindex]': 'disabled() ? null : \"0\"',\n\t\t'[attr.disabled]': 'disabled() ? \"disabled\" : null',\n\t\t'[class.mod-S]': 'size() === \"S\"',\n\t\t'[class.palette-product]': 'palette() === \"product\"',\n\t\t'[class.mod-inverted]': 'inverted()',\n\t\t'(click)': 'clear($event)',\n\t\t'(keyup.space)': 'clear($event)',\n\t\t'(keydown.enter)': '$event.preventDefault(); $event.stopPropagation(); clear($event)',\n\t\t'(keydown.space)': '$event.preventDefault(); $event.stopPropagation()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuClear,\n\t\t\tuseExisting: forwardRef(() => ClearComponent),\n\t\t},\n\t\tLuClass,\n\t],\n})\nexport class ClearComponent<T> extends ALuClear<T> implements ILuClear<T> {\n\t#luClass = inject(LuClass);\n\treadonly intl = input(...intlInputOptions(LU_CLEAR_TRANSLATIONS));\n\n\t/**\n\t * Which size should the clear be? Defaults to small\n\t */\n\treadonly size = input<'S' | null>(null);\n\n\t/**\n\t * Disabled the clear\n\t */\n\treadonly disabled = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Which palette should be used for the entire clear\n\t */\n\treadonly palette = input<Palette>('none');\n\n\t/**\n\t * Change the clear colors for use on a dark background\n\t */\n\treadonly inverted = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Emit event when button clear is click\n\t */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output() override onClear = new EventEmitter<T>();\n\n\treadonly contentRef = contentChildren<ElementRef>('content');\n\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst palette = this.palette();\n\t\t\tuntracked(() => {\n\t\t\t\tif (palette !== 'none') {\n\t\t\t\t\tthis.#luClass.setState({ [`palette-${this.palette()}`]: !!this.palette() });\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tclear($event: Event) {\n\t\t$event.preventDefault();\n\t\t$event.stopPropagation();\n\n\t\tthis.onClear.emit();\n\t}\n}\n","<span class=\"pr-u-mask\">\n\t@if (contentRef().length) {\n\t\t<ng-content />\n\t} @else {\n\t\t{{ intl().clear }}\n\t}\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, Directive, input, forwardRef, model, computed } from '@angular/core';
4
- import { toObservable, toSignal } from '@angular/core/rxjs-interop';
3
+ import { inject, Directive, forwardRef, Input, model, input, computed } from '@angular/core';
5
4
  import { ALuSelectInputComponent, coreSelectDefaultOptionComparer, coreSelectDefaultOptionKey, CORE_SELECT_API_TOTAL_COUNT_PROVIDER, applySearchDelimiter } from '@lucca-front/ng/core-select';
6
- import { Subject, scan, startWith, debounceTime, takeUntil, merge, map, distinctUntilChanged, combineLatest, pairwise, tap, switchMap, concatMap, of, catchError, take } from 'rxjs';
5
+ import { Subject, scan, startWith, debounceTime, takeUntil, merge, map, distinctUntilChanged, combineLatest, pairwise, tap, switchMap, concatMap, of, catchError, ReplaySubject, BehaviorSubject, take } from 'rxjs';
6
+ import { toSignal, toObservable } from '@angular/core/rxjs-interop';
7
7
 
8
8
  const LU_SELECT_MAGIC_PAGE_SIZE = 20;
9
9
  const MAGIC_DEBOUNCE_DURATION = 250;
@@ -21,15 +21,15 @@ class ALuCoreSelectApiDirective {
21
21
  this.optionComparer = (a, b) => this.optionKey(a) === this.optionKey(b);
22
22
  }
23
23
  ngOnInit() {
24
- if (this.select.optionComparer() === coreSelectDefaultOptionComparer) {
25
- this.select.optionComparer.set(this.optionComparer);
24
+ if (this.select.optionComparer === coreSelectDefaultOptionComparer) {
25
+ this.select.optionComparer = this.optionComparer;
26
26
  }
27
- if (this.select.optionKey() === coreSelectDefaultOptionKey) {
28
- this.select.optionKey.set(this.optionKey);
27
+ if (this.select.optionKey === coreSelectDefaultOptionKey) {
28
+ this.select.optionKey = this.optionKey;
29
29
  }
30
30
  this.buildOptions()
31
31
  .pipe(takeUntil(this.destroy$))
32
- .subscribe((options) => this.select.options.set(options));
32
+ .subscribe((options) => (this.select.options = options));
33
33
  }
34
34
  buildOptions() {
35
35
  // Prevent a double call to getOptions when the clue is changed while the panel is closed
@@ -37,7 +37,7 @@ class ALuCoreSelectApiDirective {
37
37
  const isOpen$ = combineLatest([this.select.isPanelOpen$, clueIsPendingDebounce$]).pipe(debounceTime(0), startWith([false, false]), pairwise(), tap(([[wasOpen], [isOpen, clueIsPendingDebounce]]) => {
38
38
  // Start the loader as soon as the panel is opened to avoid a short display of the "no result" message
39
39
  if (!wasOpen && isOpen && clueIsPendingDebounce) {
40
- this.select.loading.set(true);
40
+ this.select.loading = true;
41
41
  }
42
42
  }), map(([[wasOpen], [isOpen, clueIsPendingDebounce]]) => (isOpen && !wasOpen ? !clueIsPendingDebounce : isOpen)), distinctUntilChanged());
43
43
  return combineLatest([this.params$, isOpen$]).pipe(switchMap(([params, isOpened]) => {
@@ -58,8 +58,8 @@ class ALuCoreSelectApiDirective {
58
58
  }));
59
59
  }
60
60
  getOptionsPage(params, page) {
61
- this.select.loading.set(true);
62
- return this.getOptions(params, page).pipe(catchError(() => of([])), tap(() => this.select.loading.set(false)), map((items) => ({ items, isLastPage: items.length < this.pageSize })));
61
+ this.select.loading = true;
62
+ return this.getOptions(params, page).pipe(catchError(() => of([])), tap(() => (this.select.loading = false)), map((items) => ({ items, isLastPage: items.length < this.pageSize })));
63
63
  }
64
64
  ngOnDestroy() {
65
65
  this.destroy$.next();
@@ -75,15 +75,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
75
75
  class LuCoreSelectApiV3Directive extends ALuCoreSelectApiDirective {
76
76
  constructor() {
77
77
  super(...arguments);
78
+ this.url$ = new ReplaySubject(1);
79
+ this.fields$ = new BehaviorSubject('id,name');
80
+ this.orderBy$ = new BehaviorSubject('name,asc');
81
+ this.filters$ = new BehaviorSubject({});
78
82
  this.httpClient = inject(HttpClient);
79
- this.apiV3 = input.required(...(ngDevMode ? [{ debugName: "apiV3" }] : /* istanbul ignore next */ []));
80
- this.fields = input('id,name', ...(ngDevMode ? [{ debugName: "fields" }] : /* istanbul ignore next */ []));
81
- this.orderBy = input('name,asc', ...(ngDevMode ? [{ debugName: "orderBy" }] : /* istanbul ignore next */ []));
82
- this.filters = input({}, ...(ngDevMode ? [{ debugName: "filters" }] : /* istanbul ignore next */ []));
83
- this.url$ = toObservable(this.apiV3);
84
- this.fields$ = toObservable(this.fields);
85
- this.orderBy$ = toObservable(this.orderBy);
86
- this.filters$ = toObservable(this.filters);
87
83
  this.params$ = combineLatest([this.fields$, this.filters$, this.orderBy$, this.clue$]).pipe(map(([fields, filters, orderBy, clue]) => ({
88
84
  ...filters,
89
85
  ...(fields ? { fields } : {}),
@@ -98,6 +94,18 @@ class LuCoreSelectApiV3Directive extends ALuCoreSelectApiDirective {
98
94
  })), map((res) => res.data?.count ?? 0));
99
95
  this.optionKey = (option) => option.id;
100
96
  }
97
+ set apiV3(value) {
98
+ this.url$.next(value);
99
+ }
100
+ set fields(value) {
101
+ this.fields$.next(value);
102
+ }
103
+ set orderBy(value) {
104
+ this.orderBy$.next(value);
105
+ }
106
+ set filters(value) {
107
+ this.filters$.next(value);
108
+ }
101
109
  getOptions(params, page) {
102
110
  return this.url$.pipe(take(1), switchMap((url) => this.httpClient.get(url, {
103
111
  params: {
@@ -107,7 +115,7 @@ class LuCoreSelectApiV3Directive extends ALuCoreSelectApiDirective {
107
115
  })), map((res) => res.data.items));
108
116
  }
109
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectApiV3Directive, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
110
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: LuCoreSelectApiV3Directive, isStandalone: true, selector: "lu-simple-select[apiV3],lu-multi-select[apiV3]", inputs: { apiV3: { classPropertyName: "apiV3", publicName: "apiV3", isSignal: true, isRequired: true, transformFunction: null }, fields: { classPropertyName: "fields", publicName: "fields", isSignal: true, isRequired: false, transformFunction: null }, orderBy: { classPropertyName: "orderBy", publicName: "orderBy", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
118
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: LuCoreSelectApiV3Directive, isStandalone: true, selector: "lu-simple-select[apiV3],lu-multi-select[apiV3]", inputs: { apiV3: "apiV3", fields: "fields", orderBy: "orderBy", filters: "filters" }, providers: [
111
119
  {
112
120
  provide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,
113
121
  useExisting: forwardRef(() => LuCoreSelectApiV3Directive),
@@ -127,7 +135,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
127
135
  },
128
136
  ],
129
137
  }]
130
- }], propDecorators: { apiV3: [{ type: i0.Input, args: [{ isSignal: true, alias: "apiV3", required: true }] }], fields: [{ type: i0.Input, args: [{ isSignal: true, alias: "fields", required: false }] }], orderBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "orderBy", required: false }] }], filters: [{ type: i0.Input, args: [{ isSignal: true, alias: "filters", required: false }] }] } });
138
+ }], propDecorators: { apiV3: [{
139
+ type: Input
140
+ }], fields: [{
141
+ type: Input
142
+ }], orderBy: [{
143
+ type: Input
144
+ }], filters: [{
145
+ type: Input
146
+ }] } });
131
147
 
132
148
  class LuCoreSelectApiV4Directive extends ALuCoreSelectApiDirective {
133
149
  constructor() {