@sebgroup/green-angular 4.6.5 → 4.6.6

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 (224) hide show
  1. package/esm2022/lib/accordion/accordion-list-item.component.mjs +1 -1
  2. package/esm2022/lib/accordion/accordion.component.mjs +1 -1
  3. package/esm2022/lib/accordion/accordion.module.mjs +1 -1
  4. package/esm2022/lib/badge/badge.component.mjs +1 -1
  5. package/esm2022/lib/badge/badge.module.mjs +2 -2
  6. package/esm2022/lib/button/button.component.mjs +1 -1
  7. package/esm2022/lib/button/button.module.mjs +2 -2
  8. package/esm2022/lib/cell-table/cell-table-item.component.mjs +1 -1
  9. package/esm2022/lib/cell-table/cell-table.component.mjs +1 -1
  10. package/esm2022/lib/cell-table/cell-table.module.mjs +2 -2
  11. package/esm2022/lib/cell-table/cell-underline.directive.mjs +1 -1
  12. package/esm2022/lib/context-menu/context-menu.component.mjs +2 -2
  13. package/esm2022/lib/context-menu/context-menu.module.mjs +2 -2
  14. package/esm2022/lib/datepicker/datepicker.component.mjs +3 -3
  15. package/esm2022/lib/datepicker/datepicker.module.mjs +3 -3
  16. package/esm2022/lib/dropdown/dropdown.component.mjs +3 -3
  17. package/esm2022/lib/dropdown/dropdown.module.mjs +5 -5
  18. package/esm2022/lib/green-angular.module.mjs +2 -2
  19. package/esm2022/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +1 -1
  20. package/esm2022/lib/in-page-wizard/in-page-wizard.module.mjs +2 -2
  21. package/esm2022/lib/modal/modal.component.mjs +4 -4
  22. package/esm2022/lib/modal/modal.module.mjs +4 -4
  23. package/esm2022/lib/pagination/pagination.component.mjs +2 -2
  24. package/esm2022/lib/pagination/pagination.module.mjs +2 -2
  25. package/esm2022/lib/progress-circle/progress-circle.component.mjs +1 -1
  26. package/esm2022/lib/progress-circle/progress-circle.module.mjs +2 -2
  27. package/esm2022/lib/segmented-control/segmented-control.component.mjs +2 -2
  28. package/esm2022/lib/segmented-control/segmented-control.module.mjs +3 -3
  29. package/esm2022/lib/shared/core-element/core-element.directive.mjs +2 -2
  30. package/esm2022/lib/shared/core-element/core-element.module.mjs +2 -2
  31. package/esm2022/lib/shared/on-scroll.directive.mjs +2 -2
  32. package/esm2022/lib/shared/shared.module.mjs +1 -1
  33. package/esm2022/lib/slider/slider.component.mjs +1 -1
  34. package/esm2022/lib/sortable-list/sortable-list.component.mjs +2 -2
  35. package/esm2022/lib/sortable-list/sortable-list.module.mjs +2 -2
  36. package/esm2022/src/lib/accordion/accordion-list-item.component.mjs +1 -1
  37. package/esm2022/src/lib/accordion/accordion.component.mjs +1 -1
  38. package/esm2022/src/lib/accordion/accordion.module.mjs +1 -1
  39. package/esm2022/src/lib/badge/badge.component.mjs +1 -1
  40. package/esm2022/src/lib/badge/badge.module.mjs +2 -2
  41. package/esm2022/src/lib/button/button.component.mjs +1 -1
  42. package/esm2022/src/lib/button/button.module.mjs +2 -2
  43. package/esm2022/src/lib/cell-table/cell-table-item.component.mjs +1 -1
  44. package/esm2022/src/lib/cell-table/cell-table.component.mjs +1 -1
  45. package/esm2022/src/lib/cell-table/cell-table.module.mjs +2 -2
  46. package/esm2022/src/lib/cell-table/cell-underline.directive.mjs +1 -1
  47. package/esm2022/src/lib/context-menu/context-menu.component.mjs +2 -2
  48. package/esm2022/src/lib/context-menu/context-menu.module.mjs +2 -2
  49. package/esm2022/src/lib/datepicker/datepicker.component.mjs +3 -3
  50. package/esm2022/src/lib/datepicker/datepicker.module.mjs +3 -3
  51. package/esm2022/src/lib/dropdown/dropdown.component.mjs +3 -3
  52. package/esm2022/src/lib/dropdown/dropdown.module.mjs +5 -5
  53. package/esm2022/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +1 -1
  54. package/esm2022/src/lib/in-page-wizard/in-page-wizard.module.mjs +2 -2
  55. package/esm2022/src/lib/modal/modal.component.mjs +4 -4
  56. package/esm2022/src/lib/modal/modal.module.mjs +4 -4
  57. package/esm2022/src/lib/pagination/pagination.component.mjs +2 -2
  58. package/esm2022/src/lib/pagination/pagination.module.mjs +2 -2
  59. package/esm2022/src/lib/progress-circle/progress-circle.component.mjs +1 -1
  60. package/esm2022/src/lib/progress-circle/progress-circle.module.mjs +2 -2
  61. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +2 -2
  62. package/esm2022/src/lib/segmented-control/segmented-control.module.mjs +3 -3
  63. package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +2 -2
  64. package/esm2022/src/lib/shared/core-element/core-element.module.mjs +2 -2
  65. package/esm2022/src/lib/shared/on-scroll.directive.mjs +2 -2
  66. package/esm2022/src/lib/shared/shared.module.mjs +1 -1
  67. package/esm2022/src/lib/slider/slider.component.mjs +1 -1
  68. package/esm2022/src/lib/sortable-list/sortable-list.component.mjs +2 -2
  69. package/esm2022/src/lib/sortable-list/sortable-list.module.mjs +2 -2
  70. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +3 -3
  71. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +1 -1
  72. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +3 -3
  73. package/esm2022/src/v-angular/button/button.component.mjs +1 -1
  74. package/esm2022/src/v-angular/button/button.module.mjs +3 -3
  75. package/esm2022/src/v-angular/card/card.module.mjs +2 -2
  76. package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +2 -2
  77. package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +1 -1
  78. package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +3 -3
  79. package/esm2022/src/v-angular/core/core.utils.mjs +1 -1
  80. package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +4 -4
  81. package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +4 -4
  82. package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +5 -5
  83. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +5 -5
  84. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +3 -3
  85. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +5 -5
  86. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.directive.mjs +2 -2
  87. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +4 -4
  88. package/esm2022/src/v-angular/external-link/external-link.module.mjs +2 -2
  89. package/esm2022/src/v-angular/i18n/i18n.module.mjs +2 -2
  90. package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +1 -1
  91. package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +1 -1
  92. package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +3 -3
  93. package/esm2022/src/v-angular/input/input.component.mjs +4 -3
  94. package/esm2022/src/v-angular/input/input.module.mjs +9 -5
  95. package/esm2022/src/v-angular/input-mask/config.mjs +1 -1
  96. package/esm2022/src/v-angular/input-mask/constants.mjs +1 -1
  97. package/esm2022/src/v-angular/input-mask/input-mask-format.pipe.mjs +1 -1
  98. package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +1 -1
  99. package/esm2022/src/v-angular/input-mask/input-mask.types.mjs +1 -1
  100. package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +1 -1
  101. package/esm2022/src/v-angular/modal/modal.module.mjs +3 -3
  102. package/esm2022/src/v-angular/modal/modal.types.mjs +1 -1
  103. package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +4 -4
  104. package/esm2022/src/v-angular/radio/radio.component.mjs +1 -1
  105. package/esm2022/src/v-angular/radio/radio.module.mjs +3 -3
  106. package/esm2022/src/v-angular/slug/slug.module.mjs +2 -2
  107. package/esm2022/src/v-angular/slug/slug.pipe.mjs +1 -1
  108. package/esm2022/src/v-angular/textarea/textarea.component.mjs +3 -2
  109. package/esm2022/src/v-angular/textarea/textarea.module.mjs +7 -6
  110. package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +1 -1
  111. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +3 -3
  112. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +1 -1
  113. package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +3 -3
  114. package/esm2022/v-angular/button/button.component.mjs +1 -1
  115. package/esm2022/v-angular/button/button.module.mjs +3 -3
  116. package/esm2022/v-angular/card/card.module.mjs +2 -2
  117. package/esm2022/v-angular/character-countdown/character-countdown.module.mjs +2 -2
  118. package/esm2022/v-angular/checkbox/checkbox.component.mjs +1 -1
  119. package/esm2022/v-angular/checkbox/checkbox.module.mjs +3 -3
  120. package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +4 -4
  121. package/esm2022/v-angular/dropdown/dropdown.component.mjs +4 -4
  122. package/esm2022/v-angular/dropdown/dropdown.module.mjs +5 -5
  123. package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +5 -5
  124. package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +3 -3
  125. package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +5 -5
  126. package/esm2022/v-angular/dropdown/typeahead/typeahead.directive.mjs +2 -2
  127. package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +4 -4
  128. package/esm2022/v-angular/i18n/i18n.module.mjs +2 -2
  129. package/esm2022/v-angular/i18n/i18n.test.module.mjs +1 -1
  130. package/esm2022/v-angular/info-circle/info-circle.component.mjs +1 -1
  131. package/esm2022/v-angular/info-circle/info-circle.module.mjs +3 -3
  132. package/esm2022/v-angular/input/input.component.mjs +4 -3
  133. package/esm2022/v-angular/input/input.module.mjs +9 -5
  134. package/esm2022/v-angular/input-mask/config.mjs +1 -1
  135. package/esm2022/v-angular/input-mask/constants.mjs +1 -1
  136. package/esm2022/v-angular/input-mask/input-mask-format.pipe.mjs +1 -1
  137. package/esm2022/v-angular/input-mask/input-mask.directive.mjs +1 -1
  138. package/esm2022/v-angular/input-mask/input-mask.types.mjs +1 -1
  139. package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +1 -1
  140. package/esm2022/v-angular/modal/modal.module.mjs +3 -3
  141. package/esm2022/v-angular/modal/modal.types.mjs +1 -1
  142. package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +4 -4
  143. package/esm2022/v-angular/radio/radio.component.mjs +1 -1
  144. package/esm2022/v-angular/radio/radio.module.mjs +3 -3
  145. package/esm2022/v-angular/textarea/textarea.component.mjs +3 -2
  146. package/esm2022/v-angular/textarea/textarea.module.mjs +7 -6
  147. package/esm2022/v-angular/tooltip/tooltip.module.mjs +1 -1
  148. package/esm2022/v-angular/v-angular.module.mjs +3 -3
  149. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -1
  150. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -1
  151. package/fesm2022/sebgroup-green-angular-src-lib-button.mjs.map +1 -1
  152. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -1
  153. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -1
  154. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs +1 -1
  155. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -1
  156. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs +10 -10
  157. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -1
  158. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -1
  159. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +12 -12
  160. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +1 -1
  161. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -1
  162. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -1
  163. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -1
  164. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
  165. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs.map +1 -1
  166. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs +2 -2
  167. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -1
  168. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +1 -1
  169. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -1
  170. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +1 -1
  171. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -1
  172. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs.map +1 -1
  173. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +1 -1
  174. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -1
  175. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +1 -1
  176. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +99 -99
  177. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -1
  178. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +1 -1
  179. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +1 -1
  180. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -1
  181. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs.map +1 -1
  182. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +1 -1
  183. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +10 -5
  184. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -1
  185. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +3 -3
  186. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -1
  187. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -1
  188. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +1 -1
  189. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +6 -4
  190. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -1
  191. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +1 -1
  192. package/fesm2022/sebgroup-green-angular-v-angular.mjs +114 -109
  193. package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -1
  194. package/fesm2022/sebgroup-green-angular.mjs +285 -285
  195. package/fesm2022/sebgroup-green-angular.mjs.map +1 -1
  196. package/lib/cell-table/cell-table-item.component.d.ts +1 -1
  197. package/lib/cell-table/cell-underline.directive.d.ts +1 -1
  198. package/lib/datepicker/datepicker.component.d.ts +1 -1
  199. package/lib/dropdown/dropdown.component.d.ts +1 -1
  200. package/lib/modal/modal.component.d.ts +2 -2
  201. package/lib/sortable-list/sortable-list.component.d.ts +1 -1
  202. package/package.json +1 -1
  203. package/src/lib/cell-table/cell-table-item.component.d.ts +1 -1
  204. package/src/lib/cell-table/cell-underline.directive.d.ts +1 -1
  205. package/src/lib/datepicker/datepicker.component.d.ts +1 -1
  206. package/src/lib/dropdown/dropdown.component.d.ts +1 -1
  207. package/src/lib/modal/modal.component.d.ts +2 -2
  208. package/src/lib/sortable-list/sortable-list.component.d.ts +1 -1
  209. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +1 -1
  210. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +1 -1
  211. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +1 -1
  212. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +1 -1
  213. package/src/v-angular/dropdown/typeahead/typeahead.directive.d.ts +1 -1
  214. package/src/v-angular/input/input.component.d.ts +1 -1
  215. package/src/v-angular/input/input.module.d.ts +2 -1
  216. package/src/v-angular/textarea/textarea.module.d.ts +2 -1
  217. package/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +1 -1
  218. package/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +1 -1
  219. package/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +1 -1
  220. package/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +1 -1
  221. package/v-angular/dropdown/typeahead/typeahead.directive.d.ts +1 -1
  222. package/v-angular/input/input.component.d.ts +1 -1
  223. package/v-angular/input/input.module.d.ts +2 -1
  224. package/v-angular/textarea/textarea.module.d.ts +2 -1
@@ -1,8 +1,9 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule, DOCUMENT } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { EventEmitter, Component, Input, Output, ContentChildren, NgModule, ChangeDetectionStrategy, HostBinding, ViewChild, CUSTOM_ELEMENTS_SCHEMA, Directive, Injector, Inject, ContentChild, InjectionToken, QueryList, ViewChildren, inject, Renderer2, ViewContainerRef, ChangeDetectorRef, TemplateRef } from '@angular/core';
4
+ import { EventEmitter, Component, Input, Output, ContentChildren, NgModule, ChangeDetectionStrategy, HostBinding, Directive, QueryList, ViewChildren, ViewChild, CUSTOM_ELEMENTS_SCHEMA, Injector, Inject, ContentChild, InjectionToken, inject, Renderer2, ViewContainerRef, ChangeDetectorRef, TemplateRef } from '@angular/core';
5
5
  import { randomId, calculateDegrees, sliderColors, getSliderTrackBackground, PaginationI18n } from '@sebgroup/extract';
6
+ import * as i1$1 from '@angular/platform-browser';
6
7
  import '@sebgroup/green-core/components/context-menu/index.js';
7
8
  import * as ContextMenuTransStyles from '@sebgroup/green-core/components/context-menu/context-menu.trans.styles.js';
8
9
  import * as i2 from '@sebgroup/green-angular/src/lib/shared';
@@ -15,16 +16,15 @@ import * as DatepickerTransStyles from '@sebgroup/green-core/components/datepick
15
16
  import '@sebgroup/green-core/components/dropdown/index.js';
16
17
  import * as DropdownTransStyles from '@sebgroup/green-core/components/dropdown/dropdown.trans.styles.js';
17
18
  import { trigger, transition, query, style, group, animate } from '@angular/animations';
18
- import * as i1$1 from '@angular/cdk/a11y';
19
+ import * as i1$2 from '@angular/cdk/a11y';
19
20
  import { A11yModule } from '@angular/cdk/a11y';
20
21
  import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';
21
- import * as i1$2 from '@angular/router';
22
+ import * as i1$3 from '@angular/router';
22
23
  import { RouterModule } from '@angular/router';
23
24
  import { Subject, fromEvent, interval } from 'rxjs';
24
25
  import { takeUntil, throttle } from 'rxjs/operators';
25
26
  import * as i2$2 from '@angular/cdk/drag-drop';
26
27
  import { moveItemInArray, transferArrayItem, DragDropModule } from '@angular/cdk/drag-drop';
27
- import * as i1$3 from '@angular/platform-browser';
28
28
  import { getScopedTagName } from '@sebgroup/green-core/scoping';
29
29
 
30
30
  class NggAccordionListItemComponent {
@@ -287,6 +287,264 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
287
287
  }]
288
288
  }] });
289
289
 
290
+ class SlidingUnderlineDirective {
291
+ constructor(element) {
292
+ this.element = element;
293
+ }
294
+ ngOnInit() {
295
+ if (this.element?.nativeElement) {
296
+ this.element.nativeElement.classList.add('slider');
297
+ this.element.nativeElement.addEventListener('animationend', () => {
298
+ this.element.nativeElement.classList.remove('left', 'slider-positive', 'slider-negative');
299
+ });
300
+ }
301
+ }
302
+ ngOnChanges(changes) {
303
+ if (!this.disabled) {
304
+ if (changes.slidingUnderline &&
305
+ changes.key &&
306
+ !changes.slidingUnderline.isFirstChange() &&
307
+ !changes?.key?.isFirstChange()) {
308
+ if (changes.key.currentValue === changes.key.previousValue) {
309
+ this.addAnimation(changes.slidingUnderline.currentValue, changes.slidingUnderline.previousValue);
310
+ }
311
+ }
312
+ else {
313
+ if (changes.slidingUnderline &&
314
+ !changes.slidingUnderline.isFirstChange()) {
315
+ this.addAnimation(changes.slidingUnderline.currentValue, changes.slidingUnderline.previousValue);
316
+ }
317
+ }
318
+ }
319
+ }
320
+ addAnimation(current, previous) {
321
+ if (current > previous)
322
+ this.element.nativeElement.classList.add('slider-positive');
323
+ else
324
+ this.element.nativeElement.classList.add('slider-negative');
325
+ this.element.nativeElement.classList.add('left');
326
+ }
327
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlidingUnderlineDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
328
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SlidingUnderlineDirective, selector: "[nggSlidingUnderline]", inputs: { nggSlidingUnderline: "nggSlidingUnderline", key: "key", disabled: "disabled" }, usesOnChanges: true, ngImport: i0 }); }
329
+ }
330
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlidingUnderlineDirective, decorators: [{
331
+ type: Directive,
332
+ args: [{
333
+ selector: '[nggSlidingUnderline]',
334
+ }]
335
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { nggSlidingUnderline: [{
336
+ type: Input
337
+ }], key: [{
338
+ type: Input
339
+ }], disabled: [{
340
+ type: Input
341
+ }] } });
342
+
343
+ class CellTableItemComponent {
344
+ constructor(sanitizer) {
345
+ this.sanitizer = sanitizer;
346
+ this.valueType = 'string';
347
+ this.id = '';
348
+ this.getSignColor = (value) => {
349
+ if (/[−-]/.test(String(value)))
350
+ return 'text-danger';
351
+ else if (/[1-9]/.test(String(value)))
352
+ return 'text-success';
353
+ return '';
354
+ };
355
+ }
356
+ transformHTML(value) {
357
+ if (value && value.length) {
358
+ return this.sanitizer.bypassSecurityTrustHtml(value);
359
+ }
360
+ else {
361
+ return '';
362
+ }
363
+ }
364
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellTableItemComponent, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
365
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CellTableItemComponent, selector: "[nggCellTableItem]", inputs: { row: "row", valueType: "valueType", id: "id" }, ngImport: i0, template: `
366
+ <ng-container [ngSwitch]="valueType">
367
+ <span *ngSwitchCase="'string'">{{ row || '–' }}</span>
368
+ <span *ngSwitchCase="'number'">{{ (row | number) || '–' }}</span>
369
+ <span *ngSwitchCase="'datetime'">{{
370
+ (row | date: 'HH:mm:ss') || '–'
371
+ }}</span>
372
+ <span *ngSwitchCase="'date'">{{
373
+ (row | date: 'YYYY-MM-dd') || '–'
374
+ }}</span>
375
+ <span
376
+ *ngSwitchCase="'custom-html'"
377
+ [innerHtml]="transformHTML(row) || '–'"
378
+ ></span>
379
+ <span *ngSwitchCase="'sign'" [ngClass]="getSignColor(row)">{{
380
+ row || '–'
381
+ }}</span>
382
+ <span *ngSwitchCase="'pct'">{{ row || '–' }}</span>
383
+ <span *ngSwitchCase="'streamSign'" [nggSlidingUnderline]="row">{{
384
+ row || '–'
385
+ }}</span>
386
+ <span *ngSwitchDefault>–</span>
387
+ </ng-container>
388
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: SlidingUnderlineDirective, selector: "[nggSlidingUnderline]", inputs: ["nggSlidingUnderline", "key", "disabled"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.DatePipe, name: "date" }] }); }
389
+ }
390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellTableItemComponent, decorators: [{
391
+ type: Component,
392
+ args: [{
393
+ // eslint-disable-next-line @angular-eslint/component-selector
394
+ selector: '[nggCellTableItem]',
395
+ template: `
396
+ <ng-container [ngSwitch]="valueType">
397
+ <span *ngSwitchCase="'string'">{{ row || '–' }}</span>
398
+ <span *ngSwitchCase="'number'">{{ (row | number) || '–' }}</span>
399
+ <span *ngSwitchCase="'datetime'">{{
400
+ (row | date: 'HH:mm:ss') || '–'
401
+ }}</span>
402
+ <span *ngSwitchCase="'date'">{{
403
+ (row | date: 'YYYY-MM-dd') || '–'
404
+ }}</span>
405
+ <span
406
+ *ngSwitchCase="'custom-html'"
407
+ [innerHtml]="transformHTML(row) || '–'"
408
+ ></span>
409
+ <span *ngSwitchCase="'sign'" [ngClass]="getSignColor(row)">{{
410
+ row || '–'
411
+ }}</span>
412
+ <span *ngSwitchCase="'pct'">{{ row || '–' }}</span>
413
+ <span *ngSwitchCase="'streamSign'" [nggSlidingUnderline]="row">{{
414
+ row || '–'
415
+ }}</span>
416
+ <span *ngSwitchDefault>–</span>
417
+ </ng-container>
418
+ `,
419
+ }]
420
+ }], ctorParameters: function () { return [{ type: i1$1.DomSanitizer }]; }, propDecorators: { row: [{
421
+ type: Input
422
+ }], valueType: [{
423
+ type: Input
424
+ }], id: [{
425
+ type: Input
426
+ }] } });
427
+
428
+ class NggCellTableComponent {
429
+ constructor() {
430
+ this.items = new QueryList();
431
+ /** Make the most left element wrap */
432
+ this.overflowReverse = false;
433
+ /** List of table headers */
434
+ this.headerList = [];
435
+ /** List of data */
436
+ this.rows = [];
437
+ /** Make rows clickable and add arrow to the right */
438
+ this.clickableRows = false;
439
+ /** Label for the chevron of clickable rows */
440
+ this.clickLabel = 'View details';
441
+ /** Callback when a row is clicked */
442
+ this.rowClicked = new EventEmitter();
443
+ // ------------- EVENTS ------------------
444
+ /**
445
+ * handles the logic for when a row is clicked
446
+ * @param {TableRowClickedEvent} value the TableRowClickedEvent
447
+ */
448
+ this.handleClickRow = (value) => {
449
+ if (this.clickableRows)
450
+ this.rowClicked.emit(value);
451
+ };
452
+ this.getValueTypeFromMain = () => {
453
+ const getMain = this.headerList.find((x) => x.main);
454
+ if (getMain)
455
+ return getMain.valueType || '';
456
+ return '';
457
+ };
458
+ this.getTableHeaderListValueFromNonMain = (header) => {
459
+ if (header.valueType)
460
+ return header.valueType || '';
461
+ return '';
462
+ };
463
+ this.mainHeader = (row) => {
464
+ const getMain = this.headerList.find((x) => x.main);
465
+ if (row && getMain) {
466
+ return {
467
+ value: row[getMain.tableKeySelector],
468
+ valueType: getMain.valueType || 'string',
469
+ tableKeySelector: getMain.tableKeySelector,
470
+ };
471
+ }
472
+ return {
473
+ value: '-',
474
+ valueType: 'string',
475
+ tableKeySelector: '-',
476
+ };
477
+ };
478
+ this.headerNoneMain = (headers) => {
479
+ if (this.overflowReverse)
480
+ return headers.filter((x) => !x.main).reverse();
481
+ return headers.filter((x) => !x.main);
482
+ };
483
+ this.getTableKeySelector = (row) => {
484
+ return this.mainHeader(row).tableKeySelector + row.rowId;
485
+ };
486
+ }
487
+ // ------- TRACKBY FOR STREAM ------------
488
+ trackByrowId(_, b) {
489
+ return b.rowId;
490
+ }
491
+ KeySelector(_, b) {
492
+ return b.tableKeySelector;
493
+ }
494
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
495
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggCellTableComponent, selector: "ngg-cell-table", inputs: { minWidth: "minWidth", overflowReverse: "overflowReverse", className: "className", headerList: "headerList", rows: "rows", clickableRows: "clickableRows", clickLabel: "clickLabel" }, outputs: { rowClicked: "rowClicked" }, viewQueries: [{ propertyName: "items", predicate: ["items"], descendants: true }], ngImport: i0, template: "<div #targetElement role=\"table\" [ngClass]=\"className\">\n <div class=\"cell-table-table d-flex flex-column\">\n <div\n *ngFor=\"let row of rows; trackBy: trackByrowId\"\n (click)=\"handleClickRow(row)\"\n class=\"cell-table--row-wrapper\"\n role=\"rowgroup\"\n [class.is-clickable]=\"clickableRows\"\n >\n <div>\n <div #items [class.overflow-reverse]=\"overflowReverse\">\n <!-- Main header -->\n <div role=\"row\">\n <div\n nggCellTableItem\n [row]=\"mainHeader(row).value\"\n [valueType]=\"getValueTypeFromMain()\"\n [attr.valueType]=\"getValueTypeFromMain()\"\n [attr.id]=\"getTableKeySelector(row)\"\n role=\"rowheader\"\n aria-rowspan=\"3\"\n aria-colspan=\"3\"\n ></div>\n </div>\n <div role=\"row\">\n <div class=\"d-flex\">\n <!-- Sub Header -->\n <div\n nggCellTableItem\n class=\"sub-header py-0 fw-bold\"\n [row]=\"header.label\"\n [valueType]=\"getTableHeaderListValueFromNonMain(header)\"\n role=\"columnheader\"\n *ngFor=\"\n let header of headerNoneMain(headerList);\n trackBy: KeySelector\n \"\n ></div>\n </div>\n </div>\n\n <div role=\"row\">\n <!-- Sub Values -->\n <div class=\"d-flex\">\n <div\n nggCellTableItem\n class=\"sub-value py-0\"\n [row]=\"row[header.tableKeySelector]\"\n [valueType]=\"getTableHeaderListValueFromNonMain(header)\"\n [attr.valueType]=\"header.valueType\"\n role=\"cell\"\n *ngFor=\"\n let header of headerNoneMain(headerList);\n trackBy: KeySelector\n \"\n ></div>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"clickableRows\"\n role=\"row\"\n class=\"d-grid align-items-center ms-4 me-4 cell-table--arrow-container\"\n >\n <div role=\"cell\">\n <div\n role=\"button\"\n [attr.aria-label]=\"clickLabel\"\n tabindex=\"0\"\n [attr.aria-describedby]=\"getTableKeySelector(row)\"\n (keydown.enter)=\"handleClickRow(row)\"\n >\n <svg\n data-prefix=\"far\"\n data-icon=\"chevron-right\"\n class=\"svg-inline--fa fa-chevron-right fa-w-10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n >\n <path\n fill=\"currentColor\"\n d=\"M113.3 47.41l183.1 191.1c4.469 4.625 6.688 10.62 6.688 16.59s-2.219 11.97-6.688 16.59l-183.1 191.1c-9.152 9.594-24.34 9.906-33.9 .7187c-9.625-9.125-9.938-24.38-.7187-33.91l168-175.4L78.71 80.6c-9.219-9.5-8.906-24.78 .7187-33.91C88.99 37.5 104.2 37.82 113.3 47.41z\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["[role=rowheader]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.5rem}[role=cell],[role=columnheader]{flex:1 1 0;margin-bottom:.125rem}.cell-table--row-wrapper{border-top:1px solid var(--gds-ref-pallet-base400);display:flex;padding:1rem}.cell-table--row-wrapper>div:first-child{flex:1 1 0}.cell-table--row-wrapper.is-clickable{cursor:pointer}.cell-table--row-wrapper.is-clickable:hover{background-color:var(--gds-ref-pallet-base100)}.cell-table--arrow-container{flex:0 0 auto;width:10px}.cell-table--arrow-container [tabindex=\"0\"]:focus{outline:2px solid var(--gds-ref-pallet-base800)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CellTableItemComponent, selector: "[nggCellTableItem]", inputs: ["row", "valueType", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
496
+ }
497
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableComponent, decorators: [{
498
+ type: Component,
499
+ args: [{ selector: 'ngg-cell-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #targetElement role=\"table\" [ngClass]=\"className\">\n <div class=\"cell-table-table d-flex flex-column\">\n <div\n *ngFor=\"let row of rows; trackBy: trackByrowId\"\n (click)=\"handleClickRow(row)\"\n class=\"cell-table--row-wrapper\"\n role=\"rowgroup\"\n [class.is-clickable]=\"clickableRows\"\n >\n <div>\n <div #items [class.overflow-reverse]=\"overflowReverse\">\n <!-- Main header -->\n <div role=\"row\">\n <div\n nggCellTableItem\n [row]=\"mainHeader(row).value\"\n [valueType]=\"getValueTypeFromMain()\"\n [attr.valueType]=\"getValueTypeFromMain()\"\n [attr.id]=\"getTableKeySelector(row)\"\n role=\"rowheader\"\n aria-rowspan=\"3\"\n aria-colspan=\"3\"\n ></div>\n </div>\n <div role=\"row\">\n <div class=\"d-flex\">\n <!-- Sub Header -->\n <div\n nggCellTableItem\n class=\"sub-header py-0 fw-bold\"\n [row]=\"header.label\"\n [valueType]=\"getTableHeaderListValueFromNonMain(header)\"\n role=\"columnheader\"\n *ngFor=\"\n let header of headerNoneMain(headerList);\n trackBy: KeySelector\n \"\n ></div>\n </div>\n </div>\n\n <div role=\"row\">\n <!-- Sub Values -->\n <div class=\"d-flex\">\n <div\n nggCellTableItem\n class=\"sub-value py-0\"\n [row]=\"row[header.tableKeySelector]\"\n [valueType]=\"getTableHeaderListValueFromNonMain(header)\"\n [attr.valueType]=\"header.valueType\"\n role=\"cell\"\n *ngFor=\"\n let header of headerNoneMain(headerList);\n trackBy: KeySelector\n \"\n ></div>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"clickableRows\"\n role=\"row\"\n class=\"d-grid align-items-center ms-4 me-4 cell-table--arrow-container\"\n >\n <div role=\"cell\">\n <div\n role=\"button\"\n [attr.aria-label]=\"clickLabel\"\n tabindex=\"0\"\n [attr.aria-describedby]=\"getTableKeySelector(row)\"\n (keydown.enter)=\"handleClickRow(row)\"\n >\n <svg\n data-prefix=\"far\"\n data-icon=\"chevron-right\"\n class=\"svg-inline--fa fa-chevron-right fa-w-10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n >\n <path\n fill=\"currentColor\"\n d=\"M113.3 47.41l183.1 191.1c4.469 4.625 6.688 10.62 6.688 16.59s-2.219 11.97-6.688 16.59l-183.1 191.1c-9.152 9.594-24.34 9.906-33.9 .7187c-9.625-9.125-9.938-24.38-.7187-33.91l168-175.4L78.71 80.6c-9.219-9.5-8.906-24.78 .7187-33.91C88.99 37.5 104.2 37.82 113.3 47.41z\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["[role=rowheader]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.5rem}[role=cell],[role=columnheader]{flex:1 1 0;margin-bottom:.125rem}.cell-table--row-wrapper{border-top:1px solid var(--gds-ref-pallet-base400);display:flex;padding:1rem}.cell-table--row-wrapper>div:first-child{flex:1 1 0}.cell-table--row-wrapper.is-clickable{cursor:pointer}.cell-table--row-wrapper.is-clickable:hover{background-color:var(--gds-ref-pallet-base100)}.cell-table--arrow-container{flex:0 0 auto;width:10px}.cell-table--arrow-container [tabindex=\"0\"]:focus{outline:2px solid var(--gds-ref-pallet-base800)}\n"] }]
500
+ }], propDecorators: { items: [{
501
+ type: ViewChildren,
502
+ args: ['items']
503
+ }], minWidth: [{
504
+ type: Input
505
+ }], overflowReverse: [{
506
+ type: Input
507
+ }], className: [{
508
+ type: Input
509
+ }], headerList: [{
510
+ type: Input
511
+ }], rows: [{
512
+ type: Input
513
+ }], clickableRows: [{
514
+ type: Input
515
+ }], clickLabel: [{
516
+ type: Input
517
+ }], rowClicked: [{
518
+ type: Output
519
+ }] } });
520
+
521
+ class NggCellTableModule {
522
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
523
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableModule, declarations: [NggCellTableComponent,
524
+ CellTableItemComponent,
525
+ SlidingUnderlineDirective], imports: [CommonModule], exports: [NggCellTableComponent] }); }
526
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableModule, imports: [CommonModule] }); }
527
+ }
528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableModule, decorators: [{
529
+ type: NgModule,
530
+ args: [{
531
+ imports: [CommonModule],
532
+ exports: [NggCellTableComponent],
533
+ declarations: [
534
+ NggCellTableComponent,
535
+ CellTableItemComponent,
536
+ SlidingUnderlineDirective,
537
+ ],
538
+ }]
539
+ }] });
540
+
541
+ class Table {
542
+ constructor(table) {
543
+ this.data = table.data;
544
+ this.header = table.header;
545
+ }
546
+ }
547
+
290
548
  class NggContextMenuComponent {
291
549
  constructor(elementRef) {
292
550
  this.elementRef = elementRef;
@@ -521,31 +779,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
521
779
  }]
522
780
  }] });
523
781
 
524
- class NggDropdownOptionDirective {
782
+ class NggDropdownButtonDirective {
525
783
  constructor(templateRef) {
526
784
  this.templateRef = templateRef;
527
785
  }
528
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownOptionDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
529
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggDropdownOptionDirective, selector: "[nggDropdownOption]", ngImport: i0 }); }
786
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownButtonDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
787
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggDropdownButtonDirective, selector: "[nggDropdownButton]", ngImport: i0 }); }
530
788
  }
531
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownOptionDirective, decorators: [{
789
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownButtonDirective, decorators: [{
532
790
  type: Directive,
533
791
  args: [{
534
- selector: '[nggDropdownOption]',
792
+ selector: '[nggDropdownButton]',
535
793
  }]
536
794
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
537
795
 
538
- class NggDropdownButtonDirective {
796
+ class NggDropdownOptionDirective {
539
797
  constructor(templateRef) {
540
798
  this.templateRef = templateRef;
541
799
  }
542
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownButtonDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
543
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggDropdownButtonDirective, selector: "[nggDropdownButton]", ngImport: i0 }); }
800
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownOptionDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
801
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggDropdownOptionDirective, selector: "[nggDropdownOption]", ngImport: i0 }); }
544
802
  }
545
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownButtonDirective, decorators: [{
803
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownOptionDirective, decorators: [{
546
804
  type: Directive,
547
805
  args: [{
548
- selector: '[nggDropdownButton]',
806
+ selector: '[nggDropdownOption]',
549
807
  }]
550
808
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
551
809
 
@@ -866,31 +1124,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
866
1124
  }]
867
1125
  }] });
868
1126
 
869
- class NggModalHeaderDirective {
1127
+ class NggModalFooterDirective {
870
1128
  constructor(viewContainerRef) {
871
1129
  this.viewContainerRef = viewContainerRef;
872
1130
  }
873
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModalHeaderDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
874
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggModalHeaderDirective, selector: "[nggModalHeader]", ngImport: i0 }); }
1131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModalFooterDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1132
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggModalFooterDirective, selector: "[nggModalFooter]", ngImport: i0 }); }
875
1133
  }
876
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModalHeaderDirective, decorators: [{
1134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModalFooterDirective, decorators: [{
877
1135
  type: Directive,
878
1136
  args: [{
879
- selector: '[nggModalHeader]',
1137
+ selector: '[nggModalFooter]',
880
1138
  }]
881
1139
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
882
1140
 
883
- class NggModalFooterDirective {
1141
+ class NggModalHeaderDirective {
884
1142
  constructor(viewContainerRef) {
885
1143
  this.viewContainerRef = viewContainerRef;
886
1144
  }
887
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModalFooterDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
888
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggModalFooterDirective, selector: "[nggModalFooter]", ngImport: i0 }); }
1145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModalHeaderDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1146
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggModalHeaderDirective, selector: "[nggModalHeader]", ngImport: i0 }); }
889
1147
  }
890
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModalFooterDirective, decorators: [{
1148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModalHeaderDirective, decorators: [{
891
1149
  type: Directive,
892
1150
  args: [{
893
- selector: '[nggModalFooter]',
1151
+ selector: '[nggModalHeader]',
894
1152
  }]
895
1153
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
896
1154
 
@@ -992,7 +1250,7 @@ class NggModalComponent {
992
1250
  this.configurableFocusTrap?.destroy();
993
1251
  enableBodyScroll(this.ref.nativeElement);
994
1252
  }
995
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModalComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component }); }
1253
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModalComponent, deps: [{ token: i0.ElementRef }, { token: i1$2.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component }); }
996
1254
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggModalComponent, selector: "ngg-modal", inputs: { modalType: "modalType", header: "header", confirmLabel: "confirmLabel", dismissLabel: "dismissLabel", size: "size", hideHeader: "hideHeader", hideFooter: "hideFooter", disableBodyScroll: "disableBodyScroll", trapFocus: "trapFocus", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange", closed: "closed", confirm: "confirm", dismiss: "dismiss" }, host: { properties: { "class.open": "this.open" } }, queries: [{ propertyName: "modalHeaderContent", first: true, predicate: NggModalHeaderDirective, descendants: true }, { propertyName: "modalFooterContent", first: true, predicate: NggModalFooterDirective, descendants: true }], viewQueries: [{ propertyName: "backdropRef", first: true, predicate: ["backdrop"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <div class=\"gds-dialog-wrapper\" [@modalAnimation]>\n <aside\n data-testid=\"modal\"\n *ngSwitchCase=\"'slideout'\"\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main\n data-testid=\"modal\"\n *ngSwitchCase=\"'takeover'\"\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.entered]=\"isOpen\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section\n data-testid=\"modal\"\n *ngSwitchDefault\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header\n *ngIf=\"!modalHeaderContent; else headerContentTemplate\"\n ngg-modal-header\n [attr.id]=\"'modal-header-' + guid\"\n data-testid=\"modal-header\"\n [header]=\"header\"\n (closed)=\"this.handleCloseClick($event)\"\n ></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer\n *ngIf=\"!modalFooterContent; else footerContentTemplate\"\n ngg-modal-footer\n data-testid=\"modal-footer\"\n [dismissLabel]=\"dismissLabel\"\n [confirmLabel]=\"confirmLabel\"\n (dismiss)=\"this.handleDismiss($event)\"\n (confirm)=\"this.handleConfirm($event)\"\n ></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\" [attr.id]=\"'modal-header-' + guid\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div\n #backdrop\n data-testid=\"modal-backdrop\"\n class=\"backdrop entered\"\n (click)=\"this.handleBackdropClick($event)\"\n [attr.aria-hidden]=\"true\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgSwitch; }), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgSwitchCase; }), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgSwitchDefault; }), selector: "[ngSwitchDefault]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalHeaderComponent; }), selector: "[ngg-modal-header]", inputs: ["header"], outputs: ["closed"] }, { kind: "component", type: i0.forwardRef(function () { return NggModalBodyComponent; }), selector: "[ngg-modal-body]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalFooterComponent; }), selector: "[ngg-modal-footer]", inputs: ["dismissLabel", "confirmLabel"], outputs: ["dismiss", "confirm"] }], animations: [
997
1255
  trigger('modalAnimation', [
998
1256
  transition(':enter', [
@@ -1046,7 +1304,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1046
1304
  ]),
1047
1305
  ]),
1048
1306
  ], template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <div class=\"gds-dialog-wrapper\" [@modalAnimation]>\n <aside\n data-testid=\"modal\"\n *ngSwitchCase=\"'slideout'\"\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main\n data-testid=\"modal\"\n *ngSwitchCase=\"'takeover'\"\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.entered]=\"isOpen\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section\n data-testid=\"modal\"\n *ngSwitchDefault\n role=\"dialog\"\n [attr.aria-modal]=\"trapFocus ? true : false\"\n [attr.aria-describedby]=\"'modal-header-' + guid\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header\n *ngIf=\"!modalHeaderContent; else headerContentTemplate\"\n ngg-modal-header\n [attr.id]=\"'modal-header-' + guid\"\n data-testid=\"modal-header\"\n [header]=\"header\"\n (closed)=\"this.handleCloseClick($event)\"\n ></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer\n *ngIf=\"!modalFooterContent; else footerContentTemplate\"\n ngg-modal-footer\n data-testid=\"modal-footer\"\n [dismissLabel]=\"dismissLabel\"\n [confirmLabel]=\"confirmLabel\"\n (dismiss)=\"this.handleDismiss($event)\"\n (confirm)=\"this.handleConfirm($event)\"\n ></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\" [attr.id]=\"'modal-header-' + guid\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div\n #backdrop\n data-testid=\"modal-backdrop\"\n class=\"backdrop entered\"\n (click)=\"this.handleBackdropClick($event)\"\n [attr.aria-hidden]=\"true\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
1049
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$1.ConfigurableFocusTrapFactory }]; }, propDecorators: { modalType: [{
1307
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.ConfigurableFocusTrapFactory }]; }, propDecorators: { modalType: [{
1050
1308
  type: Input
1051
1309
  }], header: [{
1052
1310
  type: Input
@@ -1291,7 +1549,7 @@ class NggSegmentedControlComponent {
1291
1549
  >{{ control.text }}</a
1292
1550
  >
1293
1551
  </div>
1294
- `, isInline: true, dependencies: [{ kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1552
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1$3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1295
1553
  }
1296
1554
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggSegmentedControlComponent, decorators: [{
1297
1555
  type: Component,
@@ -1692,264 +1950,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1692
1950
  }]
1693
1951
  }] });
1694
1952
 
1695
- class SlidingUnderlineDirective {
1696
- constructor(element) {
1697
- this.element = element;
1698
- }
1699
- ngOnInit() {
1700
- if (this.element?.nativeElement) {
1701
- this.element.nativeElement.classList.add('slider');
1702
- this.element.nativeElement.addEventListener('animationend', () => {
1703
- this.element.nativeElement.classList.remove('left', 'slider-positive', 'slider-negative');
1704
- });
1705
- }
1706
- }
1707
- ngOnChanges(changes) {
1708
- if (!this.disabled) {
1709
- if (changes.slidingUnderline &&
1710
- changes.key &&
1711
- !changes.slidingUnderline.isFirstChange() &&
1712
- !changes?.key?.isFirstChange()) {
1713
- if (changes.key.currentValue === changes.key.previousValue) {
1714
- this.addAnimation(changes.slidingUnderline.currentValue, changes.slidingUnderline.previousValue);
1715
- }
1716
- }
1717
- else {
1718
- if (changes.slidingUnderline &&
1719
- !changes.slidingUnderline.isFirstChange()) {
1720
- this.addAnimation(changes.slidingUnderline.currentValue, changes.slidingUnderline.previousValue);
1721
- }
1722
- }
1723
- }
1724
- }
1725
- addAnimation(current, previous) {
1726
- if (current > previous)
1727
- this.element.nativeElement.classList.add('slider-positive');
1728
- else
1729
- this.element.nativeElement.classList.add('slider-negative');
1730
- this.element.nativeElement.classList.add('left');
1731
- }
1732
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlidingUnderlineDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1733
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SlidingUnderlineDirective, selector: "[nggSlidingUnderline]", inputs: { nggSlidingUnderline: "nggSlidingUnderline", key: "key", disabled: "disabled" }, usesOnChanges: true, ngImport: i0 }); }
1734
- }
1735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlidingUnderlineDirective, decorators: [{
1736
- type: Directive,
1737
- args: [{
1738
- selector: '[nggSlidingUnderline]',
1739
- }]
1740
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { nggSlidingUnderline: [{
1741
- type: Input
1742
- }], key: [{
1743
- type: Input
1744
- }], disabled: [{
1745
- type: Input
1746
- }] } });
1747
-
1748
- class CellTableItemComponent {
1749
- constructor(sanitizer) {
1750
- this.sanitizer = sanitizer;
1751
- this.valueType = 'string';
1752
- this.id = '';
1753
- this.getSignColor = (value) => {
1754
- if (/[−-]/.test(String(value)))
1755
- return 'text-danger';
1756
- else if (/[1-9]/.test(String(value)))
1757
- return 'text-success';
1758
- return '';
1759
- };
1760
- }
1761
- transformHTML(value) {
1762
- if (value && value.length) {
1763
- return this.sanitizer.bypassSecurityTrustHtml(value);
1764
- }
1765
- else {
1766
- return '';
1767
- }
1768
- }
1769
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellTableItemComponent, deps: [{ token: i1$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
1770
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CellTableItemComponent, selector: "[nggCellTableItem]", inputs: { row: "row", valueType: "valueType", id: "id" }, ngImport: i0, template: `
1771
- <ng-container [ngSwitch]="valueType">
1772
- <span *ngSwitchCase="'string'">{{ row || '–' }}</span>
1773
- <span *ngSwitchCase="'number'">{{ (row | number) || '–' }}</span>
1774
- <span *ngSwitchCase="'datetime'">{{
1775
- (row | date: 'HH:mm:ss') || '–'
1776
- }}</span>
1777
- <span *ngSwitchCase="'date'">{{
1778
- (row | date: 'YYYY-MM-dd') || '–'
1779
- }}</span>
1780
- <span
1781
- *ngSwitchCase="'custom-html'"
1782
- [innerHtml]="transformHTML(row) || '–'"
1783
- ></span>
1784
- <span *ngSwitchCase="'sign'" [ngClass]="getSignColor(row)">{{
1785
- row || '–'
1786
- }}</span>
1787
- <span *ngSwitchCase="'pct'">{{ row || '–' }}</span>
1788
- <span *ngSwitchCase="'streamSign'" [nggSlidingUnderline]="row">{{
1789
- row || '–'
1790
- }}</span>
1791
- <span *ngSwitchDefault>–</span>
1792
- </ng-container>
1793
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: SlidingUnderlineDirective, selector: "[nggSlidingUnderline]", inputs: ["nggSlidingUnderline", "key", "disabled"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.DatePipe, name: "date" }] }); }
1794
- }
1795
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellTableItemComponent, decorators: [{
1796
- type: Component,
1797
- args: [{
1798
- // eslint-disable-next-line @angular-eslint/component-selector
1799
- selector: '[nggCellTableItem]',
1800
- template: `
1801
- <ng-container [ngSwitch]="valueType">
1802
- <span *ngSwitchCase="'string'">{{ row || '–' }}</span>
1803
- <span *ngSwitchCase="'number'">{{ (row | number) || '–' }}</span>
1804
- <span *ngSwitchCase="'datetime'">{{
1805
- (row | date: 'HH:mm:ss') || '–'
1806
- }}</span>
1807
- <span *ngSwitchCase="'date'">{{
1808
- (row | date: 'YYYY-MM-dd') || '–'
1809
- }}</span>
1810
- <span
1811
- *ngSwitchCase="'custom-html'"
1812
- [innerHtml]="transformHTML(row) || '–'"
1813
- ></span>
1814
- <span *ngSwitchCase="'sign'" [ngClass]="getSignColor(row)">{{
1815
- row || '–'
1816
- }}</span>
1817
- <span *ngSwitchCase="'pct'">{{ row || '–' }}</span>
1818
- <span *ngSwitchCase="'streamSign'" [nggSlidingUnderline]="row">{{
1819
- row || '–'
1820
- }}</span>
1821
- <span *ngSwitchDefault>–</span>
1822
- </ng-container>
1823
- `,
1824
- }]
1825
- }], ctorParameters: function () { return [{ type: i1$3.DomSanitizer }]; }, propDecorators: { row: [{
1826
- type: Input
1827
- }], valueType: [{
1828
- type: Input
1829
- }], id: [{
1830
- type: Input
1831
- }] } });
1832
-
1833
- class NggCellTableComponent {
1834
- constructor() {
1835
- this.items = new QueryList();
1836
- /** Make the most left element wrap */
1837
- this.overflowReverse = false;
1838
- /** List of table headers */
1839
- this.headerList = [];
1840
- /** List of data */
1841
- this.rows = [];
1842
- /** Make rows clickable and add arrow to the right */
1843
- this.clickableRows = false;
1844
- /** Label for the chevron of clickable rows */
1845
- this.clickLabel = 'View details';
1846
- /** Callback when a row is clicked */
1847
- this.rowClicked = new EventEmitter();
1848
- // ------------- EVENTS ------------------
1849
- /**
1850
- * handles the logic for when a row is clicked
1851
- * @param {TableRowClickedEvent} value the TableRowClickedEvent
1852
- */
1853
- this.handleClickRow = (value) => {
1854
- if (this.clickableRows)
1855
- this.rowClicked.emit(value);
1856
- };
1857
- this.getValueTypeFromMain = () => {
1858
- const getMain = this.headerList.find((x) => x.main);
1859
- if (getMain)
1860
- return getMain.valueType || '';
1861
- return '';
1862
- };
1863
- this.getTableHeaderListValueFromNonMain = (header) => {
1864
- if (header.valueType)
1865
- return header.valueType || '';
1866
- return '';
1867
- };
1868
- this.mainHeader = (row) => {
1869
- const getMain = this.headerList.find((x) => x.main);
1870
- if (row && getMain) {
1871
- return {
1872
- value: row[getMain.tableKeySelector],
1873
- valueType: getMain.valueType || 'string',
1874
- tableKeySelector: getMain.tableKeySelector,
1875
- };
1876
- }
1877
- return {
1878
- value: '-',
1879
- valueType: 'string',
1880
- tableKeySelector: '-',
1881
- };
1882
- };
1883
- this.headerNoneMain = (headers) => {
1884
- if (this.overflowReverse)
1885
- return headers.filter((x) => !x.main).reverse();
1886
- return headers.filter((x) => !x.main);
1887
- };
1888
- this.getTableKeySelector = (row) => {
1889
- return this.mainHeader(row).tableKeySelector + row.rowId;
1890
- };
1891
- }
1892
- // ------- TRACKBY FOR STREAM ------------
1893
- trackByrowId(_, b) {
1894
- return b.rowId;
1895
- }
1896
- KeySelector(_, b) {
1897
- return b.tableKeySelector;
1898
- }
1899
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1900
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggCellTableComponent, selector: "ngg-cell-table", inputs: { minWidth: "minWidth", overflowReverse: "overflowReverse", className: "className", headerList: "headerList", rows: "rows", clickableRows: "clickableRows", clickLabel: "clickLabel" }, outputs: { rowClicked: "rowClicked" }, viewQueries: [{ propertyName: "items", predicate: ["items"], descendants: true }], ngImport: i0, template: "<div #targetElement role=\"table\" [ngClass]=\"className\">\n <div class=\"cell-table-table d-flex flex-column\">\n <div\n *ngFor=\"let row of rows; trackBy: trackByrowId\"\n (click)=\"handleClickRow(row)\"\n class=\"cell-table--row-wrapper\"\n role=\"rowgroup\"\n [class.is-clickable]=\"clickableRows\"\n >\n <div>\n <div #items [class.overflow-reverse]=\"overflowReverse\">\n <!-- Main header -->\n <div role=\"row\">\n <div\n nggCellTableItem\n [row]=\"mainHeader(row).value\"\n [valueType]=\"getValueTypeFromMain()\"\n [attr.valueType]=\"getValueTypeFromMain()\"\n [attr.id]=\"getTableKeySelector(row)\"\n role=\"rowheader\"\n aria-rowspan=\"3\"\n aria-colspan=\"3\"\n ></div>\n </div>\n <div role=\"row\">\n <div class=\"d-flex\">\n <!-- Sub Header -->\n <div\n nggCellTableItem\n class=\"sub-header py-0 fw-bold\"\n [row]=\"header.label\"\n [valueType]=\"getTableHeaderListValueFromNonMain(header)\"\n role=\"columnheader\"\n *ngFor=\"\n let header of headerNoneMain(headerList);\n trackBy: KeySelector\n \"\n ></div>\n </div>\n </div>\n\n <div role=\"row\">\n <!-- Sub Values -->\n <div class=\"d-flex\">\n <div\n nggCellTableItem\n class=\"sub-value py-0\"\n [row]=\"row[header.tableKeySelector]\"\n [valueType]=\"getTableHeaderListValueFromNonMain(header)\"\n [attr.valueType]=\"header.valueType\"\n role=\"cell\"\n *ngFor=\"\n let header of headerNoneMain(headerList);\n trackBy: KeySelector\n \"\n ></div>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"clickableRows\"\n role=\"row\"\n class=\"d-grid align-items-center ms-4 me-4 cell-table--arrow-container\"\n >\n <div role=\"cell\">\n <div\n role=\"button\"\n [attr.aria-label]=\"clickLabel\"\n tabindex=\"0\"\n [attr.aria-describedby]=\"getTableKeySelector(row)\"\n (keydown.enter)=\"handleClickRow(row)\"\n >\n <svg\n data-prefix=\"far\"\n data-icon=\"chevron-right\"\n class=\"svg-inline--fa fa-chevron-right fa-w-10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n >\n <path\n fill=\"currentColor\"\n d=\"M113.3 47.41l183.1 191.1c4.469 4.625 6.688 10.62 6.688 16.59s-2.219 11.97-6.688 16.59l-183.1 191.1c-9.152 9.594-24.34 9.906-33.9 .7187c-9.625-9.125-9.938-24.38-.7187-33.91l168-175.4L78.71 80.6c-9.219-9.5-8.906-24.78 .7187-33.91C88.99 37.5 104.2 37.82 113.3 47.41z\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["[role=rowheader]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.5rem}[role=cell],[role=columnheader]{flex:1 1 0;margin-bottom:.125rem}.cell-table--row-wrapper{border-top:1px solid var(--gds-ref-pallet-base400);display:flex;padding:1rem}.cell-table--row-wrapper>div:first-child{flex:1 1 0}.cell-table--row-wrapper.is-clickable{cursor:pointer}.cell-table--row-wrapper.is-clickable:hover{background-color:var(--gds-ref-pallet-base100)}.cell-table--arrow-container{flex:0 0 auto;width:10px}.cell-table--arrow-container [tabindex=\"0\"]:focus{outline:2px solid var(--gds-ref-pallet-base800)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CellTableItemComponent, selector: "[nggCellTableItem]", inputs: ["row", "valueType", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1901
- }
1902
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableComponent, decorators: [{
1903
- type: Component,
1904
- args: [{ selector: 'ngg-cell-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #targetElement role=\"table\" [ngClass]=\"className\">\n <div class=\"cell-table-table d-flex flex-column\">\n <div\n *ngFor=\"let row of rows; trackBy: trackByrowId\"\n (click)=\"handleClickRow(row)\"\n class=\"cell-table--row-wrapper\"\n role=\"rowgroup\"\n [class.is-clickable]=\"clickableRows\"\n >\n <div>\n <div #items [class.overflow-reverse]=\"overflowReverse\">\n <!-- Main header -->\n <div role=\"row\">\n <div\n nggCellTableItem\n [row]=\"mainHeader(row).value\"\n [valueType]=\"getValueTypeFromMain()\"\n [attr.valueType]=\"getValueTypeFromMain()\"\n [attr.id]=\"getTableKeySelector(row)\"\n role=\"rowheader\"\n aria-rowspan=\"3\"\n aria-colspan=\"3\"\n ></div>\n </div>\n <div role=\"row\">\n <div class=\"d-flex\">\n <!-- Sub Header -->\n <div\n nggCellTableItem\n class=\"sub-header py-0 fw-bold\"\n [row]=\"header.label\"\n [valueType]=\"getTableHeaderListValueFromNonMain(header)\"\n role=\"columnheader\"\n *ngFor=\"\n let header of headerNoneMain(headerList);\n trackBy: KeySelector\n \"\n ></div>\n </div>\n </div>\n\n <div role=\"row\">\n <!-- Sub Values -->\n <div class=\"d-flex\">\n <div\n nggCellTableItem\n class=\"sub-value py-0\"\n [row]=\"row[header.tableKeySelector]\"\n [valueType]=\"getTableHeaderListValueFromNonMain(header)\"\n [attr.valueType]=\"header.valueType\"\n role=\"cell\"\n *ngFor=\"\n let header of headerNoneMain(headerList);\n trackBy: KeySelector\n \"\n ></div>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"clickableRows\"\n role=\"row\"\n class=\"d-grid align-items-center ms-4 me-4 cell-table--arrow-container\"\n >\n <div role=\"cell\">\n <div\n role=\"button\"\n [attr.aria-label]=\"clickLabel\"\n tabindex=\"0\"\n [attr.aria-describedby]=\"getTableKeySelector(row)\"\n (keydown.enter)=\"handleClickRow(row)\"\n >\n <svg\n data-prefix=\"far\"\n data-icon=\"chevron-right\"\n class=\"svg-inline--fa fa-chevron-right fa-w-10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n >\n <path\n fill=\"currentColor\"\n d=\"M113.3 47.41l183.1 191.1c4.469 4.625 6.688 10.62 6.688 16.59s-2.219 11.97-6.688 16.59l-183.1 191.1c-9.152 9.594-24.34 9.906-33.9 .7187c-9.625-9.125-9.938-24.38-.7187-33.91l168-175.4L78.71 80.6c-9.219-9.5-8.906-24.78 .7187-33.91C88.99 37.5 104.2 37.82 113.3 47.41z\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["[role=rowheader]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.5rem}[role=cell],[role=columnheader]{flex:1 1 0;margin-bottom:.125rem}.cell-table--row-wrapper{border-top:1px solid var(--gds-ref-pallet-base400);display:flex;padding:1rem}.cell-table--row-wrapper>div:first-child{flex:1 1 0}.cell-table--row-wrapper.is-clickable{cursor:pointer}.cell-table--row-wrapper.is-clickable:hover{background-color:var(--gds-ref-pallet-base100)}.cell-table--arrow-container{flex:0 0 auto;width:10px}.cell-table--arrow-container [tabindex=\"0\"]:focus{outline:2px solid var(--gds-ref-pallet-base800)}\n"] }]
1905
- }], propDecorators: { items: [{
1906
- type: ViewChildren,
1907
- args: ['items']
1908
- }], minWidth: [{
1909
- type: Input
1910
- }], overflowReverse: [{
1911
- type: Input
1912
- }], className: [{
1913
- type: Input
1914
- }], headerList: [{
1915
- type: Input
1916
- }], rows: [{
1917
- type: Input
1918
- }], clickableRows: [{
1919
- type: Input
1920
- }], clickLabel: [{
1921
- type: Input
1922
- }], rowClicked: [{
1923
- type: Output
1924
- }] } });
1925
-
1926
- class NggCellTableModule {
1927
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1928
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableModule, declarations: [NggCellTableComponent,
1929
- CellTableItemComponent,
1930
- SlidingUnderlineDirective], imports: [CommonModule], exports: [NggCellTableComponent] }); }
1931
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableModule, imports: [CommonModule] }); }
1932
- }
1933
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggCellTableModule, decorators: [{
1934
- type: NgModule,
1935
- args: [{
1936
- imports: [CommonModule],
1937
- exports: [NggCellTableComponent],
1938
- declarations: [
1939
- NggCellTableComponent,
1940
- CellTableItemComponent,
1941
- SlidingUnderlineDirective,
1942
- ],
1943
- }]
1944
- }] });
1945
-
1946
- class Table {
1947
- constructor(table) {
1948
- this.data = table.data;
1949
- this.header = table.header;
1950
- }
1951
- }
1952
-
1953
1953
  class NggModule {
1954
1954
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1955
1955
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NggModule, imports: [CommonModule], exports: [NggAccordionModule,