@lucca-front/ng 21.2.1 → 22.0.0-rc.1

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 (146) hide show
  1. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  2. package/fesm2022/lucca-front-ng-callout.mjs +10 -4
  3. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  4. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-comment.mjs +1 -1
  6. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-core-select-department.mjs +7 -5
  9. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  10. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-core-select-user.mjs +16 -11
  14. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-core-select.mjs +46 -18
  16. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-core.mjs +11 -6
  18. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-data-table.mjs +31 -15
  20. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-date.mjs +10 -6
  22. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-date2.mjs +104 -88
  24. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  26. package/fesm2022/lucca-front-ng-dialog.mjs +36 -25
  27. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  28. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-empty-state.mjs +5 -4
  30. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-establishment.mjs +3 -3
  32. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-fancy-box.mjs +1 -1
  34. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-file-upload.mjs +5 -3
  36. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-filter-pills.mjs +3 -3
  38. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-form-field.mjs +3 -3
  40. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-formly.mjs +1 -1
  42. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +26 -21
  44. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +15 -13
  46. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +5 -3
  48. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +26 -19
  50. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-forms.mjs +3 -3
  52. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-highlight-data.mjs +1 -1
  54. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-index-table.mjs +5 -5
  56. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-input.mjs +6 -5
  58. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-modal.mjs +5 -5
  62. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-multi-select.mjs +27 -14
  64. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-number-format.mjs +9 -8
  66. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-option.mjs +7 -3
  68. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-popover.mjs +6 -2
  71. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-popup.mjs +1 -1
  74. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-select.mjs +5 -4
  81. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-simple-select.mjs +11 -8
  84. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-time.mjs +2 -2
  88. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  91. package/fesm2022/lucca-front-ng-tree-select.mjs +11 -10
  92. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-user.mjs +3 -3
  95. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  96. package/package.json +4 -4
  97. package/types/lucca-front-ng-api.d.ts +9 -9
  98. package/types/lucca-front-ng-clear.d.ts +1 -1
  99. package/types/lucca-front-ng-core-select-api.d.ts +14 -14
  100. package/types/lucca-front-ng-core-select-department.d.ts +10 -10
  101. package/types/lucca-front-ng-core-select-establishment.d.ts +12 -12
  102. package/types/lucca-front-ng-core-select-job-qualification.d.ts +6 -6
  103. package/types/lucca-front-ng-core-select-occupation-category.d.ts +6 -6
  104. package/types/lucca-front-ng-core-select-user.d.ts +19 -19
  105. package/types/lucca-front-ng-core-select.d.ts +53 -53
  106. package/types/lucca-front-ng-core.d.ts +10 -9
  107. package/types/lucca-front-ng-data-table.d.ts +40 -40
  108. package/types/lucca-front-ng-date.d.ts +2 -2
  109. package/types/lucca-front-ng-date2.d.ts +93 -93
  110. package/types/lucca-front-ng-department.d.ts +2 -2
  111. package/types/lucca-front-ng-dialog.d.ts +4 -4
  112. package/types/lucca-front-ng-divider.d.ts +1 -1
  113. package/types/lucca-front-ng-establishment.d.ts +9 -9
  114. package/types/lucca-front-ng-file-upload.d.ts +17 -17
  115. package/types/lucca-front-ng-filter-pills.d.ts +32 -32
  116. package/types/lucca-front-ng-form-field.d.ts +8 -8
  117. package/types/lucca-front-ng-forms-phone-number-input.d.ts +7 -7
  118. package/types/lucca-front-ng-forms-rich-text-input.d.ts +15 -14
  119. package/types/lucca-front-ng-forms.d.ts +39 -39
  120. package/types/lucca-front-ng-index-table.d.ts +39 -39
  121. package/types/lucca-front-ng-input.d.ts +8 -8
  122. package/types/lucca-front-ng-link.d.ts +4 -4
  123. package/types/lucca-front-ng-mobile-push.d.ts +1 -1
  124. package/types/lucca-front-ng-modal.d.ts +12 -12
  125. package/types/lucca-front-ng-multi-select.d.ts +24 -24
  126. package/types/lucca-front-ng-number-format.d.ts +2 -2
  127. package/types/lucca-front-ng-option.d.ts +18 -18
  128. package/types/lucca-front-ng-page-header.d.ts +1 -1
  129. package/types/lucca-front-ng-popover.d.ts +1 -1
  130. package/types/lucca-front-ng-popover2.d.ts +20 -20
  131. package/types/lucca-front-ng-popup.d.ts +8 -8
  132. package/types/lucca-front-ng-progress-bar.d.ts +1 -1
  133. package/types/lucca-front-ng-read-more.d.ts +6 -6
  134. package/types/lucca-front-ng-scroll-box.d.ts +3 -3
  135. package/types/lucca-front-ng-segmented-control-tabs.d.ts +1 -1
  136. package/types/lucca-front-ng-select.d.ts +12 -12
  137. package/types/lucca-front-ng-sidepanel.d.ts +1 -1
  138. package/types/lucca-front-ng-simple-select.d.ts +11 -11
  139. package/types/lucca-front-ng-skeleton.d.ts +1 -1
  140. package/types/lucca-front-ng-sortable-list.d.ts +8 -8
  141. package/types/lucca-front-ng-time.d.ts +17 -17
  142. package/types/lucca-front-ng-title.d.ts +5 -5
  143. package/types/lucca-front-ng-toast.d.ts +1 -1
  144. package/types/lucca-front-ng-tree-select.d.ts +11 -11
  145. package/types/lucca-front-ng-user-popover.d.ts +6 -6
  146. package/types/lucca-front-ng-user.d.ts +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-user.mjs","sources":["../../../packages/ng/user/display/display-format.model.ts","../../../packages/ng/user/display/user-display.pipe.ts","../../../packages/ng/user/display/user-display.module.ts","../../../packages/ng/user/picture/user-picture.component.ts","../../../packages/ng/user/picture/user-picture.component.html","../../../packages/ng/user/tile/user-tile.component.ts","../../../packages/ng/user/tile/user-tile.component.html","../../../packages/ng/user/tile/user-tile.module.ts","../../../packages/ng/user/picture/user-picture.module.ts","../../../packages/ng/user/select/homonyms/user-homonyms.service.ts","../../../packages/ng/user/select/homonyms/user-homonyms.component.ts","../../../packages/ng/user/service/user-service.model.ts","../../../packages/ng/user/service/user-v3.service.ts","../../../packages/ng/user/select/me/me-option.directive.ts","../../../packages/ng/user/select/me/me-option.module.ts","../../../packages/ng/user/select/searcher/translations.ts","../../../packages/ng/user/select/searcher/user-searcher.translate.ts","../../../packages/ng/user/select/searcher/user-searcher.component.ts","../../../packages/ng/user/select/searcher/user-searcher.component.html","../../../packages/ng/user/select/searcher/user-searcher.module.ts","../../../packages/ng/user/select/input/translations.ts","../../../packages/ng/user/select/input/user-select-input.translate.ts","../../../packages/ng/user/select/input/user-select-input.component.ts","../../../packages/ng/user/select/input/user-select-input.component.html","../../../packages/ng/user/select/input/user-select-input.module.ts","../../../packages/ng/user/select/user-select.module.ts","../../../packages/ng/user/user.module.ts","../../../packages/ng/user/lucca-front-ng-user.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { EnumValue } from '@lucca-front/ng/core';\n\nexport enum LuDisplayFullname {\n\tfirstlast = 'fl',\n\tlastfirst = 'lf',\n\tfirst = 'f',\n\tlast = 'l',\n}\n\nexport enum LuDisplayInitials {\n\tfirstlast = 'FL',\n\tlastfirst = 'LF',\n\tlast = 'L',\n\tfirst = 'F',\n}\n\nexport enum LuDisplayHybrid {\n\tfirstIlastFull = 'Fl',\n\tfirstFulllastI = 'fL',\n\tlastIfirstFull = 'Lf',\n\tlastFullfirstI = 'lF',\n}\n\nexport type LuDisplayFormat = EnumValue<typeof LuDisplayFullname> | EnumValue<typeof LuDisplayInitials> | EnumValue<typeof LuDisplayHybrid>;\n\n/** Injection token that can be used to change the default displayed user format. */\nexport const LU_DEFAULT_DISPLAY_POLICY = new InjectionToken<LuDisplayFormat>('LuDisplayFormat', { factory: () => LuDisplayFullname.lastfirst });\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { LU_DEFAULT_DISPLAY_POLICY, LuDisplayFormat, LuDisplayFullname, LuDisplayHybrid, LuDisplayInitials } from './display-format.model';\n\nfunction getFirstCharacter([firstCharacter]: string): string {\n\treturn firstCharacter ?? '';\n}\n\nfunction isNotEmptyString(value: string): boolean {\n\treturn value?.length > 0;\n}\n\nexport interface LuUserDisplayInput {\n\tfirstName: string;\n\tlastName: string;\n}\n\nconst formatUser: Record<LuDisplayFormat, (user: LuUserDisplayInput) => string> = {\n\t[LuDisplayFullname.lastfirst]: ({ firstName, lastName }) => [lastName, firstName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayFullname.firstlast]: ({ firstName, lastName }) => [firstName, lastName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayFullname.first]: ({ firstName }) => firstName,\n\t[LuDisplayFullname.last]: ({ lastName }) => lastName,\n\t[LuDisplayInitials.lastfirst]: ({ firstName, lastName }) => [getFirstCharacter(lastName), getFirstCharacter(firstName)].filter(isNotEmptyString).join(''),\n\t[LuDisplayInitials.firstlast]: ({ firstName, lastName }) => [getFirstCharacter(firstName), getFirstCharacter(lastName)].filter(isNotEmptyString).join(''),\n\t[LuDisplayInitials.first]: ({ firstName }) => getFirstCharacter(firstName),\n\t[LuDisplayInitials.last]: ({ lastName }) => getFirstCharacter(lastName),\n\t[LuDisplayHybrid.lastIfirstFull]: ({ firstName, lastName }) => [isNotEmptyString(lastName) ? getFirstCharacter(lastName) + '.' : '', firstName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.firstIlastFull]: ({ firstName, lastName }) => [isNotEmptyString(firstName) ? getFirstCharacter(firstName) + '.' : '', lastName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.lastFullfirstI]: ({ firstName, lastName }) => [lastName, firstName ? getFirstCharacter(firstName) + '.' : ''].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.firstFulllastI]: ({ firstName, lastName }) => [firstName, lastName ? getFirstCharacter(lastName) + '.' : ''].filter(isNotEmptyString).join(' '),\n};\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\nexport function luUserDisplay(user?: LuUserDisplayInput, format: LuDisplayFormat = LuDisplayFullname.lastfirst): string {\n\tif (!user) {\n\t\treturn '';\n\t}\n\treturn formatUser[format](user);\n}\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\nexport function luUsersDisplay(users: LuUserDisplayInput[], options: LuUserDisplayMultipleOptions): string {\n\tconst usersStringified = users.map((u) => luUserDisplay(u, options.format));\n\tif ('separator' in options) {\n\t\treturn usersStringified.join(options.separator);\n\t}\n\treturn options.formatter.format(usersStringified);\n}\n\nexport type LuUserDisplaySingleOptions = LuDisplayFormat | { format: LuDisplayFormat };\n\nexport type LuUserDisplayMultipleOptions =\n\t| { format: LuDisplayFormat; separator: string }\n\t| {\n\t\t\tformat: LuDisplayFormat;\n\t\t\tformatter: Intl.ListFormat;\n\t };\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\n@Pipe({ name: 'luUserDisplay', standalone: true })\nexport class LuUserDisplayPipe implements PipeTransform {\n\tprivate readonly defaultFormat = inject(LU_DEFAULT_DISPLAY_POLICY);\n\n\tpublic transform<T extends LuUserDisplayInput>(user: T, options?: Partial<LuUserDisplaySingleOptions>): string;\n\tpublic transform<T extends LuUserDisplayInput>(users: T[], options?: Partial<LuUserDisplayMultipleOptions>): string;\n\tpublic transform<T extends LuUserDisplayInput>(userOrUsers: T | T[], options?: Partial<LuUserDisplaySingleOptions> | Partial<LuUserDisplayMultipleOptions>): string {\n\t\tif (userOrUsers == null) {\n\t\t\tthrow new Error(\"Parameter 'userOrUsers' must be a user or a user array\");\n\t\t}\n\n\t\toptions = typeof options === 'string' ? { format: options } : options || {};\n\n\t\tconst format = options.format ?? this.defaultFormat;\n\n\t\tif (Array.isArray(userOrUsers)) {\n\t\t\tif ('formatter' in options) {\n\t\t\t\treturn luUsersDisplay(userOrUsers, { format, formatter: options.formatter });\n\t\t\t}\n\t\t\tconst separator = ('separator' in options ? options.separator : undefined) ?? ', ';\n\t\t\treturn luUsersDisplay(userOrUsers, { format, separator });\n\t\t}\n\n\t\treturn luUserDisplay(userOrUsers, format);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserDisplayPipe } from './user-display.pipe';\n\n/**\n * @deprecated use `LuUserDisplayPipe` imports && `LuUserDisplayPipe` providers instead\n */\n@NgModule({\n\timports: [LuUserDisplayPipe],\n\tproviders: [LuUserDisplayPipe],\n\texports: [LuUserDisplayPipe],\n})\nexport class LuUserDisplayModule {}\n","import { NgStyle } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, linkedSignal, ViewEncapsulation } from '@angular/core';\nimport { isNotNilOrEmptyString } from '@lucca-front/ng/core';\nimport { LU_DEFAULT_DISPLAY_POLICY, LuDisplayFormat, LuDisplayFullname, LuDisplayHybrid, LuDisplayInitials, luUserDisplay } from '../display';\n\nexport interface LuUserPictureUserInput {\n\tpicture?: { href: string } | null;\n\tpictureHref?: string | null;\n\tfirstName: string;\n\tlastName: string;\n}\n\nexport const displayPictureFormatRecord: Record<LuDisplayFormat, LuDisplayInitials> = {\n\t[LuDisplayFullname.lastfirst]: LuDisplayInitials.lastfirst,\n\t[LuDisplayInitials.lastfirst]: LuDisplayInitials.lastfirst,\n\t[LuDisplayHybrid.lastIfirstFull]: LuDisplayInitials.lastfirst,\n\t[LuDisplayHybrid.lastFullfirstI]: LuDisplayInitials.lastfirst,\n\n\t[LuDisplayFullname.last]: LuDisplayInitials.last,\n\t[LuDisplayInitials.last]: LuDisplayInitials.last,\n\n\t[LuDisplayFullname.first]: LuDisplayInitials.first,\n\t[LuDisplayInitials.first]: LuDisplayInitials.first,\n\n\t[LuDisplayFullname.firstlast]: LuDisplayInitials.firstlast,\n\t[LuDisplayInitials.firstlast]: LuDisplayInitials.firstlast,\n\t[LuDisplayHybrid.firstIlastFull]: LuDisplayInitials.firstlast,\n\t[LuDisplayHybrid.firstFulllastI]: LuDisplayInitials.firstlast,\n};\n\n/**\n * Displays user's picture or a placeholder with his/her initials and random bg color'\n */\n@Component({\n\tselector: 'lu-user-picture',\n\timports: [NgStyle],\n\ttemplateUrl: './user-picture.component.html',\n\tstyleUrl: './user-picture.component.scss',\n\thost: {\n\t\tclass: 'avatar',\n\t\t'[class.mod-AI]': 'AI()',\n\t\t'[class.mod-XS]': 'size() === \"XS\"',\n\t\t'[class.mod-S]': 'size() === \"S\"',\n\t\t'[class.mod-M]': 'size() === \"M\"',\n\t\t'[class.mod-L]': 'size() === \"L\"',\n\t\t'[class.mod-XL]': 'size() === \"XL\"',\n\t\t'[class.mod-XXL]': 'size() === \"XXL\"',\n\t\t'[class.mod-XXXL]': 'size() === \"XXXL\"',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuUserPictureComponent {\n\t/**\n\t * User Display format.\n\t * It is set to 'LU_DEFAULT_DISPLAY_POLICY' by default\n\t */\n\treadonly displayFormat = input<LuDisplayInitials>(displayPictureFormatRecord[inject(LU_DEFAULT_DISPLAY_POLICY)]);\n\n\treadonly user = input<LuUserPictureUserInput>();\n\n\treadonly AI = input(false, { transform: booleanAttribute });\n\n\treadonly size = input<'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL' | 'XXXL'>('M');\n\n\t/**\n\t * Image loading attribute\n\t * It is set to 'lazy' by default\n\t *\n\t * (more info: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#loading)\n\t */\n\treadonly imageLoadingAttribute = input<HTMLImageElement['loading']>('lazy');\n\n\treadonly initials = computed(() => luUserDisplay(this.user(), this.displayFormat()));\n\treadonly modSize = computed(() => `mod-${this.size()}`);\n\treadonly hasPicture = linkedSignal(() => isNotNilOrEmptyString(this.pictureHref()));\n\treadonly pictureHref = linkedSignal(() => {\n\t\tconst user = this.user();\n\t\treturn user?.picture?.href || user?.pictureHref || null;\n\t});\n\treadonly style = linkedSignal(() => {\n\t\tif (!this.hasPicture()) {\n\t\t\tconst hsl = this.#getNameHue();\n\t\t\treturn { 'background-color': `hsl(${hsl}, 60%, 60%)` };\n\t\t}\n\t\treturn {};\n\t});\n\treadonly #getNameHue = computed(() => {\n\t\t// we sum the chars in user's firstname + lastname\n\t\tconst charSum = luUserDisplay(this.user(), LuDisplayFullname.firstlast)\n\t\t\t.split('')\n\t\t\t.reduce((sum, a) => sum + a.charCodeAt(0), 0);\n\t\t// and take a modulo 360 for hue\n\t\treturn charSum % 360;\n\t});\n\n\tpictureError() {\n\t\tconst user = this.user();\n\t\tconst currentHref = this.pictureHref();\n\t\tconst fallbackHref = user?.pictureHref;\n\n\t\tif (isNotNilOrEmptyString(fallbackHref) && fallbackHref !== currentHref) {\n\t\t\tthis.pictureHref.set(fallbackHref);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hasPicture.set(false);\n\t\tconst hsl = this.#getNameHue();\n\t\tthis.style.set({ 'background-color': `hsl(${hsl}, 60%, 60%)` });\n\t}\n}\n","@if (hasPicture()) {\n\t<img class=\"avatar-picture\" [src]=\"pictureHref()\" alt=\"\" (error)=\"pictureError()\" [loading]=\"imageLoadingAttribute()\" />\n} @else {\n\t<div class=\"avatar-picture\" [ngStyle]=\"!AI() && style()\">\n\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials() }}</span>\n\t</div>\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, ViewEncapsulation } from '@angular/core';\nimport { LuClass } from '@lucca-front/ng/core';\nimport { LU_DEFAULT_DISPLAY_POLICY, LuDisplayFormat, LuUserDisplayPipe } from '../display/index';\nimport { displayPictureFormatRecord, LuUserPictureComponent } from '../picture/user-picture.component';\n\nexport interface LuUserTileUserInput {\n\tpicture?: { href: string } | null;\n\tpictureHref?: string | null;\n\tfirstName: string;\n\tlastName: string;\n\tjobTitle?: string | null;\n}\n\n/**\n * Displays user picture and name. LuUserTileUserInput's role can be specified, and the footer is customizable.\n */\n@Component({\n\tselector: 'lu-user-tile',\n\timports: [LuUserDisplayPipe, LuUserPictureComponent],\n\ttemplateUrl: './user-tile.component.html',\n\tstyleUrl: './user-tile.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: { class: 'userTile' },\n\tencapsulation: ViewEncapsulation.None,\n\tproviders: [LuClass],\n})\nexport class LuUserTileComponent {\n\t#luClass = inject(LuClass);\n\treadonly #defaultFormat = inject(LU_DEFAULT_DISPLAY_POLICY);\n\n\t/**\n\t * LuUserTileUserInput to display.\n\t */\n\treadonly user = input<LuUserTileUserInput>();\n\n\t/**\n\t * User Display format.\n\t * It is set to 'LU_DEFAULT_DISPLAY_POLICY' by default\n\t */\n\treadonly displayFormat = input<LuDisplayFormat>();\n\n\t/**\n\t * LuUserTileUserInput role to display\n\t */\n\treadonly role = input<string>();\n\n\t/**\n\t * Which size should the user tile be? Defaults to medium\n\t */\n\treadonly size = input<'L' | 'M' | 'S' | 'XS'>();\n\n\treadonly displayPictureFormat = computed(() => (this.displayFormat() ? displayPictureFormatRecord[this.displayFormat()] : displayPictureFormatRecord[this.#defaultFormat]));\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tthis.#luClass.setState({\n\t\t\t\t[`mod-${this.size()}`]: !!this.size(),\n\t\t\t});\n\t\t});\n\t}\n}\n","<lu-user-picture aria-hidden=\"true\" [user]=\"user()\" [displayFormat]=\"displayPictureFormat()\" />\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\" translate=\"no\">{{ user() | luUserDisplay: displayFormat() }}</div>\n\t@if (role() || user()?.jobTitle) {\n\t\t<div class=\"userTile-content-info\">{{ role() ? role() : user()?.jobTitle }}</div>\n\t}\n\t<div class=\"userTile-content-slotBottom\">\n\t\t<ng-content />\n\t</div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuUserTileComponent } from './user-tile.component';\n\n/**\n * @deprecated use `LuUserTileComponent` instead\n */\n@NgModule({\n\timports: [LuUserTileComponent],\n\texports: [LuUserTileComponent],\n})\nexport class LuUserTileModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserPictureComponent } from './user-picture.component';\n\n/**\n * @deprecated use `LuUserPictureComponent` instead\n */\n@NgModule({\n\timports: [LuUserPictureComponent],\n\texports: [LuUserPictureComponent],\n})\nexport class LuUserPictureModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { LuDisplayFullname, LuUserDisplayPipe } from '../../display/index';\nimport { ILuUser } from '../../user.model';\n\ninterface IV3CollectionResponse<T> {\n\tdata: { items: T[] };\n}\n\nexport interface ILuUserHomonymsService<U extends ILuUser = ILuUser> {\n\textractHomonyms(users: U[]): U[];\n\tenrichHomonyms(homonyms: U[]): Observable<U[]>;\n}\n\nexport abstract class ALuUserHomonymsService<U extends ILuUser = ILuUser> implements ILuUserHomonymsService<U> {\n\tabstract extractHomonyms(users: U[]): U[];\n\tabstract enrichHomonyms(homonyms: U[]): Observable<U[]>;\n}\n@Injectable()\nexport class LuUserHomonymsService<U extends ILuUser = ILuUser> extends ALuUserHomonymsService<U> implements ILuUserHomonymsService<U> {\n\tprivate _format = LuDisplayFullname.lastfirst;\n\textractHomonyms(users: U[]): U[] {\n\t\tconst usersByName = {} as { [key: string]: U[] };\n\t\tusers.forEach((user) => {\n\t\t\tconst name = this._pipe.transform(user, this._format);\n\t\t\tusersByName[name] = [...(usersByName[name] || []), user];\n\t\t});\n\n\t\tconst nonUniqNames = Object.keys(usersByName).filter((key) => usersByName[key].length > 1);\n\n\t\tconst homonyms: U[] = [];\n\t\tnonUniqNames.forEach((name) => homonyms.push(...usersByName[name]));\n\t\treturn homonyms;\n\t}\n\n\tenrichHomonyms(homonyms: U[]): Observable<U[]> {\n\t\tif (!homonyms || homonyms.length === 0) {\n\t\t\treturn of([]) as Observable<U[]>;\n\t\t}\n\t\treturn this._http\n\t\t\t.get<IV3CollectionResponse<{ id: number; department: { name: string } }>>(`/api/v3/users`, {\n\t\t\t\tparams: {\n\t\t\t\t\tid: homonyms.map((u) => u.id).join(','),\n\t\t\t\t\tfields: 'id,department.name',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((res) => res.data.items),\n\t\t\t\tmap((infos) =>\n\t\t\t\t\tinfos.map((info) => {\n\t\t\t\t\t\tconst homonym = homonyms.find((h) => h.id === info.id);\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...homonym,\n\t\t\t\t\t\t\tadditionalInformation: info.department ? info.department.name : '',\n\t\t\t\t\t\t} as U;\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\tcatchError(() => of([])),\n\t\t\t);\n\t}\n\tconstructor(\n\t\tprivate _pipe: LuUserDisplayPipe,\n\t\tprivate _http: HttpClient,\n\t) {\n\t\tsuper();\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { merge, Observable } from 'rxjs';\nimport { map, switchMap, withLatestFrom } from 'rxjs/operators';\nimport { LuUserDisplayPipe } from '../../display';\nimport { ILuUser } from '../../user.model';\nimport { ALuUserHomonymsService, ILuUserHomonymsService, LuUserHomonymsService } from './user-homonyms.service';\n\n@Component({\n\tselector: 'lu-user-homonyms',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\tLuUserDisplayPipe,\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuUserHomonymsComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserHomonymsService,\n\t\t\tuseClass: LuUserHomonymsService,\n\t\t},\n\t],\n})\nexport class LuUserHomonymsComponent<U extends ILuUser = ILuUser> implements ILuOptionOperator<U> {\n\tset inOptions$(in$: Observable<U[]>) {\n\t\tthis._outOptions$ = merge(\n\t\t\tin$,\n\t\t\tin$.pipe(\n\t\t\t\tmap((users) => this._service.extractHomonyms(users)),\n\t\t\t\tswitchMap((homonyms: U[]) => this._service.enrichHomonyms(homonyms)),\n\t\t\t\twithLatestFrom(in$),\n\t\t\t\tmap<[U[], U[]], U[]>(([enrichedUsers, users]) => {\n\t\t\t\t\tconst result = [...users];\n\t\t\t\t\tenrichedUsers.forEach((user) => {\n\t\t\t\t\t\tconst i = result.findIndex((u) => u.id === user.id);\n\t\t\t\t\t\tresult[i] = user;\n\t\t\t\t\t});\n\t\t\t\t\treturn result;\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\t}\n\tprivate _outOptions$: Observable<U[]>;\n\tget outOptions$() {\n\t\treturn this._outOptions$;\n\t}\n\tprivate _service: ILuUserHomonymsService<U>;\n\tconstructor(\n\t\t@Inject(ALuUserHomonymsService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: ILuUserHomonymsService<U>,\n\t\t@Inject(ALuUserHomonymsService)\n\t\t@Self()\n\t\tselfService: ILuUserHomonymsService<U>,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n}\n","import { ILuUser } from '../user.model';\nimport { ILuApiService, ALuApiService } from '@lucca-front/ng/api';\nimport { Observable } from 'rxjs';\n\nexport interface ILuUserService<U extends ILuUser = ILuUser> extends ILuApiService<U> {\n\tgetMe(): Observable<U>;\n}\n\nexport abstract class ALuUserService<U extends ILuUser = ILuUser> extends ALuApiService<U> implements ILuUserService<U> {\n\tabstract getMe(): Observable<U>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ILuApiResponse, ILuApiSuggestion, LuApiV3Service } from '@lucca-front/ng/api';\nimport { Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { ILuUser } from '../user.model';\nimport { ILuUserService } from './user-service.model';\n\n@Injectable()\nexport class LuUserV3Service<U extends ILuUser = ILuUser> extends LuApiV3Service<U> implements ILuUserService<U> {\n\tprotected _appInstanceId: number | string;\n\tset appInstanceId(appInstanceId: number | string) {\n\t\tthis._appInstanceId = appInstanceId;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(operations: number[]) {\n\t\tthis._operations = operations;\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t\tthis.api = '/api/v3/users/search';\n\t\tthis.fields = 'id,firstname,lastname,picture[href]';\n\t\tthis.orderBy = 'lastname,asc,firstname,asc';\n\t}\n\n\tgetMe(): Observable<U> {\n\t\treturn this._http.get<ILuApiResponse<ILuUser>>(`/api/v3/users/me?fields=id`).pipe(\n\t\t\tswitchMap((r) => this._get(this.url + `&id=${r.data.id}`)),\n\t\t\tmap((users) => users[0]),\n\t\t);\n\t}\n\n\toverride get url() {\n\t\tif (!this._appInstanceId || !this._operations || !this._operations.length) {\n\t\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\n\t\t} else {\n\t\t\treturn `/api/v3/users/scopedsearch?${[...this._filters, `appInstanceId=${this._appInstanceId}`, `operations=${this._operations.join(',')}`, this._orderBy, this._fields]\n\t\t\t\t.filter((f) => !!f)\n\t\t\t\t.join('&')}`;\n\t\t}\n\t}\n\n\t// FIXME typing\n\tprotected override _get(url: string) {\n\t\treturn (super._get(url) as unknown as Observable<ILuApiSuggestion<U>[]>).pipe(map((suggestions) => suggestions.map((s: ILuApiSuggestion<U>) => s.item)));\n\t}\n\n\tprotected override _clueFilter(clue: string) {\n\t\tconst urlSafeClue = clue\n\t\t\t.split(' ')\n\t\t\t.map((c: string) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\treturn `clue=${urlSafeClue}`;\n\t}\n}\n","import { Directive, EmbeddedViewRef, forwardRef, Inject, Input, Optional, Self, SkipSelf, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ALuOnOpenSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ALuUserService, LuUserV3Service } from '../../service/index';\nimport { ILuUser } from '../../user.model';\n\n@Directive({\n\tselector: '[luUserMeOption]',\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuUserMeOptionDirective),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserService,\n\t\t\tuseClass: LuUserV3Service,\n\t\t},\n\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserMeOptionDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuUserMeOptionDirective<U extends ILuUser = ILuUser> implements ILuOptionOperator<U> {\n\t@Input() set luUserMeOptionFields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set luUserMeOptionFilters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set luUserMeOptionOrderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set luUserMeOptionAppInstanceId(appInstanceId: number | string) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set luUserMeOptionOperations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\t@Input() set luUserMeOptionClue(clue: string) {\n\t\tif (clue) {\n\t\t\tthis.hideMe();\n\t\t} else {\n\t\t\tthis.displayMe();\n\t\t}\n\t}\n\n\tset inOptions$(in$: Observable<U[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.meDisplayed$]).pipe(map(([options, meDisplayed]) => (meDisplayed ? options?.filter((o) => o.id !== this.me?.id) : options)));\n\t}\n\toutOptions$: Observable<U[]>;\n\n\tprivate _service: LuUserV3Service<U>;\n\tprivate _viewRef: EmbeddedViewRef<{ $implicit: ILuUser }>;\n\n\tconstructor(\n\t\t@Inject(ALuUserService) @Optional() @SkipSelf() hostService: LuUserV3Service<U>,\n\t\t@Inject(ALuUserService) @Self() selfService: LuUserV3Service<U>,\n\t\tprivate _vcr: ViewContainerRef,\n\t\tprivate _templateRef: TemplateRef<{ $implicit: U }>,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n\n\tme: ILuUser = undefined;\n\tprivate meDisplayed$ = new BehaviorSubject(false);\n\tonOpen() {\n\t\tthis._service.getMe().subscribe((me) => {\n\t\t\tthis.me = me;\n\t\t\tthis.displayMe();\n\t\t});\n\t}\n\tdisplayMe() {\n\t\tif (this.me && !this.meDisplayed$.value) {\n\t\t\tthis.meDisplayed$.next(true);\n\t\t\tthis._viewRef = this._vcr.createEmbeddedView(this._templateRef, {\n\t\t\t\t$implicit: this.me,\n\t\t\t});\n\t\t}\n\t}\n\thideMe() {\n\t\tif (this.me && this.meDisplayed$.value && this._viewRef) {\n\t\t\tthis.meDisplayed$.next(false);\n\t\t\tthis._viewRef.destroy();\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserMeOptionDirective } from './me-option.directive';\n\n/**\n * @deprecated use `LuUserMeOptionDirective` instead\n */\n@NgModule({\n\timports: [LuUserMeOptionDirective],\n\texports: [LuUserMeOptionDirective],\n})\nexport class LuUserMeOptionModule {}\n","export const Translations = {\n\tpt: {\n\t\tincludeFormerEmployees: 'Incluir os trabalhadores que saíram',\n\t},\n\t'nl-BE': {\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\tnl: {\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\tit: {\n\t\tincludeFormerEmployees: 'Includere gli ex collaboratori',\n\t},\n\tfr: {\n\t\tincludeFormerEmployees: 'Inclure les collaborateurs partis',\n\t},\n\tes: {\n\t\tincludeFormerEmployees: 'Incluir a los empleados inactivos',\n\t},\n\tde: {\n\t\tincludeFormerEmployees: 'Ausgeschiedene Mitarbeitende einbeziehen',\n\t},\n\ten: {\n\t\tincludeFormerEmployees: 'Include former employees',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_USER_SEARCHER_TRANSLATIONS = new InjectionToken('LuUserSearcherTranslations', {\n\tfactory: () => luUserSearcherTranslations,\n});\n\nexport interface ILuUserSearcherLabel {\n\tincludeFormerEmployees: string;\n}\n\nexport const luUserSearcherTranslations: LuTranslation<ILuUserSearcherLabel> = Translations;\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostBinding, Inject, input, Input, OnDestroy, OnInit, Optional, Output, Self, SkipSelf, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, intlInputOptions, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { BehaviorSubject, combineLatest, merge, Observable, of, Subject, Subscription } from 'rxjs';\nimport { catchError, debounceTime, filter, map, scan, share, startWith, switchMap } from 'rxjs/operators';\nimport { ALuUserService, LuUserV3Service } from '../../service/index';\nimport { ILuUser } from '../../user.model';\nimport { LU_USER_SEARCHER_TRANSLATIONS } from './user-searcher.translate';\n\ninterface UserPagedSearcherForm {\n\tclue: string;\n\tformerEmployees: boolean;\n}\n\n@Component({\n\tselector: 'lu-user-paged-searcher',\n\ttemplateUrl: 'user-searcher.component.html',\n\tstyleUrl: 'user-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(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserService,\n\t\t\tuseClass: LuUserV3Service,\n\t\t},\n\t],\n})\nexport class LuUserPagedSearcherComponent<U extends ILuUser = ILuUser> implements OnInit, OnDestroy, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuOnCloseSubscriber {\n\tprivate _service: LuUserV3Service<U>;\n\tprivate _subs = new Subscription();\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLInputElement>;\n\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 appInstanceId(appInstanceId: number | string) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set operations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\t@Input() enableFormerEmployees = false;\n\n\t@Output() clueChange: Observable<string>;\n\n\tform: FormGroup;\n\t// page$: Subject<number>;\n\toutOptions$ = new Subject<U[]>();\n\tloading$: Observable<boolean>;\n\tempty$: Observable<boolean>;\n\tprivate _loading = false;\n\tprivate _isOpened$ = new BehaviorSubject(false);\n\tprivate _page$ = new Subject<void>();\n\tprivate _isLastPage: boolean;\n\tprivate _options: U[] = [];\n\n\tintl = input(...intlInputOptions(LU_USER_SEARCHER_TRANSLATIONS));\n\n\tconstructor(@Inject(ALuUserService) @Optional() @SkipSelf() hostService: LuUserV3Service<U>, @Inject(ALuUserService) @Self() selfService: LuUserV3Service<U>) {\n\t\tthis._service = hostService || selfService;\n\n\t\tconst clue: FormControl = new FormControl('');\n\n\t\tthis.form = new FormGroup({\n\t\t\tclue,\n\t\t\tformerEmployees: new FormControl(false),\n\t\t});\n\n\t\tthis.clueChange = clue.valueChanges as Observable<string>;\n\t}\n\n\tngOnInit() {\n\t\tconst formValue$ = this.form.valueChanges.pipe(startWith(this.form.value)) as Observable<UserPagedSearcherForm>;\n\n\t\tconst pager$ = this._page$.pipe(\n\t\t\tscan((acc) => acc + 1, 0),\n\t\t\tstartWith(0),\n\t\t);\n\n\t\tconst query$ = combineLatest([formValue$.pipe(debounceTime(250)), this._isOpened$]).pipe(\n\t\t\tfilter(([, isOpened]) => isOpened),\n\t\t\tswitchMap(([val]) => pager$.pipe(map<number, [UserPagedSearcherForm, number]>((page) => [val, page]))),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst results$ = query$.pipe(\n\t\t\tswitchMap(([val, page]) => {\n\t\t\t\tconst filters: string[] = [];\n\t\t\t\tif (val.formerEmployees) {\n\t\t\t\t\tfilters.push(`formerEmployees=true`);\n\t\t\t\t}\n\t\t\t\treturn this._service.searchPaged(val.clue, page, filters).pipe(\n\t\t\t\t\tcatchError(() => of([])),\n\t\t\t\t\tmap<U[], [U[], number]>((items) => [items, page]),\n\t\t\t\t);\n\t\t\t}),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst resultsSub = results$.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._subs.add(resultsSub);\n\n\t\tthis.loading$ = merge(query$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tconst loadingSub = this.loading$.subscribe((l) => (this._loading = l));\n\t\tthis._subs.add(loadingSub);\n\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\n\t}\n\tngOnDestroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis._isOpened$.next(true);\n\t}\n\tonScrollBottom() {\n\t\tif (!this._loading && !this._isLastPage) {\n\t\t\tthis._page$.next();\n\t\t}\n\t}\n\tonClose() {\n\t\tthis._isOpened$.next(false);\n\t\tthis.outOptions$.next([]);\n\t\tthis.reset();\n\t}\n\n\treset() {\n\t\tif (this.form.dirty) {\n\t\t\tthis.form.reset();\n\t\t}\n\t}\n}\n","<form [formGroup]=\"form\">\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t\t<input #searchInput class=\"textfield-input\" formControlName=\"clue\" />\n\t</div>\n\n\t@if (enableFormerEmployees) {\n\t\t<label class=\"checkbox mod-formerEmployee mod-S\">\n\t\t\t<input class=\"checkbox-input\" type=\"checkbox\" formControlName=\"formerEmployees\" />\n\t\t\t<span class=\"checkbox-label\">{{ intl().includeFormerEmployees }}</span>\n\t\t</label>\n\t}\n</form>\n\n@if ((empty$ | async) && (loading$ | async) === false) {\n\t<lu-option-placeholder (onClear)=\"reset()\" />\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserPagedSearcherComponent } from './user-searcher.component';\n\n/**\n * @deprecated use `LuUserPagedSearcherComponent` instead\n */\n@NgModule({\n\timports: [LuUserPagedSearcherComponent],\n\texports: [LuUserPagedSearcherComponent],\n})\nexport class LuUserSearcherModule {}\n","export const Translations = {\n\tpt: {\n\t\tusers: 'utilizadores',\n\t\tme: 'Eu:',\n\t},\n\t'nl-BE': {\n\t\tusers: 'gebruikers',\n\t\tme: 'Ik:',\n\t},\n\tnl: {\n\t\tusers: 'gebruikers',\n\t\tme: 'Ik:',\n\t},\n\tit: {\n\t\tusers: 'utenti',\n\t\tme: 'Io:',\n\t},\n\tfr: {\n\t\tusers: 'utilisateurs',\n\t\tme: 'Moi :',\n\t},\n\tes: {\n\t\tusers: 'usuarios',\n\t\tme: 'Yo:',\n\t},\n\tde: {\n\t\tusers: 'Benutzer',\n\t\tme: 'Ich:',\n\t},\n\ten: {\n\t\tusers: 'users',\n\t\tme: 'Me:',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_USER_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuUserSelectTranslations', {\n\tfactory: () => luUserSelectInputTranslations,\n});\n\nexport interface ILuUserSelectInputLabel {\n\tusers: string;\n\tme: string;\n}\n\nexport const luUserSelectInputTranslations: LuTranslation<ILuUserSelectInputLabel> = Translations;\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, input, Input, Renderer2, ViewContainerRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClearComponent } from '@lucca-front/ng/clear';\nimport { intlInputOptions } from '@lucca-front/ng/core';\nimport { LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { LuForOptionsDirective, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { LuDisplayFullname, LuUserDisplayPipe } from '../../display';\nimport { LuUserHomonymsComponent } from '../homonyms';\nimport { LuUserMeOptionDirective } from '../me';\nimport { LuUserPagedSearcherComponent } from '../searcher';\nimport { LU_USER_SELECT_INPUT_TRANSLATIONS } from './user-select-input.translate';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@Component({\n\tselector: 'lu-user-select',\n\ttemplateUrl: './user-select-input.component.html',\n\tstyleUrl: './user-select-input.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tOverlayModule,\n\t\tClearComponent,\n\t\tLuInputDisplayerDirective,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuUserPagedSearcherComponent,\n\t\tLuUserHomonymsComponent,\n\t\tLuOptionItemComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuUserMeOptionDirective,\n\t\tLuForOptionsDirective,\n\t\tLuUserDisplayPipe,\n\t],\n\tproviders: [\n\t\tLuUserDisplayPipe,\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuUserSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuUserSelectInputComponent<U extends import('../../user.model').ILuUser = import('../../user.model').ILuUser>\n\textends ALuSelectInputComponent<U>\n\timplements ControlValueAccessor, ILuInputWithPicker<U>, AfterViewInit\n{\n\tsearchFormat = LuDisplayFullname.lastfirst;\n\n\t@Input('placeholder')\n\toverride set inputPlaceholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\n\t@Input() fields: string;\n\t@Input() filters: string[];\n\t@Input() orderBy: string;\n\t@Input() appInstanceId: number | string;\n\t@Input() operations: number[];\n\t@Input() enableFormerEmployees = false;\n\t@Input() disablePrincipal = false;\n\n\tclue = '';\n\n\tbyId: LuOptionComparer<U> = (option1: U, option2: U) => option1 && option2 && option1.id === option2.id;\n\n\tintl = input(...intlInputOptions(LU_USER_SELECT_INPUT_TRANSLATIONS));\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n}\n","<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<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t@if (multiple && values?.length > 1) {\n\t\t<span\n\t\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl().users }}</span\n\t\t>\n\t} @else {\n\t\t{{ values[0] || values | luUserDisplay }}\n\t}\n</ng-template>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-user-paged-searcher\n\t\t\t[fields]=\"fields\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[orderBy]=\"orderBy\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[enableFormerEmployees]=\"enableFormerEmployees\"\n\t\t\t(clueChange)=\"clue = $event\"\n\t\t/>\n\t</header>\n\t<lu-user-homonyms />\n\t@if (!disablePrincipal) {\n\t\t<lu-option\n\t\t\t*luUserMeOption=\"\n\t\t\t\tlet user;\n\t\t\t\tfields: fields;\n\t\t\t\tfilters: filters;\n\t\t\t\torderBy: orderBy;\n\t\t\t\tappInstanceId: appInstanceId;\n\t\t\t\toperations: operations;\n\t\t\t\tclue: clue\n\t\t\t\"\n\t\t\t[value]=\"user\"\n\t\t>\n\t\t\t<div>\n\t\t\t\t<b>{{ intl().me }} {{ user | luUserDisplay: searchFormat }}</b>\n\t\t\t</div>\n\t\t\t@if (user.additionalInformation) {\n\t\t\t\t<div class=\"lu-select-additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t\t}\n\t\t</lu-option>\n\t}\n\n\t<lu-option *luForOptions=\"let user\" [value]=\"user\">\n\t\t<div>{{ user | luUserDisplay: searchFormat }}</div>\n\t\t@if (user.additionalInformation) {\n\t\t\t<div class=\"lu-select-additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t}\n\t</lu-option>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuUserSelectInputComponent } from './user-select-input.component';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@NgModule({\n\timports: [LuUserSelectInputComponent],\n\texports: [LuUserSelectInputComponent],\n})\nexport class LuUserSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserHomonymsComponent } from './homonyms/index';\nimport { LuUserSelectInputModule } from './input/index';\nimport { LuUserMeOptionModule } from './me/index';\nimport { LuUserSearcherModule } from './searcher/index';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@NgModule({\n\timports: [LuUserSelectInputModule, LuUserSearcherModule, LuUserHomonymsComponent, LuUserMeOptionModule],\n\texports: [LuUserSelectInputModule, LuUserSearcherModule, LuUserHomonymsComponent, LuUserMeOptionModule],\n})\nexport class LuUserSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserDisplayModule } from './display/index';\nimport { LuUserPictureModule } from './picture/index';\nimport { LuUserSelectModule } from './select/index';\nimport { LuUserTileModule } from './tile/index';\n\n/**\n * @deprecated use `LuUserDisplayPipe, LuUserPictureComponent, LuUserTileComponent` instead\n */\n@NgModule({\n\timports: [LuUserDisplayModule, LuUserPictureModule, LuUserTileModule, LuUserSelectModule],\n\texports: [LuUserDisplayModule, LuUserPictureModule, LuUserTileModule, LuUserSelectModule],\n})\nexport class LuUserModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuUserDisplayPipe","i1","Translations"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-user.mjs","sources":["../../../packages/ng/user/display/display-format.model.ts","../../../packages/ng/user/display/user-display.pipe.ts","../../../packages/ng/user/display/user-display.module.ts","../../../packages/ng/user/picture/user-picture.component.ts","../../../packages/ng/user/picture/user-picture.component.html","../../../packages/ng/user/tile/user-tile.component.ts","../../../packages/ng/user/tile/user-tile.component.html","../../../packages/ng/user/tile/user-tile.module.ts","../../../packages/ng/user/picture/user-picture.module.ts","../../../packages/ng/user/select/homonyms/user-homonyms.service.ts","../../../packages/ng/user/select/homonyms/user-homonyms.component.ts","../../../packages/ng/user/service/user-service.model.ts","../../../packages/ng/user/service/user-v3.service.ts","../../../packages/ng/user/select/me/me-option.directive.ts","../../../packages/ng/user/select/me/me-option.module.ts","../../../packages/ng/user/select/searcher/translations.ts","../../../packages/ng/user/select/searcher/user-searcher.translate.ts","../../../packages/ng/user/select/searcher/user-searcher.component.ts","../../../packages/ng/user/select/searcher/user-searcher.component.html","../../../packages/ng/user/select/searcher/user-searcher.module.ts","../../../packages/ng/user/select/input/translations.ts","../../../packages/ng/user/select/input/user-select-input.translate.ts","../../../packages/ng/user/select/input/user-select-input.component.ts","../../../packages/ng/user/select/input/user-select-input.component.html","../../../packages/ng/user/select/input/user-select-input.module.ts","../../../packages/ng/user/select/user-select.module.ts","../../../packages/ng/user/user.module.ts","../../../packages/ng/user/lucca-front-ng-user.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { EnumValue } from '@lucca-front/ng/core';\n\nexport enum LuDisplayFullname {\n\tfirstlast = 'fl',\n\tlastfirst = 'lf',\n\tfirst = 'f',\n\tlast = 'l',\n}\n\nexport enum LuDisplayInitials {\n\tfirstlast = 'FL',\n\tlastfirst = 'LF',\n\tlast = 'L',\n\tfirst = 'F',\n}\n\nexport enum LuDisplayHybrid {\n\tfirstIlastFull = 'Fl',\n\tfirstFulllastI = 'fL',\n\tlastIfirstFull = 'Lf',\n\tlastFullfirstI = 'lF',\n}\n\nexport type LuDisplayFormat = EnumValue<typeof LuDisplayFullname> | EnumValue<typeof LuDisplayInitials> | EnumValue<typeof LuDisplayHybrid>;\n\n/** Injection token that can be used to change the default displayed user format. */\nexport const LU_DEFAULT_DISPLAY_POLICY = new InjectionToken<LuDisplayFormat>('LuDisplayFormat', { factory: () => LuDisplayFullname.lastfirst });\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { LU_DEFAULT_DISPLAY_POLICY, LuDisplayFormat, LuDisplayFullname, LuDisplayHybrid, LuDisplayInitials } from './display-format.model';\n\nfunction getFirstCharacter([firstCharacter]: string): string {\n\treturn firstCharacter ?? '';\n}\n\nfunction isNotEmptyString(value: string): boolean {\n\treturn value?.length > 0;\n}\n\nexport interface LuUserDisplayInput {\n\tfirstName: string;\n\tlastName: string;\n}\n\nconst formatUser: Record<LuDisplayFormat, (user: LuUserDisplayInput) => string> = {\n\t[LuDisplayFullname.lastfirst]: ({ firstName, lastName }) => [lastName, firstName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayFullname.firstlast]: ({ firstName, lastName }) => [firstName, lastName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayFullname.first]: ({ firstName }) => firstName,\n\t[LuDisplayFullname.last]: ({ lastName }) => lastName,\n\t[LuDisplayInitials.lastfirst]: ({ firstName, lastName }) => [getFirstCharacter(lastName), getFirstCharacter(firstName)].filter(isNotEmptyString).join(''),\n\t[LuDisplayInitials.firstlast]: ({ firstName, lastName }) => [getFirstCharacter(firstName), getFirstCharacter(lastName)].filter(isNotEmptyString).join(''),\n\t[LuDisplayInitials.first]: ({ firstName }) => getFirstCharacter(firstName),\n\t[LuDisplayInitials.last]: ({ lastName }) => getFirstCharacter(lastName),\n\t[LuDisplayHybrid.lastIfirstFull]: ({ firstName, lastName }) => [isNotEmptyString(lastName) ? getFirstCharacter(lastName) + '.' : '', firstName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.firstIlastFull]: ({ firstName, lastName }) => [isNotEmptyString(firstName) ? getFirstCharacter(firstName) + '.' : '', lastName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.lastFullfirstI]: ({ firstName, lastName }) => [lastName, firstName ? getFirstCharacter(firstName) + '.' : ''].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.firstFulllastI]: ({ firstName, lastName }) => [firstName, lastName ? getFirstCharacter(lastName) + '.' : ''].filter(isNotEmptyString).join(' '),\n};\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\nexport function luUserDisplay(user?: LuUserDisplayInput, format: LuDisplayFormat = LuDisplayFullname.lastfirst): string {\n\tif (!user) {\n\t\treturn '';\n\t}\n\treturn formatUser[format](user);\n}\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\nexport function luUsersDisplay(users: LuUserDisplayInput[], options: LuUserDisplayMultipleOptions): string {\n\tconst usersStringified = users.map((u) => luUserDisplay(u, options.format));\n\tif ('separator' in options) {\n\t\treturn usersStringified.join(options.separator);\n\t}\n\treturn options.formatter.format(usersStringified);\n}\n\nexport type LuUserDisplaySingleOptions = LuDisplayFormat | { format: LuDisplayFormat };\n\nexport type LuUserDisplayMultipleOptions =\n\t| { format: LuDisplayFormat; separator: string }\n\t| {\n\t\t\tformat: LuDisplayFormat;\n\t\t\tformatter: Intl.ListFormat;\n\t };\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\n@Pipe({ name: 'luUserDisplay', standalone: true })\nexport class LuUserDisplayPipe implements PipeTransform {\n\tprivate readonly defaultFormat = inject(LU_DEFAULT_DISPLAY_POLICY);\n\n\tpublic transform<T extends LuUserDisplayInput>(user: T, options?: Partial<LuUserDisplaySingleOptions>): string;\n\tpublic transform<T extends LuUserDisplayInput>(users: T[], options?: Partial<LuUserDisplayMultipleOptions>): string;\n\tpublic transform<T extends LuUserDisplayInput>(userOrUsers: T | T[], options?: Partial<LuUserDisplaySingleOptions> | Partial<LuUserDisplayMultipleOptions>): string {\n\t\tif (userOrUsers == null) {\n\t\t\tthrow new Error(\"Parameter 'userOrUsers' must be a user or a user array\");\n\t\t}\n\n\t\toptions = typeof options === 'string' ? { format: options } : options || {};\n\n\t\tconst format = options.format ?? this.defaultFormat;\n\n\t\tif (Array.isArray(userOrUsers)) {\n\t\t\tif ('formatter' in options && options.formatter) {\n\t\t\t\treturn luUsersDisplay(userOrUsers, { format, formatter: options.formatter });\n\t\t\t}\n\t\t\tconst separator = ('separator' in options ? options.separator : undefined) ?? ', ';\n\t\t\treturn luUsersDisplay(userOrUsers, { format, separator });\n\t\t}\n\n\t\treturn luUserDisplay(userOrUsers, format);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserDisplayPipe } from './user-display.pipe';\n\n/**\n * @deprecated use `LuUserDisplayPipe` imports && `LuUserDisplayPipe` providers instead\n */\n@NgModule({\n\timports: [LuUserDisplayPipe],\n\tproviders: [LuUserDisplayPipe],\n\texports: [LuUserDisplayPipe],\n})\nexport class LuUserDisplayModule {}\n","import { NgStyle } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, linkedSignal, ViewEncapsulation } from '@angular/core';\nimport { isNotNilOrEmptyString } from '@lucca-front/ng/core';\nimport { LU_DEFAULT_DISPLAY_POLICY, LuDisplayFormat, LuDisplayFullname, LuDisplayHybrid, LuDisplayInitials, luUserDisplay } from '../display';\n\nexport interface LuUserPictureUserInput {\n\tpicture?: { href: string } | null;\n\tpictureHref?: string | null;\n\tfirstName: string;\n\tlastName: string;\n}\n\nexport const displayPictureFormatRecord: Record<LuDisplayFormat, LuDisplayInitials> = {\n\t[LuDisplayFullname.lastfirst]: LuDisplayInitials.lastfirst,\n\t[LuDisplayInitials.lastfirst]: LuDisplayInitials.lastfirst,\n\t[LuDisplayHybrid.lastIfirstFull]: LuDisplayInitials.lastfirst,\n\t[LuDisplayHybrid.lastFullfirstI]: LuDisplayInitials.lastfirst,\n\n\t[LuDisplayFullname.last]: LuDisplayInitials.last,\n\t[LuDisplayInitials.last]: LuDisplayInitials.last,\n\n\t[LuDisplayFullname.first]: LuDisplayInitials.first,\n\t[LuDisplayInitials.first]: LuDisplayInitials.first,\n\n\t[LuDisplayFullname.firstlast]: LuDisplayInitials.firstlast,\n\t[LuDisplayInitials.firstlast]: LuDisplayInitials.firstlast,\n\t[LuDisplayHybrid.firstIlastFull]: LuDisplayInitials.firstlast,\n\t[LuDisplayHybrid.firstFulllastI]: LuDisplayInitials.firstlast,\n} as const satisfies Record<LuDisplayFormat, LuDisplayInitials>;\n\n/**\n * Displays user's picture or a placeholder with his/her initials and random bg color'\n */\n@Component({\n\tselector: 'lu-user-picture',\n\timports: [NgStyle],\n\ttemplateUrl: './user-picture.component.html',\n\tstyleUrl: './user-picture.component.scss',\n\thost: {\n\t\tclass: 'avatar',\n\t\t'[class.mod-AI]': 'AI()',\n\t\t'[class.mod-XS]': 'size() === \"XS\"',\n\t\t'[class.mod-S]': 'size() === \"S\"',\n\t\t'[class.mod-M]': 'size() === \"M\"',\n\t\t'[class.mod-L]': 'size() === \"L\"',\n\t\t'[class.mod-XL]': 'size() === \"XL\"',\n\t\t'[class.mod-XXL]': 'size() === \"XXL\"',\n\t\t'[class.mod-XXXL]': 'size() === \"XXXL\"',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuUserPictureComponent {\n\t/**\n\t * User Display format.\n\t * It is set to 'LU_DEFAULT_DISPLAY_POLICY' by default\n\t */\n\treadonly displayFormat = input<LuDisplayInitials>(displayPictureFormatRecord[inject(LU_DEFAULT_DISPLAY_POLICY)]);\n\n\treadonly user = input<LuUserPictureUserInput>();\n\n\treadonly AI = input(false, { transform: booleanAttribute });\n\n\treadonly size = input<'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL' | 'XXXL'>('M');\n\n\t/**\n\t * Image loading attribute\n\t * It is set to 'lazy' by default\n\t *\n\t * (more info: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#loading)\n\t */\n\treadonly imageLoadingAttribute = input<HTMLImageElement['loading']>('lazy');\n\n\treadonly initials = computed(() => luUserDisplay(this.user(), this.displayFormat()));\n\treadonly modSize = computed(() => `mod-${this.size()}`);\n\treadonly hasPicture = linkedSignal(() => isNotNilOrEmptyString(this.pictureHref()));\n\treadonly pictureHref = linkedSignal(() => {\n\t\tconst user = this.user();\n\t\treturn user?.picture?.href || user?.pictureHref || null;\n\t});\n\treadonly style = linkedSignal(() => {\n\t\tif (!this.hasPicture()) {\n\t\t\tconst hsl = this.#getNameHue();\n\t\t\treturn { 'background-color': `hsl(${hsl}, 60%, 60%)` };\n\t\t}\n\t\treturn {};\n\t});\n\treadonly #getNameHue = computed(() => {\n\t\t// we sum the chars in user's firstname + lastname\n\t\tconst charSum = luUserDisplay(this.user(), LuDisplayFullname.firstlast)\n\t\t\t.split('')\n\t\t\t.reduce((sum, a) => sum + a.charCodeAt(0), 0);\n\t\t// and take a modulo 360 for hue\n\t\treturn charSum % 360;\n\t});\n\n\tpictureError() {\n\t\tconst user = this.user();\n\t\tconst currentHref = this.pictureHref();\n\t\tconst fallbackHref = user?.pictureHref;\n\n\t\tif (isNotNilOrEmptyString(fallbackHref) && fallbackHref !== currentHref) {\n\t\t\tthis.pictureHref.set(fallbackHref);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hasPicture.set(false);\n\t\tconst hsl = this.#getNameHue();\n\t\tthis.style.set({ 'background-color': `hsl(${hsl}, 60%, 60%)` });\n\t}\n}\n","@if (hasPicture()) {\n\t<img class=\"avatar-picture\" [src]=\"pictureHref()\" alt=\"\" (error)=\"pictureError()\" [loading]=\"imageLoadingAttribute()\" />\n} @else {\n\t<div class=\"avatar-picture\" [ngStyle]=\"!AI() && style()\">\n\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials() }}</span>\n\t</div>\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, ViewEncapsulation } from '@angular/core';\nimport { LuClass } from '@lucca-front/ng/core';\nimport { LU_DEFAULT_DISPLAY_POLICY, LuDisplayFormat, LuUserDisplayPipe } from '../display/index';\nimport { displayPictureFormatRecord, LuUserPictureComponent } from '../picture/user-picture.component';\n\nexport interface LuUserTileUserInput {\n\tpicture?: { href: string } | null;\n\tpictureHref?: string | null;\n\tfirstName: string;\n\tlastName: string;\n\tjobTitle?: string | null;\n}\n\n/**\n * Displays user picture and name. LuUserTileUserInput's role can be specified, and the footer is customizable.\n */\n@Component({\n\tselector: 'lu-user-tile',\n\timports: [LuUserDisplayPipe, LuUserPictureComponent],\n\ttemplateUrl: './user-tile.component.html',\n\tstyleUrl: './user-tile.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: { class: 'userTile' },\n\tencapsulation: ViewEncapsulation.None,\n\tproviders: [LuClass],\n})\nexport class LuUserTileComponent {\n\t#luClass = inject(LuClass);\n\treadonly #defaultFormat = inject(LU_DEFAULT_DISPLAY_POLICY);\n\n\t/**\n\t * LuUserTileUserInput to display.\n\t */\n\treadonly user = input<LuUserTileUserInput>();\n\n\t/**\n\t * User Display format.\n\t * It is set to 'LU_DEFAULT_DISPLAY_POLICY' by default\n\t */\n\treadonly displayFormat = input<LuDisplayFormat>(this.#defaultFormat);\n\n\t/**\n\t * LuUserTileUserInput role to display\n\t */\n\treadonly role = input<string>();\n\n\t/**\n\t * Which size should the user tile be? Defaults to medium\n\t */\n\treadonly size = input<'L' | 'M' | 'S' | 'XS'>();\n\n\treadonly displayPictureFormat = computed(() => displayPictureFormatRecord[this.displayFormat() ?? this.#defaultFormat]);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tthis.#luClass.setState({\n\t\t\t\t[`mod-${this.size()}`]: !!this.size(),\n\t\t\t});\n\t\t});\n\t}\n}\n","<lu-user-picture aria-hidden=\"true\" [user]=\"user()\" [displayFormat]=\"displayPictureFormat()\" />\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\" translate=\"no\">{{ user() | luUserDisplay: displayFormat() }}</div>\n\t@if (role() || user()?.jobTitle) {\n\t\t<div class=\"userTile-content-info\">{{ role() ? role() : user()?.jobTitle }}</div>\n\t}\n\t<div class=\"userTile-content-slotBottom\">\n\t\t<ng-content />\n\t</div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuUserTileComponent } from './user-tile.component';\n\n/**\n * @deprecated use `LuUserTileComponent` instead\n */\n@NgModule({\n\timports: [LuUserTileComponent],\n\texports: [LuUserTileComponent],\n})\nexport class LuUserTileModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserPictureComponent } from './user-picture.component';\n\n/**\n * @deprecated use `LuUserPictureComponent` instead\n */\n@NgModule({\n\timports: [LuUserPictureComponent],\n\texports: [LuUserPictureComponent],\n})\nexport class LuUserPictureModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { LuDisplayFullname, LuUserDisplayPipe } from '../../display/index';\nimport { ILuUser } from '../../user.model';\n\ninterface IV3CollectionResponse<T> {\n\tdata: { items: T[] };\n}\n\nexport interface ILuUserHomonymsService<U extends ILuUser = ILuUser> {\n\textractHomonyms(users: U[]): U[];\n\tenrichHomonyms(homonyms: U[]): Observable<U[]>;\n}\n\nexport abstract class ALuUserHomonymsService<U extends ILuUser = ILuUser> implements ILuUserHomonymsService<U> {\n\tabstract extractHomonyms(users: U[]): U[];\n\tabstract enrichHomonyms(homonyms: U[]): Observable<U[]>;\n}\n@Injectable()\nexport class LuUserHomonymsService<U extends ILuUser = ILuUser> extends ALuUserHomonymsService<U> implements ILuUserHomonymsService<U> {\n\tprivate _format = LuDisplayFullname.lastfirst;\n\textractHomonyms(users: U[]): U[] {\n\t\tconst usersByName = {} as { [key: string]: U[] };\n\t\tusers.forEach((user) => {\n\t\t\tconst name = this._pipe.transform(user, this._format);\n\t\t\tusersByName[name] = [...(usersByName[name] || []), user];\n\t\t});\n\n\t\tconst nonUniqNames = Object.keys(usersByName).filter((key) => usersByName[key].length > 1);\n\n\t\tconst homonyms: U[] = [];\n\t\tnonUniqNames.forEach((name) => homonyms.push(...usersByName[name]));\n\t\treturn homonyms;\n\t}\n\n\tenrichHomonyms(homonyms: U[]): Observable<U[]> {\n\t\tif (!homonyms || homonyms.length === 0) {\n\t\t\treturn of([]) as Observable<U[]>;\n\t\t}\n\t\treturn this._http\n\t\t\t.get<IV3CollectionResponse<{ id: number; department: { name: string } }>>(`/api/v3/users`, {\n\t\t\t\tparams: {\n\t\t\t\t\tid: homonyms.map((u) => u.id).join(','),\n\t\t\t\t\tfields: 'id,department.name',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((res) => res.data.items),\n\t\t\t\tmap((infos) =>\n\t\t\t\t\tinfos.map((info) => {\n\t\t\t\t\t\tconst homonym = homonyms.find((h) => h.id === info.id);\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...homonym,\n\t\t\t\t\t\t\tadditionalInformation: info.department ? info.department.name : '',\n\t\t\t\t\t\t} as U;\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\tcatchError(() => of([])),\n\t\t\t);\n\t}\n\tconstructor(\n\t\tprivate _pipe: LuUserDisplayPipe,\n\t\tprivate _http: HttpClient,\n\t) {\n\t\tsuper();\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { merge, Observable } from 'rxjs';\nimport { map, switchMap, withLatestFrom } from 'rxjs/operators';\nimport { LuUserDisplayPipe } from '../../display';\nimport { ILuUser } from '../../user.model';\nimport { ALuUserHomonymsService, ILuUserHomonymsService, LuUserHomonymsService } from './user-homonyms.service';\n\n@Component({\n\tselector: 'lu-user-homonyms',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\tLuUserDisplayPipe,\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuUserHomonymsComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserHomonymsService,\n\t\t\tuseClass: LuUserHomonymsService,\n\t\t},\n\t],\n})\nexport class LuUserHomonymsComponent<U extends ILuUser = ILuUser> implements ILuOptionOperator<U> {\n\tset inOptions$(in$: Observable<U[]>) {\n\t\tthis._outOptions$ = merge(\n\t\t\tin$,\n\t\t\tin$.pipe(\n\t\t\t\tmap((users) => this._service.extractHomonyms(users)),\n\t\t\t\tswitchMap((homonyms: U[]) => this._service.enrichHomonyms(homonyms)),\n\t\t\t\twithLatestFrom(in$),\n\t\t\t\tmap<[U[], U[]], U[]>(([enrichedUsers, users]) => {\n\t\t\t\t\tconst result = [...users];\n\t\t\t\t\tenrichedUsers.forEach((user) => {\n\t\t\t\t\t\tconst i = result.findIndex((u) => u.id === user.id);\n\t\t\t\t\t\tresult[i] = user;\n\t\t\t\t\t});\n\t\t\t\t\treturn result;\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\t}\n\tprivate _outOptions$: Observable<U[]>;\n\tget outOptions$() {\n\t\treturn this._outOptions$;\n\t}\n\tprivate _service: ILuUserHomonymsService<U>;\n\tconstructor(\n\t\t@Inject(ALuUserHomonymsService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: ILuUserHomonymsService<U>,\n\t\t@Inject(ALuUserHomonymsService)\n\t\t@Self()\n\t\tselfService: ILuUserHomonymsService<U>,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n}\n","import { ILuUser } from '../user.model';\nimport { ILuApiService, ALuApiService } from '@lucca-front/ng/api';\nimport { Observable } from 'rxjs';\n\nexport interface ILuUserService<U extends ILuUser = ILuUser> extends ILuApiService<U> {\n\tgetMe(): Observable<U>;\n}\n\nexport abstract class ALuUserService<U extends ILuUser = ILuUser> extends ALuApiService<U> implements ILuUserService<U> {\n\tabstract getMe(): Observable<U>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ILuApiResponse, ILuApiSuggestion, LuApiV3Service } from '@lucca-front/ng/api';\nimport { Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { ILuUser } from '../user.model';\nimport { ILuUserService } from './user-service.model';\n\n@Injectable()\nexport class LuUserV3Service<U extends ILuUser = ILuUser> extends LuApiV3Service<U> implements ILuUserService<U> {\n\tprotected _appInstanceId: number | string;\n\tset appInstanceId(appInstanceId: number | string) {\n\t\tthis._appInstanceId = appInstanceId;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(operations: number[]) {\n\t\tthis._operations = operations;\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t\tthis.api = '/api/v3/users/search';\n\t\tthis.fields = 'id,firstname,lastname,picture[href]';\n\t\tthis.orderBy = 'lastname,asc,firstname,asc';\n\t}\n\n\tgetMe(): Observable<U> {\n\t\treturn this._http.get<ILuApiResponse<ILuUser>>(`/api/v3/users/me?fields=id`).pipe(\n\t\t\tswitchMap((r) => this._get(this.url + `&id=${r.data.id}`)),\n\t\t\tmap((users) => users[0]),\n\t\t);\n\t}\n\n\toverride get url() {\n\t\tif (!this._appInstanceId || !this._operations || !this._operations.length) {\n\t\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\n\t\t} else {\n\t\t\treturn `/api/v3/users/scopedsearch?${[...this._filters, `appInstanceId=${this._appInstanceId}`, `operations=${this._operations.join(',')}`, this._orderBy, this._fields]\n\t\t\t\t.filter((f) => !!f)\n\t\t\t\t.join('&')}`;\n\t\t}\n\t}\n\n\t// FIXME typing\n\tprotected override _get(url: string) {\n\t\treturn (super._get(url) as unknown as Observable<ILuApiSuggestion<U>[]>).pipe(map((suggestions) => suggestions.map((s: ILuApiSuggestion<U>) => s.item)));\n\t}\n\n\tprotected override _clueFilter(clue: string) {\n\t\tconst urlSafeClue = clue\n\t\t\t.split(' ')\n\t\t\t.map((c: string) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\treturn `clue=${urlSafeClue}`;\n\t}\n}\n","import { Directive, EmbeddedViewRef, forwardRef, Inject, Input, Optional, Self, SkipSelf, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ALuOnOpenSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ALuUserService, LuUserV3Service } from '../../service/index';\nimport { ILuUser } from '../../user.model';\n\n@Directive({\n\tselector: '[luUserMeOption]',\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuUserMeOptionDirective),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserService,\n\t\t\tuseClass: LuUserV3Service,\n\t\t},\n\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserMeOptionDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuUserMeOptionDirective<U extends ILuUser = ILuUser> implements ILuOptionOperator<U> {\n\t@Input() set luUserMeOptionFields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set luUserMeOptionFilters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set luUserMeOptionOrderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set luUserMeOptionAppInstanceId(appInstanceId: number | string) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set luUserMeOptionOperations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\t@Input() set luUserMeOptionClue(clue: string) {\n\t\tif (clue) {\n\t\t\tthis.hideMe();\n\t\t} else {\n\t\t\tthis.displayMe();\n\t\t}\n\t}\n\n\tset inOptions$(in$: Observable<U[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.meDisplayed$]).pipe(map(([options, meDisplayed]) => (meDisplayed ? options?.filter((o) => o.id !== this.me?.id) : options)));\n\t}\n\toutOptions$: Observable<U[]>;\n\n\tprivate _service: LuUserV3Service<U>;\n\tprivate _viewRef: EmbeddedViewRef<{ $implicit: U }>;\n\n\tconstructor(\n\t\t@Inject(ALuUserService) @Optional() @SkipSelf() hostService: LuUserV3Service<U>,\n\t\t@Inject(ALuUserService) @Self() selfService: LuUserV3Service<U>,\n\t\tprivate _vcr: ViewContainerRef,\n\t\tprivate _templateRef: TemplateRef<{ $implicit: U }>,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n\n\tme: U | undefined = undefined;\n\tprivate readonly meDisplayed$ = new BehaviorSubject(false);\n\tonOpen() {\n\t\tthis._service.getMe().subscribe((me) => {\n\t\t\tthis.me = me;\n\t\t\tthis.displayMe();\n\t\t});\n\t}\n\tdisplayMe() {\n\t\tif (this.me && !this.meDisplayed$.value) {\n\t\t\tthis.meDisplayed$.next(true);\n\t\t\tthis._viewRef = this._vcr.createEmbeddedView(this._templateRef, {\n\t\t\t\t$implicit: this.me,\n\t\t\t});\n\t\t}\n\t}\n\thideMe() {\n\t\tif (this.me && this.meDisplayed$.value && this._viewRef) {\n\t\t\tthis.meDisplayed$.next(false);\n\t\t\tthis._viewRef.destroy();\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserMeOptionDirective } from './me-option.directive';\n\n/**\n * @deprecated use `LuUserMeOptionDirective` instead\n */\n@NgModule({\n\timports: [LuUserMeOptionDirective],\n\texports: [LuUserMeOptionDirective],\n})\nexport class LuUserMeOptionModule {}\n","export const Translations = {\n\tpt: {\n\t\tincludeFormerEmployees: 'Incluir os trabalhadores que saíram',\n\t},\n\t'nl-BE': {\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\tnl: {\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\tit: {\n\t\tincludeFormerEmployees: 'Includere gli ex collaboratori',\n\t},\n\tfr: {\n\t\tincludeFormerEmployees: 'Inclure les collaborateurs partis',\n\t},\n\tes: {\n\t\tincludeFormerEmployees: 'Incluir a los empleados inactivos',\n\t},\n\tde: {\n\t\tincludeFormerEmployees: 'Ausgeschiedene Mitarbeitende einbeziehen',\n\t},\n\ten: {\n\t\tincludeFormerEmployees: 'Include former employees',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_USER_SEARCHER_TRANSLATIONS = new InjectionToken('LuUserSearcherTranslations', {\n\tfactory: () => luUserSearcherTranslations,\n});\n\nexport interface ILuUserSearcherLabel {\n\tincludeFormerEmployees: string;\n}\n\nexport const luUserSearcherTranslations: LuTranslation<ILuUserSearcherLabel> = Translations;\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostBinding, Inject, input, Input, OnDestroy, OnInit, Optional, Output, Self, SkipSelf, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, intlInputOptions } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { BehaviorSubject, combineLatest, merge, Observable, of, Subject, Subscription } from 'rxjs';\nimport { catchError, debounceTime, filter, map, scan, share, startWith, switchMap } from 'rxjs/operators';\nimport { ALuUserService, LuUserV3Service } from '../../service/index';\nimport { ILuUser } from '../../user.model';\nimport { LU_USER_SEARCHER_TRANSLATIONS } from './user-searcher.translate';\n\ninterface UserPagedSearcherForm {\n\tclue: string;\n\tformerEmployees: boolean;\n}\n\n@Component({\n\tselector: 'lu-user-paged-searcher',\n\ttemplateUrl: 'user-searcher.component.html',\n\tstyleUrl: 'user-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(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserService,\n\t\t\tuseClass: LuUserV3Service,\n\t\t},\n\t],\n})\nexport class LuUserPagedSearcherComponent<U extends ILuUser = ILuUser> implements OnInit, OnDestroy, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuOnCloseSubscriber {\n\tprivate _service: LuUserV3Service<U>;\n\tprivate _subs = new Subscription();\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\treadonly searchInput: ElementRef<HTMLInputElement>;\n\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 appInstanceId(appInstanceId: number | string) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set operations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\t@Input() enableFormerEmployees = false;\n\n\t@Output() clueChange: Observable<string>;\n\n\tform: FormGroup;\n\t// page$: Subject<number>;\n\treadonly outOptions$ = new Subject<U[]>();\n\tloading$: Observable<boolean>;\n\tempty$: Observable<boolean>;\n\tprivate _loading = false;\n\tprivate readonly _isOpened$ = new BehaviorSubject(false);\n\tprivate readonly _page$ = new Subject<void>();\n\tprivate _isLastPage: boolean;\n\tprivate _options: U[] = [];\n\n\treadonly intl = input(...intlInputOptions(LU_USER_SEARCHER_TRANSLATIONS));\n\n\tconstructor(@Inject(ALuUserService) @Optional() @SkipSelf() hostService: LuUserV3Service<U>, @Inject(ALuUserService) @Self() selfService: LuUserV3Service<U>) {\n\t\tthis._service = hostService || selfService;\n\n\t\tconst clue: FormControl = new FormControl('');\n\n\t\tthis.form = new FormGroup({\n\t\t\tclue,\n\t\t\tformerEmployees: new FormControl(false),\n\t\t});\n\n\t\tthis.clueChange = clue.valueChanges as Observable<string>;\n\t}\n\n\tngOnInit() {\n\t\tconst formValue$ = this.form.valueChanges.pipe(startWith(this.form.value)) as Observable<UserPagedSearcherForm>;\n\n\t\tconst pager$ = this._page$.pipe(\n\t\t\tscan((acc) => acc + 1, 0),\n\t\t\tstartWith(0),\n\t\t);\n\n\t\tconst query$ = combineLatest([formValue$.pipe(debounceTime(250)), this._isOpened$]).pipe(\n\t\t\tfilter(([, isOpened]) => isOpened),\n\t\t\tswitchMap(([val]) => pager$.pipe(map<number, [UserPagedSearcherForm, number]>((page) => [val, page]))),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst results$ = query$.pipe(\n\t\t\tswitchMap(([val, page]) => {\n\t\t\t\tconst filters: string[] = [];\n\t\t\t\tif (val.formerEmployees) {\n\t\t\t\t\tfilters.push(`formerEmployees=true`);\n\t\t\t\t}\n\t\t\t\treturn this._service.searchPaged(val.clue, page, filters).pipe(\n\t\t\t\t\tcatchError(() => of([])),\n\t\t\t\t\tmap<U[], [U[], number]>((items) => [items, page]),\n\t\t\t\t);\n\t\t\t}),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst resultsSub = results$.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._subs.add(resultsSub);\n\n\t\tthis.loading$ = merge(query$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tconst loadingSub = this.loading$.subscribe((l) => (this._loading = l));\n\t\tthis._subs.add(loadingSub);\n\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\n\t}\n\tngOnDestroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis._isOpened$.next(true);\n\t}\n\tonScrollBottom() {\n\t\tif (!this._loading && !this._isLastPage) {\n\t\t\tthis._page$.next();\n\t\t}\n\t}\n\tonClose() {\n\t\tthis._isOpened$.next(false);\n\t\tthis.outOptions$.next([]);\n\t\tthis.reset();\n\t}\n\n\treset() {\n\t\tif (this.form.dirty) {\n\t\t\tthis.form.reset();\n\t\t}\n\t}\n}\n","<form [formGroup]=\"form\">\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t\t<input #searchInput class=\"textfield-input\" formControlName=\"clue\" />\n\t</div>\n\n\t@if (enableFormerEmployees) {\n\t\t<label class=\"checkbox mod-formerEmployee mod-S\">\n\t\t\t<input class=\"checkbox-input\" type=\"checkbox\" formControlName=\"formerEmployees\" />\n\t\t\t<span class=\"checkbox-label\">{{ intl().includeFormerEmployees }}</span>\n\t\t</label>\n\t}\n</form>\n\n@if ((empty$ | async) && (loading$ | async) === false) {\n\t<lu-option-placeholder (onClear)=\"reset()\" />\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserPagedSearcherComponent } from './user-searcher.component';\n\n/**\n * @deprecated use `LuUserPagedSearcherComponent` instead\n */\n@NgModule({\n\timports: [LuUserPagedSearcherComponent],\n\texports: [LuUserPagedSearcherComponent],\n})\nexport class LuUserSearcherModule {}\n","export const Translations = {\n\tpt: {\n\t\tusers: 'utilizadores',\n\t\tme: 'Eu:',\n\t},\n\t'nl-BE': {\n\t\tusers: 'gebruikers',\n\t\tme: 'Ik:',\n\t},\n\tnl: {\n\t\tusers: 'gebruikers',\n\t\tme: 'Ik:',\n\t},\n\tit: {\n\t\tusers: 'utenti',\n\t\tme: 'Io:',\n\t},\n\tfr: {\n\t\tusers: 'utilisateurs',\n\t\tme: 'Moi :',\n\t},\n\tes: {\n\t\tusers: 'usuarios',\n\t\tme: 'Yo:',\n\t},\n\tde: {\n\t\tusers: 'Benutzer',\n\t\tme: 'Ich:',\n\t},\n\ten: {\n\t\tusers: 'users',\n\t\tme: 'Me:',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_USER_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuUserSelectTranslations', {\n\tfactory: () => luUserSelectInputTranslations,\n});\n\nexport interface ILuUserSelectInputLabel {\n\tusers: string;\n\tme: string;\n}\n\nexport const luUserSelectInputTranslations: LuTranslation<ILuUserSelectInputLabel> = Translations;\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, input, Input, Renderer2, ViewContainerRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClearComponent } from '@lucca-front/ng/clear';\nimport { intlInputOptions } from '@lucca-front/ng/core';\nimport { LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { LuForOptionsDirective, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { LuDisplayFullname, LuUserDisplayPipe } from '../../display';\nimport { LuUserHomonymsComponent } from '../homonyms';\nimport { LuUserMeOptionDirective } from '../me';\nimport { LuUserPagedSearcherComponent } from '../searcher';\nimport { LU_USER_SELECT_INPUT_TRANSLATIONS } from './user-select-input.translate';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@Component({\n\tselector: 'lu-user-select',\n\ttemplateUrl: './user-select-input.component.html',\n\tstyleUrl: './user-select-input.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [\n\t\tOverlayModule,\n\t\tClearComponent,\n\t\tLuInputDisplayerDirective,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuUserPagedSearcherComponent,\n\t\tLuUserHomonymsComponent,\n\t\tLuOptionItemComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuUserMeOptionDirective,\n\t\tLuForOptionsDirective,\n\t\tLuUserDisplayPipe,\n\t],\n\tproviders: [\n\t\tLuUserDisplayPipe,\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuUserSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuUserSelectInputComponent<U extends import('../../user.model').ILuUser = import('../../user.model').ILuUser>\n\textends ALuSelectInputComponent<U>\n\timplements ControlValueAccessor, ILuInputWithPicker<U>, AfterViewInit\n{\n\tsearchFormat = LuDisplayFullname.lastfirst;\n\n\t@Input('placeholder')\n\toverride set inputPlaceholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\n\t@Input() fields: string;\n\t@Input() filters: string[];\n\t@Input() orderBy: string;\n\t@Input() appInstanceId: number | string;\n\t@Input() operations: number[];\n\t@Input() enableFormerEmployees = false;\n\t@Input() disablePrincipal = false;\n\n\tclue = '';\n\n\tbyId: LuOptionComparer<U> = (option1: U, option2: U) => option1 && option2 && option1.id === option2.id;\n\n\treadonly intl = input(...intlInputOptions(LU_USER_SELECT_INPUT_TRANSLATIONS));\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n}\n","<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<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t@if (multiple && values?.length > 1) {\n\t\t<span\n\t\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl().users }}</span\n\t\t>\n\t} @else {\n\t\t{{ values[0] || values | luUserDisplay }}\n\t}\n</ng-template>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-user-paged-searcher\n\t\t\t[fields]=\"fields\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[orderBy]=\"orderBy\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[enableFormerEmployees]=\"enableFormerEmployees\"\n\t\t\t(clueChange)=\"clue = $event\"\n\t\t/>\n\t</header>\n\t<lu-user-homonyms />\n\t@if (!disablePrincipal) {\n\t\t<lu-option\n\t\t\t*luUserMeOption=\"\n\t\t\t\tlet user;\n\t\t\t\tfields: fields;\n\t\t\t\tfilters: filters;\n\t\t\t\torderBy: orderBy;\n\t\t\t\tappInstanceId: appInstanceId;\n\t\t\t\toperations: operations;\n\t\t\t\tclue: clue\n\t\t\t\"\n\t\t\t[value]=\"user\"\n\t\t>\n\t\t\t<div>\n\t\t\t\t<b>{{ intl().me }} {{ user | luUserDisplay: searchFormat }}</b>\n\t\t\t</div>\n\t\t\t@if (user.additionalInformation) {\n\t\t\t\t<div class=\"lu-select-additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t\t}\n\t\t</lu-option>\n\t}\n\n\t<lu-option *luForOptions=\"let user\" [value]=\"user\">\n\t\t<div>{{ user | luUserDisplay: searchFormat }}</div>\n\t\t@if (user.additionalInformation) {\n\t\t\t<div class=\"lu-select-additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t}\n\t</lu-option>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuUserSelectInputComponent } from './user-select-input.component';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@NgModule({\n\timports: [LuUserSelectInputComponent],\n\texports: [LuUserSelectInputComponent],\n})\nexport class LuUserSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserHomonymsComponent } from './homonyms/index';\nimport { LuUserSelectInputModule } from './input/index';\nimport { LuUserMeOptionModule } from './me/index';\nimport { LuUserSearcherModule } from './searcher/index';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@NgModule({\n\timports: [LuUserSelectInputModule, LuUserSearcherModule, LuUserHomonymsComponent, LuUserMeOptionModule],\n\texports: [LuUserSelectInputModule, LuUserSearcherModule, LuUserHomonymsComponent, LuUserMeOptionModule],\n})\nexport class LuUserSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserDisplayModule } from './display/index';\nimport { LuUserPictureModule } from './picture/index';\nimport { LuUserSelectModule } from './select/index';\nimport { LuUserTileModule } from './tile/index';\n\n/**\n * @deprecated use `LuUserDisplayPipe, LuUserPictureComponent, LuUserTileComponent` instead\n */\n@NgModule({\n\timports: [LuUserDisplayModule, LuUserPictureModule, LuUserTileModule, LuUserSelectModule],\n\texports: [LuUserDisplayModule, LuUserPictureModule, LuUserTileModule, LuUserSelectModule],\n})\nexport class LuUserModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuUserDisplayPipe","i1","Translations"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/ng",
3
- "version": "21.2.1",
3
+ "version": "22.0.0-rc.1",
4
4
  "description": "A library of icons made by the team @Lucca",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,9 +27,9 @@
27
27
  "@angular/core": "^21.0.0",
28
28
  "@angular/cdk": "^21.0.0",
29
29
  "@angular/animations": "^21.0.0",
30
- "@lucca-front/icons": "21.2.1",
31
- "@lucca-front/scss": "21.2.1",
32
- "@lucca/prisme": "21.2.1",
30
+ "@lucca-front/icons": "22.0.0-rc.1",
31
+ "@lucca-front/scss": "22.0.0-rc.1",
32
+ "@lucca/prisme": "22.0.0-rc.1",
33
33
  "@types/dompurify": "^3.0.0",
34
34
  "isomorphic-dompurify": "^2.17.0",
35
35
  "date-fns": "^3.6.0",
@@ -103,14 +103,14 @@ interface ILuApiFeederService<T extends ILuApiItem = ILuApiItem> {
103
103
  getAll(): Observable<T[]>;
104
104
  }
105
105
  declare abstract class ALuApiOptionFeeder<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> implements ILuApiOptionFeeder<T> {
106
- outOptions$: BehaviorSubject<T[]>;
106
+ readonly outOptions$: BehaviorSubject<T[]>;
107
107
  protected _service: S;
108
108
  constructor(service: S);
109
109
  onOpen(): void;
110
110
  }
111
111
 
112
112
  declare class LuApiFeederComponent<T extends ILuApiItem = ILuApiItem> extends ALuApiOptionFeeder<T, LuApiHybridService<T>> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {
113
- outOptions$: BehaviorSubject<T[]>;
113
+ readonly outOptions$: BehaviorSubject<T[]>;
114
114
  constructor(hostService: LuApiHybridService<T>, selfService: LuApiHybridService<T>);
115
115
  set standard(standard: 'v3' | 'v4');
116
116
  set api(api: string);
@@ -125,7 +125,7 @@ declare class LuApiFeederComponent<T extends ILuApiItem = ILuApiItem> extends AL
125
125
  type ILuApiOptionSearcher<T extends ILuApiItem = ILuApiItem> = ILuApiOptionFeeder<T>;
126
126
  declare abstract class ALuApiOptionSearcher<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> implements ILuApiOptionFeeder<T>, ILuOnOpenSubscriber {
127
127
  protected _service: S;
128
- outOptions$: Subject<T[]>;
128
+ readonly outOptions$: Subject<T[]>;
129
129
  loading$: Observable<boolean>;
130
130
  empty$: Observable<boolean>;
131
131
  protected _clue$: Observable<string>;
@@ -140,10 +140,10 @@ declare abstract class ALuApiOptionSearcher<T extends ILuApiItem = ILuApiItem, S
140
140
  }
141
141
  type ILuApiOptionPagedSearcher<T extends ILuApiItem = ILuApiItem> = ILuApiOptionSearcher<T>;
142
142
  declare abstract class ALuApiOptionPagedSearcher<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> extends ALuApiOptionSearcher<T, S> implements ILuApiOptionPagedSearcher<T>, ILuOnScrollBottomSubscriber {
143
- outOptions$: Subject<T[]>;
143
+ readonly outOptions$: Subject<T[]>;
144
144
  loading$: Observable<boolean>;
145
145
  protected _loading: boolean;
146
- protected _page$: Subject<void>;
146
+ protected readonly _page$: Subject<void>;
147
147
  protected _isLastPage: boolean;
148
148
  protected _options: T[];
149
149
  constructor(service: S);
@@ -154,7 +154,7 @@ declare abstract class ALuApiOptionPagedSearcher<T extends ILuApiItem = ILuApiIt
154
154
  }
155
155
 
156
156
  declare class LuApiSearcherComponent<T extends ILuApiItem = ILuApiItem> extends ALuApiOptionSearcher<T, LuApiHybridService<T>> implements OnInit {
157
- searchInput: ElementRef<HTMLElement>;
157
+ readonly searchInput: ElementRef<HTMLElement>;
158
158
  set standard(standard: 'v3' | 'v4');
159
159
  set api(api: string);
160
160
  set fields(fields: string);
@@ -171,7 +171,7 @@ declare class LuApiSearcherComponent<T extends ILuApiItem = ILuApiItem> extends
171
171
  static ɵcmp: i0.ɵɵComponentDeclaration<LuApiSearcherComponent<any>, "lu-api-searcher", never, { "standard": { "alias": "standard"; "required": false; }; "api": { "alias": "api"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "orderBy": { "alias": "orderBy"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; }, {}, never, never, true, never>;
172
172
  }
173
173
  declare class LuApiPagedSearcherComponent<T extends ILuApiItem = ILuApiItem> extends ALuApiOptionPagedSearcher<T, LuApiHybridService<T>> implements OnInit {
174
- searchInput: ElementRef<HTMLElement>;
174
+ readonly searchInput: ElementRef<HTMLElement>;
175
175
  set standard(standard: 'v3' | 'v4');
176
176
  set api(api: string);
177
177
  set fields(fields: string);
@@ -198,7 +198,7 @@ interface ILuApiPagerService<T extends ILuApiItem = ILuApiItem> {
198
198
  }
199
199
  declare abstract class ALuApiOptionPager<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> implements ILuApiOptionPager<T>, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber {
200
200
  protected _service: S;
201
- outOptions$: Subject<T[]>;
201
+ readonly outOptions$: Subject<T[]>;
202
202
  loading$: Observable<boolean>;
203
203
  protected _loading: boolean;
204
204
  protected _results$: Observable<{
@@ -206,7 +206,7 @@ declare abstract class ALuApiOptionPager<T extends ILuApiItem = ILuApiItem, S ex
206
206
  strategy: Strategy;
207
207
  }>;
208
208
  protected _options: T[];
209
- protected _page$: Subject<number>;
209
+ protected readonly _page$: Subject<number>;
210
210
  protected _page: number;
211
211
  protected _initialized: boolean;
212
212
  constructor(_service: S);
@@ -36,7 +36,7 @@ declare class ClearComponent<T> extends ALuClear<T> implements ILuClear<T> {
36
36
  * Emit event when button clear is click
37
37
  */
38
38
  onClear: EventEmitter<T>;
39
- contentRef: _angular_core.Signal<readonly ElementRef<any>[]>;
39
+ readonly contentRef: _angular_core.Signal<readonly ElementRef<any>[]>;
40
40
  constructor();
41
41
  clear($event: Event): void;
42
42
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClearComponent<any>, never>;
@@ -7,12 +7,12 @@ import { OnDestroy, OnInit } from '@angular/core';
7
7
 
8
8
  declare const LU_SELECT_MAGIC_PAGE_SIZE = 20;
9
9
  declare abstract class ALuCoreSelectApiDirective<TOption, TParams = Record<string, string | number | boolean>> implements OnDestroy, OnInit {
10
- protected destroy$: Subject<void>;
10
+ protected readonly destroy$: Subject<void>;
11
11
  protected pageSize: number;
12
12
  protected debounceDuration: number;
13
13
  select: ALuSelectInputComponent<TOption, unknown>;
14
- protected page$: Observable<number>;
15
- protected clue$: Observable<string>;
14
+ protected readonly page$: Observable<number>;
15
+ protected readonly clue$: Observable<string>;
16
16
  /**
17
17
  * Create an object that will be used as params for the api call
18
18
  */
@@ -45,10 +45,10 @@ declare class LuCoreSelectApiV3Directive<T extends ILuApiItem> extends ALuCoreSe
45
45
  set fields(value: string);
46
46
  set orderBy(value: string | null);
47
47
  set filters(value: Record<string, string | number | boolean>);
48
- protected url$: ReplaySubject<string>;
49
- protected fields$: BehaviorSubject<string>;
50
- protected orderBy$: BehaviorSubject<string>;
51
- protected filters$: BehaviorSubject<Record<string, string | number | boolean>>;
48
+ protected readonly url$: ReplaySubject<string>;
49
+ protected readonly fields$: BehaviorSubject<string>;
50
+ protected readonly orderBy$: BehaviorSubject<string>;
51
+ protected readonly filters$: BehaviorSubject<Record<string, string | number | boolean>>;
52
52
  protected httpClient: HttpClient;
53
53
  protected params$: Observable<{
54
54
  name?: string;
@@ -63,14 +63,14 @@ declare class LuCoreSelectApiV3Directive<T extends ILuApiItem> extends ALuCoreSe
63
63
  }
64
64
 
65
65
  declare class LuCoreSelectApiV4Directive<T extends ILuApiItem> extends ALuCoreSelectApiDirective<T> implements CoreSelectApiTotalCountProvider {
66
- apiV4: i0.ModelSignal<string>;
67
- sort: i0.InputSignal<string>;
68
- filters: i0.InputSignal<Record<string, string | number | boolean>>;
69
- searchDelimiter: i0.InputSignal<string>;
66
+ readonly apiV4: i0.ModelSignal<string>;
67
+ readonly sort: i0.InputSignal<string>;
68
+ readonly filters: i0.InputSignal<Record<string, string | number | boolean>>;
69
+ readonly searchDelimiter: i0.InputSignal<string>;
70
70
  protected httpClient: HttpClient;
71
- protected clue: i0.Signal<string>;
72
- protected params$: Observable<Record<string, string | number | boolean>>;
73
- totalCount$: Observable<number>;
71
+ protected readonly clue: i0.Signal<string>;
72
+ protected readonly params$: Observable<Record<string, string | number | boolean>>;
73
+ readonly totalCount$: Observable<number>;
74
74
  protected getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]>;
75
75
  protected optionKey: (option: T) => number;
76
76
  static ɵfac: i0.ɵɵFactoryDeclaration<LuCoreSelectApiV4Directive<any>, never>;
@@ -9,8 +9,8 @@ import { ILuApiItem } from '@lucca-front/ng/api';
9
9
 
10
10
  declare class NoopTreeSelectDirective<T extends TreeNode<any>, V> implements TreeGenerator<T, T> {
11
11
  #private;
12
- groupingFnInput: _angular_core.InputSignal<TreeGroupingFn<T>>;
13
- groupingFn: _angular_core.WritableSignal<TreeGroupingFn<T>>;
12
+ readonly groupingFnInput: _angular_core.InputSignal<TreeGroupingFn<T>>;
13
+ readonly groupingFn: _angular_core.WritableSignal<TreeGroupingFn<T>>;
14
14
  constructor();
15
15
  generateTrees(items: T[]): T[];
16
16
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NoopTreeSelectDirective<any, any>, never>;
@@ -19,18 +19,18 @@ declare class NoopTreeSelectDirective<T extends TreeNode<any>, V> implements Tre
19
19
 
20
20
  declare class LuCoreSelectDepartmentsDirective<T extends ILuDepartment = ILuDepartment> extends ALuCoreSelectApiDirective<TreeNode<T>> implements OnInit, CoreSelectApiTotalCountProvider {
21
21
  protected httpClient: HttpClient;
22
- url: _angular_core.InputSignal<string>;
23
- filters: _angular_core.InputSignal<Record<string, string | number | boolean>>;
24
- operationIds: _angular_core.InputSignal<readonly number[]>;
25
- uniqueOperationIds: _angular_core.InputSignal<readonly number[]>;
26
- appInstanceId: _angular_core.InputSignal<number>;
27
- searchDelimiter: _angular_core.InputSignal<string>;
22
+ readonly url: _angular_core.InputSignal<string>;
23
+ readonly filters: _angular_core.InputSignal<Record<string, string | number | boolean>>;
24
+ readonly operationIds: _angular_core.InputSignal<readonly number[]>;
25
+ readonly uniqueOperationIds: _angular_core.InputSignal<readonly number[]>;
26
+ readonly appInstanceId: _angular_core.InputSignal<number>;
27
+ readonly searchDelimiter: _angular_core.InputSignal<string>;
28
28
  ngOnInit(): void;
29
29
  protected buildOptions(): Observable<TreeNode<T>[]>;
30
30
  protected getOptions(params: Record<string, string | number | boolean> | null): Observable<TreeNode<T>[]>;
31
31
  trim(options: TreeNode<T>[], clue: string): TreeNode<T>[];
32
- protected params$: Observable<Record<string, string | number | boolean>>;
33
- totalCount$: Observable<number>;
32
+ protected readonly params$: Observable<Record<string, string | number | boolean>>;
33
+ readonly totalCount$: Observable<number>;
34
34
  protected flattenTree(branch: TreeNode<T>): T[];
35
35
  protected optionKey: (option: TreeNode<T> | T) => number;
36
36
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LuCoreSelectDepartmentsDirective<any>, never>;