@koobiq/components 18.33.0 → 18.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/actions-panel/actions-panel-config.d.ts +4 -3
  2. package/actions-panel/actions-panel-container.scss +0 -6
  3. package/actions-panel/actions-panel-ref.d.ts +13 -0
  4. package/actions-panel/actions-panel.d.ts +1 -7
  5. package/clamped-text/clamped-text.d.ts +61 -0
  6. package/clamped-text/clamped-text.scss +17 -0
  7. package/clamped-text/constants.d.ts +14 -0
  8. package/clamped-text/index.d.ts +3 -0
  9. package/clamped-text/module.d.ts +7 -0
  10. package/content-panel/content-panel-aside.scss +9 -0
  11. package/content-panel/content-panel-body.scss +9 -0
  12. package/content-panel/content-panel-container.scss +32 -0
  13. package/content-panel/content-panel-footer.scss +5 -0
  14. package/content-panel/content-panel-header.scss +30 -0
  15. package/content-panel/content-panel-tokens.scss +9 -0
  16. package/content-panel/content-panel.d.ts +149 -0
  17. package/content-panel/content-panel.scss +25 -0
  18. package/content-panel/index.d.ts +3 -0
  19. package/content-panel/module.d.ts +7 -0
  20. package/content-panel/resizable.d.ts +70 -0
  21. package/core/locales/en-US.d.ts +4 -0
  22. package/core/locales/es-LA.d.ts +4 -0
  23. package/core/locales/fa-IR.d.ts +4 -0
  24. package/core/locales/locale-service.d.ts +28 -0
  25. package/core/locales/pt-BR.d.ts +4 -0
  26. package/core/locales/ru-RU.d.ts +4 -0
  27. package/core/locales/tk-TM.d.ts +4 -0
  28. package/core/locales/types.d.ts +5 -0
  29. package/core/locales/zh-CN.d.ts +4 -0
  30. package/core/styles/common/_select.scss +6 -3
  31. package/datepicker/calendar.component.d.ts +1 -1
  32. package/datepicker/datepicker-input.directive.d.ts +1 -1
  33. package/datepicker/datepicker-toggle.component.d.ts +1 -1
  34. package/datepicker/datepicker.component.d.ts +2 -2
  35. package/dynamic-translation/dynamic-translation.d.ts +72 -0
  36. package/dynamic-translation/index.d.ts +2 -0
  37. package/dynamic-translation/module.d.ts +7 -0
  38. package/esm2022/actions-panel/actions-panel-config.mjs +1 -1
  39. package/esm2022/actions-panel/actions-panel-container.mjs +7 -7
  40. package/esm2022/actions-panel/actions-panel-ref.mjs +17 -1
  41. package/esm2022/actions-panel/actions-panel.mjs +34 -24
  42. package/esm2022/button-toggle/button-toggle.component.mjs +9 -9
  43. package/esm2022/clamped-text/clamped-text.mjs +202 -0
  44. package/esm2022/clamped-text/constants.mjs +20 -0
  45. package/esm2022/clamped-text/index.mjs +4 -0
  46. package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +5 -0
  47. package/esm2022/clamped-text/module.mjs +19 -0
  48. package/esm2022/content-panel/content-panel.mjs +432 -0
  49. package/esm2022/content-panel/index.mjs +4 -0
  50. package/esm2022/content-panel/koobiq-components-content-panel.mjs +5 -0
  51. package/esm2022/content-panel/module.mjs +42 -0
  52. package/esm2022/content-panel/resizable.mjs +138 -0
  53. package/esm2022/core/locales/en-US.mjs +5 -1
  54. package/esm2022/core/locales/es-LA.mjs +5 -1
  55. package/esm2022/core/locales/fa-IR.mjs +5 -1
  56. package/esm2022/core/locales/pt-BR.mjs +5 -1
  57. package/esm2022/core/locales/ru-RU.mjs +5 -1
  58. package/esm2022/core/locales/tk-TM.mjs +5 -1
  59. package/esm2022/core/locales/types.mjs +1 -1
  60. package/esm2022/core/locales/zh-CN.mjs +5 -1
  61. package/esm2022/core/version.mjs +2 -2
  62. package/esm2022/datepicker/calendar-header.component.mjs +5 -2
  63. package/esm2022/datepicker/calendar.component.mjs +9 -9
  64. package/esm2022/datepicker/datepicker-input.directive.mjs +1 -1
  65. package/esm2022/datepicker/datepicker-toggle.component.mjs +8 -8
  66. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  67. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  68. package/esm2022/dynamic-translation/dynamic-translation.mjs +175 -0
  69. package/esm2022/dynamic-translation/index.mjs +3 -0
  70. package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +5 -0
  71. package/esm2022/dynamic-translation/module.mjs +25 -0
  72. package/esm2022/file-upload/file-drop.mjs +1 -1
  73. package/esm2022/file-upload/multiple-file-upload.component.mjs +11 -11
  74. package/esm2022/file-upload/single-file-upload.component.mjs +11 -11
  75. package/esm2022/filter-bar/filter-refresher.mjs +5 -5
  76. package/esm2022/filter-bar/filter-reset.mjs +3 -3
  77. package/esm2022/filter-bar/filter-search.mjs +11 -11
  78. package/esm2022/filter-bar/filters.mjs +3 -3
  79. package/esm2022/filter-bar/pipe-add.mjs +5 -5
  80. package/esm2022/filter-bar/pipes/base-pipe.mjs +2 -2
  81. package/esm2022/filter-bar/pipes/pipe-button.mjs +7 -7
  82. package/esm2022/filter-bar/pipes/pipe-date.mjs +9 -1
  83. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +9 -1
  84. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +4 -10
  85. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +10 -9
  86. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +7 -7
  87. package/esm2022/filter-bar/pipes/pipe-select.mjs +3 -4
  88. package/esm2022/filter-bar/pipes/pipe-text.mjs +8 -2
  89. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +9 -3
  90. package/esm2022/form-field/cleaner.mjs +16 -11
  91. package/esm2022/form-field/fieldset.mjs +2 -2
  92. package/esm2022/form-field/form-field.mjs +5 -5
  93. package/esm2022/form-field/password-hint.mjs +14 -3
  94. package/esm2022/form-field/password-toggle.mjs +45 -10
  95. package/esm2022/form-field/reactive-password-hint.mjs +18 -17
  96. package/esm2022/form-field/stepper.mjs +9 -9
  97. package/esm2022/icon/icon-button.component.mjs +2 -2
  98. package/esm2022/input/input-number.mjs +15 -10
  99. package/esm2022/markdown/markdown.component.mjs +3 -3
  100. package/esm2022/modal/modal.component.mjs +14 -14
  101. package/esm2022/modal/modal.directive.mjs +7 -5
  102. package/esm2022/navbar/navbar-item.component.mjs +3 -3
  103. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  104. package/esm2022/popover/popover.component.mjs +3 -3
  105. package/esm2022/scrollbar/scrollbar.component.mjs +5 -5
  106. package/esm2022/select/select.component.mjs +24 -11
  107. package/esm2022/sidebar/sidebar.component.mjs +46 -27
  108. package/esm2022/sidepanel/sidepanel-container.component.mjs +15 -4
  109. package/esm2022/sidepanel/sidepanel-directives.mjs +5 -5
  110. package/esm2022/sidepanel/sidepanel-ref.mjs +8 -6
  111. package/esm2022/splitter/splitter.component.mjs +1 -1
  112. package/esm2022/tabs/tab-body.component.mjs +3 -3
  113. package/esm2022/tabs/tab-group.component.mjs +27 -27
  114. package/esm2022/tabs/tab.component.mjs +4 -4
  115. package/esm2022/tags/tag-input.mjs +2 -2
  116. package/esm2022/tags/tag-list.component.mjs +13 -13
  117. package/esm2022/textarea/textarea.component.mjs +6 -4
  118. package/esm2022/timepicker/timepicker.directive.mjs +1 -1
  119. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  120. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  121. package/esm2022/tree/tree-selection.component.mjs +4 -4
  122. package/esm2022/tree-select/tree-select.component.mjs +11 -9
  123. package/esm2022/username/constants.mjs +25 -0
  124. package/esm2022/username/index.mjs +6 -0
  125. package/esm2022/username/koobiq-components-username.mjs +5 -0
  126. package/esm2022/username/module.mjs +35 -0
  127. package/esm2022/username/types.mjs +32 -0
  128. package/esm2022/username/username.mjs +129 -0
  129. package/esm2022/username/username.pipe.mjs +92 -0
  130. package/fesm2022/koobiq-components-actions-panel.mjs +56 -31
  131. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-button-toggle.mjs +8 -8
  133. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-clamped-text.mjs +242 -0
  135. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -0
  136. package/fesm2022/koobiq-components-content-panel.mjs +612 -0
  137. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -0
  138. package/fesm2022/koobiq-components-core.mjs +29 -1
  139. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-datepicker.mjs +21 -18
  141. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  143. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-dynamic-translation.mjs +204 -0
  145. package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -0
  146. package/fesm2022/koobiq-components-file-upload.mjs +20 -20
  147. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  148. package/fesm2022/koobiq-components-filter-bar.mjs +75 -58
  149. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  150. package/fesm2022/koobiq-components-form-field.mjs +100 -49
  151. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  152. package/fesm2022/koobiq-components-icon.mjs +2 -2
  153. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  154. package/fesm2022/koobiq-components-input.mjs +14 -9
  155. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  157. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-modal.mjs +19 -17
  159. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-navbar.mjs +2 -2
  161. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-popover.mjs +4 -4
  163. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-scrollbar.mjs +4 -4
  165. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-select.mjs +23 -10
  167. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-sidebar.mjs +45 -26
  169. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  170. package/fesm2022/koobiq-components-sidepanel.mjs +24 -12
  171. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  173. package/fesm2022/koobiq-components-tabs.mjs +31 -31
  174. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-tags.mjs +13 -13
  176. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-textarea.mjs +5 -3
  178. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  179. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  181. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  183. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-tree-select.mjs +10 -8
  185. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-tree.mjs +3 -3
  187. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-username.mjs +308 -0
  189. package/fesm2022/koobiq-components-username.mjs.map +1 -0
  190. package/file-upload/_file-upload-theme.scss +1 -1
  191. package/file-upload/file-drop.d.ts +1 -1
  192. package/file-upload/multiple-file-upload.component.d.ts +1 -1
  193. package/file-upload/single-file-upload.component.d.ts +2 -2
  194. package/filter-bar/pipes/pipe-date.d.ts +3 -1
  195. package/filter-bar/pipes/pipe-datetime.d.ts +3 -1
  196. package/filter-bar/pipes/pipe-multi-select.d.ts +0 -1
  197. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +3 -2
  198. package/filter-bar/pipes/pipe-select.d.ts +0 -1
  199. package/filter-bar/pipes/pipe-tree-select.d.ts +3 -2
  200. package/form-field/_form-field-theme.scss +27 -18
  201. package/form-field/cleaner.d.ts +4 -2
  202. package/form-field/cleaner.scss +6 -2
  203. package/form-field/form-field.scss +5 -1
  204. package/form-field/password-hint.d.ts +7 -0
  205. package/form-field/password-toggle.d.ts +23 -3
  206. package/form-field/password-toggle.scss +4 -8
  207. package/form-field/reactive-password-hint.d.ts +1 -0
  208. package/icon/_icon-button-theme.scss +8 -2
  209. package/modal/modal.component.d.ts +6 -6
  210. package/package.json +28 -4
  211. package/popover/popover-confirm.component.d.ts +1 -1
  212. package/popover/popover.component.d.ts +2 -2
  213. package/schematics/ng-add/index.js +3 -3
  214. package/scrollbar/scrollbar.component.d.ts +4 -4
  215. package/select/select.component.d.ts +14 -2
  216. package/sidebar/sidebar.component.d.ts +31 -5
  217. package/sidepanel/sidepanel-container.component.d.ts +9 -0
  218. package/sidepanel/sidepanel-ref.d.ts +3 -3
  219. package/splitter/splitter.component.d.ts +2 -2
  220. package/tabs/tab-group.component.d.ts +1 -1
  221. package/tabs/tab.component.d.ts +1 -1
  222. package/tags/tag-input.d.ts +1 -1
  223. package/tags/tag-list.component.d.ts +1 -1
  224. package/timepicker/timepicker.directive.d.ts +1 -1
  225. package/tooltip/tooltip.component.d.ts +2 -2
  226. package/tree/tree-selection.component.d.ts +1 -1
  227. package/tree-select/tree-select.component.d.ts +1 -1
  228. package/username/constants.d.ts +15 -0
  229. package/username/index.d.ts +5 -0
  230. package/username/module.d.ts +8 -0
  231. package/username/types.d.ts +62 -0
  232. package/username/username-tokens.scss +6 -0
  233. package/username/username.d.ts +68 -0
  234. package/username/username.pipe.d.ts +23 -0
  235. package/username/username.scss +107 -0
@@ -0,0 +1,25 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { KbqUsernameFormatKey } from './types';
3
+ /** Default name format: Last name full, first and middle as initials. */
4
+ export const kbqDefaultFullNameFormatCustom = 'L f. m.';
5
+ /** Default name format: Last name full, first and middle as initials. */
6
+ export const kbqDefaultFullNameFormat = 'lf.m.';
7
+ /**
8
+ * Throws an error when no profile field mapping is provided to the username pipe.
9
+ * @docs-private
10
+ */
11
+ export function KbqMappingMissingError() {
12
+ return new Error('KbqUsernamePipe: profile field mapping is required but was not provided.');
13
+ }
14
+ /**
15
+ * Injection token for providing a global username format-to-profile mapping.
16
+ */
17
+ export const KBQ_PROFILE_MAPPING = new InjectionToken('KBQ_PROFILE_MAPPING', {
18
+ factory: () => ({
19
+ [KbqUsernameFormatKey.FirstNameShort]: 'firstName',
20
+ [KbqUsernameFormatKey.MiddleNameShort]: 'middleName',
21
+ [KbqUsernameFormatKey.LastNameShort]: 'lastName',
22
+ [KbqUsernameFormatKey.Dot]: undefined
23
+ })
24
+ });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy91c2VybmFtZS9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQXNFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRW5ILHlFQUF5RTtBQUN6RSxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxTQUFTLENBQUM7QUFDeEQseUVBQXlFO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLE9BQU8sQ0FBQztBQUVoRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCO0lBQ2xDLE9BQU8sSUFBSSxLQUFLLENBQUMsMEVBQTBFLENBQUMsQ0FBQztBQUNqRyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FFbkQscUJBQXFCLEVBQUU7SUFDckIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUNWLENBQUM7UUFDRyxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxFQUFFLFdBQVc7UUFDbEQsQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsRUFBRSxZQUFZO1FBQ3BELENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLEVBQUUsVUFBVTtRQUNoRCxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVM7S0FDeEMsQ0FBcUc7Q0FDN0csQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEticUZvcm1hdEtleVRvUHJvZmlsZU1hcHBpbmcsIEticUZvcm1hdEtleVRvUHJvZmlsZU1hcHBpbmdFeHRlbmRlZCwgS2JxVXNlcm5hbWVGb3JtYXRLZXkgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqIERlZmF1bHQgbmFtZSBmb3JtYXQ6IExhc3QgbmFtZSBmdWxsLCBmaXJzdCBhbmQgbWlkZGxlIGFzIGluaXRpYWxzLiAqL1xuZXhwb3J0IGNvbnN0IGticURlZmF1bHRGdWxsTmFtZUZvcm1hdEN1c3RvbSA9ICdMIGYuIG0uJztcbi8qKiBEZWZhdWx0IG5hbWUgZm9ybWF0OiBMYXN0IG5hbWUgZnVsbCwgZmlyc3QgYW5kIG1pZGRsZSBhcyBpbml0aWFscy4gKi9cbmV4cG9ydCBjb25zdCBrYnFEZWZhdWx0RnVsbE5hbWVGb3JtYXQgPSAnbGYubS4nO1xuXG4vKipcbiAqIFRocm93cyBhbiBlcnJvciB3aGVuIG5vIHByb2ZpbGUgZmllbGQgbWFwcGluZyBpcyBwcm92aWRlZCB0byB0aGUgdXNlcm5hbWUgcGlwZS5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEticU1hcHBpbmdNaXNzaW5nRXJyb3IoKSB7XG4gICAgcmV0dXJuIG5ldyBFcnJvcignS2JxVXNlcm5hbWVQaXBlOiBwcm9maWxlIGZpZWxkIG1hcHBpbmcgaXMgcmVxdWlyZWQgYnV0IHdhcyBub3QgcHJvdmlkZWQuJyk7XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciBwcm92aWRpbmcgYSBnbG9iYWwgdXNlcm5hbWUgZm9ybWF0LXRvLXByb2ZpbGUgbWFwcGluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IEtCUV9QUk9GSUxFX01BUFBJTkcgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgS2JxRm9ybWF0S2V5VG9Qcm9maWxlTWFwcGluZyB8IEticUZvcm1hdEtleVRvUHJvZmlsZU1hcHBpbmdFeHRlbmRlZFxuPignS0JRX1BST0ZJTEVfTUFQUElORycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PlxuICAgICAgICAoe1xuICAgICAgICAgICAgW0ticVVzZXJuYW1lRm9ybWF0S2V5LkZpcnN0TmFtZVNob3J0XTogJ2ZpcnN0TmFtZScsXG4gICAgICAgICAgICBbS2JxVXNlcm5hbWVGb3JtYXRLZXkuTWlkZGxlTmFtZVNob3J0XTogJ21pZGRsZU5hbWUnLFxuICAgICAgICAgICAgW0ticVVzZXJuYW1lRm9ybWF0S2V5Lkxhc3ROYW1lU2hvcnRdOiAnbGFzdE5hbWUnLFxuICAgICAgICAgICAgW0ticVVzZXJuYW1lRm9ybWF0S2V5LkRvdF06IHVuZGVmaW5lZFxuICAgICAgICB9KSBzYXRpc2ZpZXMgS2JxRm9ybWF0S2V5VG9Qcm9maWxlTWFwcGluZzx7IGZpcnN0TmFtZTogc3RyaW5nOyBtaWRkbGVOYW1lOiBzdHJpbmc7IGxhc3ROYW1lOiBzdHJpbmcgfT5cbn0pO1xuIl19
@@ -0,0 +1,6 @@
1
+ export * from './constants';
2
+ export * from './module';
3
+ export * from './types';
4
+ export * from './username';
5
+ export * from './username.pipe';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3VzZXJuYW1lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlcm5hbWUnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VybmFtZS5waXBlJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29vYmlxLWNvbXBvbmVudHMtdXNlcm5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3VzZXJuYW1lL2tvb2JpcS1jb21wb25lbnRzLXVzZXJuYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,35 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { KbqUsername, KbqUsernameCustomView, KbqUsernamePrimary, KbqUsernameSecondary } from './username';
3
+ import { KbqUsernameCustomPipe, KbqUsernamePipe } from './username.pipe';
4
+ import * as i0 from "@angular/core";
5
+ const COMPONENTS = [
6
+ KbqUsername,
7
+ KbqUsernameCustomView,
8
+ KbqUsernamePrimary,
9
+ KbqUsernameSecondary,
10
+ KbqUsernameCustomPipe,
11
+ KbqUsernamePipe
12
+ ];
13
+ export class KbqUsernameModule {
14
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameModule, imports: [KbqUsername,
16
+ KbqUsernameCustomView,
17
+ KbqUsernamePrimary,
18
+ KbqUsernameSecondary,
19
+ KbqUsernameCustomPipe,
20
+ KbqUsernamePipe], exports: [KbqUsername,
21
+ KbqUsernameCustomView,
22
+ KbqUsernamePrimary,
23
+ KbqUsernameSecondary,
24
+ KbqUsernameCustomPipe,
25
+ KbqUsernamePipe] }); }
26
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameModule, imports: [KbqUsername] }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameModule, decorators: [{
29
+ type: NgModule,
30
+ args: [{
31
+ imports: COMPONENTS,
32
+ exports: COMPONENTS
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy91c2VybmFtZS9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFekUsTUFBTSxVQUFVLEdBQUc7SUFDZixXQUFXO0lBQ1gscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGVBQWU7Q0FDbEIsQ0FBQztBQU1GLE1BQU0sT0FBTyxpQkFBaUI7a0lBQWpCLGlCQUFpQjttSUFBakIsaUJBQWlCLFlBWjFCLFdBQVc7WUFDWCxxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsZUFBZSxhQUxmLFdBQVc7WUFDWCxxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsZUFBZTttSUFPTixpQkFBaUIsWUFaMUIsV0FBVzs7NEZBWUYsaUJBQWlCO2tCQUo3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxVQUFVO29CQUNuQixPQUFPLEVBQUUsVUFBVTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2JxVXNlcm5hbWUsIEticVVzZXJuYW1lQ3VzdG9tVmlldywgS2JxVXNlcm5hbWVQcmltYXJ5LCBLYnFVc2VybmFtZVNlY29uZGFyeSB9IGZyb20gJy4vdXNlcm5hbWUnO1xuaW1wb3J0IHsgS2JxVXNlcm5hbWVDdXN0b21QaXBlLCBLYnFVc2VybmFtZVBpcGUgfSBmcm9tICcuL3VzZXJuYW1lLnBpcGUnO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1xuICAgIEticVVzZXJuYW1lLFxuICAgIEticVVzZXJuYW1lQ3VzdG9tVmlldyxcbiAgICBLYnFVc2VybmFtZVByaW1hcnksXG4gICAgS2JxVXNlcm5hbWVTZWNvbmRhcnksXG4gICAgS2JxVXNlcm5hbWVDdXN0b21QaXBlLFxuICAgIEticVVzZXJuYW1lUGlwZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBDT01QT05FTlRTLFxuICAgIGV4cG9ydHM6IENPTVBPTkVOVFNcbn0pXG5leHBvcnQgY2xhc3MgS2JxVXNlcm5hbWVNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Keys for formatting username parts in short (initial) or full form.
3
+ */
4
+ export var KbqUsernameFormatKey;
5
+ (function (KbqUsernameFormatKey) {
6
+ /**
7
+ * Short form of the first name (e.g., "John" → "J")
8
+ */
9
+ KbqUsernameFormatKey["FirstNameShort"] = "f";
10
+ /**
11
+ * Full form of the first name (e.g., "John")
12
+ */
13
+ KbqUsernameFormatKey["FirstNameFull"] = "F";
14
+ /**
15
+ * Short form of the middle name (e.g., "Henry" → "H")
16
+ */
17
+ KbqUsernameFormatKey["MiddleNameShort"] = "m";
18
+ /**
19
+ * Full form of the middle name (e.g., "Henry")
20
+ */
21
+ KbqUsernameFormatKey["MiddleNameFull"] = "M";
22
+ /**
23
+ * Short form of the last name (e.g., "Doe" → "D")
24
+ */
25
+ KbqUsernameFormatKey["LastNameShort"] = "l";
26
+ /**
27
+ * Full form of the last name (e.g., "Doe")
28
+ */
29
+ KbqUsernameFormatKey["LastNameFull"] = "L";
30
+ KbqUsernameFormatKey["Dot"] = ".";
31
+ })(KbqUsernameFormatKey || (KbqUsernameFormatKey = {}));
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3VzZXJuYW1lL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksb0JBK0JYO0FBL0JELFdBQVksb0JBQW9CO0lBQzVCOztPQUVHO0lBQ0gsNENBQW9CLENBQUE7SUFFcEI7O09BRUc7SUFDSCwyQ0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILDZDQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsNENBQW9CLENBQUE7SUFFcEI7O09BRUc7SUFDSCwyQ0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILDBDQUFrQixDQUFBO0lBQ2xCLGlDQUFTLENBQUE7QUFDYixDQUFDLEVBL0JXLG9CQUFvQixLQUFwQixvQkFBb0IsUUErQi9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLZXlzIGZvciBmb3JtYXR0aW5nIHVzZXJuYW1lIHBhcnRzIGluIHNob3J0IChpbml0aWFsKSBvciBmdWxsIGZvcm0uXG4gKi9cbmV4cG9ydCBlbnVtIEticVVzZXJuYW1lRm9ybWF0S2V5IHtcbiAgICAvKipcbiAgICAgKiBTaG9ydCBmb3JtIG9mIHRoZSBmaXJzdCBuYW1lIChlLmcuLCBcIkpvaG5cIiDihpIgXCJKXCIpXG4gICAgICovXG4gICAgRmlyc3ROYW1lU2hvcnQgPSAnZicsXG5cbiAgICAvKipcbiAgICAgKiBGdWxsIGZvcm0gb2YgdGhlIGZpcnN0IG5hbWUgKGUuZy4sIFwiSm9oblwiKVxuICAgICAqL1xuICAgIEZpcnN0TmFtZUZ1bGwgPSAnRicsXG5cbiAgICAvKipcbiAgICAgKiBTaG9ydCBmb3JtIG9mIHRoZSBtaWRkbGUgbmFtZSAoZS5nLiwgXCJIZW5yeVwiIOKGkiBcIkhcIilcbiAgICAgKi9cbiAgICBNaWRkbGVOYW1lU2hvcnQgPSAnbScsXG5cbiAgICAvKipcbiAgICAgKiBGdWxsIGZvcm0gb2YgdGhlIG1pZGRsZSBuYW1lIChlLmcuLCBcIkhlbnJ5XCIpXG4gICAgICovXG4gICAgTWlkZGxlTmFtZUZ1bGwgPSAnTScsXG5cbiAgICAvKipcbiAgICAgKiBTaG9ydCBmb3JtIG9mIHRoZSBsYXN0IG5hbWUgKGUuZy4sIFwiRG9lXCIg4oaSIFwiRFwiKVxuICAgICAqL1xuICAgIExhc3ROYW1lU2hvcnQgPSAnbCcsXG5cbiAgICAvKipcbiAgICAgKiBGdWxsIGZvcm0gb2YgdGhlIGxhc3QgbmFtZSAoZS5nLiwgXCJEb2VcIilcbiAgICAgKi9cbiAgICBMYXN0TmFtZUZ1bGwgPSAnTCcsXG4gICAgRG90ID0gJy4nXG59XG5cbi8qKlxuICogTWFwcyBlYWNoIGZvcm1hdCBrZXkgdG8gYSBwcm9wZXJ0eSBuYW1lIGluIHRoZSB1c2VyIHByb2ZpbGUgb2JqZWN0LlxuICogQWxsb3dzIGZsZXhpYmxlIGZvcm1hdHRpbmcgcmVnYXJkbGVzcyBvZiBwcm9maWxlIGZpZWxkIG5hbWVzLlxuICovXG5leHBvcnQgdHlwZSBLYnFGb3JtYXRLZXlUb1Byb2ZpbGVNYXBwaW5nPFQgPSBhbnk+ID0ge1xuICAgIFtrZXkgaW4gRXhjbHVkZTxcbiAgICAgICAgS2JxVXNlcm5hbWVGb3JtYXRLZXksXG4gICAgICAgIEticVVzZXJuYW1lRm9ybWF0S2V5LkZpcnN0TmFtZUZ1bGwgfCBLYnFVc2VybmFtZUZvcm1hdEtleS5NaWRkbGVOYW1lRnVsbCB8IEticVVzZXJuYW1lRm9ybWF0S2V5Lkxhc3ROYW1lRnVsbFxuICAgID5dOiBrZXlvZiBUIHwgdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBNYXBzIGVhY2ggZm9ybWF0IGtleSB0byBhIHByb3BlcnR5IG5hbWUgaW4gdGhlIHVzZXIgcHJvZmlsZSBvYmplY3QuXG4gKiBBbGxvd3MgZmxleGlibGUgZm9ybWF0dGluZyByZWdhcmRsZXNzIG9mIHByb2ZpbGUgZmllbGQgbmFtZXMuXG4gKiBAc2VlIEticVVzZXJuYW1lQ3VzdG9tUGlwZVxuICovXG5leHBvcnQgdHlwZSBLYnFGb3JtYXRLZXlUb1Byb2ZpbGVNYXBwaW5nRXh0ZW5kZWQ8VCA9IGFueT4gPSB7XG4gICAgW2tleSBpbiBLYnFVc2VybmFtZUZvcm1hdEtleV06IGtleW9mIFQgfCB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIExheW91dCBtb2RlIGZvciBkaXNwbGF5aW5nIGEgdXNlcm5hbWUgYW5kIGFwcGx5aW5nIHRleHQtZWxsaXBzaXMuXG4gKlxuICogLSBgc3RhY2tlZGA6IEVsZW1lbnRzIHNob3duIHZlcnRpY2FsbHkuXG4gKiAtIGBpbmxpbmVgOiBFbGVtZW50cyBzaG93biBpbiBvbmUgbGluZS4gVGV4dCBlbGxpcHNpcyBpcyBhcHBsaWVkIHRvIGJvdGggcGFydHMuXG4gKiAtIGB0ZXh0YDogUGxhaW4gdGV4dCwgbm8gbGF5b3V0IHN0eWxpbmcuIE5vIHRleHQtZWxsaXBzaXMuXG4gKi9cbmV4cG9ydCB0eXBlIEticVVzZXJuYW1lTW9kZSA9ICdzdGFja2VkJyB8ICdpbmxpbmUnIHwgJ3RleHQnO1xuXG4vKipcbiAqIFZpc3VhbCBzdHlsZSBvZiB0aGUgdXNlcm5hbWUuXG4gKlxuICogLSBgZGVmYXVsdGA6IHN0YW5kYXJkIHN0eWxpbmcgd2l0aCBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgY29sb3JzLlxuICogLSBgZXJyb3JgOiBlcnJvciBjb2xvcnMgKGUuZy4sIHJlZCkuXG4gKiAtIGBhY2NlbnRlZGA6IG5vIGNvbG9yIHRoZW1pbmc7IGVtcGhhc2l6ZXMgdmlhIHR5cG9ncmFwaHkgb25seS5cbiAqIC0gYGluaGVyaXRgOiBpbmhlcml0cyBwYXJlbnQgc3R5bGVzLCBubyB0aGVtaW5nLiBGb3IgZXhhbXBsZSwgdXNlZnVsIHdoZW4gdXNpbmcgaW5zaWRlIGxpbmtzLlxuICovXG5leHBvcnQgdHlwZSBLYnFVc2VybmFtZVN0eWxlID0gJ2RlZmF1bHQnIHwgJ2Vycm9yJyB8ICdhY2NlbnRlZCcgfCAnaW5oZXJpdCc7XG4iXX0=
@@ -0,0 +1,129 @@
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, Directive, input, ViewEncapsulation } from '@angular/core';
2
+ import { KbqTitleModule } from '@koobiq/components/title';
3
+ import { kbqDefaultFullNameFormat } from './constants';
4
+ import { KbqUsernamePipe } from './username.pipe';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@koobiq/components/title";
7
+ const baseClass = 'kbq-username';
8
+ /** Styles the primary part of the username (e.g. full name). */
9
+ export class KbqUsernamePrimary {
10
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernamePrimary, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqUsernamePrimary, isStandalone: true, selector: "[kbqUsernamePrimary]", host: { classAttribute: "kbq-username__primary" }, exportAs: ["kbqUsernamePrimary"], ngImport: i0 }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernamePrimary, decorators: [{
14
+ type: Directive,
15
+ args: [{
16
+ selector: '[kbqUsernamePrimary]',
17
+ exportAs: 'kbqUsernamePrimary',
18
+ standalone: true,
19
+ host: {
20
+ class: `${baseClass}__primary`
21
+ }
22
+ }]
23
+ }] });
24
+ /** Styles the secondary part. */
25
+ export class KbqUsernameSecondary {
26
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameSecondary, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqUsernameSecondary, isStandalone: true, selector: "[kbqUsernameSecondary]", host: { classAttribute: "kbq-username__secondary" }, exportAs: ["kbqUsernameSecondary"], ngImport: i0 }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameSecondary, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ selector: '[kbqUsernameSecondary]',
33
+ exportAs: 'kbqUsernameSecondary',
34
+ standalone: true,
35
+ host: {
36
+ class: `${baseClass}__secondary`
37
+ }
38
+ }]
39
+ }] });
40
+ /** Styles a secondary hint. */
41
+ export class KbqUsernameSecondaryHint {
42
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameSecondaryHint, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
43
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqUsernameSecondaryHint, isStandalone: true, selector: "[kbqUsernameSecondaryHint]", host: { classAttribute: "kbq-username__secondary-hint" }, exportAs: ["kbqUsernameSecondaryHint"], ngImport: i0 }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameSecondaryHint, decorators: [{
46
+ type: Directive,
47
+ args: [{
48
+ selector: '[kbqUsernameSecondaryHint]',
49
+ exportAs: 'kbqUsernameSecondaryHint',
50
+ standalone: true,
51
+ host: {
52
+ class: `${baseClass}__secondary-hint`
53
+ }
54
+ }]
55
+ }] });
56
+ /** Custom content for `KbqUsername`, overrides default view. */
57
+ export class KbqUsernameCustomView {
58
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameCustomView, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
59
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqUsernameCustomView, isStandalone: true, selector: "kbq-username-custom-view, [kbq-username-custom-view]", host: { classAttribute: "kbq-username__custom-view" }, exportAs: ["kbqUsernameCustomView"], ngImport: i0 }); }
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameCustomView, decorators: [{
62
+ type: Directive,
63
+ args: [{
64
+ selector: 'kbq-username-custom-view, [kbq-username-custom-view]',
65
+ standalone: true,
66
+ exportAs: 'kbqUsernameCustomView',
67
+ host: {
68
+ class: `${baseClass}__custom-view`
69
+ }
70
+ }]
71
+ }] });
72
+ /**
73
+ * Displays a user's name based on profile data.
74
+ * Supports different display modes and visual styles.
75
+ * A custom view can be provided via `<kbq-username-custom-view>` for full control over the output.
76
+ * Accepts input profile data and optional formatting options.
77
+ */
78
+ export class KbqUsername {
79
+ constructor() {
80
+ /** User profile data used for display. */
81
+ this.userInfo = input();
82
+ /** Enables compact display mode */
83
+ this.isCompact = input(false, { transform: booleanAttribute });
84
+ /** Format string for rendering the user's full name. */
85
+ this.fullNameFormat = input(kbqDefaultFullNameFormat);
86
+ /**
87
+ * Display mode of the username.
88
+ * @default inline
89
+ */
90
+ this.mode = input('inline');
91
+ /**
92
+ * Visual style of the username.
93
+ * @default default
94
+ */
95
+ this.type = input('default');
96
+ /**
97
+ * Custom projected view for username rendering.
98
+ * @docs-private
99
+ */
100
+ this.customView = contentChild(KbqUsernameCustomView);
101
+ /** @docs-private */
102
+ this.hasFullName = computed(() => {
103
+ const userInfo = this.userInfo();
104
+ if (!userInfo)
105
+ return false;
106
+ return userInfo?.lastName && userInfo?.firstName;
107
+ });
108
+ /** @docs-private */
109
+ this.class = computed(() => {
110
+ return [this.type(), this.mode()].map((modificator) => `${baseClass}_${modificator}`).join(' ');
111
+ });
112
+ }
113
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsername, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KbqUsername, isStandalone: true, selector: "kbq-username", inputs: { userInfo: { classPropertyName: "userInfo", publicName: "userInfo", isSignal: true, isRequired: false, transformFunction: null }, isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null }, fullNameFormat: { classPropertyName: "fullNameFormat", publicName: "fullNameFormat", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()" }, classAttribute: "kbq-username" }, queries: [{ propertyName: "customView", first: true, predicate: KbqUsernameCustomView, descendants: true, isSignal: true }], exportAs: ["kbqUsername"], ngImport: i0, template: "@let profile = userInfo();\n<ng-content select=\"kbq-username-custom-view,[kbq-username-custom-view]\" />\n\n@if (!customView() && profile) {\n @let fullName = profile | kbqUsername: fullNameFormat();\n\n @if (!isCompact()) {\n @if (hasFullName()) {\n <span kbq-title kbqUsernamePrimary>{{ fullName }}</span>\n }\n\n @if (profile.login) {\n <span kbq-title kbqUsernameSecondary>\n {{ profile.login }}\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>({{ profile.site }})</span>\n }\n </span>\n }\n } @else {\n <span kbq-title kbqUsernamePrimary>\n @if (hasFullName()) {\n <span>{{ fullName }}</span>\n }\n @if (!hasFullName() && profile.login) {\n {{ profile.login }}\n }\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>&nbsp;({{ profile.site }})</span>\n }\n </span>\n }\n}\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-username{color:var(--kbq-username-primary-color)}.kbq-username .kbq-username__secondary,.kbq-username .kbq-username__secondary-hint{color:var(--kbq-username-secondary-color)}.kbq-username.kbq-username_default .kbq-username__secondary-hint,.kbq-username.kbq-username_default .kbq-username__primary+.kbq-username__secondary{--kbq-username-secondary-color: var(--kbq-foreground-contrast-secondary)}.kbq-username.kbq-username_error{--kbq-username-primary-color: var(--kbq-foreground-error);--kbq-username-secondary-color: var(--kbq-foreground-error)}.kbq-username.kbq-username_accented{--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: var(--kbq-foreground-contrast)}.kbq-username.kbq-username_inherit{--kbq-username-primary-color: inherit;--kbq-username-secondary-color: inherit}.kbq-username{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-username.kbq-username_accented .kbq-username__primary{font-size:var(--kbq-typography-text-normal-strong-font-size);font-style:var(--kbq-typography-text-normal-strong-font-style);font-weight:var(--kbq-typography-text-normal-strong-font-weight);line-height:var(--kbq-typography-text-normal-strong-line-height);font-family:var(--kbq-typography-text-normal-strong-font-family);text-transform:var(--kbq-typography-text-normal-strong-text-transform);font-feature-settings:var(--kbq-typography-text-normal-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-strong-letter-spacing)}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_stacked>.kbq-username__custom-view{display:flex;flex-flow:column nowrap;justify-content:flex-start;align-items:normal;gap:var(--kbq-username-vertical-gap)}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view{display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:baseline}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:var(--kbq-username-horizontal-gap)}[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:0;margin-right:var(--kbq-username-horizontal-gap)}.kbq-username.kbq-username_text:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_text>.kbq-username__custom-view{display:inline}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__secondary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__secondary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-username.kbq-username_inherit:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inherit>.kbq-username__custom-view{font:inherit;display:inherit}\n", ":where(.kbq-username){--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: inherit;--kbq-username-vertical-gap: var(--kbq-size-xxs);--kbq-username-horizontal-gap: var(--kbq-size-xxs)}\n"], dependencies: [{ kind: "ngmodule", type: KbqTitleModule }, { kind: "directive", type: i1.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "pipe", type: KbqUsernamePipe, name: "kbqUsername" }, { kind: "directive", type: KbqUsernamePrimary, selector: "[kbqUsernamePrimary]", exportAs: ["kbqUsernamePrimary"] }, { kind: "directive", type: KbqUsernameSecondary, selector: "[kbqUsernameSecondary]", exportAs: ["kbqUsernameSecondary"] }, { kind: "directive", type: KbqUsernameSecondaryHint, selector: "[kbqUsernameSecondaryHint]", exportAs: ["kbqUsernameSecondaryHint"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
115
+ }
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsername, decorators: [{
117
+ type: Component,
118
+ args: [{ selector: 'kbq-username', standalone: true, exportAs: 'kbqUsername', imports: [
119
+ KbqTitleModule,
120
+ KbqUsernamePipe,
121
+ KbqUsernamePrimary,
122
+ KbqUsernameSecondary,
123
+ KbqUsernameSecondaryHint
124
+ ], host: {
125
+ class: baseClass,
126
+ '[class]': 'class()'
127
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@let profile = userInfo();\n<ng-content select=\"kbq-username-custom-view,[kbq-username-custom-view]\" />\n\n@if (!customView() && profile) {\n @let fullName = profile | kbqUsername: fullNameFormat();\n\n @if (!isCompact()) {\n @if (hasFullName()) {\n <span kbq-title kbqUsernamePrimary>{{ fullName }}</span>\n }\n\n @if (profile.login) {\n <span kbq-title kbqUsernameSecondary>\n {{ profile.login }}\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>({{ profile.site }})</span>\n }\n </span>\n }\n } @else {\n <span kbq-title kbqUsernamePrimary>\n @if (hasFullName()) {\n <span>{{ fullName }}</span>\n }\n @if (!hasFullName() && profile.login) {\n {{ profile.login }}\n }\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>&nbsp;({{ profile.site }})</span>\n }\n </span>\n }\n}\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-username{color:var(--kbq-username-primary-color)}.kbq-username .kbq-username__secondary,.kbq-username .kbq-username__secondary-hint{color:var(--kbq-username-secondary-color)}.kbq-username.kbq-username_default .kbq-username__secondary-hint,.kbq-username.kbq-username_default .kbq-username__primary+.kbq-username__secondary{--kbq-username-secondary-color: var(--kbq-foreground-contrast-secondary)}.kbq-username.kbq-username_error{--kbq-username-primary-color: var(--kbq-foreground-error);--kbq-username-secondary-color: var(--kbq-foreground-error)}.kbq-username.kbq-username_accented{--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: var(--kbq-foreground-contrast)}.kbq-username.kbq-username_inherit{--kbq-username-primary-color: inherit;--kbq-username-secondary-color: inherit}.kbq-username{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-username.kbq-username_accented .kbq-username__primary{font-size:var(--kbq-typography-text-normal-strong-font-size);font-style:var(--kbq-typography-text-normal-strong-font-style);font-weight:var(--kbq-typography-text-normal-strong-font-weight);line-height:var(--kbq-typography-text-normal-strong-line-height);font-family:var(--kbq-typography-text-normal-strong-font-family);text-transform:var(--kbq-typography-text-normal-strong-text-transform);font-feature-settings:var(--kbq-typography-text-normal-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-strong-letter-spacing)}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_stacked>.kbq-username__custom-view{display:flex;flex-flow:column nowrap;justify-content:flex-start;align-items:normal;gap:var(--kbq-username-vertical-gap)}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view{display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:baseline}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:var(--kbq-username-horizontal-gap)}[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:0;margin-right:var(--kbq-username-horizontal-gap)}.kbq-username.kbq-username_text:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_text>.kbq-username__custom-view{display:inline}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__secondary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__secondary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-username.kbq-username_inherit:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inherit>.kbq-username__custom-view{font:inherit;display:inherit}\n", ":where(.kbq-username){--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: inherit;--kbq-username-vertical-gap: var(--kbq-size-xxs);--kbq-username-horizontal-gap: var(--kbq-size-xxs)}\n"] }]
128
+ }] });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcm5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3VzZXJuYW1lL3VzZXJuYW1lLnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy91c2VybmFtZS91c2VybmFtZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVCxLQUFLLEVBQ0wsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFbEQsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDO0FBY2pDLGdFQUFnRTtBQVNoRSxNQUFNLE9BQU8sa0JBQWtCO2tJQUFsQixrQkFBa0I7c0hBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFSOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxHQUFHLFNBQVMsV0FBVztxQkFDakM7aUJBQ0o7O0FBR0QsaUNBQWlDO0FBU2pDLE1BQU0sT0FBTyxvQkFBb0I7a0lBQXBCLG9CQUFvQjtzSEFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQVJoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLEdBQUcsU0FBUyxhQUFhO3FCQUNuQztpQkFDSjs7QUFHRCwrQkFBK0I7QUFTL0IsTUFBTSxPQUFPLHdCQUF3QjtrSUFBeEIsd0JBQXdCO3NIQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBUnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsR0FBRyxTQUFTLGtCQUFrQjtxQkFDeEM7aUJBQ0o7O0FBR0QsZ0VBQWdFO0FBU2hFLE1BQU0sT0FBTyxxQkFBcUI7a0lBQXJCLHFCQUFxQjtzSEFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQVJqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzREFBc0Q7b0JBQ2hFLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLEdBQUcsU0FBUyxlQUFlO3FCQUNyQztpQkFDSjs7QUFHRDs7Ozs7R0FLRztBQXFCSCxNQUFNLE9BQU8sV0FBVztJQXBCeEI7UUFxQkksMENBQTBDO1FBQ2pDLGFBQVEsR0FBRyxLQUFLLEVBQWUsQ0FBQztRQUN6QyxtQ0FBbUM7UUFDMUIsY0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLHdEQUF3RDtRQUMvQyxtQkFBYyxHQUFHLEtBQUssQ0FBUyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2xFOzs7V0FHRztRQUNNLFNBQUksR0FBRyxLQUFLLENBQWtCLFFBQVEsQ0FBQyxDQUFDO1FBQ2pEOzs7V0FHRztRQUNNLFNBQUksR0FBRyxLQUFLLENBQW1CLFNBQVMsQ0FBQyxDQUFDO1FBQ25EOzs7V0FHRztRQUNnQixlQUFVLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFcEUsb0JBQW9CO1FBQ0QsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUVqQyxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUU1QixPQUFPLFFBQVEsRUFBRSxRQUFRLElBQUksUUFBUSxFQUFFLFNBQVMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztRQUVILG9CQUFvQjtRQUNELFVBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFNBQVMsSUFBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRyxDQUFDLENBQUMsQ0FBQztLQUNOO2tJQXBDWSxXQUFXO3NIQUFYLFdBQVcsNDBCQXFCeUIscUJBQXFCLDJGQ3hIdEUsbWlDQW1DQSx5ek5EaURRLGNBQWMsOEhBQ2QsZUFBZSxvREEvQ1Ysa0JBQWtCLG1HQVdsQixvQkFBb0IsdUdBV3BCLHdCQUF3Qjs7NEZBdUN4QixXQUFXO2tCQXBCdkIsU0FBUzsrQkFDSSxjQUFjLGNBQ1osSUFBSSxZQUNOLGFBQWEsV0FDZDt3QkFDTCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLHdCQUF3QjtxQkFDM0IsUUFHSzt3QkFDRixLQUFLLEVBQUUsU0FBUzt3QkFDaEIsU0FBUyxFQUFFLFNBQVM7cUJBQ3ZCLGlCQUNjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGNvbnRlbnRDaGlsZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgaW5wdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLYnFUaXRsZU1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy90aXRsZSc7XG5pbXBvcnQgeyBrYnFEZWZhdWx0RnVsbE5hbWVGb3JtYXQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBLYnFVc2VybmFtZU1vZGUsIEticVVzZXJuYW1lU3R5bGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEticVVzZXJuYW1lUGlwZSB9IGZyb20gJy4vdXNlcm5hbWUucGlwZSc7XG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdrYnEtdXNlcm5hbWUnO1xuXG4vKipcbiAqIEJhc2ljIHVzZXIgaW5mb1xuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgdHlwZSBLYnFVc2VySW5mbyA9IHtcbiAgICBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gICAgbGFzdE5hbWU/OiBzdHJpbmc7XG4gICAgbWlkZGxlTmFtZT86IHN0cmluZztcbiAgICBsb2dpbj86IHN0cmluZztcbiAgICBzaXRlPzogc3RyaW5nO1xufTtcblxuLyoqIFN0eWxlcyB0aGUgcHJpbWFyeSBwYXJ0IG9mIHRoZSB1c2VybmFtZSAoZS5nLiBmdWxsIG5hbWUpLiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxVXNlcm5hbWVQcmltYXJ5XScsXG4gICAgZXhwb3J0QXM6ICdrYnFVc2VybmFtZVByaW1hcnknLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogYCR7YmFzZUNsYXNzfV9fcHJpbWFyeWBcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticVVzZXJuYW1lUHJpbWFyeSB7fVxuXG4vKiogU3R5bGVzIHRoZSBzZWNvbmRhcnkgcGFydC4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ticVVzZXJuYW1lU2Vjb25kYXJ5XScsXG4gICAgZXhwb3J0QXM6ICdrYnFVc2VybmFtZVNlY29uZGFyeScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiBgJHtiYXNlQ2xhc3N9X19zZWNvbmRhcnlgXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFVc2VybmFtZVNlY29uZGFyeSB7fVxuXG4vKiogU3R5bGVzIGEgc2Vjb25kYXJ5IGhpbnQuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnFVc2VybmFtZVNlY29uZGFyeUhpbnRdJyxcbiAgICBleHBvcnRBczogJ2ticVVzZXJuYW1lU2Vjb25kYXJ5SGludCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiBgJHtiYXNlQ2xhc3N9X19zZWNvbmRhcnktaGludGBcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticVVzZXJuYW1lU2Vjb25kYXJ5SGludCB7fVxuXG4vKiogQ3VzdG9tIGNvbnRlbnQgZm9yIGBLYnFVc2VybmFtZWAsIG92ZXJyaWRlcyBkZWZhdWx0IHZpZXcuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2ticS11c2VybmFtZS1jdXN0b20tdmlldywgW2ticS11c2VybmFtZS1jdXN0b20tdmlld10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZXhwb3J0QXM6ICdrYnFVc2VybmFtZUN1c3RvbVZpZXcnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6IGAke2Jhc2VDbGFzc31fX2N1c3RvbS12aWV3YFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVXNlcm5hbWVDdXN0b21WaWV3IHt9XG5cbi8qKlxuICogRGlzcGxheXMgYSB1c2VyJ3MgbmFtZSBiYXNlZCBvbiBwcm9maWxlIGRhdGEuXG4gKiBTdXBwb3J0cyBkaWZmZXJlbnQgZGlzcGxheSBtb2RlcyBhbmQgdmlzdWFsIHN0eWxlcy5cbiAqIEEgY3VzdG9tIHZpZXcgY2FuIGJlIHByb3ZpZGVkIHZpYSBgPGticS11c2VybmFtZS1jdXN0b20tdmlldz5gIGZvciBmdWxsIGNvbnRyb2wgb3ZlciB0aGUgb3V0cHV0LlxuICogQWNjZXB0cyBpbnB1dCBwcm9maWxlIGRhdGEgYW5kIG9wdGlvbmFsIGZvcm1hdHRpbmcgb3B0aW9ucy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtdXNlcm5hbWUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZXhwb3J0QXM6ICdrYnFVc2VybmFtZScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBLYnFUaXRsZU1vZHVsZSxcbiAgICAgICAgS2JxVXNlcm5hbWVQaXBlLFxuICAgICAgICBLYnFVc2VybmFtZVByaW1hcnksXG4gICAgICAgIEticVVzZXJuYW1lU2Vjb25kYXJ5LFxuICAgICAgICBLYnFVc2VybmFtZVNlY29uZGFyeUhpbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91c2VybmFtZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91c2VybmFtZS5zY3NzJywgJy4vdXNlcm5hbWUtdG9rZW5zLnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiBiYXNlQ2xhc3MsXG4gICAgICAgICdbY2xhc3NdJzogJ2NsYXNzKCknXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEticVVzZXJuYW1lIHtcbiAgICAvKiogVXNlciBwcm9maWxlIGRhdGEgdXNlZCBmb3IgZGlzcGxheS4gKi9cbiAgICByZWFkb25seSB1c2VySW5mbyA9IGlucHV0PEticVVzZXJJbmZvPigpO1xuICAgIC8qKiBFbmFibGVzIGNvbXBhY3QgZGlzcGxheSBtb2RlICovXG4gICAgcmVhZG9ubHkgaXNDb21wYWN0ID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuICAgIC8qKiBGb3JtYXQgc3RyaW5nIGZvciByZW5kZXJpbmcgdGhlIHVzZXIncyBmdWxsIG5hbWUuICovXG4gICAgcmVhZG9ubHkgZnVsbE5hbWVGb3JtYXQgPSBpbnB1dDxzdHJpbmc+KGticURlZmF1bHRGdWxsTmFtZUZvcm1hdCk7XG4gICAgLyoqXG4gICAgICogRGlzcGxheSBtb2RlIG9mIHRoZSB1c2VybmFtZS5cbiAgICAgKiBAZGVmYXVsdCBpbmxpbmVcbiAgICAgKi9cbiAgICByZWFkb25seSBtb2RlID0gaW5wdXQ8S2JxVXNlcm5hbWVNb2RlPignaW5saW5lJyk7XG4gICAgLyoqXG4gICAgICogVmlzdWFsIHN0eWxlIG9mIHRoZSB1c2VybmFtZS5cbiAgICAgKiBAZGVmYXVsdCBkZWZhdWx0XG4gICAgICovXG4gICAgcmVhZG9ubHkgdHlwZSA9IGlucHV0PEticVVzZXJuYW1lU3R5bGU+KCdkZWZhdWx0Jyk7XG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHByb2plY3RlZCB2aWV3IGZvciB1c2VybmFtZSByZW5kZXJpbmcuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjdXN0b21WaWV3ID0gY29udGVudENoaWxkKEticVVzZXJuYW1lQ3VzdG9tVmlldyk7XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoYXNGdWxsTmFtZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgdXNlckluZm8gPSB0aGlzLnVzZXJJbmZvKCk7XG5cbiAgICAgICAgaWYgKCF1c2VySW5mbykgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB1c2VySW5mbz8ubGFzdE5hbWUgJiYgdXNlckluZm8/LmZpcnN0TmFtZTtcbiAgICB9KTtcblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNsYXNzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gW3RoaXMudHlwZSgpLCB0aGlzLm1vZGUoKV0ubWFwKChtb2RpZmljYXRvcikgPT4gYCR7YmFzZUNsYXNzfV8ke21vZGlmaWNhdG9yfWApLmpvaW4oJyAnKTtcbiAgICB9KTtcbn1cbiIsIkBsZXQgcHJvZmlsZSA9IHVzZXJJbmZvKCk7XG48bmctY29udGVudCBzZWxlY3Q9XCJrYnEtdXNlcm5hbWUtY3VzdG9tLXZpZXcsW2ticS11c2VybmFtZS1jdXN0b20tdmlld11cIiAvPlxuXG5AaWYgKCFjdXN0b21WaWV3KCkgJiYgcHJvZmlsZSkge1xuICAgIEBsZXQgZnVsbE5hbWUgPSBwcm9maWxlIHwga2JxVXNlcm5hbWU6IGZ1bGxOYW1lRm9ybWF0KCk7XG5cbiAgICBAaWYgKCFpc0NvbXBhY3QoKSkge1xuICAgICAgICBAaWYgKGhhc0Z1bGxOYW1lKCkpIHtcbiAgICAgICAgICAgIDxzcGFuIGticS10aXRsZSBrYnFVc2VybmFtZVByaW1hcnk+e3sgZnVsbE5hbWUgfX08L3NwYW4+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKHByb2ZpbGUubG9naW4pIHtcbiAgICAgICAgICAgIDxzcGFuIGticS10aXRsZSBrYnFVc2VybmFtZVNlY29uZGFyeT5cbiAgICAgICAgICAgICAgICB7eyBwcm9maWxlLmxvZ2luIH19XG5cbiAgICAgICAgICAgICAgICBAaWYgKHByb2ZpbGUuc2l0ZSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBrYnFVc2VybmFtZVNlY29uZGFyeUhpbnQ+KHt7IHByb2ZpbGUuc2l0ZSB9fSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxzcGFuIGticS10aXRsZSBrYnFVc2VybmFtZVByaW1hcnk+XG4gICAgICAgICAgICBAaWYgKGhhc0Z1bGxOYW1lKCkpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBmdWxsTmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoIWhhc0Z1bGxOYW1lKCkgJiYgcHJvZmlsZS5sb2dpbikge1xuICAgICAgICAgICAgICAgIHt7IHByb2ZpbGUubG9naW4gfX1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChwcm9maWxlLnNpdGUpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBrYnFVc2VybmFtZVNlY29uZGFyeUhpbnQ+Jm5ic3A7KHt7IHByb2ZpbGUuc2l0ZSB9fSk8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,92 @@
1
+ import { inject, Injectable, Pipe } from '@angular/core';
2
+ import { KBQ_PROFILE_MAPPING, kbqDefaultFullNameFormat, kbqDefaultFullNameFormatCustom, KbqMappingMissingError } from './constants';
3
+ import { KbqUsernameFormatKey } from './types';
4
+ import * as i0 from "@angular/core";
5
+ export class KbqUsernamePipe {
6
+ constructor() {
7
+ this.mapping = inject(KBQ_PROFILE_MAPPING, { optional: true });
8
+ }
9
+ /** Builds a formatted name string from the user profile using the provided format and mapping. */
10
+ transform(profile, format = kbqDefaultFullNameFormat, customMapping) {
11
+ const resolvedMapping = customMapping || this.mapping;
12
+ if (!resolvedMapping) {
13
+ throw KbqMappingMissingError();
14
+ }
15
+ if (!profile || typeof profile !== 'object')
16
+ return '';
17
+ let result = '';
18
+ const formatUnits = format.split('');
19
+ formatUnits.forEach((letter, index, array) => {
20
+ if (letter !== KbqUsernameFormatKey.Dot) {
21
+ const field = resolvedMapping[letter];
22
+ const fieldValue = profile[field];
23
+ if (fieldValue) {
24
+ const isShort = array[index + 1] === KbqUsernameFormatKey.Dot;
25
+ const resolvedFieldValue = isShort ? `${fieldValue[0]}${KbqUsernameFormatKey.Dot}` : fieldValue;
26
+ result += ` ${resolvedFieldValue}`;
27
+ }
28
+ }
29
+ });
30
+ return result.trim();
31
+ }
32
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
33
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernamePipe, isStandalone: true, name: "kbqUsername" }); }
34
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernamePipe, providedIn: 'root' }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernamePipe, decorators: [{
37
+ type: Injectable,
38
+ args: [{ providedIn: 'root' }]
39
+ }, {
40
+ type: Pipe,
41
+ args: [{
42
+ name: 'kbqUsername',
43
+ pure: true,
44
+ standalone: true
45
+ }]
46
+ }] });
47
+ /**
48
+ * Pipe to format a user profile into a name string using a format pattern and field mapping.
49
+ * Lowercase keys output initials; uppercase keys show full values.
50
+ */
51
+ export class KbqUsernameCustomPipe {
52
+ constructor() {
53
+ this.mapping = inject(KBQ_PROFILE_MAPPING, { optional: true });
54
+ }
55
+ /** Builds a formatted name string from the user profile using the provided format and mapping. */
56
+ transform(profile, format = kbqDefaultFullNameFormatCustom, customMapping) {
57
+ const resolvedMapping = customMapping || this.mapping;
58
+ if (!resolvedMapping) {
59
+ throw KbqMappingMissingError();
60
+ }
61
+ if (!profile || typeof profile !== 'object')
62
+ return '';
63
+ let result = '';
64
+ const formatUnits = format.split('');
65
+ formatUnits.forEach((letter) => {
66
+ const field = resolvedMapping[letter];
67
+ if (!field) {
68
+ result += letter;
69
+ return;
70
+ }
71
+ const isShort = letter === letter.toLowerCase();
72
+ const fieldValue = profile[field] || '';
73
+ result += fieldValue && isShort ? fieldValue[0] : fieldValue;
74
+ });
75
+ return result.trim();
76
+ }
77
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameCustomPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
78
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameCustomPipe, isStandalone: true, name: "kbqUsernameCustom" }); }
79
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameCustomPipe, providedIn: 'root' }); }
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqUsernameCustomPipe, decorators: [{
82
+ type: Injectable,
83
+ args: [{ providedIn: 'root' }]
84
+ }, {
85
+ type: Pipe,
86
+ args: [{
87
+ name: 'kbqUsernameCustom',
88
+ pure: true,
89
+ standalone: true
90
+ }]
91
+ }] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcm5hbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdXNlcm5hbWUvdXNlcm5hbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLDhCQUE4QixFQUM5QixzQkFBc0IsRUFDekIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFzRSxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFRbkgsTUFBTSxPQUFPLGVBQWU7SUFONUI7UUFPcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBZ0M5RTtJQTlCRyxrR0FBa0c7SUFDbEcsU0FBUyxDQUFDLE9BQVUsRUFBRSxNQUFNLEdBQUcsd0JBQXdCLEVBQUUsYUFBNEM7UUFDakcsTUFBTSxlQUFlLEdBQUcsYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFdEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ25CLE1BQU0sc0JBQXNCLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFdkQsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWhCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQXFDLEVBQUUsS0FBYSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2hGLElBQUksTUFBTSxLQUFLLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLEtBQUssR0FBWSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQy9DLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFbEMsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDYixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLG9CQUFvQixDQUFDLEdBQUcsQ0FBQztvQkFDOUQsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7b0JBRWhHLE1BQU0sSUFBSSxJQUFJLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3ZDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO2tJQWhDUSxlQUFlO2dJQUFmLGVBQWU7c0lBQWYsZUFBZSxjQU5GLE1BQU07OzRGQU1uQixlQUFlO2tCQU4zQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7a0JBQ2pDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGFBQWE7b0JBQ25CLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7QUFvQ0Q7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQU9xQixZQUFPLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FxQzlFO0lBbkNHLGtHQUFrRztJQUNsRyxTQUFTLENBQ0wsT0FBVSxFQUNWLE1BQU0sR0FBRyw4QkFBOEIsRUFDdkMsYUFBdUQ7UUFFdkQsTUFBTSxlQUFlLEdBQUcsYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFdEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ25CLE1BQU0sc0JBQXNCLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFdkQsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWhCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQXFDLEVBQUUsRUFBRTtZQUMxRCxNQUFNLEtBQUssR0FBd0IsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDVCxNQUFNLElBQUksTUFBTSxDQUFDO2dCQUVqQixPQUFPO1lBQ1gsQ0FBQztZQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sS0FBSyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUV4QyxNQUFNLElBQUksVUFBVSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO2tJQXJDUSxxQkFBcUI7Z0lBQXJCLHFCQUFxQjtzSUFBckIscUJBQXFCLGNBTlIsTUFBTTs7NEZBTW5CLHFCQUFxQjtrQkFOakMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O2tCQUNqQyxJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxtQkFBbUI7b0JBQ3pCLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBLQlFfUFJPRklMRV9NQVBQSU5HLFxuICAgIGticURlZmF1bHRGdWxsTmFtZUZvcm1hdCxcbiAgICBrYnFEZWZhdWx0RnVsbE5hbWVGb3JtYXRDdXN0b20sXG4gICAgS2JxTWFwcGluZ01pc3NpbmdFcnJvclxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBLYnFGb3JtYXRLZXlUb1Byb2ZpbGVNYXBwaW5nLCBLYnFGb3JtYXRLZXlUb1Byb2ZpbGVNYXBwaW5nRXh0ZW5kZWQsIEticVVzZXJuYW1lRm9ybWF0S2V5IH0gZnJvbSAnLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5AUGlwZSh7XG4gICAgbmFtZTogJ2ticVVzZXJuYW1lJyxcbiAgICBwdXJlOiB0cnVlLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgS2JxVXNlcm5hbWVQaXBlPFQgPSB1bmtub3duPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWFwcGluZyA9IGluamVjdChLQlFfUFJPRklMRV9NQVBQSU5HLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqIEJ1aWxkcyBhIGZvcm1hdHRlZCBuYW1lIHN0cmluZyBmcm9tIHRoZSB1c2VyIHByb2ZpbGUgdXNpbmcgdGhlIHByb3ZpZGVkIGZvcm1hdCBhbmQgbWFwcGluZy4gKi9cbiAgICB0cmFuc2Zvcm0ocHJvZmlsZTogVCwgZm9ybWF0ID0ga2JxRGVmYXVsdEZ1bGxOYW1lRm9ybWF0LCBjdXN0b21NYXBwaW5nPzogS2JxRm9ybWF0S2V5VG9Qcm9maWxlTWFwcGluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkTWFwcGluZyA9IGN1c3RvbU1hcHBpbmcgfHwgdGhpcy5tYXBwaW5nO1xuXG4gICAgICAgIGlmICghcmVzb2x2ZWRNYXBwaW5nKSB7XG4gICAgICAgICAgICB0aHJvdyBLYnFNYXBwaW5nTWlzc2luZ0Vycm9yKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXByb2ZpbGUgfHwgdHlwZW9mIHByb2ZpbGUgIT09ICdvYmplY3QnKSByZXR1cm4gJyc7XG5cbiAgICAgICAgbGV0IHJlc3VsdCA9ICcnO1xuXG4gICAgICAgIGNvbnN0IGZvcm1hdFVuaXRzID0gZm9ybWF0LnNwbGl0KCcnKTtcblxuICAgICAgICBmb3JtYXRVbml0cy5mb3JFYWNoKChsZXR0ZXI6IEticVVzZXJuYW1lRm9ybWF0S2V5IHwgc3RyaW5nLCBpbmRleDogbnVtYmVyLCBhcnJheSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxldHRlciAhPT0gS2JxVXNlcm5hbWVGb3JtYXRLZXkuRG90KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGQ6IGtleW9mIFQgPSByZXNvbHZlZE1hcHBpbmdbbGV0dGVyXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gcHJvZmlsZVtmaWVsZF07XG5cbiAgICAgICAgICAgICAgICBpZiAoZmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1Nob3J0ID0gYXJyYXlbaW5kZXggKyAxXSA9PT0gS2JxVXNlcm5hbWVGb3JtYXRLZXkuRG90O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZEZpZWxkVmFsdWUgPSBpc1Nob3J0ID8gYCR7ZmllbGRWYWx1ZVswXX0ke0ticVVzZXJuYW1lRm9ybWF0S2V5LkRvdH1gIDogZmllbGRWYWx1ZTtcblxuICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gYCAke3Jlc29sdmVkRmllbGRWYWx1ZX1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdC50cmltKCk7XG4gICAgfVxufVxuXG4vKipcbiAqIFBpcGUgdG8gZm9ybWF0IGEgdXNlciBwcm9maWxlIGludG8gYSBuYW1lIHN0cmluZyB1c2luZyBhIGZvcm1hdCBwYXR0ZXJuIGFuZCBmaWVsZCBtYXBwaW5nLlxuICogTG93ZXJjYXNlIGtleXMgb3V0cHV0IGluaXRpYWxzOyB1cHBlcmNhc2Uga2V5cyBzaG93IGZ1bGwgdmFsdWVzLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuQFBpcGUoe1xuICAgIG5hbWU6ICdrYnFVc2VybmFtZUN1c3RvbScsXG4gICAgcHVyZTogdHJ1ZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEticVVzZXJuYW1lQ3VzdG9tUGlwZTxUID0gdW5rbm93bj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hcHBpbmcgPSBpbmplY3QoS0JRX1BST0ZJTEVfTUFQUElORywgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgIC8qKiBCdWlsZHMgYSBmb3JtYXR0ZWQgbmFtZSBzdHJpbmcgZnJvbSB0aGUgdXNlciBwcm9maWxlIHVzaW5nIHRoZSBwcm92aWRlZCBmb3JtYXQgYW5kIG1hcHBpbmcuICovXG4gICAgdHJhbnNmb3JtKFxuICAgICAgICBwcm9maWxlOiBULFxuICAgICAgICBmb3JtYXQgPSBrYnFEZWZhdWx0RnVsbE5hbWVGb3JtYXRDdXN0b20sXG4gICAgICAgIGN1c3RvbU1hcHBpbmc/OiBLYnFGb3JtYXRLZXlUb1Byb2ZpbGVNYXBwaW5nRXh0ZW5kZWQ8VD5cbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCByZXNvbHZlZE1hcHBpbmcgPSBjdXN0b21NYXBwaW5nIHx8IHRoaXMubWFwcGluZztcblxuICAgICAgICBpZiAoIXJlc29sdmVkTWFwcGluZykge1xuICAgICAgICAgICAgdGhyb3cgS2JxTWFwcGluZ01pc3NpbmdFcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFwcm9maWxlIHx8IHR5cGVvZiBwcm9maWxlICE9PSAnb2JqZWN0JykgcmV0dXJuICcnO1xuXG4gICAgICAgIGxldCByZXN1bHQgPSAnJztcblxuICAgICAgICBjb25zdCBmb3JtYXRVbml0cyA9IGZvcm1hdC5zcGxpdCgnJyk7XG5cbiAgICAgICAgZm9ybWF0VW5pdHMuZm9yRWFjaCgobGV0dGVyOiBLYnFVc2VybmFtZUZvcm1hdEtleSB8IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmllbGQ6IGtleW9mIFQgfCB1bmRlZmluZWQgPSByZXNvbHZlZE1hcHBpbmdbbGV0dGVyXTtcblxuICAgICAgICAgICAgaWYgKCFmaWVsZCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBsZXR0ZXI7XG5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGlzU2hvcnQgPSBsZXR0ZXIgPT09IGxldHRlci50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHByb2ZpbGVbZmllbGRdIHx8ICcnO1xuXG4gICAgICAgICAgICByZXN1bHQgKz0gZmllbGRWYWx1ZSAmJiBpc1Nob3J0ID8gZmllbGRWYWx1ZVswXSA6IGZpZWxkVmFsdWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQudHJpbSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +1,10 @@
1
+ import { coerceCssPixelValue } from '@angular/cdk/coercion';
1
2
  import { CdkDialogContainer, Dialog } from '@angular/cdk/dialog';
2
- import { Overlay, OverlayContainer } from '@angular/cdk/overlay';
3
+ import { SharedResizeObserver } from '@angular/cdk/observers/private';
4
+ import { Overlay } from '@angular/cdk/overlay';
3
5
  import * as i0 from '@angular/core';
4
6
  import { InjectionToken, EventEmitter, inject, Renderer2, Component, ChangeDetectionStrategy, ViewEncapsulation, Injector, Injectable, NgModule } from '@angular/core';
7
+ import { map, of, Subject, filter, take, takeUntil } from 'rxjs';
5
8
  import { trigger, state, style, transition, group, animate, query, animateChild } from '@angular/animations';
6
9
  import { CdkPortalOutlet } from '@angular/cdk/portal';
7
10
  import { toSignal } from '@angular/core/rxjs-interop';
@@ -14,7 +17,6 @@ import * as i3 from '@koobiq/components/icon';
14
17
  import { KbqIconModule } from '@koobiq/components/icon';
15
18
  import * as i4 from '@koobiq/components/tooltip';
16
19
  import { KbqToolTipModule } from '@koobiq/components/tooltip';
17
- import { map, of, Subject, filter, take } from 'rxjs';
18
20
 
19
21
  /** Injection token that can be used to specify default actions panel config. */
20
22
  const KBQ_ACTIONS_PANEL_DEFAULT_CONFIG = new InjectionToken('KBQ_ACTIONS_PANEL_DEFAULT_CONFIG', { factory: () => new KbqActionsPanelConfig() });
@@ -223,16 +225,16 @@ class KbqActionsPanelContainer extends CdkDialogContainer {
223
225
  <kbq-divider class="kbq-actions-panel-container__vertical-divider" [vertical]="true" />
224
226
  <button
225
227
  class="kbq-actions-panel-container__close-button"
228
+ color="contrast"
229
+ kbq-button
226
230
  [kbqTooltip]="localeConfiguration()!.closeTooltip"
227
231
  [kbqTooltipOffset]="16"
228
232
  (click)="close()"
229
- color="contrast"
230
- kbq-button
231
233
  >
232
234
  <i kbq-icon="kbq-xmark-circle_16"></i>
233
235
  </button>
234
236
  }
235
- `, isInline: true, styles: [".kbq-actions-panel-container,.kbq-actions-panel-overlay{--kbq-actions-panel-background-color: var(--kbq-background-contrast);--kbq-actions-panel-text-color: var(--kbq-foreground-on-contrast);--kbq-actions-panel-padding: var(--kbq-size-s);--kbq-actions-panel-margin: var(--kbq-size-s) var(--kbq-size-s) var(--kbq-size-l);--kbq-actions-panel-border-radius: var(--kbq-size-l);--kbq-actions-panel-box-shadow: var(--kbq-shadow-card);--kbq-actions-panel-height: var(--kbq-size-5xl);--kbq-actions-panel-vertical-divider-background-color: var(--kbq-line-contrast-fade);--kbq-actions-panel-vertical-divider-height: var(--kbq-size-m);--kbq-actions-panel-vertical-divider-margin: 0 var(--kbq-size-s)}\n", ".kbq-actions-panel-container{background:var(--kbq-actions-panel-background-color);color:var(--kbq-actions-panel-text-color);box-shadow:var(--kbq-actions-panel-box-shadow);height:var(--kbq-actions-panel-height);padding:var(--kbq-actions-panel-padding);border-radius:var(--kbq-actions-panel-border-radius);display:flex;flex-grow:1;align-items:center;overflow:hidden;box-sizing:border-box}.kbq-actions-panel-container .kbq-actions-panel-container__content{display:flex;align-items:center;flex-grow:1;overflow:hidden}.kbq-actions-panel-container .kbq-actions-panel-container__vertical-divider{background-color:var(--kbq-actions-panel-vertical-divider-background-color);height:var(--kbq-actions-panel-vertical-divider-height)!important;margin:var(--kbq-actions-panel-vertical-divider-margin)}.kbq-actions-panel-overlay{margin:var(--kbq-actions-panel-margin)}.kbq-actions-panel-overlay-container{position:relative}\n"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "ngmodule", type: KbqDividerModule }, { kind: "component", type: i1.KbqDivider, selector: "kbq-divider", inputs: ["vertical", "inset", "paddings"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i3.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "ngmodule", type: KbqToolTipModule }, { kind: "directive", type: i4.KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["hideWithTimeout", "kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }], animations: [KBQ_ACTIONS_PANEL_CONTAINER_ANIMATION], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
237
+ `, isInline: true, styles: [".kbq-actions-panel-container,.kbq-actions-panel-overlay{--kbq-actions-panel-background-color: var(--kbq-background-contrast);--kbq-actions-panel-text-color: var(--kbq-foreground-on-contrast);--kbq-actions-panel-padding: var(--kbq-size-s);--kbq-actions-panel-margin: var(--kbq-size-s) var(--kbq-size-s) var(--kbq-size-l);--kbq-actions-panel-border-radius: var(--kbq-size-l);--kbq-actions-panel-box-shadow: var(--kbq-shadow-card);--kbq-actions-panel-height: var(--kbq-size-5xl);--kbq-actions-panel-vertical-divider-background-color: var(--kbq-line-contrast-fade);--kbq-actions-panel-vertical-divider-height: var(--kbq-size-m);--kbq-actions-panel-vertical-divider-margin: 0 var(--kbq-size-s)}\n", ".kbq-actions-panel-container{background:var(--kbq-actions-panel-background-color);color:var(--kbq-actions-panel-text-color);box-shadow:var(--kbq-actions-panel-box-shadow);height:var(--kbq-actions-panel-height);padding:var(--kbq-actions-panel-padding);border-radius:var(--kbq-actions-panel-border-radius);display:flex;flex-grow:1;align-items:center;overflow:hidden;box-sizing:border-box}.kbq-actions-panel-container .kbq-actions-panel-container__content{display:flex;align-items:center;flex-grow:1;overflow:hidden}.kbq-actions-panel-container .kbq-actions-panel-container__vertical-divider{background-color:var(--kbq-actions-panel-vertical-divider-background-color);height:var(--kbq-actions-panel-vertical-divider-height)!important;margin:var(--kbq-actions-panel-vertical-divider-margin)}.kbq-actions-panel-overlay{margin:var(--kbq-actions-panel-margin)}\n"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "ngmodule", type: KbqDividerModule }, { kind: "component", type: i1.KbqDivider, selector: "kbq-divider", inputs: ["vertical", "inset", "paddings"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i3.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "ngmodule", type: KbqToolTipModule }, { kind: "directive", type: i4.KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["hideWithTimeout", "kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }], animations: [KBQ_ACTIONS_PANEL_CONTAINER_ANIMATION], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
236
238
  }
237
239
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqActionsPanelContainer, decorators: [{
238
240
  type: Component,
@@ -250,11 +252,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
250
252
  <kbq-divider class="kbq-actions-panel-container__vertical-divider" [vertical]="true" />
251
253
  <button
252
254
  class="kbq-actions-panel-container__close-button"
255
+ color="contrast"
256
+ kbq-button
253
257
  [kbqTooltip]="localeConfiguration()!.closeTooltip"
254
258
  [kbqTooltipOffset]="16"
255
259
  (click)="close()"
256
- color="contrast"
257
- kbq-button
258
260
  >
259
261
  <i kbq-icon="kbq-xmark-circle_16"></i>
260
262
  </button>
@@ -266,7 +268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
266
268
  '(@state.start)': 'onAnimationStart($event)',
267
269
  '(@state.done)': 'onAnimationDone($event)',
268
270
  '(keydown.escape)': 'handleEscape($event)'
269
- }, changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, styles: [".kbq-actions-panel-container,.kbq-actions-panel-overlay{--kbq-actions-panel-background-color: var(--kbq-background-contrast);--kbq-actions-panel-text-color: var(--kbq-foreground-on-contrast);--kbq-actions-panel-padding: var(--kbq-size-s);--kbq-actions-panel-margin: var(--kbq-size-s) var(--kbq-size-s) var(--kbq-size-l);--kbq-actions-panel-border-radius: var(--kbq-size-l);--kbq-actions-panel-box-shadow: var(--kbq-shadow-card);--kbq-actions-panel-height: var(--kbq-size-5xl);--kbq-actions-panel-vertical-divider-background-color: var(--kbq-line-contrast-fade);--kbq-actions-panel-vertical-divider-height: var(--kbq-size-m);--kbq-actions-panel-vertical-divider-margin: 0 var(--kbq-size-s)}\n", ".kbq-actions-panel-container{background:var(--kbq-actions-panel-background-color);color:var(--kbq-actions-panel-text-color);box-shadow:var(--kbq-actions-panel-box-shadow);height:var(--kbq-actions-panel-height);padding:var(--kbq-actions-panel-padding);border-radius:var(--kbq-actions-panel-border-radius);display:flex;flex-grow:1;align-items:center;overflow:hidden;box-sizing:border-box}.kbq-actions-panel-container .kbq-actions-panel-container__content{display:flex;align-items:center;flex-grow:1;overflow:hidden}.kbq-actions-panel-container .kbq-actions-panel-container__vertical-divider{background-color:var(--kbq-actions-panel-vertical-divider-background-color);height:var(--kbq-actions-panel-vertical-divider-height)!important;margin:var(--kbq-actions-panel-vertical-divider-margin)}.kbq-actions-panel-overlay{margin:var(--kbq-actions-panel-margin)}.kbq-actions-panel-overlay-container{position:relative}\n"] }]
271
+ }, changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, styles: [".kbq-actions-panel-container,.kbq-actions-panel-overlay{--kbq-actions-panel-background-color: var(--kbq-background-contrast);--kbq-actions-panel-text-color: var(--kbq-foreground-on-contrast);--kbq-actions-panel-padding: var(--kbq-size-s);--kbq-actions-panel-margin: var(--kbq-size-s) var(--kbq-size-s) var(--kbq-size-l);--kbq-actions-panel-border-radius: var(--kbq-size-l);--kbq-actions-panel-box-shadow: var(--kbq-shadow-card);--kbq-actions-panel-height: var(--kbq-size-5xl);--kbq-actions-panel-vertical-divider-background-color: var(--kbq-line-contrast-fade);--kbq-actions-panel-vertical-divider-height: var(--kbq-size-m);--kbq-actions-panel-vertical-divider-margin: 0 var(--kbq-size-s)}\n", ".kbq-actions-panel-container{background:var(--kbq-actions-panel-background-color);color:var(--kbq-actions-panel-text-color);box-shadow:var(--kbq-actions-panel-box-shadow);height:var(--kbq-actions-panel-height);padding:var(--kbq-actions-panel-padding);border-radius:var(--kbq-actions-panel-border-radius);display:flex;flex-grow:1;align-items:center;overflow:hidden;box-sizing:border-box}.kbq-actions-panel-container .kbq-actions-panel-container__content{display:flex;align-items:center;flex-grow:1;overflow:hidden}.kbq-actions-panel-container .kbq-actions-panel-container__vertical-divider{background-color:var(--kbq-actions-panel-vertical-divider-background-color);height:var(--kbq-actions-panel-vertical-divider-height)!important;margin:var(--kbq-actions-panel-vertical-divider-margin)}.kbq-actions-panel-overlay{margin:var(--kbq-actions-panel-margin)}\n"] }]
270
272
  }] });
271
273
 
272
274
  /**
@@ -285,6 +287,22 @@ class KbqActionsPanelRef {
285
287
  get afterOpened() {
286
288
  return this._afterOpened;
287
289
  }
290
+ /**
291
+ * Gets the overlay reference for the actions panel.
292
+ *
293
+ * @docs-private
294
+ */
295
+ get overlayRef() {
296
+ return this.dialogRef.overlayRef;
297
+ }
298
+ /**
299
+ * Gets the ID of the actions panel.
300
+ *
301
+ * @docs-private
302
+ */
303
+ get id() {
304
+ return this.dialogRef.id;
305
+ }
288
306
  constructor(dialogRef, containerInstance) {
289
307
  this.dialogRef = dialogRef;
290
308
  this._afterOpened = new Subject();
@@ -338,12 +356,6 @@ const KBQ_ACTIONS_PANEL_DATA = new InjectionToken('KBQ_ACTIONS_PANEL_DATA');
338
356
  * @docs-private
339
357
  */
340
358
  const KBQ_ACTIONS_PANEL_OVERLAY_SELECTOR = 'kbq-actions-panel-overlay';
341
- /**
342
- * Selector for custom actions panel overlay container.
343
- *
344
- * @docs-private
345
- */
346
- const KBQ_ACTIONS_PANEL_OVERLAY_CONTAINER_SELECTOR = 'kbq-actions-panel-overlay-container';
347
359
  /**
348
360
  * Service for opening actions panel.
349
361
  */
@@ -351,9 +363,9 @@ class KbqActionsPanel {
351
363
  constructor() {
352
364
  this.injector = inject(Injector);
353
365
  this.overlay = inject(Overlay);
354
- this.overlayContainer = inject(OverlayContainer);
355
366
  this.dialog = inject(Dialog);
356
367
  this.defaultConfig = inject(KBQ_ACTIONS_PANEL_DEFAULT_CONFIG);
368
+ this.resizeObserver = inject(SharedResizeObserver);
357
369
  /** The reference to the currently opened actions panel. */
358
370
  this.openedActionsPanelRef = null;
359
371
  }
@@ -389,14 +401,8 @@ class KbqActionsPanel {
389
401
  }
390
402
  openDialog(componentOrTemplateRef, config = {}) {
391
403
  let actionsPanelRef;
392
- if (config.overlayContainer) {
393
- // We should override protected `_containerElement` property to set custom container without creating
394
- // new `OverlayContainer` instance.
395
- this.overlayContainer['_containerElement'] = config.overlayContainer.nativeElement;
396
- }
397
- const overlayContainerElement = this.overlayContainer.getContainerElement();
398
- overlayContainerElement.classList.add(KBQ_ACTIONS_PANEL_OVERLAY_CONTAINER_SELECTOR);
399
- const dialogRef = this.dialog.open(componentOrTemplateRef, {
404
+ const { overlayContainer, overlayPanelClass } = config;
405
+ this.dialog.open(componentOrTemplateRef, {
400
406
  ...config,
401
407
  container: KbqActionsPanelContainer,
402
408
  restoreFocus: false,
@@ -409,7 +415,16 @@ class KbqActionsPanel {
409
415
  // Disable closing since we need to sync it up to the animation ourselves
410
416
  disableClose: true,
411
417
  scrollStrategy: config.scrollStrategy && config.scrollStrategy(this.overlay),
412
- positionStrategy: this.overlay.position().global().centerHorizontally().bottom(),
418
+ positionStrategy: overlayContainer
419
+ ? this.overlay
420
+ .position()
421
+ .flexibleConnectedTo(overlayContainer)
422
+ .withPositions([{ originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'bottom' }])
423
+ .withFlexibleDimensions()
424
+ .withPush(false)
425
+ .withLockedPosition()
426
+ .withGrowAfterOpen()
427
+ : this.overlay.position().global().centerHorizontally().bottom(),
413
428
  templateContext: () => {
414
429
  return {
415
430
  $implicit: config.data,
@@ -429,13 +444,23 @@ class KbqActionsPanel {
429
444
  ];
430
445
  }
431
446
  });
432
- dialogRef.addPanelClass(KBQ_ACTIONS_PANEL_OVERLAY_SELECTOR);
433
- if (config.overlayPanelClass) {
434
- dialogRef.addPanelClass(config.overlayPanelClass);
447
+ const { overlayRef } = actionsPanelRef;
448
+ overlayRef.addPanelClass(KBQ_ACTIONS_PANEL_OVERLAY_SELECTOR);
449
+ if (overlayPanelClass)
450
+ overlayRef.addPanelClass(overlayPanelClass);
451
+ if (overlayContainer) {
452
+ const { afterClosed } = actionsPanelRef;
453
+ this.resizeObserver
454
+ .observe(overlayContainer.nativeElement)
455
+ .pipe(takeUntil(afterClosed))
456
+ .subscribe(() => {
457
+ const { width: maxWidth } = overlayContainer.nativeElement.getBoundingClientRect();
458
+ if (!maxWidth)
459
+ return;
460
+ overlayRef.overlayElement.style.maxWidth = coerceCssPixelValue(maxWidth);
461
+ overlayRef.updatePosition();
462
+ });
435
463
  }
436
- actionsPanelRef?.afterClosed.subscribe(() => {
437
- overlayContainerElement.classList.remove(KBQ_ACTIONS_PANEL_OVERLAY_CONTAINER_SELECTOR);
438
- });
439
464
  return actionsPanelRef;
440
465
  }
441
466
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqActionsPanel, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -467,5 +492,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
467
492
  * Generated bundle index. Do not edit.
468
493
  */
469
494
 
470
- export { KBQ_ACTIONS_PANEL_DATA, KBQ_ACTIONS_PANEL_DEFAULT_CONFIG, KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION, KBQ_ACTIONS_PANEL_OVERLAY_CONTAINER_SELECTOR, KBQ_ACTIONS_PANEL_OVERLAY_SELECTOR, KbqActionsPanel, KbqActionsPanelConfig, KbqActionsPanelContainer, KbqActionsPanelModule, KbqActionsPanelRef, kbqActionsPanelDefaultConfigProvider, kbqActionsPanelLocaleConfigurationProvider };
495
+ export { KBQ_ACTIONS_PANEL_DATA, KBQ_ACTIONS_PANEL_DEFAULT_CONFIG, KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION, KBQ_ACTIONS_PANEL_OVERLAY_SELECTOR, KbqActionsPanel, KbqActionsPanelConfig, KbqActionsPanelContainer, KbqActionsPanelModule, KbqActionsPanelRef, kbqActionsPanelDefaultConfigProvider, kbqActionsPanelLocaleConfigurationProvider };
471
496
  //# sourceMappingURL=koobiq-components-actions-panel.mjs.map