@testgorilla/tgo-ui 11.22.2 → 12.0.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 (227) hide show
  1. package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs +335 -229
  2. package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs.map +1 -1
  3. package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs +547 -465
  4. package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs.map +1 -1
  5. package/fesm2022/testgorilla-tgo-ui-components-ai-caveat.mjs +160 -75
  6. package/fesm2022/testgorilla-tgo-ui-components-ai-caveat.mjs.map +1 -1
  7. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs +678 -278
  8. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs.map +1 -1
  9. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs +337 -274
  10. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs.map +1 -1
  11. package/fesm2022/testgorilla-tgo-ui-components-audio-waveform.mjs +351 -192
  12. package/fesm2022/testgorilla-tgo-ui-components-audio-waveform.mjs.map +1 -1
  13. package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs +1950 -960
  14. package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs.map +1 -1
  15. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs +1206 -1044
  16. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs.map +1 -1
  17. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs +328 -182
  18. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs.map +1 -1
  19. package/fesm2022/testgorilla-tgo-ui-components-badge.mjs +383 -203
  20. package/fesm2022/testgorilla-tgo-ui-components-badge.mjs.map +1 -1
  21. package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs +553 -261
  22. package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs.map +1 -1
  23. package/fesm2022/testgorilla-tgo-ui-components-button.mjs +709 -739
  24. package/fesm2022/testgorilla-tgo-ui-components-button.mjs.map +1 -1
  25. package/fesm2022/testgorilla-tgo-ui-components-card.mjs +219 -184
  26. package/fesm2022/testgorilla-tgo-ui-components-card.mjs.map +1 -1
  27. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs +515 -458
  28. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs.map +1 -1
  29. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs +423 -162
  30. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs.map +1 -1
  31. package/fesm2022/testgorilla-tgo-ui-components-core.mjs +10784 -10996
  32. package/fesm2022/testgorilla-tgo-ui-components-core.mjs.map +1 -1
  33. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs +810 -533
  34. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs.map +1 -1
  35. package/fesm2022/testgorilla-tgo-ui-components-device-control.mjs +473 -116
  36. package/fesm2022/testgorilla-tgo-ui-components-device-control.mjs.map +1 -1
  37. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs +1149 -540
  38. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs.map +1 -1
  39. package/fesm2022/testgorilla-tgo-ui-components-divider.mjs +148 -84
  40. package/fesm2022/testgorilla-tgo-ui-components-divider.mjs.map +1 -1
  41. package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs +239 -142
  42. package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs.map +1 -1
  43. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs +599 -467
  44. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs.map +1 -1
  45. package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs +126 -70
  46. package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs.map +1 -1
  47. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs +324 -329
  48. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs.map +1 -1
  49. package/fesm2022/testgorilla-tgo-ui-components-field.mjs +969 -648
  50. package/fesm2022/testgorilla-tgo-ui-components-field.mjs.map +1 -1
  51. package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs +553 -419
  52. package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs.map +1 -1
  53. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs +847 -452
  54. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs.map +1 -1
  55. package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs +398 -302
  56. package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs.map +1 -1
  57. package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs +162 -95
  58. package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs.map +1 -1
  59. package/fesm2022/testgorilla-tgo-ui-components-icon.mjs +1825 -1789
  60. package/fesm2022/testgorilla-tgo-ui-components-icon.mjs.map +1 -1
  61. package/fesm2022/testgorilla-tgo-ui-components-infinite-scroll-table.mjs +1018 -672
  62. package/fesm2022/testgorilla-tgo-ui-components-infinite-scroll-table.mjs.map +1 -1
  63. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs +758 -368
  64. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs.map +1 -1
  65. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs +204 -212
  66. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs.map +1 -1
  67. package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs +183 -48
  68. package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs.map +1 -1
  69. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs +243 -79
  70. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs.map +1 -1
  71. package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs +751 -361
  72. package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs.map +1 -1
  73. package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs +1122 -385
  74. package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs.map +1 -1
  75. package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs +689 -413
  76. package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs.map +1 -1
  77. package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs +227 -92
  78. package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs.map +1 -1
  79. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs +174 -113
  80. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs.map +1 -1
  81. package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs +367 -165
  82. package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs.map +1 -1
  83. package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs +253 -118
  84. package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs.map +1 -1
  85. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs +730 -444
  86. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs.map +1 -1
  87. package/fesm2022/testgorilla-tgo-ui-components-popover.mjs +533 -221
  88. package/fesm2022/testgorilla-tgo-ui-components-popover.mjs.map +1 -1
  89. package/fesm2022/testgorilla-tgo-ui-components-popup-tip.mjs +274 -76
  90. package/fesm2022/testgorilla-tgo-ui-components-popup-tip.mjs.map +1 -1
  91. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs +184 -124
  92. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs.map +1 -1
  93. package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs +1223 -574
  94. package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs.map +1 -1
  95. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs +249 -160
  96. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs.map +1 -1
  97. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs +447 -439
  98. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs.map +1 -1
  99. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs +226 -150
  100. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs.map +1 -1
  101. package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs +255 -67
  102. package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs.map +1 -1
  103. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs +205 -162
  104. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs.map +1 -1
  105. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs +245 -153
  106. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs.map +1 -1
  107. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs +274 -140
  108. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs.map +1 -1
  109. package/fesm2022/testgorilla-tgo-ui-components-segmented-toggle.mjs +319 -147
  110. package/fesm2022/testgorilla-tgo-ui-components-segmented-toggle.mjs.map +1 -1
  111. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs +286 -84
  112. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs.map +1 -1
  113. package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs +660 -208
  114. package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs.map +1 -1
  115. package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs +579 -320
  116. package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs.map +1 -1
  117. package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs +419 -200
  118. package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs.map +1 -1
  119. package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs +132 -80
  120. package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs.map +1 -1
  121. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs +741 -390
  122. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs.map +1 -1
  123. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs +455 -329
  124. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs.map +1 -1
  125. package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs +543 -514
  126. package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs.map +1 -1
  127. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs +193 -104
  128. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs.map +1 -1
  129. package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs +760 -524
  130. package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs.map +1 -1
  131. package/fesm2022/testgorilla-tgo-ui-components-table.mjs +714 -415
  132. package/fesm2022/testgorilla-tgo-ui-components-table.mjs.map +1 -1
  133. package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs +847 -438
  134. package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs.map +1 -1
  135. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs +535 -275
  136. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs.map +1 -1
  137. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs +316 -246
  138. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs.map +1 -1
  139. package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs +404 -284
  140. package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs.map +1 -1
  141. package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs +664 -383
  142. package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs.map +1 -1
  143. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs +201 -112
  144. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs.map +1 -1
  145. package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs +1014 -458
  146. package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs.map +1 -1
  147. package/fesm2022/testgorilla-tgo-ui.mjs +147 -155
  148. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  149. package/mcp/catalog.json +1 -1
  150. package/package.json +16 -17
  151. package/projects/tgo-canopy-ui/assets/icons/rebrand/Sequences-filled.svg +3 -0
  152. package/projects/tgo-canopy-ui/assets/icons/rebrand/Sequences-in-line.svg +3 -0
  153. package/projects/tgo-canopy-ui/theme/_palette.scss +23 -18
  154. package/types/testgorilla-tgo-ui-components-accordion.d.ts +214 -158
  155. package/types/testgorilla-tgo-ui-components-ai-audio-circle.d.ts +93 -69
  156. package/types/testgorilla-tgo-ui-components-ai-caveat.d.ts +37 -34
  157. package/types/testgorilla-tgo-ui-components-ai-feedback.d.ts +126 -86
  158. package/types/testgorilla-tgo-ui-components-alert-banner.d.ts +260 -185
  159. package/types/testgorilla-tgo-ui-components-audio-waveform.d.ts +96 -67
  160. package/types/testgorilla-tgo-ui-components-autocomplete-v2.d.ts +455 -256
  161. package/types/testgorilla-tgo-ui-components-autocomplete.d.ts +545 -390
  162. package/types/testgorilla-tgo-ui-components-avatar.d.ts +128 -102
  163. package/types/testgorilla-tgo-ui-components-badge.d.ts +191 -139
  164. package/types/testgorilla-tgo-ui-components-breadcrumb.d.ts +100 -62
  165. package/types/testgorilla-tgo-ui-components-button.d.ts +479 -340
  166. package/types/testgorilla-tgo-ui-components-card.d.ts +153 -114
  167. package/types/testgorilla-tgo-ui-components-checkbox.d.ts +299 -223
  168. package/types/testgorilla-tgo-ui-components-checklist.d.ts +149 -97
  169. package/types/testgorilla-tgo-ui-components-core.d.ts +307 -295
  170. package/types/testgorilla-tgo-ui-components-datepicker.d.ts +404 -299
  171. package/types/testgorilla-tgo-ui-components-device-control.d.ts +151 -81
  172. package/types/testgorilla-tgo-ui-components-dialog.d.ts +442 -329
  173. package/types/testgorilla-tgo-ui-components-divider.d.ts +64 -51
  174. package/types/testgorilla-tgo-ui-components-donut-chart.d.ts +41 -37
  175. package/types/testgorilla-tgo-ui-components-dropdown.d.ts +335 -241
  176. package/types/testgorilla-tgo-ui-components-elevation-shadow.d.ts +48 -43
  177. package/types/testgorilla-tgo-ui-components-empty-state.d.ts +317 -215
  178. package/types/testgorilla-tgo-ui-components-field.d.ts +559 -388
  179. package/types/testgorilla-tgo-ui-components-file-upload.d.ts +230 -168
  180. package/types/testgorilla-tgo-ui-components-filter-button.d.ts +263 -206
  181. package/types/testgorilla-tgo-ui-components-gaussian-chart.d.ts +107 -94
  182. package/types/testgorilla-tgo-ui-components-icon-label.d.ts +84 -61
  183. package/types/testgorilla-tgo-ui-components-icon.d.ts +137 -110
  184. package/types/testgorilla-tgo-ui-components-infinite-scroll-table.d.ts +429 -303
  185. package/types/testgorilla-tgo-ui-components-inline-field.d.ts +338 -254
  186. package/types/testgorilla-tgo-ui-components-logo.d.ts +119 -101
  187. package/types/testgorilla-tgo-ui-components-media-card.d.ts +51 -35
  188. package/types/testgorilla-tgo-ui-components-media-dialog.d.ts +40 -45
  189. package/types/testgorilla-tgo-ui-components-multi-input.d.ts +283 -194
  190. package/types/testgorilla-tgo-ui-components-navbar.d.ts +326 -208
  191. package/types/testgorilla-tgo-ui-components-overflow-menu.d.ts +276 -204
  192. package/types/testgorilla-tgo-ui-components-page-header.d.ts +67 -50
  193. package/types/testgorilla-tgo-ui-components-paginator.d.ts +103 -70
  194. package/types/testgorilla-tgo-ui-components-password-criteria.d.ts +67 -58
  195. package/types/testgorilla-tgo-ui-components-password-strength.d.ts +66 -57
  196. package/types/testgorilla-tgo-ui-components-phone-input.d.ts +217 -175
  197. package/types/testgorilla-tgo-ui-components-popover.d.ts +94 -53
  198. package/types/testgorilla-tgo-ui-components-popup-tip.d.ts +81 -44
  199. package/types/testgorilla-tgo-ui-components-progress-bar.d.ts +115 -84
  200. package/types/testgorilla-tgo-ui-components-prompt.d.ts +315 -219
  201. package/types/testgorilla-tgo-ui-components-radial-progress.d.ts +146 -107
  202. package/types/testgorilla-tgo-ui-components-radio-button.d.ts +296 -219
  203. package/types/testgorilla-tgo-ui-components-rating.d.ts +134 -95
  204. package/types/testgorilla-tgo-ui-components-scale-table.d.ts +67 -47
  205. package/types/testgorilla-tgo-ui-components-scale.d.ts +91 -66
  206. package/types/testgorilla-tgo-ui-components-segmented-bar.d.ts +118 -89
  207. package/types/testgorilla-tgo-ui-components-segmented-button.d.ts +107 -80
  208. package/types/testgorilla-tgo-ui-components-segmented-toggle.d.ts +138 -105
  209. package/types/testgorilla-tgo-ui-components-selectable-card.d.ts +90 -56
  210. package/types/testgorilla-tgo-ui-components-side-navigation.d.ts +183 -107
  211. package/types/testgorilla-tgo-ui-components-side-panel.d.ts +156 -145
  212. package/types/testgorilla-tgo-ui-components-side-sheet.d.ts +98 -89
  213. package/types/testgorilla-tgo-ui-components-skeleton.d.ts +50 -33
  214. package/types/testgorilla-tgo-ui-components-slider.d.ts +278 -198
  215. package/types/testgorilla-tgo-ui-components-snackbar.d.ts +211 -159
  216. package/types/testgorilla-tgo-ui-components-spider-chart.d.ts +140 -121
  217. package/types/testgorilla-tgo-ui-components-spinner.d.ts +93 -72
  218. package/types/testgorilla-tgo-ui-components-stepper.d.ts +480 -338
  219. package/types/testgorilla-tgo-ui-components-table.d.ts +280 -233
  220. package/types/testgorilla-tgo-ui-components-tabs.d.ts +282 -183
  221. package/types/testgorilla-tgo-ui-components-tag.d.ts +266 -193
  222. package/types/testgorilla-tgo-ui-components-toggle.d.ts +180 -132
  223. package/types/testgorilla-tgo-ui-components-tooltip.d.ts +142 -105
  224. package/types/testgorilla-tgo-ui-components-universal-skills.d.ts +165 -144
  225. package/types/testgorilla-tgo-ui-components-validation-error.d.ts +70 -51
  226. package/types/testgorilla-tgo-ui-components-write-with-ai.d.ts +210 -133
  227. package/types/testgorilla-tgo-ui.d.ts +52 -45
@@ -1,276 +1,536 @@
1
- import { AsyncPipe, CommonModule } from '@angular/common';
2
- import * as i0 from '@angular/core';
3
- import { input, booleanAttribute, model, inject, computed, output, signal, viewChild, NgZone, effect, afterRenderEffect, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
- import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
5
- import { ReplaySubject, debounceTime, map } from 'rxjs';
6
- import { IKeyboardEvent, UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';
7
- import * as i1 from '@testgorilla/tgo-ui/components/icon';
8
- import { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';
9
- import { MatInputModule } from '@angular/material/input';
10
- import { TooltipComponentModule } from '@testgorilla/tgo-ui/components/tooltip';
11
-
12
- class TagComponent {
13
- constructor() {
14
- /**
15
- * Tag's label
16
- *
17
- * @memberof TagComponent
18
- */
19
- this.label = input('', ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
20
- /**
21
- * Icon
22
- *
23
- * @type {string}
24
- * @memberof TagComponent
25
- */
26
- this.icon = input('', ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
27
- /**
28
- * Whether to allow the tag to be closed.
29
- *
30
- * @type {boolean}
31
- * @default false
32
- * @memberof TagComponent
33
- */
34
- this.allowClose = input(false, { ...(ngDevMode ? { debugName: "allowClose" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
35
- /**
36
- * Whether the tag is in read-only mode.
37
- *
38
- * @type {boolean}
39
- * @default false
40
- * @memberof TagComponent
41
- */
42
- this.readOnly = input(false, { ...(ngDevMode ? { debugName: "readOnly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
43
- /**
44
- * Whether the tag is selected.
45
- *
46
- * @type {boolean}
47
- * @default false
48
- * @memberof TagComponent
49
- */
50
- this.isSelected = model(false, ...(ngDevMode ? [{ debugName: "isSelected" }] : /* istanbul ignore next */ []));
51
- /**
52
- * Display icon when is selected
53
- *
54
- * @type {boolean}
55
- * @default false
56
- * @memberof TagComponent
57
- */
58
- this.showIconWhenSelected = input(false, { ...(ngDevMode ? { debugName: "showIconWhenSelected" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
59
- /**
60
- * Pins the tag to its filled background at rest, without tying that background
61
- * to the selected state — pressing the tag never flips its fill. Interactive
62
- * states (hover, focus ring, press scale) and the `press` output are unaffected,
63
- * so the tag stays clickable; use `readOnly` when it should not be.
64
- *
65
- * The fill follows the theme: grayscale in `light` / `dark`, petrol in `classic`.
66
- *
67
- * @type {boolean}
68
- * @default false
69
- * @memberof TagComponent
70
- */
71
- this.pinnedBackground = input(false, { ...(ngDevMode ? { debugName: "pinnedBackground" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
72
- /**
73
- * Clamps the tag to its parent's width, truncating the label, instead of overflowing it.
74
- *
75
- * Opt-in: enabling it gives the host a real layout box, so `width`, `height` and vertical
76
- * margins set on `ui-tag` start applying, bare sibling tags flow inline instead of stacking,
77
- * and a tag in an `overflow-x` strip shrinks rather than scrolls (`flex: 0 0 auto` opts out).
78
- * Becomes the default in the next major.
79
- *
80
- * @type {boolean}
81
- * @default false
82
- * @memberof TagComponent
83
- */
84
- this.constrainWidth = input(false, { ...(ngDevMode ? { debugName: "constrainWidth" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
85
- /**
86
- * Specifies whether the element is disabled.
87
- *
88
- * @type {boolean}
89
- * @default false
90
- * @memberof TagComponent
91
- */
92
- this.isDisabled = input(false, { ...(ngDevMode ? { debugName: "isDisabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
93
- /**
94
- *
95
- * Defines the application theme
96
- *
97
- * @type {ApplicationTheme | undefined}
98
- * @memberof TagComponent
99
- *
100
- * When not provided, the component falls back to the injected
101
- * `CANOPYUI_DEFAULT_APPLICATION_THEME` token (if any), then to `'light'`.
102
- */
103
- this.applicationTheme = input(undefined, ...(ngDevMode ? [{ debugName: "applicationTheme" }] : /* istanbul ignore next */ []));
104
- this.defaultAppTheme = inject('CANOPYUI_DEFAULT_APPLICATION_THEME', { optional: true });
105
- this.theme = computed(() => this.applicationTheme() ?? this.defaultAppTheme ?? 'light', ...(ngDevMode ? [{ debugName: "theme" }] : /* istanbul ignore next */ []));
106
- /**
107
- * A string representing the ARIA label for accessibility.
108
- * This label is used to provide an accessible name for the input element.
109
- * @type {string}
110
- * @memberof TagComponent
111
- */
112
- this.ariaLabel = input(undefined, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
113
- this.testId = input(null, ...(ngDevMode ? [{ debugName: "testId" }] : /* istanbul ignore next */ []));
114
- this.closeTestId = computed(() => (this.testId() ? `${this.testId()}-remove` : null), ...(ngDevMode ? [{ debugName: "closeTestId" }] : /* istanbul ignore next */ []));
115
- /**
116
- * A string representing the ARIA requirement for accessibility.
117
- * This attribute is used to indicate whether an input field is required for form submission.
118
- * @type {boolean}
119
- * @memberof TagComponent
120
- */
121
- this.ariaRequired = input(false, { ...(ngDevMode ? { debugName: "ariaRequired" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
122
- /**
123
- * Whether to show the badge on the tag.
124
- * @type {boolean}
125
- * @default false
126
- * @memberof TagComponent
127
- */
128
- this.showBadge = input(false, ...(ngDevMode ? [{ debugName: "showBadge" }] : /* istanbul ignore next */ []));
129
- /**
130
- * The notifications amount to be displayed on the badge.
131
- * @type {number}
132
- * @default 0
133
- * @memberof TagComponent
134
- */
135
- this.notificationsAmount = input(0, ...(ngDevMode ? [{ debugName: "notificationsAmount" }] : /* istanbul ignore next */ []));
136
- /**
137
- * Event triggered when the tag should be closed.
138
- *
139
- * @event
140
- * @memberof TagComponent
141
- */
142
- // eslint-disable-next-line @angular-eslint/no-output-native -- output shadows a native event; rename is breaking, deferred to the breaking-change MAJOR (see plan)
143
- this.close = output();
144
- /**
145
- * Event triggered when a press action occurs.
146
- *
147
- * @event
148
- * @memberof TagComponent
149
- */
150
- this.press = output();
151
- /**
152
- * Subject that needs to be triggered when Label input changes, to check if it's truncated
153
- * @private
154
- * @type {void}
155
- * @memberof TagComponent
156
- */
157
- this.checkLabelEllipsis$ = new ReplaySubject(1);
158
- /**
159
- * Observable that indicates if the Label is truncated
160
- * debounceTime is used to wait for view to be initialized after receiving a new Label input
161
- * @protected
162
- * @type {boolean}
163
- * @memberof TagComponent
164
- */
165
- this.isEllipseActiveObs$ = this.checkLabelEllipsis$.pipe(debounceTime(100), map(() => {
166
- const el = this.labelElement()?.nativeElement;
167
- return el ? el.offsetWidth < el.scrollWidth : false;
168
- }));
169
- this.isHovered = signal(false, ...(ngDevMode ? [{ debugName: "isHovered" }] : /* istanbul ignore next */ []));
170
- this.shrink = false;
171
- this.iconColor = 'black';
172
- this.closeBtnFocused = signal(false, ...(ngDevMode ? [{ debugName: "closeBtnFocused" }] : /* istanbul ignore next */ []));
173
- this.labelElement = viewChild('labelElement', ...(ngDevMode ? [{ debugName: "labelElement" }] : /* istanbul ignore next */ []));
174
- this.containerElement = viewChild('containerElement', ...(ngDevMode ? [{ debugName: "containerElement" }] : /* istanbul ignore next */ []));
175
- this.ngZone = inject(NgZone);
176
- this.tabIndex = computed(() => (this.isDisabled() || this.readOnly() ? -1 : 0), ...(ngDevMode ? [{ debugName: "tabIndex" }] : /* istanbul ignore next */ []));
177
- this.filled = computed(() => this.readOnly() || this.allowClose() || this.isSelected() || this.pinnedBackground(), ...(ngDevMode ? [{ debugName: "filled" }] : /* istanbul ignore next */ []));
178
- effect(() => {
179
- this.label(); // dep — re-run on label change
180
- this.labelElement(); // dep — re-run once @ViewChild resolves
181
- this.isLabelEllipseActive();
182
- });
183
- // With `constrainWidth` the label truncates against the parent, and no input changes when
184
- // the parent resizes — so the effect above never re-runs and the tooltip goes stale. Off,
185
- // truncation is the label against a fixed cap, and the label is an input.
186
- afterRenderEffect({
187
- write: onCleanup => {
188
- const el = this.containerElement()?.nativeElement;
189
- if (!this.constrainWidth() || !el || typeof ResizeObserver === 'undefined') {
190
- return;
191
- }
192
- const observer = new ResizeObserver(() => this.ngZone.run(() => this.isLabelEllipseActive()));
193
- observer.observe(el);
194
- onCleanup(() => observer.disconnect());
195
- },
196
- });
197
- }
198
- onPress() {
199
- if (!this.readOnly() && !this.allowClose()) {
200
- const newSelected = this.showIconWhenSelected() ? !this.isSelected() : false;
201
- this.isSelected.set(newSelected);
202
- this.press.emit(newSelected);
203
- }
204
- }
205
- setHoverState(state) {
206
- if (this.theme() === 'classic') {
207
- return;
208
- }
209
- this.isHovered.set(state);
210
- }
211
- setShrinkState(state) {
212
- this.shrink = state;
213
- }
214
- onClose() {
215
- this.close.emit();
216
- }
217
- isLabelEllipseActive() {
218
- this.checkLabelEllipsis$.next();
219
- }
220
- onKeydown($event) {
221
- if (($event.key === IKeyboardEvent.ENTER || $event.key === IKeyboardEvent.SPACE) &&
222
- !this.closeBtnFocused()) {
223
- this.onPress();
224
- }
225
- else if (this.closeBtnFocused() &&
226
- ($event.key === IKeyboardEvent.ENTER || $event.key === IKeyboardEvent.SPACE)) {
227
- this.onClose();
228
- }
229
- }
230
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
231
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: TagComponent, isStandalone: true, selector: "ui-tag", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, allowClose: { classPropertyName: "allowClose", publicName: "allowClose", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, isSelected: { classPropertyName: "isSelected", publicName: "isSelected", isSignal: true, isRequired: false, transformFunction: null }, showIconWhenSelected: { classPropertyName: "showIconWhenSelected", publicName: "showIconWhenSelected", isSignal: true, isRequired: false, transformFunction: null }, pinnedBackground: { classPropertyName: "pinnedBackground", publicName: "pinnedBackground", isSignal: true, isRequired: false, transformFunction: null }, constrainWidth: { classPropertyName: "constrainWidth", publicName: "constrainWidth", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, applicationTheme: { classPropertyName: "applicationTheme", publicName: "applicationTheme", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, testId: { classPropertyName: "testId", publicName: "testId", isSignal: true, isRequired: false, transformFunction: null }, ariaRequired: { classPropertyName: "ariaRequired", publicName: "ariaRequired", isSignal: true, isRequired: false, transformFunction: null }, showBadge: { classPropertyName: "showBadge", publicName: "showBadge", isSignal: true, isRequired: false, transformFunction: null }, notificationsAmount: { classPropertyName: "notificationsAmount", publicName: "notificationsAmount", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isSelected: "isSelectedChange", close: "close", press: "press" }, host: { properties: { "class.ui-tag--constrain-width": "constrainWidth()" } }, viewQueries: [{ propertyName: "labelElement", first: true, predicate: ["labelElement"], descendants: true, isSignal: true }, { propertyName: "containerElement", first: true, predicate: ["containerElement"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"tag-wrapper\">\n <div\n [matTooltip]=\"(isEllipseActiveObs$ | async) ? label() : ''\"\n [matTooltipClass]=\"theme()\"\n [tabindex]=\"tabIndex()\"\n class=\"tag-container\"\n #containerElement\n [attr.data-testid]=\"testId() ?? 'tag--container'\"\n [attr.theme]=\"theme()\"\n [class]=\"{\n filled: filled(),\n readonly: readOnly(),\n disabled: isDisabled(),\n outlined: !isSelected(),\n shrink,\n }\"\n (click)=\"onPress()\"\n (mouseenter)=\"setHoverState(true)\"\n (mouseleave)=\"setHoverState(false)\"\n (mousedown)=\"setShrinkState(true)\"\n (mouseup)=\"setShrinkState(false)\"\n (touchstart)=\"setShrinkState(true)\"\n (touchend)=\"setShrinkState(false)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"ariaLabel() || label()\"\n [attr.aria-required]=\"ariaRequired()\"\n >\n @if (icon()) {\n <!-- Let ui-icon resolve the hover variant: composing the name here appended instead of\n replacing, yielding names like `Sparkle-in-line-filled` that exist in no icon set. -->\n <ui-icon\n class=\"icon\"\n [color]=\"iconColor\"\n [name]=\"icon()\"\n [filled]=\"isHovered()\"\n [toggleIconStyle]=\"true\"\n [applicationTheme]=\"theme()\"\n ></ui-icon>\n }\n @if (isSelected() && showIconWhenSelected()) {\n <ui-icon [color]=\"iconColor\" class=\"icon\" [name]=\"'Check'\" [applicationTheme]=\"theme()\"></ui-icon>\n }\n <span class=\"tag-label\" #labelElement>{{ label() }}</span>\n <!-- Consumer content after the label. It never shrinks, so the label truncates first. Its own\n presses are kept from reaching the tag, so a control in here doesn't also press the tag. -->\n <span\n class=\"tag-suffix\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.stopPropagation()\"\n (touchstart)=\"$event.stopPropagation()\"\n >\n <ng-content select=\"[uiTagSuffix]\"></ng-content>\n </span>\n @if (showBadge()) {\n <span class=\"count\" aria-hidden=\"true\">\n <span class=\"count-dot\">&bull;</span>\n <span class=\"count-value\">{{ notificationsAmount() }}</span>\n </span>\n }\n @if (allowClose()) {\n <ui-icon\n (focus)=\"closeBtnFocused.set(true)\"\n (blur)=\"closeBtnFocused.set(false)\"\n [tabindex]=\"tabIndex()\"\n class=\"delete-icon\"\n [attr.data-testid]=\"closeTestId()\"\n [attr.aria-label]=\"'TAG.REMOVE' | uiTranslate | async\"\n [color]=\"iconColor\"\n (click)=\"onClose(); $event.stopPropagation()\"\n [name]=\"'Close'\"\n [applicationTheme]=\"theme()\"\n ></ui-icon>\n }\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.tag-container ui-icon:not(.delete-icon){pointer-events:none}:host .tag-wrapper{max-width:var(--ui-tag-max-width, 264px)}@keyframes focus-ring-animation{0%{outline-width:4px}to{outline-width:2px}}:host .tag-container{height:32px;max-width:var(--ui-tag-max-width, 264px);border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0 8px;width:fit-content;cursor:pointer;margin:4px}:host .tag-container:focus-visible{outline:2px solid #242424;animation:focus-ring-animation .4s forwards;outline-offset:2px;position:relative}:host .tag-container:focus-visible:after{content:\"\";position:absolute;width:calc(100% + 4px);height:calc(100% + 4px);top:-2px;left:-2px;outline:2px solid #ffffff;border-radius:4px}:host .tag-container.outlined{border:1px solid #6894a0}:host .tag-container.filled{background:#e9f0f1;border:1px solid #e9f0f1}:host .tag-container.filled:hover{background-color:#e9f0f1;border:1px solid #276678}:host .tag-container.filled:active{background:#a9c2c9;border:1px solid #1b4754}:host .tag-container:hover{background:#f6f6f6;border:1px solid #6894a0}:host .tag-container:active{background:#e9f0f1}:host .tag-container.readonly{pointer-events:none}:host .tag-container.disabled{opacity:.5;border:1px solid #276678;background:#e9f0f1;pointer-events:none}:host .tag-container .tag-label{-webkit-user-select:none;user-select:none;font-size:14px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .tag-container .icon{height:16px;width:16px;min-width:16px;margin-right:8px}:host .tag-container .tag-suffix{display:inline-flex;align-items:center;flex-shrink:0;margin-left:8px}:host .tag-container .tag-suffix:empty{display:none}:host .tag-container .delete-icon{display:flex;align-items:center;justify-content:center;margin-left:8px;text-align:center;border-radius:50px}:host .tag-container[theme=dark],:host .tag-container[theme=light]{border-radius:8px;background:#f4f4f4;border:1px solid #e9e9e9;color:#242424}:host .tag-container[theme=dark].outlined:not(.filled),:host .tag-container[theme=light].outlined:not(.filled){background:#fff;border-color:#919191}:host .tag-container[theme=dark].filled.readonly,:host .tag-container[theme=light].filled.readonly{border:none}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):hover,:host .tag-container[theme=light]:not(.readonly):not(.disabled):hover{background:#d3d3d3;border-color:#d3d3d3;color:#242424}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):focus-visible,:host .tag-container[theme=light]:not(.readonly):not(.disabled):focus-visible{outline:2px solid #242424;outline-offset:2px;border-radius:10px;animation:none}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):focus-visible:after,:host .tag-container[theme=light]:not(.readonly):not(.disabled):focus-visible:after{display:none}:host .tag-container[theme=dark].shrink,:host .tag-container[theme=light].shrink{transform:scale(.98)}:host .tag-container[theme=dark].disabled,:host .tag-container[theme=light].disabled{pointer-events:none;--cnp-icon-color: #919191}:host .tag-container[theme=dark].disabled .tag-label,:host .tag-container[theme=dark].disabled .count-dot,:host .tag-container[theme=dark].disabled .count-value,:host .tag-container[theme=light].disabled .tag-label,:host .tag-container[theme=light].disabled .count-dot,:host .tag-container[theme=light].disabled .count-value{color:#919191}:host .tag-container[theme=dark] .count,:host .tag-container[theme=light] .count{display:inline-flex;align-items:center;gap:4px;margin-left:4px;font-size:14px;line-height:20px}:host .tag-container[theme=dark] .count-dot,:host .tag-container[theme=light] .count-dot{color:#666}:host .tag-container[theme=dark] .count-value,:host .tag-container[theme=light] .count-value{color:#242424;font-variant-numeric:tabular-nums}:host .tag-container[theme=dark] .icon,:host .tag-container[theme=light] .icon{margin-right:4px}:host .tag-container[theme=dark] .tag-suffix,:host .tag-container[theme=light] .tag-suffix{margin-left:4px}:host .tag-container[theme=dark] .delete-icon,:host .tag-container[theme=light] .delete-icon{margin-left:4px;border-radius:4px;transition:outline-color .1s;outline:2px solid transparent}:host .tag-container[theme=dark] .delete-icon:focus-visible,:host .tag-container[theme=light] .delete-icon:focus-visible{outline-color:#242424}:host(.ui-tag--constrain-width){display:inline-flex;max-width:min(var(--ui-tag-max-width, 264px),100%);min-width:0}:host(.ui-tag--constrain-width) .tag-wrapper{display:flex;min-width:0;max-width:min(var(--ui-tag-max-width, 264px),100%)}:host(.ui-tag--constrain-width) .tag-container{box-sizing:border-box;min-width:0;max-width:100%}:host(.ui-tag--constrain-width) .tag-label{min-width:0}:host(.ui-tag--constrain-width) .icon,:host(.ui-tag--constrain-width) .tag-suffix,:host(.ui-tag--constrain-width) .delete-icon,:host(.ui-tag--constrain-width) .count{flex-shrink:0}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-family:Open Sans,serif;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mat-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}\n"], dependencies: [{ kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: IconComponentModule }, { kind: "component", type: i1.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
232
- }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: TagComponent, decorators: [{
234
- type: Component,
235
- args: [{ selector: 'ui-tag', changeDetection: ChangeDetectionStrategy.OnPush, host: { '[class.ui-tag--constrain-width]': 'constrainWidth()' }, imports: [MatTooltip, IconComponentModule, AsyncPipe, UiTranslatePipe], template: "<div class=\"tag-wrapper\">\n <div\n [matTooltip]=\"(isEllipseActiveObs$ | async) ? label() : ''\"\n [matTooltipClass]=\"theme()\"\n [tabindex]=\"tabIndex()\"\n class=\"tag-container\"\n #containerElement\n [attr.data-testid]=\"testId() ?? 'tag--container'\"\n [attr.theme]=\"theme()\"\n [class]=\"{\n filled: filled(),\n readonly: readOnly(),\n disabled: isDisabled(),\n outlined: !isSelected(),\n shrink,\n }\"\n (click)=\"onPress()\"\n (mouseenter)=\"setHoverState(true)\"\n (mouseleave)=\"setHoverState(false)\"\n (mousedown)=\"setShrinkState(true)\"\n (mouseup)=\"setShrinkState(false)\"\n (touchstart)=\"setShrinkState(true)\"\n (touchend)=\"setShrinkState(false)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"ariaLabel() || label()\"\n [attr.aria-required]=\"ariaRequired()\"\n >\n @if (icon()) {\n <!-- Let ui-icon resolve the hover variant: composing the name here appended instead of\n replacing, yielding names like `Sparkle-in-line-filled` that exist in no icon set. -->\n <ui-icon\n class=\"icon\"\n [color]=\"iconColor\"\n [name]=\"icon()\"\n [filled]=\"isHovered()\"\n [toggleIconStyle]=\"true\"\n [applicationTheme]=\"theme()\"\n ></ui-icon>\n }\n @if (isSelected() && showIconWhenSelected()) {\n <ui-icon [color]=\"iconColor\" class=\"icon\" [name]=\"'Check'\" [applicationTheme]=\"theme()\"></ui-icon>\n }\n <span class=\"tag-label\" #labelElement>{{ label() }}</span>\n <!-- Consumer content after the label. It never shrinks, so the label truncates first. Its own\n presses are kept from reaching the tag, so a control in here doesn't also press the tag. -->\n <span\n class=\"tag-suffix\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.stopPropagation()\"\n (touchstart)=\"$event.stopPropagation()\"\n >\n <ng-content select=\"[uiTagSuffix]\"></ng-content>\n </span>\n @if (showBadge()) {\n <span class=\"count\" aria-hidden=\"true\">\n <span class=\"count-dot\">&bull;</span>\n <span class=\"count-value\">{{ notificationsAmount() }}</span>\n </span>\n }\n @if (allowClose()) {\n <ui-icon\n (focus)=\"closeBtnFocused.set(true)\"\n (blur)=\"closeBtnFocused.set(false)\"\n [tabindex]=\"tabIndex()\"\n class=\"delete-icon\"\n [attr.data-testid]=\"closeTestId()\"\n [attr.aria-label]=\"'TAG.REMOVE' | uiTranslate | async\"\n [color]=\"iconColor\"\n (click)=\"onClose(); $event.stopPropagation()\"\n [name]=\"'Close'\"\n [applicationTheme]=\"theme()\"\n ></ui-icon>\n }\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.tag-container ui-icon:not(.delete-icon){pointer-events:none}:host .tag-wrapper{max-width:var(--ui-tag-max-width, 264px)}@keyframes focus-ring-animation{0%{outline-width:4px}to{outline-width:2px}}:host .tag-container{height:32px;max-width:var(--ui-tag-max-width, 264px);border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0 8px;width:fit-content;cursor:pointer;margin:4px}:host .tag-container:focus-visible{outline:2px solid #242424;animation:focus-ring-animation .4s forwards;outline-offset:2px;position:relative}:host .tag-container:focus-visible:after{content:\"\";position:absolute;width:calc(100% + 4px);height:calc(100% + 4px);top:-2px;left:-2px;outline:2px solid #ffffff;border-radius:4px}:host .tag-container.outlined{border:1px solid #6894a0}:host .tag-container.filled{background:#e9f0f1;border:1px solid #e9f0f1}:host .tag-container.filled:hover{background-color:#e9f0f1;border:1px solid #276678}:host .tag-container.filled:active{background:#a9c2c9;border:1px solid #1b4754}:host .tag-container:hover{background:#f6f6f6;border:1px solid #6894a0}:host .tag-container:active{background:#e9f0f1}:host .tag-container.readonly{pointer-events:none}:host .tag-container.disabled{opacity:.5;border:1px solid #276678;background:#e9f0f1;pointer-events:none}:host .tag-container .tag-label{-webkit-user-select:none;user-select:none;font-size:14px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .tag-container .icon{height:16px;width:16px;min-width:16px;margin-right:8px}:host .tag-container .tag-suffix{display:inline-flex;align-items:center;flex-shrink:0;margin-left:8px}:host .tag-container .tag-suffix:empty{display:none}:host .tag-container .delete-icon{display:flex;align-items:center;justify-content:center;margin-left:8px;text-align:center;border-radius:50px}:host .tag-container[theme=dark],:host .tag-container[theme=light]{border-radius:8px;background:#f4f4f4;border:1px solid #e9e9e9;color:#242424}:host .tag-container[theme=dark].outlined:not(.filled),:host .tag-container[theme=light].outlined:not(.filled){background:#fff;border-color:#919191}:host .tag-container[theme=dark].filled.readonly,:host .tag-container[theme=light].filled.readonly{border:none}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):hover,:host .tag-container[theme=light]:not(.readonly):not(.disabled):hover{background:#d3d3d3;border-color:#d3d3d3;color:#242424}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):focus-visible,:host .tag-container[theme=light]:not(.readonly):not(.disabled):focus-visible{outline:2px solid #242424;outline-offset:2px;border-radius:10px;animation:none}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):focus-visible:after,:host .tag-container[theme=light]:not(.readonly):not(.disabled):focus-visible:after{display:none}:host .tag-container[theme=dark].shrink,:host .tag-container[theme=light].shrink{transform:scale(.98)}:host .tag-container[theme=dark].disabled,:host .tag-container[theme=light].disabled{pointer-events:none;--cnp-icon-color: #919191}:host .tag-container[theme=dark].disabled .tag-label,:host .tag-container[theme=dark].disabled .count-dot,:host .tag-container[theme=dark].disabled .count-value,:host .tag-container[theme=light].disabled .tag-label,:host .tag-container[theme=light].disabled .count-dot,:host .tag-container[theme=light].disabled .count-value{color:#919191}:host .tag-container[theme=dark] .count,:host .tag-container[theme=light] .count{display:inline-flex;align-items:center;gap:4px;margin-left:4px;font-size:14px;line-height:20px}:host .tag-container[theme=dark] .count-dot,:host .tag-container[theme=light] .count-dot{color:#666}:host .tag-container[theme=dark] .count-value,:host .tag-container[theme=light] .count-value{color:#242424;font-variant-numeric:tabular-nums}:host .tag-container[theme=dark] .icon,:host .tag-container[theme=light] .icon{margin-right:4px}:host .tag-container[theme=dark] .tag-suffix,:host .tag-container[theme=light] .tag-suffix{margin-left:4px}:host .tag-container[theme=dark] .delete-icon,:host .tag-container[theme=light] .delete-icon{margin-left:4px;border-radius:4px;transition:outline-color .1s;outline:2px solid transparent}:host .tag-container[theme=dark] .delete-icon:focus-visible,:host .tag-container[theme=light] .delete-icon:focus-visible{outline-color:#242424}:host(.ui-tag--constrain-width){display:inline-flex;max-width:min(var(--ui-tag-max-width, 264px),100%);min-width:0}:host(.ui-tag--constrain-width) .tag-wrapper{display:flex;min-width:0;max-width:min(var(--ui-tag-max-width, 264px),100%)}:host(.ui-tag--constrain-width) .tag-container{box-sizing:border-box;min-width:0;max-width:100%}:host(.ui-tag--constrain-width) .tag-label{min-width:0}:host(.ui-tag--constrain-width) .icon,:host(.ui-tag--constrain-width) .tag-suffix,:host(.ui-tag--constrain-width) .delete-icon,:host(.ui-tag--constrain-width) .count{flex-shrink:0}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-family:Open Sans,serif;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mat-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}\n"] }]
236
- }], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], allowClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowClose", required: false }] }], readOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readOnly", required: false }] }], isSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSelected", required: false }] }, { type: i0.Output, args: ["isSelectedChange"] }], showIconWhenSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIconWhenSelected", required: false }] }], pinnedBackground: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinnedBackground", required: false }] }], constrainWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "constrainWidth", required: false }] }], isDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDisabled", required: false }] }], applicationTheme: [{ type: i0.Input, args: [{ isSignal: true, alias: "applicationTheme", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], testId: [{ type: i0.Input, args: [{ isSignal: true, alias: "testId", required: false }] }], ariaRequired: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaRequired", required: false }] }], showBadge: [{ type: i0.Input, args: [{ isSignal: true, alias: "showBadge", required: false }] }], notificationsAmount: [{ type: i0.Input, args: [{ isSignal: true, alias: "notificationsAmount", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], press: [{ type: i0.Output, args: ["press"] }], labelElement: [{ type: i0.ViewChild, args: ['labelElement', { isSignal: true }] }], containerElement: [{ type: i0.ViewChild, args: ['containerElement', { isSignal: true }] }] } });
237
-
238
- class TagComponentModule {
239
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: TagComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
240
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: TagComponentModule, imports: [CommonModule,
241
- IconComponentModule,
242
- TooltipComponentModule,
243
- MatTooltipModule,
244
- MatInputModule,
245
- UiTranslatePipe,
246
- TagComponent], exports: [TagComponent] }); }
247
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: TagComponentModule, imports: [CommonModule,
248
- IconComponentModule,
249
- TooltipComponentModule,
250
- MatTooltipModule,
251
- MatInputModule,
252
- TagComponent] }); }
253
- }
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: TagComponentModule, decorators: [{
255
- type: NgModule,
256
- args: [{
257
- imports: [
258
- CommonModule,
259
- IconComponentModule,
260
- TooltipComponentModule,
261
- MatTooltipModule,
262
- MatInputModule,
263
- UiTranslatePipe,
264
- TagComponent,
265
- ],
266
- exports: [TagComponent],
267
- providers: [],
268
- }]
269
- }] });
270
-
271
- /**
272
- * Generated bundle index. Do not edit.
273
- */
274
-
1
+ import { AsyncPipe, CommonModule } from "@angular/common";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, NgModule, NgZone, afterRenderEffect, booleanAttribute, computed, effect, inject, input, model, output, signal, viewChild } from "@angular/core";
4
+ import { MatTooltip, MatTooltipModule } from "@angular/material/tooltip";
5
+ import { ReplaySubject, debounceTime, map } from "rxjs";
6
+ import { IKeyboardEvent, UiTranslatePipe } from "@testgorilla/tgo-ui/components/core";
7
+ import * as i1 from "@testgorilla/tgo-ui/components/icon";
8
+ import { IconComponentModule } from "@testgorilla/tgo-ui/components/icon";
9
+ import { MatInputModule } from "@angular/material/input";
10
+ import { TooltipComponentModule } from "@testgorilla/tgo-ui/components/tooltip";
11
+ var TagComponent = class TagComponent {
12
+ constructor() {
13
+ this.label = input("", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
14
+ this.icon = input("", ...ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []);
15
+ this.allowClose = input(false, {
16
+ ...ngDevMode ? { debugName: "allowClose" } : /* istanbul ignore next */ {},
17
+ transform: booleanAttribute
18
+ });
19
+ this.readOnly = input(false, {
20
+ ...ngDevMode ? { debugName: "readOnly" } : /* istanbul ignore next */ {},
21
+ transform: booleanAttribute
22
+ });
23
+ this.isSelected = model(false, ...ngDevMode ? [{ debugName: "isSelected" }] : /* istanbul ignore next */ []);
24
+ this.showIconWhenSelected = input(false, {
25
+ ...ngDevMode ? { debugName: "showIconWhenSelected" } : /* istanbul ignore next */ {},
26
+ transform: booleanAttribute
27
+ });
28
+ this.pinnedBackground = input(false, {
29
+ ...ngDevMode ? { debugName: "pinnedBackground" } : /* istanbul ignore next */ {},
30
+ transform: booleanAttribute
31
+ });
32
+ this.constrainWidth = input(false, {
33
+ ...ngDevMode ? { debugName: "constrainWidth" } : /* istanbul ignore next */ {},
34
+ transform: booleanAttribute
35
+ });
36
+ this.isDisabled = input(false, {
37
+ ...ngDevMode ? { debugName: "isDisabled" } : /* istanbul ignore next */ {},
38
+ transform: booleanAttribute
39
+ });
40
+ this.applicationTheme = input(void 0, ...ngDevMode ? [{ debugName: "applicationTheme" }] : /* istanbul ignore next */ []);
41
+ this.defaultAppTheme = inject("CANOPYUI_DEFAULT_APPLICATION_THEME", { optional: true });
42
+ this.theme = computed(() => this.applicationTheme() ?? this.defaultAppTheme ?? "light", ...ngDevMode ? [{ debugName: "theme" }] : /* istanbul ignore next */ []);
43
+ this.ariaLabel = input(void 0, ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
44
+ this.testId = input(null, ...ngDevMode ? [{ debugName: "testId" }] : /* istanbul ignore next */ []);
45
+ this.closeTestId = computed(() => this.testId() ? `${this.testId()}-remove` : null, ...ngDevMode ? [{ debugName: "closeTestId" }] : /* istanbul ignore next */ []);
46
+ this.ariaRequired = input(false, {
47
+ ...ngDevMode ? { debugName: "ariaRequired" } : /* istanbul ignore next */ {},
48
+ transform: booleanAttribute
49
+ });
50
+ this.showBadge = input(false, ...ngDevMode ? [{ debugName: "showBadge" }] : /* istanbul ignore next */ []);
51
+ this.notificationsAmount = input(0, ...ngDevMode ? [{ debugName: "notificationsAmount" }] : /* istanbul ignore next */ []);
52
+ this.close = output();
53
+ this.press = output();
54
+ this.checkLabelEllipsis$ = new ReplaySubject(1);
55
+ this.isEllipseActiveObs$ = this.checkLabelEllipsis$.pipe(debounceTime(100), map(() => {
56
+ const el = this.labelElement()?.nativeElement;
57
+ return el ? el.offsetWidth < el.scrollWidth : false;
58
+ }));
59
+ this.isHovered = signal(false, ...ngDevMode ? [{ debugName: "isHovered" }] : /* istanbul ignore next */ []);
60
+ this.shrink = false;
61
+ this.iconColor = "black";
62
+ this.closeBtnFocused = signal(false, ...ngDevMode ? [{ debugName: "closeBtnFocused" }] : /* istanbul ignore next */ []);
63
+ this.labelElement = viewChild("labelElement", ...ngDevMode ? [{ debugName: "labelElement" }] : /* istanbul ignore next */ []);
64
+ this.containerElement = viewChild("containerElement", ...ngDevMode ? [{ debugName: "containerElement" }] : /* istanbul ignore next */ []);
65
+ this.ngZone = inject(NgZone);
66
+ this.tabIndex = computed(() => this.isDisabled() || this.readOnly() ? -1 : 0, ...ngDevMode ? [{ debugName: "tabIndex" }] : /* istanbul ignore next */ []);
67
+ this.filled = computed(() => this.readOnly() || this.allowClose() || this.isSelected() || this.pinnedBackground(), ...ngDevMode ? [{ debugName: "filled" }] : /* istanbul ignore next */ []);
68
+ effect(() => {
69
+ this.label();
70
+ this.labelElement();
71
+ this.isLabelEllipseActive();
72
+ });
73
+ afterRenderEffect({ write: (onCleanup) => {
74
+ const el = this.containerElement()?.nativeElement;
75
+ if (!this.constrainWidth() || !el || typeof ResizeObserver === "undefined") return;
76
+ const observer = new ResizeObserver(() => this.ngZone.run(() => this.isLabelEllipseActive()));
77
+ observer.observe(el);
78
+ onCleanup(() => observer.disconnect());
79
+ } });
80
+ }
81
+ onPress() {
82
+ if (!this.readOnly() && !this.allowClose()) {
83
+ const newSelected = this.showIconWhenSelected() ? !this.isSelected() : false;
84
+ this.isSelected.set(newSelected);
85
+ this.press.emit(newSelected);
86
+ }
87
+ }
88
+ setHoverState(state) {
89
+ if (this.theme() === "classic") return;
90
+ this.isHovered.set(state);
91
+ }
92
+ setShrinkState(state) {
93
+ this.shrink = state;
94
+ }
95
+ onClose() {
96
+ this.close.emit();
97
+ }
98
+ isLabelEllipseActive() {
99
+ this.checkLabelEllipsis$.next();
100
+ }
101
+ onKeydown($event) {
102
+ if (($event.key === IKeyboardEvent.ENTER || $event.key === IKeyboardEvent.SPACE) && !this.closeBtnFocused()) this.onPress();
103
+ else if (this.closeBtnFocused() && ($event.key === IKeyboardEvent.ENTER || $event.key === IKeyboardEvent.SPACE)) this.onClose();
104
+ }
105
+ static {
106
+ this.ɵfac = i0.ɵɵngDeclareFactory({
107
+ minVersion: "12.0.0",
108
+ version: "22.2.4",
109
+ ngImport: i0,
110
+ type: TagComponent,
111
+ deps: [],
112
+ target: i0.ɵɵFactoryTarget.Component
113
+ });
114
+ }
115
+ static {
116
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
117
+ minVersion: "17.0.0",
118
+ version: "22.2.4",
119
+ type: TagComponent,
120
+ isStandalone: true,
121
+ selector: "ui-tag",
122
+ inputs: {
123
+ label: {
124
+ classPropertyName: "label",
125
+ publicName: "label",
126
+ isSignal: true,
127
+ isRequired: false,
128
+ transformFunction: null
129
+ },
130
+ icon: {
131
+ classPropertyName: "icon",
132
+ publicName: "icon",
133
+ isSignal: true,
134
+ isRequired: false,
135
+ transformFunction: null
136
+ },
137
+ allowClose: {
138
+ classPropertyName: "allowClose",
139
+ publicName: "allowClose",
140
+ isSignal: true,
141
+ isRequired: false,
142
+ transformFunction: null
143
+ },
144
+ readOnly: {
145
+ classPropertyName: "readOnly",
146
+ publicName: "readOnly",
147
+ isSignal: true,
148
+ isRequired: false,
149
+ transformFunction: null
150
+ },
151
+ isSelected: {
152
+ classPropertyName: "isSelected",
153
+ publicName: "isSelected",
154
+ isSignal: true,
155
+ isRequired: false,
156
+ transformFunction: null
157
+ },
158
+ showIconWhenSelected: {
159
+ classPropertyName: "showIconWhenSelected",
160
+ publicName: "showIconWhenSelected",
161
+ isSignal: true,
162
+ isRequired: false,
163
+ transformFunction: null
164
+ },
165
+ pinnedBackground: {
166
+ classPropertyName: "pinnedBackground",
167
+ publicName: "pinnedBackground",
168
+ isSignal: true,
169
+ isRequired: false,
170
+ transformFunction: null
171
+ },
172
+ constrainWidth: {
173
+ classPropertyName: "constrainWidth",
174
+ publicName: "constrainWidth",
175
+ isSignal: true,
176
+ isRequired: false,
177
+ transformFunction: null
178
+ },
179
+ isDisabled: {
180
+ classPropertyName: "isDisabled",
181
+ publicName: "isDisabled",
182
+ isSignal: true,
183
+ isRequired: false,
184
+ transformFunction: null
185
+ },
186
+ applicationTheme: {
187
+ classPropertyName: "applicationTheme",
188
+ publicName: "applicationTheme",
189
+ isSignal: true,
190
+ isRequired: false,
191
+ transformFunction: null
192
+ },
193
+ ariaLabel: {
194
+ classPropertyName: "ariaLabel",
195
+ publicName: "ariaLabel",
196
+ isSignal: true,
197
+ isRequired: false,
198
+ transformFunction: null
199
+ },
200
+ testId: {
201
+ classPropertyName: "testId",
202
+ publicName: "testId",
203
+ isSignal: true,
204
+ isRequired: false,
205
+ transformFunction: null
206
+ },
207
+ ariaRequired: {
208
+ classPropertyName: "ariaRequired",
209
+ publicName: "ariaRequired",
210
+ isSignal: true,
211
+ isRequired: false,
212
+ transformFunction: null
213
+ },
214
+ showBadge: {
215
+ classPropertyName: "showBadge",
216
+ publicName: "showBadge",
217
+ isSignal: true,
218
+ isRequired: false,
219
+ transformFunction: null
220
+ },
221
+ notificationsAmount: {
222
+ classPropertyName: "notificationsAmount",
223
+ publicName: "notificationsAmount",
224
+ isSignal: true,
225
+ isRequired: false,
226
+ transformFunction: null
227
+ }
228
+ },
229
+ outputs: {
230
+ isSelected: "isSelectedChange",
231
+ close: "close",
232
+ press: "press"
233
+ },
234
+ host: { properties: { "class.ui-tag--constrain-width": "constrainWidth()" } },
235
+ viewQueries: [{
236
+ propertyName: "labelElement",
237
+ first: true,
238
+ predicate: ["labelElement"],
239
+ descendants: true,
240
+ isSignal: true
241
+ }, {
242
+ propertyName: "containerElement",
243
+ first: true,
244
+ predicate: ["containerElement"],
245
+ descendants: true,
246
+ isSignal: true
247
+ }],
248
+ ngImport: i0,
249
+ template: "<div class=\"tag-wrapper\">\n <div\n [matTooltip]=\"(isEllipseActiveObs$ | async) ? label() : ''\"\n [matTooltipClass]=\"theme()\"\n [tabindex]=\"tabIndex()\"\n class=\"tag-container\"\n #containerElement\n [attr.data-testid]=\"testId() ?? 'tag--container'\"\n [attr.theme]=\"theme()\"\n [class]=\"{\n filled: filled(),\n readonly: readOnly(),\n disabled: isDisabled(),\n outlined: !isSelected(),\n shrink,\n }\"\n (click)=\"onPress()\"\n (mouseenter)=\"setHoverState(true)\"\n (mouseleave)=\"setHoverState(false)\"\n (mousedown)=\"setShrinkState(true)\"\n (mouseup)=\"setShrinkState(false)\"\n (touchstart)=\"setShrinkState(true)\"\n (touchend)=\"setShrinkState(false)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"ariaLabel() || label()\"\n [attr.aria-required]=\"ariaRequired()\"\n >\n @if (icon()) {\n <!-- Let ui-icon resolve the hover variant: composing the name here appended instead of\n replacing, yielding names like `Sparkle-in-line-filled` that exist in no icon set. -->\n <ui-icon\n class=\"icon\"\n [color]=\"iconColor\"\n [name]=\"icon()\"\n [filled]=\"isHovered()\"\n [toggleIconStyle]=\"true\"\n [applicationTheme]=\"theme()\"\n ></ui-icon>\n }\n @if (isSelected() && showIconWhenSelected()) {\n <ui-icon [color]=\"iconColor\" class=\"icon\" [name]=\"'Check'\" [applicationTheme]=\"theme()\"></ui-icon>\n }\n <span class=\"tag-label\" #labelElement>{{ label() }}</span>\n <!-- Consumer content after the label. It never shrinks, so the label truncates first. Its own\n presses are kept from reaching the tag, so a control in here doesn't also press the tag. -->\n <span\n class=\"tag-suffix\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.stopPropagation()\"\n (touchstart)=\"$event.stopPropagation()\"\n >\n <ng-content select=\"[uiTagSuffix]\"></ng-content>\n </span>\n @if (showBadge()) {\n <span class=\"count\" aria-hidden=\"true\">\n <span class=\"count-dot\">&bull;</span>\n <span class=\"count-value\">{{ notificationsAmount() }}</span>\n </span>\n }\n @if (allowClose()) {\n <ui-icon\n (focus)=\"closeBtnFocused.set(true)\"\n (blur)=\"closeBtnFocused.set(false)\"\n [tabindex]=\"tabIndex()\"\n class=\"delete-icon\"\n [attr.data-testid]=\"closeTestId()\"\n [attr.aria-label]=\"'TAG.REMOVE' | uiTranslate | async\"\n [color]=\"iconColor\"\n (click)=\"onClose(); $event.stopPropagation()\"\n [name]=\"'Close'\"\n [applicationTheme]=\"theme()\"\n ></ui-icon>\n }\n </div>\n</div>\n",
250
+ styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.tag-container ui-icon:not(.delete-icon){pointer-events:none}:host .tag-wrapper{max-width:var(--ui-tag-max-width, 264px)}@keyframes focus-ring-animation{0%{outline-width:4px}to{outline-width:2px}}:host .tag-container{height:32px;max-width:var(--ui-tag-max-width, 264px);border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0 8px;width:fit-content;cursor:pointer;margin:4px}:host .tag-container:focus-visible{outline:2px solid #242424;animation:focus-ring-animation .4s forwards;outline-offset:2px;position:relative}:host .tag-container:focus-visible:after{content:\"\";position:absolute;width:calc(100% + 4px);height:calc(100% + 4px);top:-2px;left:-2px;outline:2px solid #ffffff;border-radius:4px}:host .tag-container.outlined{border:1px solid #6894a0}:host .tag-container.filled{background:#e9f0f1;border:1px solid #e9f0f1}:host .tag-container.filled:hover{background-color:#e9f0f1;border:1px solid #276678}:host .tag-container.filled:active{background:#a9c2c9;border:1px solid #1b4754}:host .tag-container:hover{background:#f6f6f6;border:1px solid #6894a0}:host .tag-container:active{background:#e9f0f1}:host .tag-container.readonly{pointer-events:none}:host .tag-container.disabled{opacity:.5;border:1px solid #276678;background:#e9f0f1;pointer-events:none}:host .tag-container .tag-label{-webkit-user-select:none;user-select:none;font-size:14px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .tag-container .icon{height:16px;width:16px;min-width:16px;margin-right:8px}:host .tag-container .tag-suffix{display:inline-flex;align-items:center;flex-shrink:0;margin-left:8px}:host .tag-container .tag-suffix:empty{display:none}:host .tag-container .delete-icon{display:flex;align-items:center;justify-content:center;margin-left:8px;text-align:center;border-radius:50px}:host .tag-container[theme=dark],:host .tag-container[theme=light]{border-radius:8px;background:#f4f4f4;border:1px solid #e9e9e9;color:#242424}:host .tag-container[theme=dark].outlined:not(.filled),:host .tag-container[theme=light].outlined:not(.filled){background:#fff;border-color:#919191}:host .tag-container[theme=dark].filled.readonly,:host .tag-container[theme=light].filled.readonly{border:none}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):hover,:host .tag-container[theme=light]:not(.readonly):not(.disabled):hover{background:#d3d3d3;border-color:#d3d3d3;color:#242424}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):focus-visible,:host .tag-container[theme=light]:not(.readonly):not(.disabled):focus-visible{outline:2px solid #242424;outline-offset:2px;border-radius:10px;animation:none}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):focus-visible:after,:host .tag-container[theme=light]:not(.readonly):not(.disabled):focus-visible:after{display:none}:host .tag-container[theme=dark].shrink,:host .tag-container[theme=light].shrink{transform:scale(.98)}:host .tag-container[theme=dark].disabled,:host .tag-container[theme=light].disabled{pointer-events:none;--cnp-icon-color: #919191}:host .tag-container[theme=dark].disabled .tag-label,:host .tag-container[theme=dark].disabled .count-dot,:host .tag-container[theme=dark].disabled .count-value,:host .tag-container[theme=light].disabled .tag-label,:host .tag-container[theme=light].disabled .count-dot,:host .tag-container[theme=light].disabled .count-value{color:#919191}:host .tag-container[theme=dark] .count,:host .tag-container[theme=light] .count{display:inline-flex;align-items:center;gap:4px;margin-left:4px;font-size:14px;line-height:20px}:host .tag-container[theme=dark] .count-dot,:host .tag-container[theme=light] .count-dot{color:#666}:host .tag-container[theme=dark] .count-value,:host .tag-container[theme=light] .count-value{color:#242424;font-variant-numeric:tabular-nums}:host .tag-container[theme=dark] .icon,:host .tag-container[theme=light] .icon{margin-right:4px}:host .tag-container[theme=dark] .tag-suffix,:host .tag-container[theme=light] .tag-suffix{margin-left:4px}:host .tag-container[theme=dark] .delete-icon,:host .tag-container[theme=light] .delete-icon{margin-left:4px;border-radius:4px;transition:outline-color .1s;outline:2px solid transparent}:host .tag-container[theme=dark] .delete-icon:focus-visible,:host .tag-container[theme=light] .delete-icon:focus-visible{outline-color:#242424}:host(.ui-tag--constrain-width){display:inline-flex;max-width:min(var(--ui-tag-max-width, 264px),100%);min-width:0}:host(.ui-tag--constrain-width) .tag-wrapper{display:flex;min-width:0;max-width:min(var(--ui-tag-max-width, 264px),100%)}:host(.ui-tag--constrain-width) .tag-container{box-sizing:border-box;min-width:0;max-width:100%}:host(.ui-tag--constrain-width) .tag-label{min-width:0}:host(.ui-tag--constrain-width) .icon,:host(.ui-tag--constrain-width) .tag-suffix,:host(.ui-tag--constrain-width) .delete-icon,:host(.ui-tag--constrain-width) .count{flex-shrink:0}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-family:Open Sans,serif;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mat-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}\n"],
251
+ dependencies: [
252
+ {
253
+ kind: "directive",
254
+ type: MatTooltip,
255
+ selector: "[matTooltip]",
256
+ inputs: [
257
+ "matTooltipPosition",
258
+ "matTooltipPositionAtOrigin",
259
+ "matTooltipDisabled",
260
+ "matTooltipShowDelay",
261
+ "matTooltipHideDelay",
262
+ "matTooltipTouchGestures",
263
+ "matTooltip",
264
+ "matTooltipClass"
265
+ ],
266
+ exportAs: ["matTooltip"]
267
+ },
268
+ {
269
+ kind: "ngmodule",
270
+ type: IconComponentModule
271
+ },
272
+ {
273
+ kind: "component",
274
+ type: i1.IconComponent,
275
+ selector: "ui-icon",
276
+ inputs: [
277
+ "size",
278
+ "cssClass",
279
+ "name",
280
+ "color",
281
+ "filled",
282
+ "toggleIconStyle",
283
+ "applicationTheme",
284
+ "useFullIconName"
285
+ ]
286
+ },
287
+ {
288
+ kind: "pipe",
289
+ type: AsyncPipe,
290
+ name: "async"
291
+ },
292
+ {
293
+ kind: "pipe",
294
+ type: UiTranslatePipe,
295
+ name: "uiTranslate"
296
+ }
297
+ ],
298
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
299
+ });
300
+ }
301
+ };
302
+ i0.ɵɵngDeclareClassMetadata({
303
+ minVersion: "12.0.0",
304
+ version: "22.2.4",
305
+ ngImport: i0,
306
+ type: TagComponent,
307
+ decorators: [{
308
+ type: Component,
309
+ args: [{
310
+ selector: "ui-tag",
311
+ changeDetection: ChangeDetectionStrategy.OnPush,
312
+ host: { "[class.ui-tag--constrain-width]": "constrainWidth()" },
313
+ imports: [
314
+ MatTooltip,
315
+ IconComponentModule,
316
+ AsyncPipe,
317
+ UiTranslatePipe
318
+ ],
319
+ template: "<div class=\"tag-wrapper\">\n <div\n [matTooltip]=\"(isEllipseActiveObs$ | async) ? label() : ''\"\n [matTooltipClass]=\"theme()\"\n [tabindex]=\"tabIndex()\"\n class=\"tag-container\"\n #containerElement\n [attr.data-testid]=\"testId() ?? 'tag--container'\"\n [attr.theme]=\"theme()\"\n [class]=\"{\n filled: filled(),\n readonly: readOnly(),\n disabled: isDisabled(),\n outlined: !isSelected(),\n shrink,\n }\"\n (click)=\"onPress()\"\n (mouseenter)=\"setHoverState(true)\"\n (mouseleave)=\"setHoverState(false)\"\n (mousedown)=\"setShrinkState(true)\"\n (mouseup)=\"setShrinkState(false)\"\n (touchstart)=\"setShrinkState(true)\"\n (touchend)=\"setShrinkState(false)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"ariaLabel() || label()\"\n [attr.aria-required]=\"ariaRequired()\"\n >\n @if (icon()) {\n <!-- Let ui-icon resolve the hover variant: composing the name here appended instead of\n replacing, yielding names like `Sparkle-in-line-filled` that exist in no icon set. -->\n <ui-icon\n class=\"icon\"\n [color]=\"iconColor\"\n [name]=\"icon()\"\n [filled]=\"isHovered()\"\n [toggleIconStyle]=\"true\"\n [applicationTheme]=\"theme()\"\n ></ui-icon>\n }\n @if (isSelected() && showIconWhenSelected()) {\n <ui-icon [color]=\"iconColor\" class=\"icon\" [name]=\"'Check'\" [applicationTheme]=\"theme()\"></ui-icon>\n }\n <span class=\"tag-label\" #labelElement>{{ label() }}</span>\n <!-- Consumer content after the label. It never shrinks, so the label truncates first. Its own\n presses are kept from reaching the tag, so a control in here doesn't also press the tag. -->\n <span\n class=\"tag-suffix\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.stopPropagation()\"\n (touchstart)=\"$event.stopPropagation()\"\n >\n <ng-content select=\"[uiTagSuffix]\"></ng-content>\n </span>\n @if (showBadge()) {\n <span class=\"count\" aria-hidden=\"true\">\n <span class=\"count-dot\">&bull;</span>\n <span class=\"count-value\">{{ notificationsAmount() }}</span>\n </span>\n }\n @if (allowClose()) {\n <ui-icon\n (focus)=\"closeBtnFocused.set(true)\"\n (blur)=\"closeBtnFocused.set(false)\"\n [tabindex]=\"tabIndex()\"\n class=\"delete-icon\"\n [attr.data-testid]=\"closeTestId()\"\n [attr.aria-label]=\"'TAG.REMOVE' | uiTranslate | async\"\n [color]=\"iconColor\"\n (click)=\"onClose(); $event.stopPropagation()\"\n [name]=\"'Close'\"\n [applicationTheme]=\"theme()\"\n ></ui-icon>\n }\n </div>\n</div>\n",
320
+ styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.tag-container ui-icon:not(.delete-icon){pointer-events:none}:host .tag-wrapper{max-width:var(--ui-tag-max-width, 264px)}@keyframes focus-ring-animation{0%{outline-width:4px}to{outline-width:2px}}:host .tag-container{height:32px;max-width:var(--ui-tag-max-width, 264px);border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0 8px;width:fit-content;cursor:pointer;margin:4px}:host .tag-container:focus-visible{outline:2px solid #242424;animation:focus-ring-animation .4s forwards;outline-offset:2px;position:relative}:host .tag-container:focus-visible:after{content:\"\";position:absolute;width:calc(100% + 4px);height:calc(100% + 4px);top:-2px;left:-2px;outline:2px solid #ffffff;border-radius:4px}:host .tag-container.outlined{border:1px solid #6894a0}:host .tag-container.filled{background:#e9f0f1;border:1px solid #e9f0f1}:host .tag-container.filled:hover{background-color:#e9f0f1;border:1px solid #276678}:host .tag-container.filled:active{background:#a9c2c9;border:1px solid #1b4754}:host .tag-container:hover{background:#f6f6f6;border:1px solid #6894a0}:host .tag-container:active{background:#e9f0f1}:host .tag-container.readonly{pointer-events:none}:host .tag-container.disabled{opacity:.5;border:1px solid #276678;background:#e9f0f1;pointer-events:none}:host .tag-container .tag-label{-webkit-user-select:none;user-select:none;font-size:14px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .tag-container .icon{height:16px;width:16px;min-width:16px;margin-right:8px}:host .tag-container .tag-suffix{display:inline-flex;align-items:center;flex-shrink:0;margin-left:8px}:host .tag-container .tag-suffix:empty{display:none}:host .tag-container .delete-icon{display:flex;align-items:center;justify-content:center;margin-left:8px;text-align:center;border-radius:50px}:host .tag-container[theme=dark],:host .tag-container[theme=light]{border-radius:8px;background:#f4f4f4;border:1px solid #e9e9e9;color:#242424}:host .tag-container[theme=dark].outlined:not(.filled),:host .tag-container[theme=light].outlined:not(.filled){background:#fff;border-color:#919191}:host .tag-container[theme=dark].filled.readonly,:host .tag-container[theme=light].filled.readonly{border:none}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):hover,:host .tag-container[theme=light]:not(.readonly):not(.disabled):hover{background:#d3d3d3;border-color:#d3d3d3;color:#242424}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):focus-visible,:host .tag-container[theme=light]:not(.readonly):not(.disabled):focus-visible{outline:2px solid #242424;outline-offset:2px;border-radius:10px;animation:none}:host .tag-container[theme=dark]:not(.readonly):not(.disabled):focus-visible:after,:host .tag-container[theme=light]:not(.readonly):not(.disabled):focus-visible:after{display:none}:host .tag-container[theme=dark].shrink,:host .tag-container[theme=light].shrink{transform:scale(.98)}:host .tag-container[theme=dark].disabled,:host .tag-container[theme=light].disabled{pointer-events:none;--cnp-icon-color: #919191}:host .tag-container[theme=dark].disabled .tag-label,:host .tag-container[theme=dark].disabled .count-dot,:host .tag-container[theme=dark].disabled .count-value,:host .tag-container[theme=light].disabled .tag-label,:host .tag-container[theme=light].disabled .count-dot,:host .tag-container[theme=light].disabled .count-value{color:#919191}:host .tag-container[theme=dark] .count,:host .tag-container[theme=light] .count{display:inline-flex;align-items:center;gap:4px;margin-left:4px;font-size:14px;line-height:20px}:host .tag-container[theme=dark] .count-dot,:host .tag-container[theme=light] .count-dot{color:#666}:host .tag-container[theme=dark] .count-value,:host .tag-container[theme=light] .count-value{color:#242424;font-variant-numeric:tabular-nums}:host .tag-container[theme=dark] .icon,:host .tag-container[theme=light] .icon{margin-right:4px}:host .tag-container[theme=dark] .tag-suffix,:host .tag-container[theme=light] .tag-suffix{margin-left:4px}:host .tag-container[theme=dark] .delete-icon,:host .tag-container[theme=light] .delete-icon{margin-left:4px;border-radius:4px;transition:outline-color .1s;outline:2px solid transparent}:host .tag-container[theme=dark] .delete-icon:focus-visible,:host .tag-container[theme=light] .delete-icon:focus-visible{outline-color:#242424}:host(.ui-tag--constrain-width){display:inline-flex;max-width:min(var(--ui-tag-max-width, 264px),100%);min-width:0}:host(.ui-tag--constrain-width) .tag-wrapper{display:flex;min-width:0;max-width:min(var(--ui-tag-max-width, 264px),100%)}:host(.ui-tag--constrain-width) .tag-container{box-sizing:border-box;min-width:0;max-width:100%}:host(.ui-tag--constrain-width) .tag-label{min-width:0}:host(.ui-tag--constrain-width) .icon,:host(.ui-tag--constrain-width) .tag-suffix,:host(.ui-tag--constrain-width) .delete-icon,:host(.ui-tag--constrain-width) .count{flex-shrink:0}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-family:Open Sans,serif;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mat-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}\n"]
321
+ }]
322
+ }],
323
+ ctorParameters: () => [],
324
+ propDecorators: {
325
+ label: [{
326
+ type: i0.Input,
327
+ args: [{
328
+ isSignal: true,
329
+ alias: "label",
330
+ required: false
331
+ }]
332
+ }],
333
+ icon: [{
334
+ type: i0.Input,
335
+ args: [{
336
+ isSignal: true,
337
+ alias: "icon",
338
+ required: false
339
+ }]
340
+ }],
341
+ allowClose: [{
342
+ type: i0.Input,
343
+ args: [{
344
+ isSignal: true,
345
+ alias: "allowClose",
346
+ required: false
347
+ }]
348
+ }],
349
+ readOnly: [{
350
+ type: i0.Input,
351
+ args: [{
352
+ isSignal: true,
353
+ alias: "readOnly",
354
+ required: false
355
+ }]
356
+ }],
357
+ isSelected: [{
358
+ type: i0.Input,
359
+ args: [{
360
+ isSignal: true,
361
+ alias: "isSelected",
362
+ required: false
363
+ }]
364
+ }, {
365
+ type: i0.Output,
366
+ args: ["isSelectedChange"]
367
+ }],
368
+ showIconWhenSelected: [{
369
+ type: i0.Input,
370
+ args: [{
371
+ isSignal: true,
372
+ alias: "showIconWhenSelected",
373
+ required: false
374
+ }]
375
+ }],
376
+ pinnedBackground: [{
377
+ type: i0.Input,
378
+ args: [{
379
+ isSignal: true,
380
+ alias: "pinnedBackground",
381
+ required: false
382
+ }]
383
+ }],
384
+ constrainWidth: [{
385
+ type: i0.Input,
386
+ args: [{
387
+ isSignal: true,
388
+ alias: "constrainWidth",
389
+ required: false
390
+ }]
391
+ }],
392
+ isDisabled: [{
393
+ type: i0.Input,
394
+ args: [{
395
+ isSignal: true,
396
+ alias: "isDisabled",
397
+ required: false
398
+ }]
399
+ }],
400
+ applicationTheme: [{
401
+ type: i0.Input,
402
+ args: [{
403
+ isSignal: true,
404
+ alias: "applicationTheme",
405
+ required: false
406
+ }]
407
+ }],
408
+ ariaLabel: [{
409
+ type: i0.Input,
410
+ args: [{
411
+ isSignal: true,
412
+ alias: "ariaLabel",
413
+ required: false
414
+ }]
415
+ }],
416
+ testId: [{
417
+ type: i0.Input,
418
+ args: [{
419
+ isSignal: true,
420
+ alias: "testId",
421
+ required: false
422
+ }]
423
+ }],
424
+ ariaRequired: [{
425
+ type: i0.Input,
426
+ args: [{
427
+ isSignal: true,
428
+ alias: "ariaRequired",
429
+ required: false
430
+ }]
431
+ }],
432
+ showBadge: [{
433
+ type: i0.Input,
434
+ args: [{
435
+ isSignal: true,
436
+ alias: "showBadge",
437
+ required: false
438
+ }]
439
+ }],
440
+ notificationsAmount: [{
441
+ type: i0.Input,
442
+ args: [{
443
+ isSignal: true,
444
+ alias: "notificationsAmount",
445
+ required: false
446
+ }]
447
+ }],
448
+ close: [{
449
+ type: i0.Output,
450
+ args: ["close"]
451
+ }],
452
+ press: [{
453
+ type: i0.Output,
454
+ args: ["press"]
455
+ }],
456
+ labelElement: [{
457
+ type: i0.ViewChild,
458
+ args: ["labelElement", { isSignal: true }]
459
+ }],
460
+ containerElement: [{
461
+ type: i0.ViewChild,
462
+ args: ["containerElement", { isSignal: true }]
463
+ }]
464
+ }
465
+ });
466
+ var TagComponentModule = class TagComponentModule {
467
+ static {
468
+ this.ɵfac = i0.ɵɵngDeclareFactory({
469
+ minVersion: "12.0.0",
470
+ version: "22.2.4",
471
+ ngImport: i0,
472
+ type: TagComponentModule,
473
+ deps: [],
474
+ target: i0.ɵɵFactoryTarget.NgModule
475
+ });
476
+ }
477
+ static {
478
+ this.ɵmod = i0.ɵɵngDeclareNgModule({
479
+ minVersion: "14.0.0",
480
+ version: "22.2.4",
481
+ ngImport: i0,
482
+ type: TagComponentModule,
483
+ imports: [
484
+ CommonModule,
485
+ IconComponentModule,
486
+ TooltipComponentModule,
487
+ MatTooltipModule,
488
+ MatInputModule,
489
+ UiTranslatePipe,
490
+ TagComponent
491
+ ],
492
+ exports: [TagComponent]
493
+ });
494
+ }
495
+ static {
496
+ this.ɵinj = i0.ɵɵngDeclareInjector({
497
+ minVersion: "12.0.0",
498
+ version: "22.2.4",
499
+ ngImport: i0,
500
+ type: TagComponentModule,
501
+ imports: [
502
+ CommonModule,
503
+ IconComponentModule,
504
+ TooltipComponentModule,
505
+ MatTooltipModule,
506
+ MatInputModule,
507
+ TagComponent
508
+ ]
509
+ });
510
+ }
511
+ };
512
+ i0.ɵɵngDeclareClassMetadata({
513
+ minVersion: "12.0.0",
514
+ version: "22.2.4",
515
+ ngImport: i0,
516
+ type: TagComponentModule,
517
+ decorators: [{
518
+ type: NgModule,
519
+ args: [{
520
+ imports: [
521
+ CommonModule,
522
+ IconComponentModule,
523
+ TooltipComponentModule,
524
+ MatTooltipModule,
525
+ MatInputModule,
526
+ UiTranslatePipe,
527
+ TagComponent
528
+ ],
529
+ exports: [TagComponent],
530
+ providers: []
531
+ }]
532
+ }]
533
+ });
275
534
  export { TagComponent, TagComponentModule };
276
- //# sourceMappingURL=testgorilla-tgo-ui-components-tag.mjs.map
535
+
536
+ //# sourceMappingURL=testgorilla-tgo-ui-components-tag.mjs.map