@odx/angular 1.0.4 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/breakpoints/README.md +3 -0
  3. package/breakpoints/index.d.ts +7 -0
  4. package/breakpoints/lib/breakpoints.config.d.ts +21 -0
  5. package/breakpoints/lib/breakpoints.module.d.ts +7 -0
  6. package/breakpoints/lib/breakpoints.service.d.ts +13 -0
  7. package/breakpoints/lib/breakpoints.typings.d.ts +8 -0
  8. package/breakpoints/lib/directives/index.d.ts +1 -0
  9. package/breakpoints/lib/directives/match-breakpoints.directive.d.ts +16 -0
  10. package/breakpoints/lib/helpers/configure-breakpoint.d.ts +4 -0
  11. package/breakpoints/lib/helpers/index.d.ts +1 -0
  12. package/breakpoints/lib/models/breakpoint.d.ts +5 -0
  13. package/breakpoints/lib/models/index.d.ts +1 -0
  14. package/cdk/autocomplete-control/README.md +3 -0
  15. package/cdk/autocomplete-control/index.d.ts +3 -0
  16. package/cdk/autocomplete-control/lib/abstract/base-search-field.directive.d.ts +13 -0
  17. package/cdk/autocomplete-control/lib/abstract/index.d.ts +1 -0
  18. package/cdk/autocomplete-control/lib/autocomplete-control.d.ts +39 -0
  19. package/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.d.ts +11 -0
  20. package/cdk/autocomplete-control/lib/pipes/index.d.ts +1 -0
  21. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +1 -1
  22. package/cdk/option-control/README.md +3 -0
  23. package/cdk/option-control/index.d.ts +1 -0
  24. package/cdk/option-control/lib/option-control.d.ts +17 -0
  25. package/components/autocomplete/README.md +3 -0
  26. package/components/autocomplete/index.d.ts +6 -0
  27. package/components/autocomplete/lib/autocomplete.component.d.ts +30 -0
  28. package/components/autocomplete/lib/autocomplete.module.d.ts +11 -0
  29. package/components/autocomplete/lib/autocomplete.tokens.d.ts +3 -0
  30. package/components/autocomplete/lib/components/index.d.ts +1 -0
  31. package/components/autocomplete/lib/components/option/autocomplete-option.component.d.ts +9 -0
  32. package/components/autocomplete/lib/directives/autocomplete-search-field.directive.d.ts +9 -0
  33. package/components/autocomplete/lib/directives/index.d.ts +1 -0
  34. package/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.d.ts +12 -0
  35. package/components/autocomplete/lib/pipes/index.d.ts +1 -0
  36. package/components/chip/index.d.ts +1 -1
  37. package/components/chip/lib/{chip.component.d.ts → components/chip/chip.component.d.ts} +1 -1
  38. package/components/chip/lib/components/chip-list/chip-list.component.d.ts +6 -0
  39. package/components/chip/lib/components/chip-list-row/chip-list-row.component.d.ts +6 -0
  40. package/components/chip/lib/components/index.d.ts +3 -0
  41. package/components/dropdown/lib/dropdown.directive.d.ts +2 -1
  42. package/components/form-field/lib/models/form-field-variant.d.ts +1 -0
  43. package/components/main-menu/lib/directives/index.d.ts +1 -0
  44. package/components/main-menu/lib/directives/main-menu-close.directive.d.ts +7 -0
  45. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +3 -4
  46. package/components/main-menu/lib/main-menu.module.d.ts +3 -2
  47. package/components/menu/lib/directives/menu-item.directive.d.ts +1 -1
  48. package/components/menu/lib/menu.module.d.ts +3 -2
  49. package/components/rail-navigation/index.d.ts +2 -1
  50. package/components/rail-navigation/lib/components/index.d.ts +1 -0
  51. package/components/rail-navigation/lib/models/index.d.ts +1 -0
  52. package/components/rail-navigation/lib/models/rail-navigation-variant.d.ts +5 -0
  53. package/components/rail-navigation/lib/rail-navigation.component.d.ts +4 -2
  54. package/components/rail-navigation/lib/rail-navigation.module.d.ts +2 -2
  55. package/components/select/index.d.ts +0 -1
  56. package/components/select/lib/components/index.d.ts +1 -1
  57. package/components/select/lib/components/select-option/select-option.component.d.ts +19 -0
  58. package/components/select/lib/directives/select-search-field.directive.d.ts +3 -7
  59. package/components/select/lib/pipes/select-search-filter.pipe.d.ts +8 -8
  60. package/components/select/lib/select.component.d.ts +15 -30
  61. package/components/select/lib/select.module.d.ts +2 -2
  62. package/components/select/lib/select.tokens.d.ts +2 -2
  63. package/components/table/README.md +3 -0
  64. package/components/table/index.d.ts +5 -0
  65. package/components/table/lib/components/check-cell/check-cell.component.d.ts +11 -0
  66. package/components/table/lib/components/header-title/header-title.component.d.ts +28 -0
  67. package/components/table/lib/components/index.d.ts +2 -0
  68. package/components/table/lib/directives/index.d.ts +2 -0
  69. package/components/table/lib/directives/table-cell.directive.d.ts +6 -0
  70. package/components/table/lib/directives/table-row.directive.d.ts +6 -0
  71. package/components/table/lib/interfaces/index.d.ts +3 -0
  72. package/components/table/lib/models/index.d.ts +2 -0
  73. package/components/table/lib/models/sort-variant.d.ts +6 -0
  74. package/components/table/lib/models/table-variant.d.ts +5 -0
  75. package/components/table/lib/table.component.d.ts +29 -0
  76. package/components/table/lib/table.config.d.ts +4 -0
  77. package/components/table/lib/table.module.d.ts +11 -0
  78. package/components/wizard/README.md +3 -0
  79. package/components/wizard/index.d.ts +3 -0
  80. package/components/wizard/lib/components/index.d.ts +1 -0
  81. package/components/wizard/lib/components/wizard-step/wizard-step.component.d.ts +17 -0
  82. package/components/wizard/lib/wizard.component.d.ts +31 -0
  83. package/components/wizard/lib/wizard.module.d.ts +9 -0
  84. package/esm2020/breakpoints/index.mjs +8 -0
  85. package/esm2020/breakpoints/lib/breakpoints.config.mjs +13 -0
  86. package/esm2020/breakpoints/lib/breakpoints.module.mjs +17 -0
  87. package/esm2020/breakpoints/lib/breakpoints.service.mjs +34 -0
  88. package/esm2020/breakpoints/lib/breakpoints.typings.mjs +2 -0
  89. package/esm2020/breakpoints/lib/directives/index.mjs +2 -0
  90. package/esm2020/breakpoints/lib/directives/match-breakpoints.directive.mjs +48 -0
  91. package/esm2020/breakpoints/lib/helpers/configure-breakpoint.mjs +8 -0
  92. package/esm2020/breakpoints/lib/helpers/index.mjs +2 -0
  93. package/esm2020/breakpoints/lib/models/breakpoint.mjs +2 -0
  94. package/esm2020/breakpoints/lib/models/index.mjs +2 -0
  95. package/esm2020/breakpoints/odx-angular-breakpoints.mjs +5 -0
  96. package/esm2020/cdk/autocomplete-control/index.mjs +4 -0
  97. package/esm2020/cdk/autocomplete-control/lib/abstract/base-search-field.directive.mjs +38 -0
  98. package/esm2020/cdk/autocomplete-control/lib/abstract/index.mjs +2 -0
  99. package/esm2020/cdk/autocomplete-control/lib/autocomplete-control.mjs +90 -0
  100. package/esm2020/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.mjs +32 -0
  101. package/esm2020/cdk/autocomplete-control/lib/pipes/index.mjs +2 -0
  102. package/esm2020/cdk/autocomplete-control/odx-angular-cdk-autocomplete-control.mjs +5 -0
  103. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +5 -5
  104. package/esm2020/cdk/option-control/index.mjs +2 -0
  105. package/esm2020/cdk/option-control/lib/option-control.mjs +47 -0
  106. package/esm2020/cdk/option-control/odx-angular-cdk-option-control.mjs +5 -0
  107. package/esm2020/components/autocomplete/index.mjs +7 -0
  108. package/esm2020/components/autocomplete/lib/autocomplete.component.mjs +162 -0
  109. package/esm2020/components/autocomplete/lib/autocomplete.module.mjs +21 -0
  110. package/esm2020/components/autocomplete/lib/autocomplete.tokens.mjs +3 -0
  111. package/esm2020/components/autocomplete/lib/components/index.mjs +2 -0
  112. package/esm2020/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +33 -0
  113. package/esm2020/components/autocomplete/lib/directives/autocomplete-search-field.directive.mjs +26 -0
  114. package/esm2020/components/autocomplete/lib/directives/index.mjs +2 -0
  115. package/esm2020/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +30 -0
  116. package/esm2020/components/autocomplete/lib/pipes/index.mjs +2 -0
  117. package/esm2020/components/autocomplete/odx-angular-components-autocomplete.mjs +5 -0
  118. package/esm2020/components/card/lib/card.component.mjs +2 -2
  119. package/esm2020/components/checkbox/lib/checkbox.component.mjs +2 -2
  120. package/esm2020/components/chip/index.mjs +2 -2
  121. package/esm2020/components/chip/lib/{chip.component.mjs → components/chip/chip.component.mjs} +2 -2
  122. package/esm2020/components/chip/lib/components/chip-list/chip-list.component.mjs +21 -0
  123. package/esm2020/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +21 -0
  124. package/esm2020/components/chip/lib/components/index.mjs +4 -0
  125. package/esm2020/components/dropdown/lib/dropdown.component.mjs +3 -3
  126. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +10 -2
  127. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  128. package/esm2020/components/form-field/lib/form-field.component.mjs +3 -3
  129. package/esm2020/components/form-field/lib/form-field.service.mjs +2 -2
  130. package/esm2020/components/form-field/lib/models/form-field-variant.mjs +2 -1
  131. package/esm2020/components/main-menu/lib/directives/index.mjs +2 -1
  132. package/esm2020/components/main-menu/lib/directives/main-menu-close.directive.mjs +24 -0
  133. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +6 -12
  134. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  135. package/esm2020/components/main-menu/lib/main-menu.service.mjs +2 -11
  136. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +3 -3
  137. package/esm2020/components/menu/lib/menu.module.mjs +5 -4
  138. package/esm2020/components/rail-navigation/index.mjs +3 -2
  139. package/esm2020/components/rail-navigation/lib/components/index.mjs +2 -0
  140. package/esm2020/components/rail-navigation/lib/components/{rail-navigation-item.component.mjs → rail-navigation-item/rail-navigation-item.component.mjs} +3 -3
  141. package/esm2020/components/rail-navigation/lib/models/index.mjs +2 -0
  142. package/esm2020/components/rail-navigation/lib/models/rail-navigation-variant.mjs +5 -0
  143. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +19 -11
  144. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  145. package/esm2020/components/select/index.mjs +1 -2
  146. package/esm2020/components/select/lib/components/index.mjs +2 -2
  147. package/esm2020/components/select/lib/components/select-option/select-option.component.mjs +75 -0
  148. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +9 -21
  149. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +12 -33
  150. package/esm2020/components/select/lib/select.component.mjs +44 -86
  151. package/esm2020/components/select/lib/select.module.mjs +5 -5
  152. package/esm2020/components/select/lib/select.tokens.mjs +2 -2
  153. package/esm2020/components/table/index.mjs +6 -0
  154. package/esm2020/components/table/lib/components/check-cell/check-cell.component.mjs +29 -0
  155. package/esm2020/components/table/lib/components/header-title/header-title.component.mjs +86 -0
  156. package/esm2020/components/table/lib/components/index.mjs +3 -0
  157. package/esm2020/components/table/lib/directives/index.mjs +3 -0
  158. package/esm2020/components/table/lib/directives/table-cell.directive.mjs +27 -0
  159. package/esm2020/components/table/lib/directives/table-row.directive.mjs +28 -0
  160. package/esm2020/components/table/lib/interfaces/index.mjs +4 -0
  161. package/esm2020/components/table/lib/models/index.mjs +3 -0
  162. package/esm2020/components/table/lib/models/sort-variant.mjs +6 -0
  163. package/esm2020/components/table/lib/models/table-variant.mjs +5 -0
  164. package/esm2020/components/table/lib/table.component.mjs +86 -0
  165. package/esm2020/components/table/lib/table.config.mjs +3 -0
  166. package/esm2020/components/table/lib/table.module.mjs +21 -0
  167. package/esm2020/components/table/odx-angular-components-table.mjs +5 -0
  168. package/esm2020/components/wizard/index.mjs +4 -0
  169. package/esm2020/components/wizard/lib/components/index.mjs +2 -0
  170. package/esm2020/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +73 -0
  171. package/esm2020/components/wizard/lib/wizard.component.mjs +155 -0
  172. package/esm2020/components/wizard/lib/wizard.module.mjs +19 -0
  173. package/esm2020/components/wizard/odx-angular-components-wizard.mjs +5 -0
  174. package/esm2020/internal/decorators/css-component.mjs +1 -1
  175. package/esm2020/internal/decorators/css-modifier.mjs +16 -21
  176. package/esm2020/internal/helpers/get-css-variables.mjs +12 -19
  177. package/esm2020/lib/services/window-ref.mjs +4 -1
  178. package/fesm2015/odx-angular-breakpoints.mjs +111 -0
  179. package/fesm2015/odx-angular-breakpoints.mjs.map +1 -0
  180. package/fesm2015/odx-angular-cdk-autocomplete-control.mjs +164 -0
  181. package/fesm2015/odx-angular-cdk-autocomplete-control.mjs.map +1 -0
  182. package/fesm2015/odx-angular-cdk-expandable.mjs +4 -4
  183. package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -1
  184. package/fesm2015/odx-angular-cdk-option-control.mjs +55 -0
  185. package/fesm2015/odx-angular-cdk-option-control.mjs.map +1 -0
  186. package/fesm2015/odx-angular-components-autocomplete.mjs +263 -0
  187. package/fesm2015/odx-angular-components-autocomplete.mjs.map +1 -0
  188. package/fesm2015/odx-angular-components-card.mjs +1 -1
  189. package/fesm2015/odx-angular-components-card.mjs.map +1 -1
  190. package/fesm2015/odx-angular-components-checkbox.mjs +1 -1
  191. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  192. package/fesm2015/odx-angular-components-chip.mjs +35 -5
  193. package/fesm2015/odx-angular-components-chip.mjs.map +1 -1
  194. package/fesm2015/odx-angular-components-dropdown.mjs +11 -3
  195. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -1
  196. package/fesm2015/odx-angular-components-form-field.mjs +5 -4
  197. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  198. package/fesm2015/odx-angular-components-main-menu.mjs +30 -24
  199. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  200. package/fesm2015/odx-angular-components-menu.mjs +6 -5
  201. package/fesm2015/odx-angular-components-menu.mjs.map +1 -1
  202. package/fesm2015/odx-angular-components-rail-navigation.mjs +23 -11
  203. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -1
  204. package/fesm2015/odx-angular-components-select.mjs +80 -175
  205. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  206. package/fesm2015/odx-angular-components-table.mjs +264 -0
  207. package/fesm2015/odx-angular-components-table.mjs.map +1 -0
  208. package/fesm2015/odx-angular-components-wizard.mjs +242 -0
  209. package/fesm2015/odx-angular-components-wizard.mjs.map +1 -0
  210. package/fesm2015/odx-angular-internal.mjs +27 -40
  211. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  212. package/fesm2015/odx-angular.mjs +3 -0
  213. package/fesm2015/odx-angular.mjs.map +1 -1
  214. package/fesm2020/odx-angular-breakpoints.mjs +117 -0
  215. package/fesm2020/odx-angular-breakpoints.mjs.map +1 -0
  216. package/fesm2020/odx-angular-cdk-autocomplete-control.mjs +160 -0
  217. package/fesm2020/odx-angular-cdk-autocomplete-control.mjs.map +1 -0
  218. package/fesm2020/odx-angular-cdk-expandable.mjs +4 -4
  219. package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -1
  220. package/fesm2020/odx-angular-cdk-option-control.mjs +54 -0
  221. package/fesm2020/odx-angular-cdk-option-control.mjs.map +1 -0
  222. package/fesm2020/odx-angular-components-autocomplete.mjs +254 -0
  223. package/fesm2020/odx-angular-components-autocomplete.mjs.map +1 -0
  224. package/fesm2020/odx-angular-components-card.mjs +1 -1
  225. package/fesm2020/odx-angular-components-card.mjs.map +1 -1
  226. package/fesm2020/odx-angular-components-checkbox.mjs +1 -1
  227. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  228. package/fesm2020/odx-angular-components-chip.mjs +35 -5
  229. package/fesm2020/odx-angular-components-chip.mjs.map +1 -1
  230. package/fesm2020/odx-angular-components-dropdown.mjs +11 -3
  231. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -1
  232. package/fesm2020/odx-angular-components-form-field.mjs +5 -4
  233. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  234. package/fesm2020/odx-angular-components-main-menu.mjs +30 -24
  235. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  236. package/fesm2020/odx-angular-components-menu.mjs +6 -5
  237. package/fesm2020/odx-angular-components-menu.mjs.map +1 -1
  238. package/fesm2020/odx-angular-components-rail-navigation.mjs +23 -11
  239. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -1
  240. package/fesm2020/odx-angular-components-select.mjs +77 -170
  241. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  242. package/fesm2020/odx-angular-components-table.mjs +259 -0
  243. package/fesm2020/odx-angular-components-table.mjs.map +1 -0
  244. package/fesm2020/odx-angular-components-wizard.mjs +239 -0
  245. package/fesm2020/odx-angular-components-wizard.mjs.map +1 -0
  246. package/fesm2020/odx-angular-internal.mjs +26 -38
  247. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  248. package/fesm2020/odx-angular.mjs +3 -0
  249. package/fesm2020/odx-angular.mjs.map +1 -1
  250. package/internal/decorators/css-component.d.ts +1 -1
  251. package/internal/decorators/css-modifier.d.ts +2 -2
  252. package/internal/helpers/get-css-variables.d.ts +2 -3
  253. package/lib/services/window-ref.d.ts +1 -0
  254. package/package.json +52 -4
  255. package/components/select/lib/abstract/index.d.ts +0 -2
  256. package/components/select/lib/abstract/select-control-option.d.ts +0 -9
  257. package/components/select/lib/abstract/select-control.d.ts +0 -12
  258. package/components/select/lib/components/option/option.component.d.ts +0 -26
  259. package/esm2020/components/select/lib/abstract/index.mjs +0 -3
  260. package/esm2020/components/select/lib/abstract/select-control-option.mjs +0 -2
  261. package/esm2020/components/select/lib/abstract/select-control.mjs +0 -2
  262. package/esm2020/components/select/lib/components/option/option.component.mjs +0 -95
  263. /package/components/rail-navigation/lib/components/{rail-navigation-item.component.d.ts → rail-navigation-item/rail-navigation-item.component.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-select.mjs","sources":["../../../../libs/angular/components/select/src/lib/select.tokens.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.html","../../../../libs/angular/components/select/src/lib/directives/select-search-field.directive.ts","../../../../libs/angular/components/select/src/lib/pipes/select-search-filter.pipe.ts","../../../../libs/angular/components/select/src/lib/select.component.ts","../../../../libs/angular/components/select/src/lib/select.component.html","../../../../libs/angular/components/select/src/lib/select.module.ts","../../../../libs/angular/components/select/src/odx-angular-components-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SelectControl } from './abstract';\n\nexport const SELECT_CONTROL = new InjectionToken<SelectControl>('@odx/angular/components/select::SelectControl');\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges, DisabledController } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CheckboxComponent } from '@odx/angular/components/checkbox';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, Transform, untilDestroyed } from '@odx/angular/utils';\nimport { SelectControlOption } from '../../abstract';\nimport { SELECT_CONTROL } from '../../select.tokens';\n\n@CSSComponent('option')\n@Component({\n standalone: true,\n selector: 'odx-option',\n imports: [CoreModule, DynamicViewDirective, CheckboxComponent],\n templateUrl: './option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect()],\n host: {\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled || null',\n '[class.is-disabled]': 'disabled',\n '[class.is-selected]': 'isSelected',\n '[class.is-active]': 'isActive',\n role: 'option',\n },\n})\nexport class OptionComponent<T = unknown> implements OnInit, SelectControlOption<T> {\n public static ngAcceptInputType_notFoundMessage: BooleanInput;\n\n private readonly disabledController = DisabledController.inject();\n private readonly takeUntilDestroyed = untilDestroyed();\n private readonly cdr = inject(ChangeDetectorRef);\n\n protected readonly selectControl = inject(SELECT_CONTROL);\n protected isActive = false;\n\n public readonly element = injectElement();\n public isSelected = false;\n\n @Input()\n public value: T | null = null;\n\n @Transform(coerceBooleanProperty)\n @Input()\n public notFoundMessage = false;\n\n public get disabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n constructor() {\n if (!this.selectControl.multiple) {\n detectControllerChanges(this.selectControl)\n .pipe(this.takeUntilDestroyed())\n .subscribe(() => {\n this.isSelected = this.selectControl.isOptionSelected(this);\n });\n }\n }\n\n public ngOnInit(): void {\n this.isSelected = this.selectControl.isOptionSelected(this);\n }\n\n public getLabel(): string {\n return this.element.nativeElement.textContent ?? '';\n }\n\n public setActiveStyles(): void {\n if (this.disabled) return;\n this.isActive = true;\n if (this.selectControl.isOpen) {\n this.selectControl.scrollOptionIntoView(this);\n } else {\n this.selectControl.selectOption(this);\n }\n }\n\n public setInactiveStyles(): void {\n this.isActive = false;\n }\n\n public switchCheckbox(): void {\n if (this.selectControl.multiple) {\n this.isSelected = !this.isSelected;\n this.cdr.markForCheck();\n }\n }\n\n @HostListener('click', ['$event'])\n protected select(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n this.selectControl.selectOption(this);\n }\n}\n","<odx-checkbox [checked]=\"isSelected\" *ngIf=\"selectControl.multiple && !notFoundMessage; else single\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</odx-checkbox>\n\n<ng-template #single>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { distinctUntilChanged, fromEvent, map } from 'rxjs';\n\n@CSSComponent('select__search')\n@Directive({\n standalone: true,\n selector: 'input[odxSelectSearchField]',\n host: {\n '[class.odx-form-field-control]': 'true',\n },\n})\nexport class SelectSearchFieldDirective {\n private readonly takeUntilDestroyed = untilDestroyed();\n\n public readonly element = injectElement<HTMLInputElement>();\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxSelectSearchField')\n public notFoundContent: DynamicContent | null = null;\n\n public valueChange$ = fromEvent(this.element.nativeElement, 'input').pipe(\n map(() => this.getValue()),\n distinctUntilChanged(),\n this.takeUntilDestroyed()\n );\n\n @HostListener('keydown.delete')\n public reset(): void {\n this.element.nativeElement.value = '';\n }\n\n public focus(): void {\n this.element.nativeElement.focus();\n }\n\n public getValue(): string {\n return this.element.nativeElement.value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, StringSearchHandler } from '@odx/angular';\nimport { Pure } from '@odx/angular/utils';\nimport { SelectSearchFieldDirective } from '../directives';\nimport { SELECT_CONTROL } from '../select.tokens';\n\n@Pipe({\n pure: false,\n name: 'odxSelectSearchFilter',\n standalone: true,\n})\nexport class SelectSearchFilterPipe implements PipeTransform {\n private readonly searchController = inject(SELECT_CONTROL, { optional: true });\n private readonly stringify = inject(ODX_STRINGIFY);\n private readonly stringSearchHandler = inject(ODX_STRING_SEARCH_HANDLER);\n\n private get searchField(): SelectSearchFieldDirective | undefined {\n return this.searchController?.searchField;\n }\n\n public transform<T>(items: T[] | null, searchHandler?: StringSearchHandler): T[] | null {\n if (this.searchField) {\n return this.filter(items, this.searchField.getValue(), searchHandler);\n }\n return items;\n }\n\n @Pure\n private filter<T>(items: T[] | null, query: string, searchHandler?: StringSearchHandler): T[] | null {\n if (!items) {\n return null;\n }\n query = query.trim();\n if (query === '') {\n return items;\n }\n const search = searchHandler ?? this.stringSearchHandler;\n const stringify = this.searchController?.stringify ?? this.stringify;\n\n return items.filter((item) => search(stringify(item), query));\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostListener,\n inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CoreModule, detectControllerChanges, DisabledController, IdentityMatcher, ODX_IDENTITY_MATCHER, ReadonlyController, StringifyFn } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { fromQueryList } from '@odx/angular/rxjs';\nimport { deferFn, injectElement, isFunction, Transform } from '@odx/angular/utils';\nimport { SelectControl, SelectControlOption } from './abstract';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SELECT_CONTROL } from './select.tokens';\n\n@CSSComponent('select')\n@Component({\n standalone: true,\n selector: 'odx-select',\n imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, OptionComponent, LoadingSpinnerModule],\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n DisabledController.connect(),\n ReadonlyController.connect(),\n {\n provide: SELECT_CONTROL,\n useExisting: forwardRef(() => SelectComponent),\n },\n ],\n host: {\n '[attr.aria-disabled]': 'isDisabled || null',\n '[class.is-open]': 'isOpen',\n '[tabindex]': 'searchFieldEnabled || isDisabled ? -1 : 0',\n '[attr.aria-multiselectable]': 'multiple',\n },\n})\nexport class SelectComponent<T = unknown | unknown[]> extends CustomFormControl<T | null> implements AfterViewInit, SelectControl<T> {\n public static ngAcceptInputType_isLoading: BooleanInput;\n public static ngAcceptInputType_multiple: BooleanInput;\n\n private keyManager?: ActiveDescendantKeyManager<OptionComponent<T>>;\n private readonly changeDetector = inject(ChangeDetectorRef);\n\n protected searchFieldEnabled = false;\n protected smoothScrollEnabled = false;\n protected selectedOption: OptionComponent<T> | null = null;\n protected selectedOptionText: string | null = null;\n\n @ContentChildren(OptionComponent, { descendants: true, emitDistinctChangesOnly: true })\n protected options?: QueryList<OptionComponent<T>>;\n\n @ViewChild(DropdownDirective)\n protected dropdown?: DropdownDirective;\n\n public get hasOptions(): boolean {\n return !!this.options && this.options.length > 0;\n }\n\n public readonly element = injectElement();\n\n public get isOpen(): boolean {\n return !!this.dropdown?.isOpen;\n }\n\n public get selectedOptionContent(): TemplateRef<{ $implicit: T | null }> | string | null {\n return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;\n }\n\n @Input()\n public placeholder = '';\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isLoading = false;\n\n @CSSModifier()\n @Transform(coerceBooleanProperty)\n @Input()\n public multiple = false;\n\n @Input()\n public selectedOptionTemplate?: TemplateRef<{ $implicit: T }> | null = null;\n\n @Input()\n public stringify?: StringifyFn<T | null>;\n\n @Input()\n public identityMatcher: IdentityMatcher<T | null> = inject(ODX_IDENTITY_MATCHER);\n\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n public change = new EventEmitter<void>();\n\n @ContentChild(SelectSearchFieldDirective)\n public searchField?: SelectSearchFieldDirective;\n\n constructor() {\n super(null);\n detectControllerChanges(this).subscribe();\n }\n\n public ngAfterViewInit(): void {\n if (!this.options) return;\n this.keyManager = new ActiveDescendantKeyManager(this.options).withHomeAndEnd().skipPredicate((item) => item.disabled);\n fromQueryList(this.options).subscribe(() => {\n this.updateSelectedOption();\n if (this.isOpen) {\n deferFn(() => this.activateSelectedOption());\n }\n });\n this.searchField?.valueChange$.subscribe(() => this.triggerControllerChange());\n }\n\n public override registerOnChange(fn: (value: T | null) => void): void {\n super.registerOnChange((value) => {\n this.updateSelectedOption();\n fn(value);\n });\n }\n\n public selectOption(option?: SelectControlOption<T | T[]> | null): void {\n if (option && !option.disabled) {\n this.change.emit();\n option.switchCheckbox();\n const value = this.multiple\n ? this.options\n ?.toArray()\n .filter(({ isSelected }) => isSelected)\n .map(({ value }) => value)\n : option.value;\n this.updateValue((value as T) ?? null);\n }\n\n !this.multiple && this.dropdown?.close();\n }\n\n public isOptionSelected(option: SelectControlOption<T | T[]>): boolean {\n if (option && !option.disabled) {\n if (this.multiple && Array.isArray(this.value)) {\n return (this.value as T[]).includes(option.value as T);\n }\n return this.identityMatcher(option.value as T, this.value);\n }\n return false;\n }\n\n public scrollOptionIntoView({ element }: SelectControlOption<T>): void {\n const behavior = this.smoothScrollEnabled ? 'smooth' : undefined;\n if (isFunction(element.nativeElement.scrollIntoView)) {\n element.nativeElement.scrollIntoView({ block: 'center', behavior });\n }\n }\n\n @HostListener('click', ['$event'])\n @HostListener('keydown', ['$event'])\n protected openDropdown(event: KeyboardEvent) {\n if (this.isLoading || this.readonlyController?.readonly) return;\n if (this.isOpen && this.hasOptions) {\n if (event.key === 'Enter' || event.key === 'Tab') {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.selectOption(this.keyManager?.activeItem);\n return;\n }\n }\n this.keyManager?.onKeydown(event);\n }\n\n @HostListener('focusout', ['$event'])\n protected handleFocusOut(event: FocusEvent): void {\n if (this.isOpen) {\n event.stopImmediatePropagation();\n }\n this.onTouched();\n }\n\n protected activateSelectedOption(): void {\n let activeIndex = this.options?.toArray().findIndex((option) => option.isSelected && !option.disabled);\n if (!activeIndex || activeIndex === -1) {\n activeIndex = this.options?.toArray().findIndex((option) => !option.disabled) ?? -1;\n }\n this.keyManager?.setActiveItem(activeIndex);\n }\n\n protected onDropdownOpen(): void {\n this.activateSelectedOption();\n if (!this.searchFieldEnabled) {\n deferFn(() => this.focusSelectSearchField());\n }\n }\n\n protected onDropdownClose(): void {\n this.disableSmoothScroll();\n this.element.nativeElement.blur();\n if (this.searchFieldEnabled) {\n this.searchFieldEnabled = false;\n this.element.nativeElement?.focus();\n }\n }\n\n protected onDropdownClosed(): void {\n this.searchField?.reset();\n }\n\n protected disableSmoothScroll(): void {\n this.smoothScrollEnabled = false;\n }\n\n protected enableSmoothScroll(): void {\n this.smoothScrollEnabled = true;\n }\n\n private updateSelectedOption(): void {\n const options = this.options?.toArray();\n this.selectedOption = options?.find((option) => option.isSelected) ?? null;\n if (this.multiple) {\n this.selectedOptionText =\n options\n ?.filter(({ isSelected }) => isSelected)\n .map((option) => this.stringify?.(option.value) ?? option.getLabel())\n .join(', ') ?? null;\n\n this.changeDetector.detectChanges();\n return;\n }\n this.selectedOptionText = this.selectedOption ? this.stringify?.(this.selectedOption?.value) ?? this.selectedOption.getLabel() : null;\n this.changeDetector.detectChanges();\n }\n\n private focusSelectSearchField(): void {\n this.searchFieldEnabled = !!this.searchField;\n deferFn(() => this.searchField?.focus());\n this.changeDetector.detectChanges();\n }\n}\n","<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-select-dropdown\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-option disabled notFoundMessage>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SelectSearchFilterPipe } from './pipes';\nimport { SelectComponent } from './select.component';\n\nconst modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class SelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-select.mjs","sources":["../../../../libs/angular/components/select/src/lib/select.tokens.ts","../../../../libs/angular/components/select/src/lib/components/select-option/select-option.component.ts","../../../../libs/angular/components/select/src/lib/components/select-option/select-option.component.html","../../../../libs/angular/components/select/src/lib/directives/select-search-field.directive.ts","../../../../libs/angular/components/select/src/lib/pipes/select-search-filter.pipe.ts","../../../../libs/angular/components/select/src/lib/select.component.ts","../../../../libs/angular/components/select/src/lib/select.component.html","../../../../libs/angular/components/select/src/lib/select.module.ts","../../../../libs/angular/components/select/src/odx-angular-components-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SelectComponent } from './select.component';\n\nexport const SELECT_CONTROL = new InjectionToken<SelectComponent>('@odx/angular/components/select::SelectComponent');\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges, DisabledController } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { OptionControl } from '@odx/angular/cdk/option-control';\nimport { CheckboxComponent } from '@odx/angular/components/checkbox';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { Transform } from '@odx/angular/utils';\nimport { SELECT_CONTROL } from '../../select.tokens';\n\n@CSSComponent('select-option')\n@Component({\n standalone: true,\n selector: 'odx-select-option, odx-option',\n imports: [CoreModule, DynamicViewDirective, CheckboxComponent],\n templateUrl: './select-option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect()],\n host: {\n '[attr.aria-disabled]': 'disabled || null',\n '[class.is-disabled]': 'disabled',\n },\n})\nexport class SelectOptionComponent<T = unknown> extends OptionControl<T> implements OnInit {\n public static ngAcceptInputType_notFoundMessage: BooleanInput;\n\n private readonly disabledController = DisabledController.inject();\n\n protected readonly selectControl = inject(SELECT_CONTROL);\n\n public isSelected = false;\n\n @Transform(coerceBooleanProperty)\n @Input()\n public notFoundMessage = false;\n\n public get disabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n constructor() {\n super();\n\n if (!this.selectControl.multiple) {\n detectControllerChanges(this.selectControl)\n .pipe(this.takeUntilDestroyed())\n .subscribe(() => {\n this.isSelected = this.selectControl.isOptionSelected(this);\n });\n }\n }\n\n public ngOnInit(): void {\n this.isSelected = this.selectControl.isOptionSelected(this);\n }\n\n public override setActiveStyles(): void {\n if (this.disabled) return;\n\n this.isActive = true;\n\n if (this.selectControl.isOpen) {\n this.selectControl.scrollOptionIntoView(this);\n } else {\n this.selectControl.selectOption(this);\n }\n }\n\n public switchCheckbox(): void {\n if (this.selectControl.multiple) {\n this.isSelected = !this.isSelected;\n this.cdr.markForCheck();\n }\n }\n\n protected selectOption(): void {\n this.selectControl.selectOption(this);\n }\n}\n","<odx-checkbox [checked]=\"isSelected\" *ngIf=\"selectControl.multiple && !notFoundMessage; else single\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</odx-checkbox>\n\n<ng-template #single>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { BaseSearchFieldDirective } from '@odx/angular/cdk/autocomplete-control';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\n\n@CSSComponent('select__search')\n@Directive({\n standalone: true,\n selector: 'input[odxSelectSearchField]',\n})\nexport class SelectSearchFieldDirective extends BaseSearchFieldDirective {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxSelectSearchField')\n public notFoundContent: DynamicContent | null = null;\n\n @HostListener('keydown.delete')\n public handleDelete(): void {\n this.reset();\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { StringifyFn } from '@odx/angular';\nimport { BaseSearchFilterPipe } from '@odx/angular/cdk/autocomplete-control';\nimport { SelectSearchFieldDirective } from '../directives';\nimport { SELECT_CONTROL } from '../select.tokens';\n\n@Pipe({\n pure: false,\n name: 'odxSelectSearchFilter',\n standalone: true,\n})\nexport class SelectSearchFilterPipe extends BaseSearchFilterPipe implements PipeTransform {\n protected readonly hostController = inject(SELECT_CONTROL, { optional: true });\n\n protected get searchField(): SelectSearchFieldDirective | undefined {\n return this.hostController?.searchField;\n }\n\n protected queryHandler(query: string): string {\n return query?.trim();\n }\n\n protected get searchBy(): StringifyFn<unknown> {\n return this.hostController?.stringify ?? this.stringify;\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostListener,\n inject,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CoreModule, IdentityMatcher, ODX_IDENTITY_MATCHER } from '@odx/angular';\nimport { AutocompleteControl } from '@odx/angular/cdk/autocomplete-control';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { fromQueryList } from '@odx/angular/rxjs';\nimport { deferFn, Transform } from '@odx/angular/utils';\nimport { SelectOptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SELECT_CONTROL } from './select.tokens';\n\n@CSSComponent('select')\n@Component({\n standalone: true,\n selector: 'odx-select',\n imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, SelectOptionComponent, LoadingSpinnerModule],\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: SELECT_CONTROL,\n useExisting: forwardRef(() => SelectComponent),\n },\n ],\n host: {\n '[tabindex]': 'searchFieldEnabled || isDisabled ? -1 : 0',\n '[attr.aria-multiselectable]': 'multiple',\n },\n})\nexport class SelectComponent<T = unknown> extends AutocompleteControl<T | null> implements AfterViewInit {\n public static ngAcceptInputType_multiple: BooleanInput;\n\n protected searchFieldEnabled = false;\n protected selectedOption: SelectOptionComponent<T> | null = null;\n protected selectedOptionText: string | null = null;\n\n @ContentChildren(SelectOptionComponent, { descendants: true, emitDistinctChangesOnly: true })\n protected options?: QueryList<SelectOptionComponent<T>>;\n\n @ContentChild(SelectSearchFieldDirective)\n public searchField?: SelectSearchFieldDirective;\n\n public get selectedOptionContent(): TemplateRef<{ $implicit: T | null }> | string | null {\n return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;\n }\n\n @Input()\n public placeholder = '';\n\n @CSSModifier()\n @Transform(coerceBooleanProperty)\n @Input()\n public multiple = false;\n\n @Input()\n public selectedOptionTemplate?: TemplateRef<{ $implicit: T }> | null = null;\n\n @Input()\n public identityMatcher: IdentityMatcher<T | null> = inject(ODX_IDENTITY_MATCHER);\n\n public override ngAfterViewInit(): void {\n if (!this.options) return;\n\n this.initKeyManager(this.options);\n this.handleQueryListOption(this.options);\n this.handleSearchFieldChanges();\n }\n\n public override registerOnChange(fn: (value: T | null) => void): void {\n super.registerOnChange((value) => {\n this.updateSelectedOption();\n fn(value);\n });\n }\n\n public selectOption(option?: SelectOptionComponent<T | T[]> | null): void {\n if (option && !option.disabled) {\n this.optionSelected.emit();\n option.switchCheckbox();\n const value = this.multiple\n ? this.options\n ?.toArray()\n .filter(({ isSelected }) => isSelected)\n .map(({ value }) => value)\n : option.value;\n this.updateValue((value as T) ?? null);\n }\n\n !this.multiple && this.closeDropdown();\n }\n\n public isOptionSelected(option: SelectOptionComponent<T | T[]>): boolean {\n if (option && !option.disabled) {\n if (this.multiple && Array.isArray(this.value)) {\n return (this.value as T[]).includes(option.value as T);\n }\n return this.identityMatcher(option.value as T, this.value);\n }\n return false;\n }\n\n protected override initKeyManager(options: QueryList<SelectOptionComponent<T>>): void {\n this.keyManager = new ActiveDescendantKeyManager(options).withHomeAndEnd().skipPredicate((item) => item.disabled);\n }\n\n protected handleQueryListOption(options: QueryList<SelectOptionComponent<T>>): void {\n fromQueryList(options)\n .pipe(this.takeUntilDestroyed())\n .subscribe(() => {\n this.updateSelectedOption();\n if (this.isOpen) {\n deferFn(() => this.activateSelectedOption());\n }\n });\n }\n\n protected handleSearchFieldChanges(): void {\n this.searchField?.valueChange$.pipe(this.takeUntilDestroyed()).subscribe(() => this.triggerControllerChange());\n }\n\n @HostListener('click', ['$event'])\n @HostListener('keydown', ['$event'])\n protected handleControllerEvent(event: KeyboardEvent) {\n if (this.isLoading || this.readonlyController?.readonly) return;\n if (this.isOpen && this.hasOptions) {\n if (event.key === 'Enter' || event.key === 'Tab') {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.selectOption(this.keyManager?.activeItem as SelectOptionComponent<T> | undefined);\n return;\n }\n }\n this.keyManager?.onKeydown(event);\n }\n\n protected activateSelectedOption(): void {\n let activeIndex = this.options?.toArray().findIndex((option) => option.isSelected && !option.disabled);\n if (!activeIndex || activeIndex === -1) {\n activeIndex = this.options?.toArray().findIndex((option) => !option.disabled) ?? -1;\n }\n this.keyManager?.setActiveItem(activeIndex);\n }\n\n protected onDropdownOpen(): void {\n this.activateSelectedOption();\n if (!this.searchFieldEnabled) {\n deferFn(() => this.focusSelectSearchField());\n }\n }\n\n protected onDropdownClose(): void {\n this.disableSmoothScroll();\n this.element.nativeElement.blur();\n if (this.searchFieldEnabled) {\n this.searchFieldEnabled = false;\n this.element.nativeElement?.focus();\n }\n }\n\n protected onDropdownClosed(): void {\n this.searchField?.reset();\n }\n\n private updateSelectedOption(): void {\n const options = this.options?.toArray();\n this.selectedOption = options?.find((option) => option.isSelected) ?? null;\n if (this.multiple) {\n this.selectedOptionText =\n options\n ?.filter(({ isSelected }) => isSelected)\n .map((option) => this.stringify?.(option.value) ?? option.getLabel())\n .join(', ') ?? null;\n\n this.changeDetector.detectChanges();\n return;\n }\n this.selectedOptionText = this.selectedOption ? this.stringify?.(this.selectedOption?.value) ?? this.selectedOption.getLabel() : null;\n this.changeDetector.detectChanges();\n }\n\n private focusSelectSearchField(): void {\n this.searchFieldEnabled = !!this.searchField;\n deferFn(() => this.searchField?.focus());\n this.changeDetector.detectChanges();\n }\n}\n","<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-dropdown__option-list\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-select-option disabled notFoundMessage>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-select-option>\n </ng-template>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { SelectOptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SelectSearchFilterPipe } from './pipes';\nimport { SelectComponent } from './select.component';\n\nconst modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, SelectOptionComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class SelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;MAGa,cAAc,GAAG,IAAI,cAAc,CAAkB,iDAAiD;;ACqB5G,IAAM,qBAAqB,GAA3B,MAAM,8BAA2C,aAAgB,CAAA;AAatE,IAAA,IAAW,QAAQ,GAAA;;QACjB,OAAO,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAA,CAAC;KAC5C;AAED,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;AAfO,QAAA,IAAA,CAAA,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;AAE/C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAEnD,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAInB,QAAA,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;AAS7B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;AAChC,YAAA,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC;AACxC,iBAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBAC/B,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC9D,aAAC,CAAC,CAAC;AACN,SAAA;KACF;IAEM,QAAQ,GAAA;QACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC7D;IAEe,eAAe,GAAA;QAC7B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;AAE1B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAErB,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;AAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC/C,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACvC,SAAA;KACF;IAEM,cAAc,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC/B,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AACzB,SAAA;KACF;IAES,YAAY,GAAA;AACpB,QAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACvC;;kHAtDU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EANrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClB3C,4WAWA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDGY,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAwB,iBAAiB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAmB7D,UAAA,CAAA;IAAC,SAAS,CAAC,qBAAqB,CAAC;;CAEF,EAAA,qBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAXpB,qBAAqB,GAAA,UAAA,CAAA;IAdjC,YAAY,CAAC,eAAe,CAAC;;CAcjB,EAAA,qBAAqB,CAuDjC,CAAA;2FAvDY,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAbjC,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,+BAA+B,EAAA,OAAA,EAChC,CAAC,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,EAE/C,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,EACnC,IAAA,EAAA;AACJ,wBAAA,sBAAsB,EAAE,kBAAkB;AAC1C,wBAAA,qBAAqB,EAAE,UAAU;AAClC,qBAAA,EAAA,QAAA,EAAA,4WAAA,EAAA,CAAA;0EAaM,eAAe,EAAA,CAAA;sBADrB,KAAK;;;AExBD,IAAM,0BAA0B,GAAhC,MAAM,mCAAmC,wBAAwB,CAAA;AAAjE,IAAA,WAAA,GAAA;;;AAGE,QAAA,IAAe,CAAA,eAAA,GAA0B,IAAI,CAAC;KAMtD;IAHQ,YAAY,GAAA;QACjB,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;;uHARU,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,CAAA,sBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAA1B,0BAA0B,GAAA,UAAA,CAAA;IALtC,YAAY,CAAC,gBAAgB,CAAC;CAKlB,EAAA,0BAA0B,CAStC,CAAA;2FATY,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,6BAA6B;iBACxC,CAAA;8BAIQ,eAAe,EAAA,CAAA;sBADrB,KAAK;uBAAC,sBAAsB,CAAA;gBAItB,YAAY,EAAA,CAAA;sBADlB,YAAY;uBAAC,gBAAgB,CAAA;;;ACJ1B,MAAO,sBAAuB,SAAQ,oBAAoB,CAAA;AALhE,IAAA,WAAA,GAAA;;AAMqB,QAAA,IAAc,CAAA,cAAA,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;KAahF;AAXC,IAAA,IAAc,WAAW,GAAA;;AACvB,QAAA,OAAO,MAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,CAAC;KACzC;AAES,IAAA,YAAY,CAAC,KAAa,EAAA;QAClC,OAAO,KAAK,aAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,IAAI,EAAE,CAAC;KACtB;AAED,IAAA,IAAc,QAAQ,GAAA;;QACpB,OAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC,SAAS,CAAC;KACzD;;mHAbU,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;iHAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,IAAI,EAAE,uBAAuB;AAC7B,oBAAA,UAAU,EAAE,IAAI;iBACjB,CAAA;;;;ACsCM,IAAM,eAAe,GAAA,iBAAA,GAArB,MAAM,wBAAqC,mBAA6B,CAAA;AAAxE,IAAA,WAAA,GAAA;;AAGK,QAAA,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAc,CAAA,cAAA,GAAoC,IAAI,CAAC;AACvD,QAAA,IAAkB,CAAA,kBAAA,GAAkB,IAAI,CAAC;AAa5C,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AAKjB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAGjB,QAAA,IAAsB,CAAA,sBAAA,GAA0C,IAAI,CAAC;AAGrE,QAAA,IAAA,CAAA,eAAe,GAA8B,MAAM,CAAC,oBAAoB,CAAC,CAAC;KA+HlF;AA/IC,IAAA,IAAW,qBAAqB,GAAA;;AAC9B,QAAA,OAAO,IAAI,CAAC,cAAc,GAAG,MAAA,IAAI,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;KAC5F;IAgBe,eAAe,GAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;AAE1B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACjC;AAEe,IAAA,gBAAgB,CAAC,EAA6B,EAAA;AAC5D,QAAA,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,KAAI;YAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,CAAC;AACZ,SAAC,CAAC,CAAC;KACJ;AAEM,IAAA,YAAY,CAAC,MAA8C,EAAA;;AAChE,QAAA,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC9B,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,CAAC,cAAc,EAAE,CAAC;AACxB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;AACzB,kBAAE,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CACR,OAAO,EAAA,CACR,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,UAAU,CACrC,CAAA,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC;AAC9B,kBAAE,MAAM,CAAC,KAAK,CAAC;YACjB,IAAI,CAAC,WAAW,CAAE,KAAW,KAAA,IAAA,IAAX,KAAW,KAAA,KAAA,CAAA,GAAX,KAAW,GAAI,IAAI,CAAC,CAAC;AACxC,SAAA;QAED,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;KACxC;AAEM,IAAA,gBAAgB,CAAC,MAAsC,EAAA;AAC5D,QAAA,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC9B,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC9C,OAAQ,IAAI,CAAC,KAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAU,CAAC,CAAC;AACxD,aAAA;AACD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAEkB,IAAA,cAAc,CAAC,OAA4C,EAAA;QAC5E,IAAI,CAAC,UAAU,GAAG,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;KACnH;AAES,IAAA,qBAAqB,CAAC,OAA4C,EAAA;QAC1E,aAAa,CAAC,OAAO,CAAC;AACnB,aAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC/B,SAAS,CAAC,MAAK;YACd,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAC9C,aAAA;AACH,SAAC,CAAC,CAAC;KACN;IAES,wBAAwB,GAAA;;QAChC,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAE,CAAA,SAAS,CAAC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;KAChH;AAIS,IAAA,qBAAqB,CAAC,KAAoB,EAAA;;QAClD,IAAI,IAAI,CAAC,SAAS,KAAI,CAAA,EAAA,GAAA,IAAI,CAAC,kBAAkB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA;YAAE,OAAO;AAChE,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;gBAChD,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;gBACjC,IAAI,CAAC,YAAY,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAkD,CAAC,CAAC;gBACvF,OAAO;AACR,aAAA;AACF,SAAA;QACD,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,CAAC,KAAK,CAAC,CAAC;KACnC;IAES,sBAAsB,GAAA;;QAC9B,IAAI,WAAW,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAG,CAAA,SAAS,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvG,QAAA,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;YACtC,WAAW,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAG,CAAA,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,CAAC,CAAC;AACrF,SAAA;QACD,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC,WAAW,CAAC,CAAC;KAC7C;IAES,cAAc,GAAA;QACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAC9C,SAAA;KACF;IAES,eAAe,GAAA;;QACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,EAAE,CAAC;AACrC,SAAA;KACF;IAES,gBAAgB,GAAA;;AACxB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,EAAE,CAAC;KAC3B;IAEO,oBAAoB,GAAA;;QAC1B,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;QAC3E,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,kBAAkB;gBACrB,CAAA,EAAA,GAAA,OAAO,aAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CACH,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,UAAU,CAAA,CACtC,GAAG,CAAC,CAAC,MAAM,KAAI,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,qDAAG,MAAM,CAAC,KAAK,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,EAAE,CAAA,EAAA,CACnE,CAAA,IAAI,CAAC,IAAI,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;AAExB,YAAA,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YACpC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,EAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,mCAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;AACtI,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;KACrC;IAEO,sBAAsB,GAAA;QAC5B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,QAAA,OAAO,CAAC,MAAK,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,0CAAE,KAAK,EAAE,CAAA,EAAA,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;KACrC;;4GA3JU,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAXf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,+BAAA,EAAA,SAAA,EAAA,+BAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,2CAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAe,CAAC;AAC/C,SAAA;AACF,KAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAgBa,0BAA0B,EAHvB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,qBAAqB,ECvDxC,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,otDAwCA,2CDPY,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,+BAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAE,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,EAAE,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,sGAAE,oBAAoB,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAmCzH,UAAA,CAAA;AAAC,IAAA,WAAW,EAAE;IACb,SAAS,CAAC,qBAAqB,CAAC;;CAET,EAAA,eAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAvBb,eAAe,GAAA,iBAAA,GAAA,UAAA,CAAA;IAnB3B,YAAY,CAAC,QAAQ,CAAC;CAmBV,EAAA,eAAe,CA4J3B,CAAA;2FA5JY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAlB3B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,YAAY,EAAA,OAAA,EACb,CAAC,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,EAAA,aAAA,EAE3G,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,cAAc;AACvB,4BAAA,WAAW,EAAE,UAAU,CAAC,qBAAqB,CAAC;AAC/C,yBAAA;AACF,qBAAA,EACK,IAAA,EAAA;AACJ,wBAAA,YAAY,EAAE,2CAA2C;AACzD,wBAAA,6BAA6B,EAAE,UAAU;AAC1C,qBAAA,EAAA,QAAA,EAAA,otDAAA,EAAA,CAAA;8BAUS,OAAO,EAAA,CAAA;sBADhB,eAAe;uBAAC,qBAAqB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAA;gBAIrF,WAAW,EAAA,CAAA;sBADjB,YAAY;uBAAC,0BAA0B,CAAA;gBAQjC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAMC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,sBAAsB,EAAA,CAAA;sBAD5B,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAiEI,qBAAqB,EAAA,CAAA;sBAF9B,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;sBAChC,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AErIrC,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,qBAAqB,CAAC,CAAC;MAMhG,YAAY,CAAA;;yGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YANR,eAAe,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,qBAAqB,CAI/F,EAAA,OAAA,EAAA,CAAA,UAAU,EAJL,eAAe,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAM9F,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EANR,OAAA,EAAA,CAAA,eAAe,EAAsD,qBAAqB,EAI/F,UAAU,CAAA,EAAA,CAAA,CAAA;2FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC;iBAClC,CAAA;;;ACZD;;AAEG;;;;"}
@@ -0,0 +1,264 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, EventEmitter, Component, Input, Output, ChangeDetectorRef, ViewEncapsulation, ChangeDetectionStrategy, Directive, ViewChildren, NgModule } from '@angular/core';
3
+ import * as i2 from '@angular/forms';
4
+ import { FormsModule, FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';
5
+ import { CheckboxComponent } from '@odx/angular/components/checkbox';
6
+ import { injectElement, untilDestroyed } from '@odx/angular/utils';
7
+ import * as i1 from '@angular/common';
8
+ import { CommonModule } from '@angular/common';
9
+ import { tap, debounceTime } from 'rxjs';
10
+ import { __decorate, __metadata } from 'tslib';
11
+ import { CSSComponent, CSSModifier } from '@odx/angular/internal';
12
+ import * as i3 from '@odx/angular/components/form-field';
13
+ import { FormFieldModule } from '@odx/angular/components/form-field';
14
+ import { IconComponent } from '@odx/angular/components/icon';
15
+ import { CoreModule } from '@odx/angular';
16
+
17
+ const TABLE = new InjectionToken('odx-table');
18
+
19
+ class CheckCellComponent {
20
+ constructor() {
21
+ this.table = inject(TABLE);
22
+ this.element = injectElement();
23
+ this.checkedChange = new EventEmitter();
24
+ }
25
+ update(e) {
26
+ this.checkedChange.emit(e);
27
+ this.table.headers.forEach((header) => header.check && header.check());
28
+ }
29
+ }
30
+ CheckCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ CheckCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CheckCellComponent, isStandalone: true, selector: "td[odx-table-cell][checked]", inputs: { checked: "checked" }, outputs: { checkedChange: "checkedChange" }, ngImport: i0, template: "<odx-checkbox [(ngModel)]=\"checked\" (ngModelChange)=\"update($event)\"></odx-checkbox>\n", dependencies: [{ kind: "component", type: CheckboxComponent, selector: "odx-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckCellComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'td[odx-table-cell][checked]', standalone: true, imports: [CheckboxComponent, FormsModule], template: "<odx-checkbox [(ngModel)]=\"checked\" (ngModelChange)=\"update($event)\"></odx-checkbox>\n" }]
35
+ }], propDecorators: { checked: [{
36
+ type: Input
37
+ }], checkedChange: [{
38
+ type: Output
39
+ }] } });
40
+
41
+ const TableSortVariant = {
42
+ UNSORTED: 'unsorted',
43
+ ASC: 'asc',
44
+ DESC: 'desc',
45
+ };
46
+
47
+ class HeaderTitleComponent {
48
+ constructor() {
49
+ this.table = inject(TABLE);
50
+ this.cdr = inject(ChangeDetectorRef);
51
+ this.takeUntilDestroyed = untilDestroyed();
52
+ this.sortStatus = this.getSortStatus;
53
+ this.test = true;
54
+ this.checkForm = new FormGroup({ check: new FormControl(false) });
55
+ }
56
+ get getSortStatus() {
57
+ var _a;
58
+ return { column: (_a = this.item) === null || _a === void 0 ? void 0 : _a.name, sortVariant: TableSortVariant.UNSORTED };
59
+ }
60
+ get sortIcon() {
61
+ return this.sortStatus.sortVariant;
62
+ }
63
+ sortColumn() {
64
+ var _a;
65
+ if (!((_a = this.item) === null || _a === void 0 ? void 0 : _a.sortable))
66
+ return;
67
+ switch (this.sortStatus.sortVariant) {
68
+ case TableSortVariant.UNSORTED:
69
+ this.table.clearSort();
70
+ this.sortStatus = Object.assign(Object.assign({}, this.sortStatus), { sortVariant: TableSortVariant.ASC });
71
+ break;
72
+ case TableSortVariant.ASC:
73
+ this.table.clearSort();
74
+ this.sortStatus = Object.assign(Object.assign({}, this.sortStatus), { sortVariant: TableSortVariant.DESC });
75
+ break;
76
+ case TableSortVariant.DESC:
77
+ this.table.clearSort();
78
+ this.sortStatus = Object.assign(Object.assign({}, this.sortStatus), { sortVariant: TableSortVariant.ASC });
79
+ break;
80
+ }
81
+ this.table.sorted.emit(this.sortStatus);
82
+ }
83
+ clearSortStatus() {
84
+ var _a;
85
+ this.sortStatus = { column: (_a = this.item) === null || _a === void 0 ? void 0 : _a.name, sortVariant: TableSortVariant.UNSORTED };
86
+ this.check();
87
+ }
88
+ get selected() {
89
+ return this.table.data.filter((d) => d[this.item.name]).length;
90
+ }
91
+ check() {
92
+ this.cdr.markForCheck();
93
+ }
94
+ get checked() {
95
+ var _a;
96
+ const column = (_a = this.table.headerData.find((h) => h.check)) === null || _a === void 0 ? void 0 : _a.name;
97
+ return this.table.data.every((item) => column && item[column]);
98
+ }
99
+ ngOnInit() {
100
+ this.checkBoxListener();
101
+ }
102
+ checkBoxListener() {
103
+ var _a;
104
+ if (!this.item.check)
105
+ return;
106
+ (_a = this.checkForm
107
+ .get('check')) === null || _a === void 0 ? void 0 : _a.valueChanges.pipe(this.takeUntilDestroyed(), tap((check) => this.table.checked.emit({ column: this.item.name, check: !!check }))).subscribe();
108
+ }
109
+ get indeterminate() {
110
+ var _a;
111
+ const column = (_a = this.table.headerData.find((h) => h.check)) === null || _a === void 0 ? void 0 : _a.name;
112
+ const { length } = this.table.data;
113
+ const unchecked = length - this.table.data.filter((item) => column && item[column]).length;
114
+ return unchecked > 0 && unchecked < length;
115
+ }
116
+ }
117
+ HeaderTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
118
+ HeaderTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: HeaderTitleComponent, isStandalone: true, selector: "th[odxHeaderTitle]", inputs: { item: "item" }, ngImport: i0, template: "<div *ngIf=\"item?.check; else title\" class=\"odx-table__check\">\n <div [formGroup]=\"checkForm\">\n <odx-checkbox [checked]=\"checked\" [indeterminate]=\"indeterminate\" formControlName=\"check\"></odx-checkbox>\n </div>\n</div>\n<ng-template #title>\n <div class=\"odx-table__header-cell-title\" (click)=\"sortColumn()\" [class.sortable]=\"item.sortable\">\n {{ item.title }}\n <ng-container *ngIf=\"item?.sortable\" [ngSwitch]=\"sortIcon\">\n <svg *ngSwitchCase=\"'unsorted'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"m14,5H2v-2h12v2Zm-4,2H2v2h8v-2Zm-4,4H2v2h4v-2Z\" style=\"fill: var(--blue-700)\" />\n </svg>\n <svg *ngSwitchCase=\"'desc'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"11 6 8 3 5 6 7 6 7 13 9 13 9 6 11 6\" style=\"fill: var(--blue-700)\" />\n </svg>\n <svg *ngSwitchCase=\"'asc'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"5 10 8 13 11 10 9 10 9 3 7 3 7 10 5 10\" style=\"fill: var(--blue-700)\" />\n </svg>\n </ng-container>\n </div>\n <ng-content select=\"odx-form-field\"></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: CheckboxComponent, selector: "odx-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderTitleComponent, decorators: [{
120
+ type: Component,
121
+ args: [{ selector: 'th[odxHeaderTitle]', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, CheckboxComponent, ReactiveFormsModule], template: "<div *ngIf=\"item?.check; else title\" class=\"odx-table__check\">\n <div [formGroup]=\"checkForm\">\n <odx-checkbox [checked]=\"checked\" [indeterminate]=\"indeterminate\" formControlName=\"check\"></odx-checkbox>\n </div>\n</div>\n<ng-template #title>\n <div class=\"odx-table__header-cell-title\" (click)=\"sortColumn()\" [class.sortable]=\"item.sortable\">\n {{ item.title }}\n <ng-container *ngIf=\"item?.sortable\" [ngSwitch]=\"sortIcon\">\n <svg *ngSwitchCase=\"'unsorted'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"m14,5H2v-2h12v2Zm-4,2H2v2h8v-2Zm-4,4H2v2h4v-2Z\" style=\"fill: var(--blue-700)\" />\n </svg>\n <svg *ngSwitchCase=\"'desc'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"11 6 8 3 5 6 7 6 7 13 9 13 9 6 11 6\" style=\"fill: var(--blue-700)\" />\n </svg>\n <svg *ngSwitchCase=\"'asc'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"5 10 8 13 11 10 9 10 9 3 7 3 7 10 5 10\" style=\"fill: var(--blue-700)\" />\n </svg>\n </ng-container>\n </div>\n <ng-content select=\"odx-form-field\"></ng-content>\n</ng-template>\n" }]
122
+ }], propDecorators: { item: [{
123
+ type: Input
124
+ }] } });
125
+
126
+ let TableCellDirective = class TableCellDirective {
127
+ constructor() {
128
+ this.element = injectElement();
129
+ }
130
+ };
131
+ TableCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
132
+ TableCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: TableCellDirective, isStandalone: true, selector: "td[odx-table-cell]", host: { properties: { "attr.role": "\"cell\"" } }, ngImport: i0 });
133
+ TableCellDirective = __decorate([
134
+ CSSComponent('table__cell')
135
+ ], TableCellDirective);
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellDirective, decorators: [{
137
+ type: Directive,
138
+ args: [{
139
+ selector: 'td[odx-table-cell]',
140
+ standalone: true,
141
+ host: {
142
+ '[attr.role]': '"cell"',
143
+ },
144
+ }]
145
+ }] });
146
+
147
+ let TableRowDirective = class TableRowDirective {
148
+ constructor() {
149
+ this.element = injectElement();
150
+ }
151
+ };
152
+ TableRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
153
+ TableRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: TableRowDirective, isStandalone: true, selector: "tr[odx-table-row]", host: { properties: { "attr.role": "\"row\"", "attr.tabindex": "0" } }, ngImport: i0 });
154
+ TableRowDirective = __decorate([
155
+ CSSComponent('table__row')
156
+ ], TableRowDirective);
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableRowDirective, decorators: [{
158
+ type: Directive,
159
+ args: [{
160
+ selector: 'tr[odx-table-row]',
161
+ standalone: true,
162
+ host: {
163
+ '[attr.role]': '"row"',
164
+ '[attr.tabindex]': '0',
165
+ },
166
+ }]
167
+ }] });
168
+
169
+ const TableVariant = {
170
+ DEFAULT: 'default',
171
+ STRIPED: 'striped',
172
+ };
173
+
174
+ var TableComponent_1;
175
+ let TableComponent = TableComponent_1 = class TableComponent {
176
+ constructor() {
177
+ this.takeUntilDestroyed = untilDestroyed();
178
+ this.element = injectElement();
179
+ this.data = [];
180
+ this.headerData = [];
181
+ this.form = new FormGroup({});
182
+ this.sorted = new EventEmitter();
183
+ this.filtered = new EventEmitter();
184
+ this.checked = new EventEmitter();
185
+ }
186
+ ngOnInit() {
187
+ this.setHeaderData();
188
+ this.headerData.forEach((item) => item.filter && this.form.addControl(item.name, new FormControl('')));
189
+ this.formListener();
190
+ }
191
+ clearSort() {
192
+ this.headers.forEach((header) => header.clearSortStatus());
193
+ }
194
+ formListener() {
195
+ if (Object.keys(this.form.controls).length === 0)
196
+ return;
197
+ this.form.valueChanges
198
+ .pipe(debounceTime(600), this.takeUntilDestroyed(), tap(() => {
199
+ var _a;
200
+ this.filtered.emit(this.form.value);
201
+ (_a = this.headers) === null || _a === void 0 ? void 0 : _a.filter((header) => !!header.item.check).forEach((header) => header.check());
202
+ }))
203
+ .subscribe();
204
+ }
205
+ setHeaderData() {
206
+ this.headerData = Object.keys(this.data[0]).map((key) => this.headerData.find((item) => item.name === key) || {
207
+ name: key,
208
+ title: `${key[0].toUpperCase()}${key.slice(1)}`,
209
+ sortable: false,
210
+ filter: false,
211
+ });
212
+ }
213
+ };
214
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
215
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableComponent, isStandalone: true, selector: "table[odxTable]", inputs: { variant: "variant", data: "data", headerData: "headerData" }, outputs: { sorted: "sorted", filtered: "filtered", checked: "checked" }, host: { properties: { "attr.role": "\"table\"" } }, providers: [{ provide: TABLE, useExisting: TableComponent_1 }], viewQueries: [{ propertyName: "headers", predicate: HeaderTitleComponent, descendants: true }], ngImport: i0, template: "<thead class=\"odx-table__head\" role=\"rowgroup\" [formGroup]=\"form\">\n <tr class=\"odx-table__header-row\" role=\"row\">\n <th *ngFor=\"let item of headerData\" class=\"odx-table__header-cell\" role=\"columnheader\" odxHeaderTitle [item]=\"item\">\n <odx-form-field *ngIf=\"item.filter\">\n <input placeholder=\"Filter\" [formControlName]=\"item.name\" type=\"text\" odxFormFieldControl />\n </odx-form-field>\n </th>\n </tr>\n</thead>\n<tbody class=\"odx-table__body\" role=\"rowgroup\">\n <ng-content select=\"tr\"></ng-content>\n</tbody>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormFieldModule }, { kind: "component", type: i3.FormFieldComponent, selector: "odx-form-field", inputs: ["label", "hasWarning", "variant"] }, { kind: "directive", type: i3.FormFieldControlDirective, selector: "[odxFormFieldControl]", exportAs: ["odxFormFieldControl"] }, { kind: "component", type: HeaderTitleComponent, selector: "th[odxHeaderTitle]", inputs: ["item"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
216
+ __decorate([
217
+ CSSModifier(),
218
+ __metadata("design:type", Object)
219
+ ], TableComponent.prototype, "variant", void 0);
220
+ TableComponent = TableComponent_1 = __decorate([
221
+ CSSComponent('table')
222
+ ], TableComponent);
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableComponent, decorators: [{
224
+ type: Component,
225
+ args: [{ selector: 'table[odxTable]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
226
+ '[attr.role]': '"table"',
227
+ }, imports: [CommonModule, IconComponent, ReactiveFormsModule, FormFieldModule, HeaderTitleComponent], providers: [{ provide: TABLE, useExisting: TableComponent }], template: "<thead class=\"odx-table__head\" role=\"rowgroup\" [formGroup]=\"form\">\n <tr class=\"odx-table__header-row\" role=\"row\">\n <th *ngFor=\"let item of headerData\" class=\"odx-table__header-cell\" role=\"columnheader\" odxHeaderTitle [item]=\"item\">\n <odx-form-field *ngIf=\"item.filter\">\n <input placeholder=\"Filter\" [formControlName]=\"item.name\" type=\"text\" odxFormFieldControl />\n </odx-form-field>\n </th>\n </tr>\n</thead>\n<tbody class=\"odx-table__body\" role=\"rowgroup\">\n <ng-content select=\"tr\"></ng-content>\n</tbody>\n" }]
228
+ }], propDecorators: { variant: [{
229
+ type: Input
230
+ }], data: [{
231
+ type: Input
232
+ }], headerData: [{
233
+ type: Input
234
+ }], sorted: [{
235
+ type: Output
236
+ }], filtered: [{
237
+ type: Output
238
+ }], checked: [{
239
+ type: Output
240
+ }], headers: [{
241
+ type: ViewChildren,
242
+ args: [HeaderTitleComponent]
243
+ }] } });
244
+
245
+ const modules = [TableComponent, TableRowDirective, TableCellDirective, CheckCellComponent];
246
+ class TableModule {
247
+ }
248
+ TableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
249
+ TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TableModule, imports: [TableComponent, TableRowDirective, TableCellDirective, CheckCellComponent], exports: [CoreModule, TableComponent, TableRowDirective, TableCellDirective, CheckCellComponent] });
250
+ TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableModule, imports: [TableComponent, CheckCellComponent, CoreModule] });
251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableModule, decorators: [{
252
+ type: NgModule,
253
+ args: [{
254
+ imports: modules,
255
+ exports: [CoreModule, ...modules],
256
+ }]
257
+ }] });
258
+
259
+ /**
260
+ * Generated bundle index. Do not edit.
261
+ */
262
+
263
+ export { CheckCellComponent, HeaderTitleComponent, TableCellDirective, TableComponent, TableModule, TableRowDirective, TableSortVariant, TableVariant };
264
+ //# sourceMappingURL=odx-angular-components-table.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odx-angular-components-table.mjs","sources":["../../../../libs/angular/components/table/src/lib/table.config.ts","../../../../libs/angular/components/table/src/lib/components/check-cell/check-cell.component.ts","../../../../libs/angular/components/table/src/lib/components/check-cell/check-cell.component.html","../../../../libs/angular/components/table/src/lib/models/sort-variant.ts","../../../../libs/angular/components/table/src/lib/components/header-title/header-title.component.ts","../../../../libs/angular/components/table/src/lib/components/header-title/header-title.component.html","../../../../libs/angular/components/table/src/lib/directives/table-cell.directive.ts","../../../../libs/angular/components/table/src/lib/directives/table-row.directive.ts","../../../../libs/angular/components/table/src/lib/models/table-variant.ts","../../../../libs/angular/components/table/src/lib/table.component.ts","../../../../libs/angular/components/table/src/lib/table.component.html","../../../../libs/angular/components/table/src/lib/table.module.ts","../../../../libs/angular/components/table/src/odx-angular-components-table.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TableBodyCell } from './interfaces';\nimport { TableComponent } from './table.component';\n\nexport const TABLE = new InjectionToken<TableComponent<TableBodyCell>>('odx-table');\n","import { Component, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxComponent } from '@odx/angular/components/checkbox';\nimport { injectElement } from '@odx/angular/utils';\nimport { TABLE } from '../../table.config';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'td[odx-table-cell][checked]',\n standalone: true,\n templateUrl: './check-cell.component.html',\n imports: [CheckboxComponent, FormsModule],\n})\nexport class CheckCellComponent {\n private readonly table = inject(TABLE);\n public readonly element = injectElement();\n\n @Input()\n public checked!: boolean;\n\n @Output() public checkedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n public update(e: boolean): void {\n this.checkedChange.emit(e);\n this.table.headers.forEach((header) => header.check && header.check());\n }\n}\n","<odx-checkbox [(ngModel)]=\"checked\" (ngModelChange)=\"update($event)\"></odx-checkbox>\n","export type TableSortVariant = typeof TableSortVariant[keyof typeof TableSortVariant];\n\nexport const TableSortVariant = {\n UNSORTED: 'unsorted',\n ASC: 'asc',\n DESC: 'desc',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { CheckboxComponent } from '@odx/angular/components/checkbox';\nimport { untilDestroyed } from '@odx/angular/utils';\nimport { tap } from 'rxjs';\nimport { SortStatus, TableBodyCell, TableHeaderCell } from '../../interfaces';\nimport { TableSortVariant } from '../../models/sort-variant';\nimport { TABLE } from '../../table.config';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'th[odxHeaderTitle]',\n templateUrl: './header-title.component.html',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, CheckboxComponent, ReactiveFormsModule],\n})\nexport class HeaderTitleComponent implements OnInit {\n private readonly table = inject(TABLE);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly takeUntilDestroyed = untilDestroyed();\n private sortStatus: SortStatus = this.getSortStatus;\n\n @Input()\n public item!: TableHeaderCell;\n\n public test = true;\n\n public checkForm = new FormGroup({ check: new FormControl(false) });\n\n public get getSortStatus(): SortStatus {\n return { column: this.item?.name, sortVariant: TableSortVariant.UNSORTED };\n }\n\n public get sortIcon(): TableSortVariant {\n return this.sortStatus.sortVariant;\n }\n\n public sortColumn(): void {\n if (!this.item?.sortable) return;\n switch (this.sortStatus.sortVariant) {\n case TableSortVariant.UNSORTED:\n this.table.clearSort();\n this.sortStatus = { ...this.sortStatus, sortVariant: TableSortVariant.ASC };\n break;\n case TableSortVariant.ASC:\n this.table.clearSort();\n\n this.sortStatus = { ...this.sortStatus, sortVariant: TableSortVariant.DESC };\n break;\n case TableSortVariant.DESC:\n this.table.clearSort();\n\n this.sortStatus = { ...this.sortStatus, sortVariant: TableSortVariant.ASC };\n break;\n }\n\n this.table.sorted.emit(this.sortStatus);\n }\n\n public clearSortStatus(): void {\n this.sortStatus = { column: this.item?.name, sortVariant: TableSortVariant.UNSORTED };\n this.check();\n }\n\n public get selected() {\n return this.table.data.filter((d: TableBodyCell) => d[this.item.name]).length;\n }\n\n public check(): void {\n this.cdr.markForCheck();\n }\n\n public get checked(): boolean {\n const column = this.table.headerData.find((h: TableHeaderCell) => h.check)?.name;\n return this.table.data.every((item: TableBodyCell) => column && item[column]);\n }\n\n public ngOnInit(): void {\n this.checkBoxListener();\n }\n\n private checkBoxListener(): void {\n if (!this.item.check) return;\n this.checkForm\n .get('check')\n ?.valueChanges.pipe(\n this.takeUntilDestroyed(),\n tap((check) => this.table.checked.emit({ column: this.item.name, check: !!check }))\n )\n .subscribe();\n }\n\n public get indeterminate(): boolean {\n const column = this.table.headerData.find((h: TableHeaderCell) => h.check)?.name;\n const { length } = this.table.data;\n const unchecked = length - this.table.data.filter((item: TableBodyCell) => column && item[column]).length;\n return unchecked > 0 && unchecked < length;\n }\n}\n","<div *ngIf=\"item?.check; else title\" class=\"odx-table__check\">\n <div [formGroup]=\"checkForm\">\n <odx-checkbox [checked]=\"checked\" [indeterminate]=\"indeterminate\" formControlName=\"check\"></odx-checkbox>\n </div>\n</div>\n<ng-template #title>\n <div class=\"odx-table__header-cell-title\" (click)=\"sortColumn()\" [class.sortable]=\"item.sortable\">\n {{ item.title }}\n <ng-container *ngIf=\"item?.sortable\" [ngSwitch]=\"sortIcon\">\n <svg *ngSwitchCase=\"'unsorted'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"m14,5H2v-2h12v2Zm-4,2H2v2h8v-2Zm-4,4H2v2h4v-2Z\" style=\"fill: var(--blue-700)\" />\n </svg>\n <svg *ngSwitchCase=\"'desc'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"11 6 8 3 5 6 7 6 7 13 9 13 9 6 11 6\" style=\"fill: var(--blue-700)\" />\n </svg>\n <svg *ngSwitchCase=\"'asc'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"5 10 8 13 11 10 9 10 9 3 7 3 7 10 5 10\" style=\"fill: var(--blue-700)\" />\n </svg>\n </ng-container>\n </div>\n <ng-content select=\"odx-form-field\"></ng-content>\n</ng-template>\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('table__cell')\n@Directive({\n selector: 'td[odx-table-cell]',\n standalone: true,\n host: {\n '[attr.role]': '\"cell\"',\n },\n})\nexport class TableCellDirective {\n public readonly element = injectElement();\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('table__row')\n@Directive({\n selector: 'tr[odx-table-row]',\n standalone: true,\n host: {\n '[attr.role]': '\"row\"',\n '[attr.tabindex]': '0',\n },\n})\nexport class TableRowDirective {\n public readonly element = injectElement();\n}\n","export type TableVariant = typeof TableVariant[keyof typeof TableVariant];\n\nexport const TableVariant = {\n DEFAULT: 'default',\n STRIPED: 'striped',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { FormFieldModule } from '@odx/angular/components/form-field';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { debounceTime, tap } from 'rxjs';\nimport { HeaderTitleComponent } from './components/header-title/header-title.component';\nimport { SortStatus, TableBodyCell, TableHeaderCell } from './interfaces';\nimport { TableVariant } from './models';\nimport { TABLE } from './table.config';\n\n@CSSComponent('table')\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'table[odxTable]',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.role]': '\"table\"',\n },\n templateUrl: './table.component.html',\n imports: [CommonModule, IconComponent, ReactiveFormsModule, FormFieldModule, HeaderTitleComponent],\n providers: [{ provide: TABLE, useExisting: TableComponent }],\n})\nexport class TableComponent<T> implements OnInit {\n private readonly takeUntilDestroyed = untilDestroyed();\n public readonly element = injectElement();\n\n @CSSModifier()\n @Input()\n public variant?: TableVariant | null;\n\n @Input()\n public data: T[] = [];\n\n @Input()\n public headerData: TableHeaderCell[] = [];\n\n public form: FormGroup = new FormGroup({});\n\n @Output()\n public readonly sorted: EventEmitter<SortStatus> = new EventEmitter();\n\n @Output()\n public readonly filtered: EventEmitter<{ [key: string]: string }> = new EventEmitter();\n\n @Output()\n public readonly checked: EventEmitter<{ column: string; check: boolean }> = new EventEmitter();\n\n @ViewChildren(HeaderTitleComponent) public headers!: QueryList<HeaderTitleComponent>;\n\n public ngOnInit(): void {\n this.setHeaderData();\n this.headerData.forEach((item) => item.filter && this.form.addControl(item.name, new FormControl('')));\n this.formListener();\n }\n\n public clearSort(): void {\n this.headers.forEach((header) => header.clearSortStatus());\n }\n\n private formListener(): void {\n if (Object.keys(this.form.controls).length === 0) return;\n this.form.valueChanges\n .pipe(\n debounceTime(600),\n this.takeUntilDestroyed(),\n tap(() => {\n this.filtered.emit(this.form.value);\n this.headers?.filter((header) => !!header.item.check).forEach((header) => header.check());\n })\n )\n .subscribe();\n }\n\n private setHeaderData(): void {\n this.headerData = Object.keys(this.data[0] as TableBodyCell).map(\n (key) =>\n this.headerData.find((item) => item.name === key) || {\n name: key,\n title: `${key[0].toUpperCase()}${key.slice(1)}`,\n sortable: false,\n filter: false,\n }\n );\n }\n}\n","<thead class=\"odx-table__head\" role=\"rowgroup\" [formGroup]=\"form\">\n <tr class=\"odx-table__header-row\" role=\"row\">\n <th *ngFor=\"let item of headerData\" class=\"odx-table__header-cell\" role=\"columnheader\" odxHeaderTitle [item]=\"item\">\n <odx-form-field *ngIf=\"item.filter\">\n <input placeholder=\"Filter\" [formControlName]=\"item.name\" type=\"text\" odxFormFieldControl />\n </odx-form-field>\n </th>\n </tr>\n</thead>\n<tbody class=\"odx-table__body\" role=\"rowgroup\">\n <ng-content select=\"tr\"></ng-content>\n</tbody>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { CheckCellComponent } from './components/check-cell/check-cell.component';\nimport { TableCellDirective } from './directives/table-cell.directive';\nimport { TableRowDirective } from './directives/table-row.directive';\nimport { TableComponent } from './table.component';\n\nconst modules = [TableComponent, TableRowDirective, TableCellDirective, CheckCellComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class TableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}