@elderbyte/ngx-starter 17.11.0 → 18.0.0-beta1

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 (452) hide show
  1. package/esm2022/lib/common/arrays.mjs +1 -1
  2. package/esm2022/lib/common/async/refreshing-entity.mjs +1 -1
  3. package/esm2022/lib/common/csv/csv-serializer.mjs +1 -1
  4. package/esm2022/lib/common/csv/csv-spec.mjs +1 -1
  5. package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +1 -1
  6. package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +1 -1
  7. package/esm2022/lib/common/data/data-context/data-context-base.mjs +1 -1
  8. package/esm2022/lib/common/data/data-context/data-context-builder.mjs +1 -1
  9. package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +1 -1
  10. package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +1 -1
  11. package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +1 -1
  12. package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +1 -1
  13. package/esm2022/lib/common/data/data-context/data-context-simple.mjs +1 -1
  14. package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +1 -1
  15. package/esm2022/lib/common/data/data-context/data-context.mjs +1 -1
  16. package/esm2022/lib/common/data/data-context/indexed-entities.mjs +1 -1
  17. package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +1 -1
  18. package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +1 -1
  19. package/esm2022/lib/common/data/datasource/data-source-processor.mjs +1 -1
  20. package/esm2022/lib/common/data/datasource/data-source.mjs +1 -1
  21. package/esm2022/lib/common/data/datasource/entity-id-util.mjs +1 -1
  22. package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +1 -1
  23. package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +1 -1
  24. package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +1 -1
  25. package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +1 -1
  26. package/esm2022/lib/common/data/entity-set-patch.mjs +1 -1
  27. package/esm2022/lib/common/data/field-comparator.mjs +1 -1
  28. package/esm2022/lib/common/data/filters/filter-commons.mjs +12 -0
  29. package/esm2022/lib/common/data/filters/filter-context.mjs +1 -1
  30. package/esm2022/lib/common/data/filters/filter-value.mjs +2 -0
  31. package/esm2022/lib/common/data/filters/filter.mjs +1 -1
  32. package/esm2022/lib/common/data/http-params-builder.mjs +1 -1
  33. package/esm2022/lib/common/data/page.mjs +1 -1
  34. package/esm2022/lib/common/data/required-filter-evaluator.mjs +1 -1
  35. package/esm2022/lib/common/data/sort-context.mjs +1 -1
  36. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +4 -4
  37. package/esm2022/lib/common/format/bytes-format.mjs +1 -1
  38. package/esm2022/lib/common/format/bytes-per-second-format.mjs +1 -1
  39. package/esm2022/lib/common/format/curency-format-util.mjs +1 -1
  40. package/esm2022/lib/common/format/duration-format-util.mjs +1 -1
  41. package/esm2022/lib/common/format/iso-interval-format-util.mjs +1 -1
  42. package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +1 -1
  43. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +4 -4
  44. package/esm2022/lib/common/forms/elder-from-field-base.mjs +4 -4
  45. package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +4 -4
  46. package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +4 -4
  47. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +4 -4
  48. package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +1 -1
  49. package/esm2022/lib/common/forms/form-field-base.component.mjs +4 -4
  50. package/esm2022/lib/common/forms/multi-model-base.component.mjs +4 -4
  51. package/esm2022/lib/common/forms/template-composite-control.mjs +4 -4
  52. package/esm2022/lib/common/forms/value-accessor-base.mjs +4 -4
  53. package/esm2022/lib/common/http/http-client-builder.service.mjs +4 -4
  54. package/esm2022/lib/common/http/http-client-pristine.mjs +4 -4
  55. package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +1 -1
  56. package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
  57. package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +1 -1
  58. package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +1 -1
  59. package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +1 -1
  60. package/esm2022/lib/common/i18n/entity/translated-converter.mjs +1 -1
  61. package/esm2022/lib/common/objects.mjs +1 -1
  62. package/esm2022/lib/common/selection/selection-model.mjs +1 -1
  63. package/esm2022/lib/common/sets.mjs +1 -1
  64. package/esm2022/lib/common/templates/template-slot-manager.mjs +1 -1
  65. package/esm2022/lib/common/time/date-util.mjs +1 -1
  66. package/esm2022/lib/common/time/interval-coerce.mjs +1 -1
  67. package/esm2022/lib/common/time/interval.mjs +1 -1
  68. package/esm2022/lib/common/time/period-duration.mjs +1 -1
  69. package/esm2022/lib/common/time/time-util.mjs +1 -1
  70. package/esm2022/lib/common/url/elder-router.service.mjs +4 -4
  71. package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +5 -5
  72. package/esm2022/lib/common/url/url-query-params.mjs +1 -1
  73. package/esm2022/lib/common/utils/batcher.mjs +1 -1
  74. package/esm2022/lib/common/utils/collection-util.mjs +1 -1
  75. package/esm2022/lib/common/utils/filter-util.mjs +1 -1
  76. package/esm2022/lib/common/utils/focus-util.mjs +1 -1
  77. package/esm2022/lib/common/utils/next-number-util.mjs +1 -1
  78. package/esm2022/lib/common/utils/parse-util.mjs +1 -1
  79. package/esm2022/lib/common/utils/property-path-util.mjs +1 -1
  80. package/esm2022/lib/common/utils/sort-util.mjs +1 -1
  81. package/esm2022/lib/common/utils/url-builder.mjs +1 -1
  82. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +4 -4
  83. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +5 -5
  84. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +4 -4
  85. package/esm2022/lib/components/auditing/elder-audit.module.mjs +5 -5
  86. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +10 -10
  87. package/esm2022/lib/components/badge/elder-badge.directive.mjs +4 -4
  88. package/esm2022/lib/components/badge/elder-badge.module.mjs +5 -5
  89. package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +4 -4
  90. package/esm2022/lib/components/button-group/elder-button-group.module.mjs +5 -5
  91. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -4
  92. package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +4 -4
  93. package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +1 -1
  94. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +5 -5
  95. package/esm2022/lib/components/card-organizer/card-stack.mjs +1 -1
  96. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +5 -5
  97. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +4 -4
  98. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +19 -19
  99. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +5 -5
  100. package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +4 -4
  101. package/esm2022/lib/components/chips/elder-chips.module.mjs +5 -5
  102. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +5 -5
  103. package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +4 -4
  104. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +4 -4
  105. package/esm2022/lib/components/containers/elder-containers.module.mjs +5 -5
  106. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
  107. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +4 -4
  108. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +4 -4
  109. package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +3 -3
  110. package/esm2022/lib/components/csv/elder-csv.module.mjs +5 -5
  111. package/esm2022/lib/components/currency/elder-currency.module.mjs +5 -5
  112. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +4 -4
  113. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +5 -5
  114. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +4 -4
  115. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +4 -4
  116. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +4 -4
  117. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +4 -4
  118. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +4 -4
  119. package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +1 -1
  120. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +4 -4
  121. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -4
  122. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +5 -5
  123. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +7 -7
  124. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +4 -4
  125. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -4
  126. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +4 -4
  127. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +12 -12
  128. package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +5 -5
  129. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +4 -4
  130. package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +4 -4
  131. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +4 -4
  132. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +4 -4
  133. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +5 -5
  134. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +4 -4
  135. package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +4 -4
  136. package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +1 -1
  137. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -4
  138. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +5 -5
  139. package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +4 -4
  140. package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
  141. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +4 -4
  142. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +4 -4
  143. package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +4 -4
  144. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +6 -6
  145. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +4 -4
  146. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
  147. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +4 -4
  148. package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +5 -5
  149. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +4 -4
  150. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +5 -5
  151. package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +1 -1
  152. package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +1 -1
  153. package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +1 -1
  154. package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +4 -4
  155. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +4 -4
  156. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +5 -5
  157. package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +4 -4
  158. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +4 -4
  159. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -4
  160. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +4 -4
  161. package/esm2022/lib/components/errors/elder-error.module.mjs +5 -5
  162. package/esm2022/lib/components/errors/error-util.mjs +1 -1
  163. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +4 -4
  164. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +4 -4
  165. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +5 -5
  166. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +5 -5
  167. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +4 -4
  168. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +4 -4
  169. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +4 -4
  170. package/esm2022/lib/components/files/elder-file-select.directive.mjs +4 -4
  171. package/esm2022/lib/components/files/elder-file.module.mjs +5 -5
  172. package/esm2022/lib/components/files/file-select/file-select.component.mjs +4 -4
  173. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +4 -4
  174. package/esm2022/lib/components/files/listing/file-entry.mjs +1 -1
  175. package/esm2022/lib/components/files/listing/file-listing-rx.mjs +1 -1
  176. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +4 -4
  177. package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +4 -4
  178. package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +4 -4
  179. package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +4 -4
  180. package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +4 -4
  181. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +4 -4
  182. package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +4 -4
  183. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +4 -4
  184. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +5 -5
  185. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +7 -17
  186. package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +4 -4
  187. package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +4 -4
  188. package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +4 -4
  189. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +4 -4
  190. package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +4 -4
  191. package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
  192. package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +4 -4
  193. package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
  194. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +4 -4
  195. package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +4 -4
  196. package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +4 -4
  197. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +4 -4
  198. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +4 -4
  199. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +4 -4
  200. package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +4 -4
  201. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +4 -4
  202. package/esm2022/lib/components/forms/elder-forms.module.mjs +5 -5
  203. package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +1 -1
  204. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +4 -4
  205. package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +2 -0
  206. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +14 -15
  207. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
  208. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +4 -4
  209. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +4 -4
  210. package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +1 -1
  211. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +46 -35
  212. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +73 -48
  213. package/esm2022/lib/components/forms/search/elder-search.module.mjs +5 -5
  214. package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +47 -0
  215. package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +2 -0
  216. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +6 -6
  217. package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
  218. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +4 -4
  219. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +5 -5
  220. package/esm2022/lib/components/global-search/elder-global-search.service.mjs +4 -4
  221. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +4 -4
  222. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +5 -5
  223. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +4 -4
  224. package/esm2022/lib/components/headers/elder-header.module.mjs +5 -5
  225. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +4 -4
  226. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +5 -5
  227. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +4 -4
  228. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +4 -4
  229. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
  230. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +4 -4
  231. package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +4 -4
  232. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
  233. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +4 -4
  234. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +4 -4
  235. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +4 -4
  236. package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +4 -4
  237. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +5 -5
  238. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +4 -4
  239. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +4 -4
  240. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +7 -7
  241. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +4 -4
  242. package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +4 -4
  243. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +5 -5
  244. package/esm2022/lib/components/iframes/iframe-close.directive.mjs +4 -4
  245. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +4 -4
  246. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +4 -4
  247. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +4 -4
  248. package/esm2022/lib/components/iframes/iframe.service.mjs +4 -4
  249. package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +4 -4
  250. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
  251. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +5 -5
  252. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +1 -1
  253. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +231 -0
  254. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +4 -4
  255. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +7 -4
  256. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +12 -12
  257. package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +1 -1
  258. package/esm2022/lib/components/labels/elder-labels.module.mjs +5 -5
  259. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +4 -4
  260. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +4 -4
  261. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +4 -4
  262. package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +4 -4
  263. package/esm2022/lib/components/measures/elder-measures.module.mjs +9 -9
  264. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +4 -4
  265. package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +4 -4
  266. package/esm2022/lib/components/measures/elder-unit.service.mjs +6 -6
  267. package/esm2022/lib/components/measures/model/unit-registry.mjs +1 -1
  268. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +4 -4
  269. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +4 -4
  270. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +4 -4
  271. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +4 -4
  272. package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +4 -4
  273. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +4 -4
  274. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +5 -5
  275. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +5 -5
  276. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +4 -4
  277. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +4 -4
  278. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +4 -4
  279. package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +8 -7
  280. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +5 -5
  281. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +4 -4
  282. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +4 -4
  283. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +4 -4
  284. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +4 -4
  285. package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +4 -4
  286. package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +4 -4
  287. package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +4 -4
  288. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +4 -4
  289. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +5 -5
  290. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +4 -4
  291. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +4 -4
  292. package/esm2022/lib/components/panels/elder-panel.module.mjs +5 -5
  293. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +4 -4
  294. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +4 -4
  295. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +10 -10
  296. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +4 -4
  297. package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +5 -5
  298. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +27 -7
  299. package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +38 -0
  300. package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +66 -0
  301. package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +4 -14
  302. package/esm2022/lib/components/select/elder-select-base.mjs +9 -9
  303. package/esm2022/lib/components/select/elder-select-chip.directive.mjs +10 -10
  304. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +4 -4
  305. package/esm2022/lib/components/select/elder-select-value.directive.mjs +4 -4
  306. package/esm2022/lib/components/select/elder-select.module.mjs +36 -10
  307. package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +74 -0
  308. package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +144 -0
  309. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +51 -0
  310. package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +63 -0
  311. package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +164 -0
  312. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +4 -4
  313. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +4 -4
  314. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +1 -1
  315. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +10 -9
  316. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +16 -7
  317. package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +4 -4
  318. package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +4 -4
  319. package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +148 -0
  320. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +4 -4
  321. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +4 -4
  322. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +4 -4
  323. package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +4 -4
  324. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +9 -14
  325. package/esm2022/lib/components/select/single/elder-select-form-field.mjs +4 -4
  326. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +4 -4
  327. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +5 -5
  328. package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +1 -1
  329. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +4 -4
  330. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +4 -4
  331. package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +4 -4
  332. package/esm2022/lib/components/shell/elder-shell.module.mjs +5 -5
  333. package/esm2022/lib/components/shell/elder-shell.service.mjs +4 -4
  334. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -4
  335. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +13 -13
  336. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +4 -4
  337. package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +4 -4
  338. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
  339. package/esm2022/lib/components/tabs/elder-tab.module.mjs +5 -5
  340. package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +4 -4
  341. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +4 -4
  342. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +4 -4
  343. package/esm2022/lib/components/theme/elder-theme.directive.mjs +4 -4
  344. package/esm2022/lib/components/theme/elder-theme.module.mjs +5 -5
  345. package/esm2022/lib/components/theme/elder-theme.service.mjs +4 -4
  346. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +4 -4
  347. package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +1 -1
  348. package/esm2022/lib/components/time/duration/duration-format.mjs +1 -1
  349. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +4 -4
  350. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +4 -4
  351. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +4 -4
  352. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +4 -4
  353. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +4 -4
  354. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +4 -4
  355. package/esm2022/lib/components/time/elder-time.module.mjs +5 -5
  356. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +4 -4
  357. package/esm2022/lib/components/time/period/period-format.mjs +1 -1
  358. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +4 -4
  359. package/esm2022/lib/components/toasts/elder-toast.module.mjs +5 -5
  360. package/esm2022/lib/components/toasts/elder-toast.service.mjs +4 -4
  361. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +5 -5
  362. package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +5 -5
  363. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +4 -4
  364. package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +4 -4
  365. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +5 -5
  366. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +1 -1
  367. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +4 -4
  368. package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +4 -4
  369. package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +1 -1
  370. package/esm2022/lib/features/kafent/access-token-provider.mjs +4 -4
  371. package/esm2022/lib/features/kafent/kafent-config.mjs +4 -4
  372. package/esm2022/lib/features/kafent/kafent-event-stream.mjs +4 -4
  373. package/esm2022/lib/features/kafent/kafent-event.service.mjs +4 -4
  374. package/esm2022/lib/features/kafent/kafent.module.mjs +5 -5
  375. package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +4 -4
  376. package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +1 -1
  377. package/esm2022/lib/pipes/bytes.pipe.mjs +4 -4
  378. package/esm2022/lib/pipes/elder-pipes.module.mjs +11 -11
  379. package/esm2022/lib/pipes/elder-repeat.pipe.mjs +4 -4
  380. package/esm2022/lib/pipes/elder-round.pipe.mjs +4 -4
  381. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +4 -4
  382. package/esm2022/lib/pipes/elder-truncate.pipe.mjs +4 -4
  383. package/esm2022/lib/pipes/iso-duration.pipe.mjs +4 -4
  384. package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +4 -4
  385. package/esm2022/lib/pipes/iso-interval.pipe.mjs +4 -4
  386. package/esm2022/lib/pipes/time-ago.pipe.mjs +4 -4
  387. package/esm2022/lib/pipes/time-duration.pipe.mjs +4 -4
  388. package/esm2022/lib/pipes/weight.pipe.mjs +4 -4
  389. package/fesm2022/elderbyte-ngx-starter.mjs +5141 -4279
  390. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  391. package/lib/common/data/filters/filter-commons.d.ts +6 -0
  392. package/lib/common/data/filters/filter-value.d.ts +1 -0
  393. package/lib/components/forms/directives/elder-initial-value.directive.d.ts +1 -9
  394. package/lib/components/forms/search/domain/input/input-value.d.ts +1 -0
  395. package/lib/components/forms/search/domain/input/search-input-state.d.ts +11 -17
  396. package/lib/components/forms/search/domain/input/search-input.d.ts +4 -3
  397. package/lib/components/forms/search/elder-search-context.directive.d.ts +9 -4
  398. package/lib/components/forms/search/elder-search-input.directive.d.ts +28 -19
  399. package/lib/components/forms/search/filter/default-input-filter-converter.d.ts +31 -0
  400. package/lib/components/forms/search/filter/input-filter-converter.d.ts +16 -0
  401. package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +2 -1
  402. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.d.ts +3 -3
  403. package/lib/components/input/autocomplete/elder-autocomplete/{elder-autocomplete.component.d.ts → elder-suggestion-panel.component.d.ts} +17 -6
  404. package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +3 -3
  405. package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +3 -3
  406. package/lib/components/input/autocomplete/elder-autocomplete.module.d.ts +3 -3
  407. package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +2 -3
  408. package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +9 -1
  409. package/lib/components/select/auto/elder-auto-select-first.service.d.ts +23 -0
  410. package/lib/components/select/auto/elder-auto-select-suggest-first.directive.d.ts +32 -0
  411. package/lib/components/select/auto/elder-select-first-util.d.ts +2 -2
  412. package/lib/components/select/elder-select-base.d.ts +1 -1
  413. package/lib/components/select/elder-select.module.d.ts +10 -1
  414. package/lib/components/select/filter/elder-chip-filter-style-resolver.d.ts +19 -0
  415. package/lib/components/select/filter/elder-chips-include-exclude.directive.d.ts +50 -0
  416. package/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.d.ts +27 -0
  417. package/lib/components/select/filter/include-exclude-model-filter-adapter.d.ts +29 -0
  418. package/lib/components/select/filter/include-exclude-selection-model.d.ts +64 -0
  419. package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +1 -2
  420. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +2 -0
  421. package/lib/components/select/multi/elder-search-include-exclude.directive.d.ts +78 -0
  422. package/lib/components/select/single/elder-select/elder-select.component.d.ts +0 -1
  423. package/package.json +1 -1
  424. package/src/lib/components/button-group/elder-button-group/elder-button-group.component.scss +1 -1
  425. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +3 -3
  426. package/src/lib/components/cards/elder-card/elder-card.component.scss +2 -2
  427. package/src/lib/components/chips/_elder-chip-theme.scss +6 -6
  428. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +8 -8
  429. package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +6 -6
  430. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +1 -1
  431. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +1 -1
  432. package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +6 -6
  433. package/src/lib/components/navigation/nav/_elder-nav-theme.scss +11 -11
  434. package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +2 -2
  435. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +2 -2
  436. package/src/lib/components/panels/flat/_elder-panel-theme.scss +5 -5
  437. package/src/lib/components/select/_elder-select-base.scss +2 -2
  438. package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +95 -0
  439. package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +5 -5
  440. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +5 -5
  441. package/src/lib/components/select/multi/elder-select-include-exclude-chip/elder-select-include-exclude-chip.component.scss +0 -0
  442. package/src/lib/components/select/single/elder-select/elder-select.component.scss +5 -5
  443. package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.scss +2 -2
  444. package/src/lib/components/time/_elder-time-input.theme.scss +2 -2
  445. package/theming/_elder-mdc-support.scss +13 -13
  446. package/theming/_elder-palettes.scss +1 -1
  447. package/theming/_elder-scrollbar-theme.scss +2 -2
  448. package/theming/_elder-theme.scss +1 -1
  449. package/theming/_elder-toast-theme.scss +3 -3
  450. package/theming/_elder-typography-utils.scss +2 -2
  451. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +0 -186
  452. /package/src/lib/components/input/autocomplete/elder-autocomplete/{elder-autocomplete.component.scss → elder-suggestion-panel.component.scss} +0 -0
@@ -0,0 +1,144 @@
1
+ import { Directive, Input, Optional, SkipSelf } from '@angular/core';
2
+ import { ElderFilterChipTemplateComponent } from './elder-filter-chip-template/elder-filter-chip-template.component';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { debounceTime, filter, first } from 'rxjs/operators';
5
+ import ElderChipFilterStyleResolver from './elder-chip-filter-style-resolver';
6
+ import { LoggerFactory } from '@elderbyte/ts-logger';
7
+ import { IncludeExcludeSelectionModel, IncludeExcludeValue } from './include-exclude-selection-model';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../multi/elder-multi-select-chips/elder-multi-select-chips.component";
10
+ import * as i2 from "./include-exclude-selection-model";
11
+ /**
12
+ * Adds the ability to toggle select chips of a ElderMultiSelectChipsComponent by
13
+ * binding it to a IncludeExcludeSelectionModel.
14
+ */
15
+ export class ElderChipsIncludeExcludeDirective {
16
+ /***************************************************************************
17
+ * *
18
+ * Constructor *
19
+ * *
20
+ **************************************************************************/
21
+ constructor(elderMultiSelectChips, selectionModel, vcr, destroyRef) {
22
+ this.elderMultiSelectChips = elderMultiSelectChips;
23
+ this.selectionModel = selectionModel;
24
+ this.vcr = vcr;
25
+ this.destroyRef = destroyRef;
26
+ /***************************************************************************
27
+ * *
28
+ * Fields *
29
+ * *
30
+ **************************************************************************/
31
+ this.log = LoggerFactory.getLogger(this.constructor.name);
32
+ this.chipStyleResolver = new ElderChipFilterStyleResolver();
33
+ this.setupFilterChips();
34
+ this.setupElderMultiSelectChipsListeners();
35
+ selectionModel.selection$.pipe(takeUntilDestroyed(), debounceTime(10)).subscribe({
36
+ next: states => this.refreshChips(states)
37
+ });
38
+ }
39
+ /***************************************************************************
40
+ * *
41
+ * Properties *
42
+ * *
43
+ **************************************************************************/
44
+ set cycleStrategy(strategy) {
45
+ this.selectionModel.strategy = strategy;
46
+ }
47
+ /***************************************************************************
48
+ * *
49
+ * Private methods *
50
+ * *
51
+ **************************************************************************/
52
+ setupFilterChips() {
53
+ const chipTemplate = this.createFilterChipTemplate();
54
+ this.elderMultiSelectChips.chipSpecFn = (entity) => this.resolveChipSpec(entity);
55
+ chipTemplate.avatarRef$.pipe(takeUntilDestroyed(this.destroyRef), filter((avatarRef) => !!avatarRef), first()).subscribe((avatarRef) => {
56
+ this.elderMultiSelectChips.chipAvatarTemplate = avatarRef;
57
+ });
58
+ }
59
+ createFilterChipTemplate() {
60
+ const ref = this.vcr.createComponent(ElderFilterChipTemplateComponent);
61
+ ref.setInput('avatarResolverFn', (id) => this.resolveAvatarIcon(id));
62
+ return ref.instance;
63
+ }
64
+ setupElderMultiSelectChipsListeners() {
65
+ this.elderMultiSelectChips.currentClicked
66
+ .pipe(takeUntilDestroyed(this.destroyRef))
67
+ .subscribe((entity) => this.handleChipClick(entity));
68
+ this.elderMultiSelectChips.entityIdsUpdated.pipe(// Updated is a user event when entries are modified
69
+ takeUntilDestroyed(this.destroyRef), filter(entityIds => !!entityIds)).subscribe(entityIds => {
70
+ this.selectionModel.initTo(entityIds);
71
+ });
72
+ }
73
+ resolveChipSpec(entity) {
74
+ return this.chipStyleResolver.resolveChipSpec(this.findFilterEntityByEntity(entity));
75
+ }
76
+ resolveAvatarIcon(id) {
77
+ return this.chipStyleResolver.resolveAvatarIcon(this.findFilterEntityById(id));
78
+ }
79
+ handleChipClick(entity) {
80
+ const entityId = this.elderMultiSelectChips.getEntityId(entity);
81
+ const newState = this.selectionModel.cycleExisting(entityId);
82
+ if (!newState) {
83
+ this.log.warn('The entity id "' + entityId + '" is not in the selection');
84
+ }
85
+ }
86
+ refreshChips(selected) {
87
+ if (this.ensureChipsNoChanges(selected)) {
88
+ this.elderMultiSelectChips.refresh();
89
+ }
90
+ }
91
+ ensureChipsNoChanges(selected) {
92
+ const requiredIds = selected
93
+ .filter(s => s.mode != IncludeExcludeValue.NEUTRAL)
94
+ .map(s => s.id);
95
+ const currentIds = this.elderMultiSelectChips.entityIds ?? [];
96
+ const currentIdSet = new Set(currentIds);
97
+ const missingIds = requiredIds
98
+ .filter(required => !currentIdSet.has(required));
99
+ if (missingIds.length > 0) {
100
+ this.elderMultiSelectChips.entityIds = [...currentIds, ...missingIds];
101
+ return false;
102
+ }
103
+ else {
104
+ return true;
105
+ }
106
+ }
107
+ findFilterEntityByEntity(entity) {
108
+ const searchedId = this.elderMultiSelectChips.getEntityId(entity);
109
+ return this.findFilterEntityById(searchedId);
110
+ }
111
+ findFilterEntityById(id) {
112
+ return this.selectionModel.findStateById(id);
113
+ }
114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderChipsIncludeExcludeDirective, deps: [{ token: i1.ElderMultiSelectChipsComponent }, { token: i2.IncludeExcludeSelectionModel }, { token: i0.ViewContainerRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
115
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: ElderChipsIncludeExcludeDirective, isStandalone: true, selector: "[elderChipsIncludeExclude]", inputs: { cycleStrategy: "cycleStrategy" }, providers: [
116
+ {
117
+ provide: IncludeExcludeSelectionModel,
118
+ useFactory: (existing) => {
119
+ return existing ?? new IncludeExcludeSelectionModel('FULL_CYCLE');
120
+ },
121
+ deps: [[new Optional(), new SkipSelf(), IncludeExcludeSelectionModel]]
122
+ }
123
+ ], exportAs: ["elderChipsIncludeExclude"], ngImport: i0 }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderChipsIncludeExcludeDirective, decorators: [{
126
+ type: Directive,
127
+ args: [{
128
+ selector: '[elderChipsIncludeExclude]',
129
+ exportAs: 'elderChipsIncludeExclude',
130
+ standalone: true,
131
+ providers: [
132
+ {
133
+ provide: IncludeExcludeSelectionModel,
134
+ useFactory: (existing) => {
135
+ return existing ?? new IncludeExcludeSelectionModel('FULL_CYCLE');
136
+ },
137
+ deps: [[new Optional(), new SkipSelf(), IncludeExcludeSelectionModel]]
138
+ }
139
+ ]
140
+ }]
141
+ }], ctorParameters: () => [{ type: i1.ElderMultiSelectChipsComponent }, { type: i2.IncludeExcludeSelectionModel }, { type: i0.ViewContainerRef }, { type: i0.DestroyRef }], propDecorators: { cycleStrategy: [{
142
+ type: Input
143
+ }] } });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY2hpcHMtaW5jbHVkZS1leGNsdWRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2ZpbHRlci9lbGRlci1jaGlwcy1pbmNsdWRlLWV4Y2x1ZGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBR2pHLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQ25ILE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sNEJBQTRCLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFFTCw0QkFBNEIsRUFFNUIsbUJBQW1CLEVBQ3BCLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFFM0M7OztHQUdHO0FBZUgsTUFBTSxPQUFPLGlDQUFpQztJQVk1Qzs7OztnRkFJNEU7SUFFNUUsWUFDa0IscUJBQXFELEVBQ3JELGNBQTRDLEVBQzVDLEdBQXFCLEVBQ3BCLFVBQXNCO1FBSHZCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBZ0M7UUFDckQsbUJBQWMsR0FBZCxjQUFjLENBQThCO1FBQzVDLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFwQnpDOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFD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USxFQUFFLEVBQUUsNEJBQTRCLENBQUMsQ0FBQzt5QkFDdkU7cUJBQ0Y7aUJBQ0Y7c01BMkNZLGFBQWE7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Rlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9wdGlvbmFsLCBTa2lwU2VsZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudH0gZnJvbSAnLi4vbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3RDaGlwU3BlY30gZnJvbSAnLi4vbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL3NlbGVjdC1jaGlwLXNwZWMnO1xuaW1wb3J0IHtFbGRlckZpbHRlckNoaXBUZW1wbGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1maWx0ZXItY2hpcC10ZW1wbGF0ZS9lbGRlci1maWx0ZXItY2hpcC10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIGZpcnN0fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgRWxkZXJDaGlwRmlsdGVyU3R5bGVSZXNvbHZlciBmcm9tICcuL2VsZGVyLWNoaXAtZmlsdGVyLXN0eWxlLXJlc29sdmVyJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtcbiAgSW5jbHVkZUV4Y2x1ZGVDeWNsZVN0cmF0ZWd5LFxuICBJbmNsdWRlRXhjbHVkZVNlbGVjdGlvbk1vZGVsLFxuICBJbmNsdWRlRXhjbHVkZVN0YXRlLFxuICBJbmNsdWRlRXhjbHVkZVZhbHVlXG59IGZyb20gJy4vaW5jbHVkZS1leGNsdWRlLXNlbGVjdGlvbi1tb2RlbCc7XG5cbi8qKlxuICogQWRkcyB0aGUgYWJpbGl0eSB0byB0b2dnbGUgc2VsZWN0IGNoaXBzIG9mIGEgRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50IGJ5XG4gKiBiaW5kaW5nIGl0IHRvIGEgSW5jbHVkZUV4Y2x1ZGVTZWxlY3Rpb25Nb2RlbC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyQ2hpcHNJbmNsdWRlRXhjbHVkZV0nLFxuICBleHBvcnRBczogJ2VsZGVyQ2hpcHNJbmNsdWRlRXhjbHVkZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWwsXG4gICAgICB1c2VGYWN0b3J5OiAoZXhpc3Rpbmc6IEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWwpID0+IHtcbiAgICAgICAgcmV0dXJuIGV4aXN0aW5nID8/IG5ldyBJbmNsdWRlRXhjbHVkZVNlbGVjdGlvbk1vZGVsKCdGVUxMX0NZQ0xFJyk7XG4gICAgICB9LFxuICAgICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWxdXVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckNoaXBzSW5jbHVkZUV4Y2x1ZGVEaXJlY3RpdmU8VCA9IGFueT4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNoaXBTdHlsZVJlc29sdmVyID0gbmV3IEVsZGVyQ2hpcEZpbHRlclN0eWxlUmVzb2x2ZXIoKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWxkZXJNdWx0aVNlbGVjdENoaXBzOiBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQsXG4gICAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGVsOiBJbmNsdWRlRXhjbHVkZVNlbGVjdGlvbk1vZGVsLFxuICAgIHB1YmxpYyByZWFkb25seSB2Y3I6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmOiBEZXN0cm95UmVmXG4gICkge1xuICAgIHRoaXMuc2V0dXBGaWx0ZXJDaGlwcygpO1xuICAgIHRoaXMuc2V0dXBFbGRlck11bHRpU2VsZWN0Q2hpcHNMaXN0ZW5lcnMoKTtcblxuICAgIHNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbiQucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgZGVib3VuY2VUaW1lKDEwKVxuICAgICkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IHN0YXRlcyA9PiB0aGlzLnJlZnJlc2hDaGlwcyhzdGF0ZXMpXG4gICAgfSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGN5Y2xlU3RyYXRlZ3koc3RyYXRlZ3k6IEluY2x1ZGVFeGNsdWRlQ3ljbGVTdHJhdGVneSkge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuc3RyYXRlZ3kgPSBzdHJhdGVneTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc2V0dXBGaWx0ZXJDaGlwcygpIHtcblxuICAgIGNvbnN0IGNoaXBUZW1wbGF0ZSA9IHRoaXMuY3JlYXRlRmlsdGVyQ2hpcFRlbXBsYXRlKCk7XG4gICAgdGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuY2hpcFNwZWNGbiA9IChlbnRpdHk6IFQpID0+IHRoaXMucmVzb2x2ZUNoaXBTcGVjKGVudGl0eSk7XG5cbiAgICBjaGlwVGVtcGxhdGUuYXZhdGFyUmVmJC5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICBmaWx0ZXIoKGF2YXRhclJlZikgPT4gISFhdmF0YXJSZWYpLFxuICAgICAgZmlyc3QoKVxuICAgICkuc3Vic2NyaWJlKChhdmF0YXJSZWYpID0+IHtcbiAgICAgIHRoaXMuZWxkZXJNdWx0aVNlbGVjdENoaXBzLmNoaXBBdmF0YXJUZW1wbGF0ZSA9IGF2YXRhclJlZjtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRmlsdGVyQ2hpcFRlbXBsYXRlKCk6IEVsZGVyRmlsdGVyQ2hpcFRlbXBsYXRlQ29tcG9uZW50IHtcbiAgICBjb25zdCByZWYgPSB0aGlzLnZjci5jcmVhdGVDb21wb25lbnQoRWxkZXJGaWx0ZXJDaGlwVGVtcGxhdGVDb21wb25lbnQpO1xuICAgIHJlZi5zZXRJbnB1dCgnYXZhdGFyUmVzb2x2ZXJGbicsIChpZDogc3RyaW5nKSA9PiB0aGlzLnJlc29sdmVBdmF0YXJJY29uKGlkKSk7XG4gICAgcmV0dXJuIHJlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBFbGRlck11bHRpU2VsZWN0Q2hpcHNMaXN0ZW5lcnMoKSB7XG4gICAgdGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuY3VycmVudENsaWNrZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoZW50aXR5KSA9PiB0aGlzLmhhbmRsZUNoaXBDbGljayhlbnRpdHkpKTtcblxuICAgIHRoaXMuZWxkZXJNdWx0aVNlbGVjdENoaXBzLmVudGl0eUlkc1VwZGF0ZWQucGlwZSggLy8gVXBkYXRlZCBpcyBhIHVzZXIgZXZlbnQgd2hlbiBlbnRyaWVzIGFyZSBtb2RpZmllZFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICBmaWx0ZXIoZW50aXR5SWRzID0+ICEhZW50aXR5SWRzKVxuICAgICkuc3Vic2NyaWJlKGVudGl0eUlkcyA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLmluaXRUbyhlbnRpdHlJZHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlQ2hpcFNwZWMoZW50aXR5OiBUKTogU2VsZWN0Q2hpcFNwZWMge1xuICAgIHJldHVybiB0aGlzLmNoaXBTdHlsZVJlc29sdmVyLnJlc29sdmVDaGlwU3BlYyhcbiAgICAgIHRoaXMuZmluZEZpbHRlckVudGl0eUJ5RW50aXR5KGVudGl0eSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlQXZhdGFySWNvbihpZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jaGlwU3R5bGVSZXNvbHZlci5yZXNvbHZlQXZhdGFySWNvbihcbiAgICAgIHRoaXMuZmluZEZpbHRlckVudGl0eUJ5SWQoaWQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2hpcENsaWNrKGVudGl0eTogVCkge1xuICAgIGNvbnN0IGVudGl0eUlkID0gdGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuZ2V0RW50aXR5SWQoZW50aXR5KTtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IHRoaXMuc2VsZWN0aW9uTW9kZWwuY3ljbGVFeGlzdGluZyhlbnRpdHlJZCk7XG4gICAgaWYgKCFuZXdTdGF0ZSkge1xuICAgICAgdGhpcy5sb2cud2FybignVGhlIGVudGl0eSBpZCBcIicgKyBlbnRpdHlJZCArICdcIiBpcyBub3QgaW4gdGhlIHNlbGVjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaENoaXBzKFxuICAgIHNlbGVjdGVkOiBJbmNsdWRlRXhjbHVkZVN0YXRlW11cbiAgKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW5zdXJlQ2hpcHNOb0NoYW5nZXMoc2VsZWN0ZWQpKSB7XG4gICAgICB0aGlzLmVsZGVyTXVsdGlTZWxlY3RDaGlwcy5yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVDaGlwc05vQ2hhbmdlcyhcbiAgICBzZWxlY3RlZDogSW5jbHVkZUV4Y2x1ZGVTdGF0ZVtdXG4gICk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlcXVpcmVkSWRzID0gc2VsZWN0ZWRcbiAgICAgIC5maWx0ZXIocyA9PiBzLm1vZGUgIT0gSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5ORVVUUkFMKVxuICAgICAgLm1hcChzID0+IHMuaWQpO1xuXG4gICAgY29uc3QgY3VycmVudElkcyA9IHRoaXMuZWxkZXJNdWx0aVNlbGVjdENoaXBzLmVudGl0eUlkcyA/PyBbXTtcbiAgICBjb25zdCBjdXJyZW50SWRTZXQgPSBuZXcgU2V0PHN0cmluZz4oY3VycmVudElkcyk7XG5cbiAgICBjb25zdCBtaXNzaW5nSWRzID0gcmVxdWlyZWRJZHNcbiAgICAgIC5maWx0ZXIocmVxdWlyZWQgPT4gIWN1cnJlbnRJZFNldC5oYXMocmVxdWlyZWQpKTtcblxuICAgIGlmIChtaXNzaW5nSWRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZWxkZXJNdWx0aVNlbGVjdENoaXBzLmVudGl0eUlkcyA9IFsuLi5jdXJyZW50SWRzLCAuLi5taXNzaW5nSWRzXTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRmlsdGVyRW50aXR5QnlFbnRpdHkoZW50aXR5OiBUKTogSW5jbHVkZUV4Y2x1ZGVTdGF0ZSB7XG4gICAgY29uc3Qgc2VhcmNoZWRJZCA9IHRoaXMuZWxkZXJNdWx0aVNlbGVjdENoaXBzLmdldEVudGl0eUlkKGVudGl0eSk7XG4gICAgcmV0dXJuIHRoaXMuZmluZEZpbHRlckVudGl0eUJ5SWQoc2VhcmNoZWRJZCk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRGaWx0ZXJFbnRpdHlCeUlkKGlkOiBzdHJpbmcpOiBJbmNsdWRlRXhjbHVkZVN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5maW5kU3RhdGVCeUlkKGlkKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,51 @@
1
+ import { ChangeDetectionStrategy, Component, input, TemplateRef, ViewChild } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { MatIcon } from '@angular/material/icon';
4
+ import { ElderSelectChipAvatarDirective } from '../../elder-select-chip.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class ElderFilterChipTemplateComponent {
7
+ constructor() {
8
+ /***************************************************************************
9
+ * *
10
+ * Fields *
11
+ * *
12
+ **************************************************************************/
13
+ this._avatarRef$ = new BehaviorSubject(null);
14
+ this.avatarResolverFn = input.required();
15
+ }
16
+ /***************************************************************************
17
+ * *
18
+ * Properties *
19
+ * *
20
+ **************************************************************************/
21
+ set avatarRef(avatarRef) {
22
+ this._avatarRef$.next(avatarRef);
23
+ }
24
+ get avatarRef$() {
25
+ return this._avatarRef$.asObservable();
26
+ }
27
+ /***************************************************************************
28
+ * *
29
+ * Public API *
30
+ * *
31
+ **************************************************************************/
32
+ currentIcon(id) {
33
+ const fun = this.avatarResolverFn();
34
+ if (id != null || id != undefined) {
35
+ return fun ? fun(id) : 'help_outline';
36
+ }
37
+ else {
38
+ return 'help_outline';
39
+ }
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderFilterChipTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.4", type: ElderFilterChipTemplateComponent, isStandalone: true, selector: "elder-filter-chip-template", inputs: { avatarResolverFn: { classPropertyName: "avatarResolverFn", publicName: "avatarResolverFn", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "avatarRef", first: true, predicate: ElderSelectChipAvatarDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<mat-icon\n *elderSelectChipAvatar=\"let chipModel\"\n class=\"material-icons-outlined\">\n {{currentIcon(chipModel?.value?.id)}}\n</mat-icon>\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elder-trailing-icon{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color);opacity:.54}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ElderSelectChipAvatarDirective, selector: "[elderSelectChipAvatar]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderFilterChipTemplateComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'elder-filter-chip-template', standalone: true, imports: [MatIcon, ElderSelectChipAvatarDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-icon\n *elderSelectChipAvatar=\"let chipModel\"\n class=\"material-icons-outlined\">\n {{currentIcon(chipModel?.value?.id)}}\n</mat-icon>\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elder-trailing-icon{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color);opacity:.54}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
47
+ }], propDecorators: { avatarRef: [{
48
+ type: ViewChild,
49
+ args: [ElderSelectChipAvatarDirective, { read: TemplateRef, static: true }]
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZmlsdGVyLWNoaXAtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvZmlsdGVyL2VsZGVyLWZpbHRlci1jaGlwLXRlbXBsYXRlL2VsZGVyLWZpbHRlci1jaGlwLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2ZpbHRlci9lbGRlci1maWx0ZXItY2hpcC10ZW1wbGF0ZS9lbGRlci1maWx0ZXItY2hpcC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOztBQVVqRixNQUFNLE9BQU8sZ0NBQWdDO0lBUjdDO1FBVUU7Ozs7b0ZBSTRFO1FBRXBFLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBQzNELHFCQUFnQixHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQTBCLENBQUM7S0ErQnBFO0lBN0JDOzs7O2dGQUk0RTtJQUU1RSxJQUNXLFNBQVMsQ0FBQyxTQUEyQjtRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFdBQVcsQ0FBQyxFQUFVO1FBQzNCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BDLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLElBQUksU0FBUyxFQUFFLENBQUM7WUFDbEMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQ3hDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxjQUFjLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7OEdBdkNVLGdDQUFnQztrR0FBaEMsZ0NBQWdDLHFTQWlCaEMsOEJBQThCLDJCQUFTLFdBQVcsMkNDOUIvRCxxSkFLQSxvY0RLWSxPQUFPLDJJQUFFLDhCQUE4Qjs7MkZBR3RDLGdDQUFnQztrQkFSNUMsU0FBUzsrQkFDRSw0QkFBNEIsY0FHMUIsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLDhCQUE4QixDQUFDLG1CQUNqQyx1QkFBdUIsQ0FBQyxNQUFNOzhCQW9CcEMsU0FBUztzQkFEbkIsU0FBUzt1QkFBQyw4QkFBOEIsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7RWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlfSBmcm9tICcuLi8uLi9lbGRlci1zZWxlY3QtY2hpcC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1maWx0ZXItY2hpcC10ZW1wbGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1maWx0ZXItY2hpcC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWZpbHRlci1jaGlwLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRJY29uLCBFbGRlclNlbGVjdENoaXBBdmF0YXJEaXJlY3RpdmVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckZpbHRlckNoaXBUZW1wbGF0ZUNvbXBvbmVudCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBfYXZhdGFyUmVmJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4obnVsbCk7XG4gIHB1YmxpYyBhdmF0YXJSZXNvbHZlckZuID0gaW5wdXQucmVxdWlyZWQ8KGlkOiBzdHJpbmcpID0+IHN0cmluZz4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAVmlld0NoaWxkKEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgc2V0IGF2YXRhclJlZihhdmF0YXJSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl9hdmF0YXJSZWYkLm5leHQoYXZhdGFyUmVmKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXZhdGFyUmVmJCgpOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5fYXZhdGFyUmVmJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBjdXJyZW50SWNvbihpZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBmdW4gPSB0aGlzLmF2YXRhclJlc29sdmVyRm4oKTtcbiAgICBpZiAoaWQgIT0gbnVsbCB8fCBpZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmdW4gPyBmdW4oaWQpIDogJ2hlbHBfb3V0bGluZSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnaGVscF9vdXRsaW5lJztcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtaWNvblxuICAqZWxkZXJTZWxlY3RDaGlwQXZhdGFyPVwibGV0IGNoaXBNb2RlbFwiXG4gIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cbiAge3tjdXJyZW50SWNvbihjaGlwTW9kZWw/LnZhbHVlPy5pZCl9fVxuPC9tYXQtaWNvbj5cbiJdfQ==
@@ -0,0 +1,63 @@
1
+ import { Filter } from '../../../common/data/filters/filter';
2
+ import { IncludeExcludeState, IncludeExcludeValue } from './include-exclude-selection-model';
3
+ import FilterCommons from '../../../common/data/filters/filter-commons';
4
+ export class IncludeExcludeModelFilterAdapter {
5
+ /***************************************************************************
6
+ * *
7
+ * Constructors *
8
+ * *
9
+ **************************************************************************/
10
+ constructor(includeExcludeModel, includeQueryKey, excludeQueryKey) {
11
+ this.includeExcludeModel = includeExcludeModel;
12
+ this.includeQueryKey = includeQueryKey;
13
+ this.excludeQueryKey = excludeQueryKey;
14
+ }
15
+ /***************************************************************************
16
+ * *
17
+ * Public API *
18
+ * *
19
+ **************************************************************************/
20
+ applyFilters(filters) {
21
+ const filterMap = this.convertFiltersToMap(filters);
22
+ const includeIds = this.findArrayOrNull(filterMap, this.includeQueryKey);
23
+ const excludeIds = this.findArrayOrNull(filterMap, this.excludeQueryKey);
24
+ this.includeExcludeModel.updateStates([
25
+ ...this.buildStates(includeIds, IncludeExcludeValue.INCLUDE),
26
+ ...this.buildStates(excludeIds, IncludeExcludeValue.EXCLUDE)
27
+ ]);
28
+ }
29
+ toFilters() {
30
+ const includedIds = this.includeExcludeModel.findIncluded();
31
+ const excludedIds = this.includeExcludeModel.findExcluded();
32
+ return [
33
+ new Filter(this.includeQueryKey, this.nonEmptyArrayOrNull(includedIds)),
34
+ new Filter(this.excludeQueryKey, this.nonEmptyArrayOrNull(excludedIds))
35
+ ];
36
+ }
37
+ /***************************************************************************
38
+ * *
39
+ * Private methods *
40
+ * *
41
+ **************************************************************************/
42
+ nonEmptyArrayOrNull(value) {
43
+ if (FilterCommons.isArrayAndNotEmpty(value)) {
44
+ return value;
45
+ }
46
+ return null;
47
+ }
48
+ buildStates(ids, value) {
49
+ return ids
50
+ ? ids.map(id => new IncludeExcludeState(id, value))
51
+ : [];
52
+ }
53
+ convertFiltersToMap(filters) {
54
+ const map = new Map();
55
+ filters.forEach(filter => map.set(filter.key, filter.value));
56
+ return map;
57
+ }
58
+ findArrayOrNull(values, key) {
59
+ const value = this.nonEmptyArrayOrNull(values.get(key));
60
+ return value ? value : null;
61
+ }
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZS1leGNsdWRlLW1vZGVsLWZpbHRlci1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvZmlsdGVyL2luY2x1ZGUtZXhjbHVkZS1tb2RlbC1maWx0ZXItYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDM0QsT0FBTyxFQUErQixtQkFBbUIsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXpILE9BQU8sYUFBYSxNQUFNLDZDQUE2QyxDQUFDO0FBR3hFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFFM0M7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLG1CQUFpRCxFQUNqRCxlQUF1QixFQUN2QixlQUF1QjtRQUZ2Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQThCO1FBQ2pELG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBQ3ZCLG9CQUFlLEdBQWYsZUFBZSxDQUFRO0lBRTFDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsWUFBWSxDQUNqQixPQUFpQjtRQUVqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV6RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUNuQztZQUNFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1lBQzVELEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1NBQzdELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxTQUFTO1FBQ2QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1RCxPQUFPO1lBQ0wsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDeEUsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsbUJBQW1CLENBQUMsS0FBa0I7UUFDNUMsSUFBSSxhQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxPQUFPLEtBQWlCLENBQUM7UUFDM0IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLFdBQVcsQ0FBQyxHQUFvQixFQUFFLEtBQTBCO1FBQ2xFLE9BQU8sR0FBRztZQUNSLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUFpQjtRQUMzQyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztRQUMzQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFnQyxFQUFFLEdBQVc7UUFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4RCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7SW5jbHVkZUV4Y2x1ZGVTZWxlY3Rpb25Nb2RlbCwgSW5jbHVkZUV4Y2x1ZGVTdGF0ZSwgSW5jbHVkZUV4Y2x1ZGVWYWx1ZX0gZnJvbSAnLi9pbmNsdWRlLWV4Y2x1ZGUtc2VsZWN0aW9uLW1vZGVsJztcbmltcG9ydCB7RmlsdGVyVmFsdWV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyLXZhbHVlJztcbmltcG9ydCBGaWx0ZXJDb21tb25zIGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyLWNvbW1vbnMnO1xuXG5cbmV4cG9ydCBjbGFzcyBJbmNsdWRlRXhjbHVkZU1vZGVsRmlsdGVyQWRhcHRlciB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5jbHVkZUV4Y2x1ZGVNb2RlbDogSW5jbHVkZUV4Y2x1ZGVTZWxlY3Rpb25Nb2RlbCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluY2x1ZGVRdWVyeUtleTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXhjbHVkZVF1ZXJ5S2V5OiBzdHJpbmdcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXJzKFxuICAgIGZpbHRlcnM6IEZpbHRlcltdXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlck1hcCA9IHRoaXMuY29udmVydEZpbHRlcnNUb01hcChmaWx0ZXJzKTtcbiAgICBjb25zdCBpbmNsdWRlSWRzID0gdGhpcy5maW5kQXJyYXlPck51bGwoZmlsdGVyTWFwLCB0aGlzLmluY2x1ZGVRdWVyeUtleSk7XG4gICAgY29uc3QgZXhjbHVkZUlkcyA9IHRoaXMuZmluZEFycmF5T3JOdWxsKGZpbHRlck1hcCwgdGhpcy5leGNsdWRlUXVlcnlLZXkpO1xuXG4gICAgdGhpcy5pbmNsdWRlRXhjbHVkZU1vZGVsLnVwZGF0ZVN0YXRlcyhcbiAgICAgIFtcbiAgICAgICAgLi4udGhpcy5idWlsZFN0YXRlcyhpbmNsdWRlSWRzLCBJbmNsdWRlRXhjbHVkZVZhbHVlLklOQ0xVREUpLFxuICAgICAgICAuLi50aGlzLmJ1aWxkU3RhdGVzKGV4Y2x1ZGVJZHMsIEluY2x1ZGVFeGNsdWRlVmFsdWUuRVhDTFVERSlcbiAgICAgIF1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRvRmlsdGVycygpOiBGaWx0ZXJbXSB7XG4gICAgY29uc3QgaW5jbHVkZWRJZHMgPSB0aGlzLmluY2x1ZGVFeGNsdWRlTW9kZWwuZmluZEluY2x1ZGVkKCk7XG4gICAgY29uc3QgZXhjbHVkZWRJZHMgPSB0aGlzLmluY2x1ZGVFeGNsdWRlTW9kZWwuZmluZEV4Y2x1ZGVkKCk7XG4gICAgcmV0dXJuIFtcbiAgICAgIG5ldyBGaWx0ZXIodGhpcy5pbmNsdWRlUXVlcnlLZXksIHRoaXMubm9uRW1wdHlBcnJheU9yTnVsbChpbmNsdWRlZElkcykpLFxuICAgICAgbmV3IEZpbHRlcih0aGlzLmV4Y2x1ZGVRdWVyeUtleSwgdGhpcy5ub25FbXB0eUFycmF5T3JOdWxsKGV4Y2x1ZGVkSWRzKSlcbiAgICBdO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBub25FbXB0eUFycmF5T3JOdWxsKHZhbHVlOiBGaWx0ZXJWYWx1ZSk6IHN0cmluZ1tdIHwgbnVsbCB7XG4gICAgaWYgKEZpbHRlckNvbW1vbnMuaXNBcnJheUFuZE5vdEVtcHR5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlIGFzIHN0cmluZ1tdO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRTdGF0ZXMoaWRzOiBzdHJpbmdbXSB8IG51bGwsIHZhbHVlOiBJbmNsdWRlRXhjbHVkZVZhbHVlKTogSW5jbHVkZUV4Y2x1ZGVTdGF0ZVtdIHtcbiAgICByZXR1cm4gaWRzXG4gICAgICA/IGlkcy5tYXAoaWQgPT4gbmV3IEluY2x1ZGVFeGNsdWRlU3RhdGUoaWQsIHZhbHVlKSlcbiAgICAgIDogW107XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRGaWx0ZXJzVG9NYXAoZmlsdGVyczogRmlsdGVyW10pOiBNYXA8c3RyaW5nLCBGaWx0ZXJWYWx1ZT4ge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBGaWx0ZXJWYWx1ZT4oKTtcbiAgICBmaWx0ZXJzLmZvckVhY2goZmlsdGVyID0+IG1hcC5zZXQoZmlsdGVyLmtleSwgZmlsdGVyLnZhbHVlKSk7XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEFycmF5T3JOdWxsKHZhbHVlczogTWFwPHN0cmluZywgRmlsdGVyVmFsdWU+LCBrZXk6IHN0cmluZyk6IHN0cmluZ1tdIHwgbnVsbCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLm5vbkVtcHR5QXJyYXlPck51bGwodmFsdWVzLmdldChrZXkpKTtcbiAgICByZXR1cm4gdmFsdWUgPyB2YWx1ZSA6IG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,164 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { LoggerFactory } from '@elderbyte/ts-logger';
3
+ import { map } from 'rxjs/operators';
4
+ export class IncludeExcludeState {
5
+ constructor(id, mode) {
6
+ this.id = id;
7
+ this.mode = mode;
8
+ }
9
+ }
10
+ export var IncludeExcludeValue;
11
+ (function (IncludeExcludeValue) {
12
+ IncludeExcludeValue["NEUTRAL"] = "NEUTRAL";
13
+ IncludeExcludeValue["INCLUDE"] = "INCLUDE";
14
+ IncludeExcludeValue["EXCLUDE"] = "EXCLUDE";
15
+ })(IncludeExcludeValue || (IncludeExcludeValue = {}));
16
+ export class IncludeExcludeSelectionModel {
17
+ /***************************************************************************
18
+ * *
19
+ * Constructor *
20
+ * *
21
+ **************************************************************************/
22
+ constructor(strategy) {
23
+ /***************************************************************************
24
+ * *
25
+ * Fields *
26
+ * *
27
+ **************************************************************************/
28
+ this.log = LoggerFactory.getLogger(this.constructor.name);
29
+ this._defaultInitialValue = IncludeExcludeValue.INCLUDE;
30
+ this.stateById$ = new BehaviorSubject(new Map());
31
+ if (!strategy)
32
+ throw new Error('strategy is required!');
33
+ this._strategy = strategy;
34
+ }
35
+ /***************************************************************************
36
+ * *
37
+ * Properties *
38
+ * *
39
+ **************************************************************************/
40
+ get selection() {
41
+ return Array.from(this.stateById$.getValue().values());
42
+ }
43
+ get selection$() {
44
+ return this.stateById$.pipe(map(stateMap => Array.from(stateMap.values())));
45
+ }
46
+ get strategy() {
47
+ return this._strategy;
48
+ }
49
+ set strategy(strategy) {
50
+ this._strategy = strategy;
51
+ }
52
+ get defaultInitialValue() {
53
+ return this._defaultInitialValue;
54
+ }
55
+ set defaultInitialValue(strategy) {
56
+ this._defaultInitialValue = strategy;
57
+ }
58
+ /***************************************************************************
59
+ * *
60
+ * Public API *
61
+ * *
62
+ **************************************************************************/
63
+ findIncluded() {
64
+ return this.selection
65
+ .filter(s => s.mode === IncludeExcludeValue.INCLUDE)
66
+ .map(s => s.id);
67
+ }
68
+ findExcluded() {
69
+ return this.selection
70
+ .filter(s => s.mode === IncludeExcludeValue.EXCLUDE)
71
+ .map(s => s.id);
72
+ }
73
+ cycleExisting(id) {
74
+ const existingState = this.findStateById(id);
75
+ if (existingState) {
76
+ return this.updateState(id, this.nextValueByStrategy(existingState.mode));
77
+ }
78
+ else {
79
+ return null;
80
+ }
81
+ }
82
+ initTo(ids, initialValueOverride) {
83
+ const current = this.stateById$.getValue();
84
+ const newStates = new Map();
85
+ ids.forEach(id => {
86
+ if (current.has(id)) {
87
+ newStates.set(id, current.get(id));
88
+ }
89
+ else {
90
+ newStates.set(id, new IncludeExcludeState(id, initialValueOverride ?? this.defaultInitialValue));
91
+ }
92
+ });
93
+ this.stateById$.next(newStates);
94
+ }
95
+ clear() {
96
+ this.replaceSelection([]);
97
+ }
98
+ replaceSelection(newStates) {
99
+ this.stateById$.next(this.toStateMap(newStates));
100
+ }
101
+ updateState(id, mode) {
102
+ const map = this.stateById$.getValue();
103
+ const newState = new IncludeExcludeState(id, mode);
104
+ map.set(id, newState);
105
+ this.stateById$.next(map);
106
+ return newState;
107
+ }
108
+ updateStates(newStates) {
109
+ const current = this.stateById$.getValue();
110
+ newStates.forEach(newState => {
111
+ current.set(newState.id, newState);
112
+ });
113
+ this.stateById$.next(current);
114
+ }
115
+ isInMode(id, mode) {
116
+ return this.findStateById(id)?.mode == mode;
117
+ }
118
+ findStateById(searchedId) {
119
+ return this.stateById$.getValue().get(searchedId);
120
+ }
121
+ /***************************************************************************
122
+ * *
123
+ * Private methods *
124
+ * *
125
+ **************************************************************************/
126
+ nextValueByStrategy(current) {
127
+ switch (this._strategy) {
128
+ case 'FULL_CYCLE':
129
+ return this.nextValueFullCycle(current);
130
+ case 'TOGGLE':
131
+ return this.nextValueToggle(current);
132
+ default:
133
+ throw new Error('Unsupported cycle strategy: ' + this._strategy);
134
+ }
135
+ }
136
+ nextValueToggle(current) {
137
+ switch (current) {
138
+ case IncludeExcludeValue.NEUTRAL:
139
+ return IncludeExcludeValue.INCLUDE;
140
+ case IncludeExcludeValue.INCLUDE:
141
+ return IncludeExcludeValue.EXCLUDE;
142
+ case IncludeExcludeValue.EXCLUDE:
143
+ return IncludeExcludeValue.INCLUDE;
144
+ default:
145
+ return IncludeExcludeValue.INCLUDE;
146
+ }
147
+ }
148
+ nextValueFullCycle(current) {
149
+ switch (current) {
150
+ case IncludeExcludeValue.NEUTRAL:
151
+ return IncludeExcludeValue.INCLUDE;
152
+ case IncludeExcludeValue.INCLUDE:
153
+ return IncludeExcludeValue.EXCLUDE;
154
+ case IncludeExcludeValue.EXCLUDE:
155
+ return IncludeExcludeValue.NEUTRAL;
156
+ default:
157
+ return IncludeExcludeValue.NEUTRAL;
158
+ }
159
+ }
160
+ toStateMap(list) {
161
+ return new Map(list.map(entity => [entity.id, entity]));
162
+ }
163
+ }
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZS1leGNsdWRlLXNlbGVjdGlvbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2ZpbHRlci9pbmNsdWRlLWV4Y2x1ZGUtc2VsZWN0aW9uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ2tCLEVBQVUsRUFDbkIsSUFBeUI7UUFEaEIsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNuQixTQUFJLEdBQUosSUFBSSxDQUFxQjtJQUM5QixDQUFDO0NBQ047QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzdCLDBDQUFtQixDQUFBO0lBQ25CLDBDQUFtQixDQUFBO0lBQ25CLDBDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFKVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSTlCO0FBSUQsTUFBTSxPQUFPLDRCQUE0QjtJQWN2Qzs7OztnRkFJNEU7SUFFNUUsWUFDRSxRQUFxQztRQW5CdkM7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHOUQseUJBQW9CLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1FBQzFDLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBbUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBVzdGLElBQUcsQ0FBQyxRQUFRO1lBQUUsTUFBTSxJQUFJLEtBQUss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TyxVQUFVLENBQ2hCLElBQTJCO1FBRTNCLE9BQU8sSUFBSSxHQUFHLENBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUN4QyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgSW5jbHVkZUV4Y2x1ZGVTdGF0ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nLFxuICAgIHB1YmxpYyBtb2RlOiBJbmNsdWRlRXhjbHVkZVZhbHVlXG4gICkgeyB9XG59XG5cbmV4cG9ydCBlbnVtIEluY2x1ZGVFeGNsdWRlVmFsdWUge1xuICBORVVUUkFMID0gJ05FVVRSQUwnLFxuICBJTkNMVURFID0gJ0lOQ0xVREUnLFxuICBFWENMVURFID0gJ0VYQ0xVREUnXG59XG5cbmV4cG9ydCB0eXBlIEluY2x1ZGVFeGNsdWRlQ3ljbGVTdHJhdGVneSA9ICdUT0dHTEUnIHwgJ0ZVTExfQ1lDTEUnO1xuXG5leHBvcnQgY2xhc3MgSW5jbHVkZUV4Y2x1ZGVTZWxlY3Rpb25Nb2RlbCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX3N0cmF0ZWd5OiBJbmNsdWRlRXhjbHVkZUN5Y2xlU3RyYXRlZ3k7XG4gIHByaXZhdGUgX2RlZmF1bHRJbml0aWFsVmFsdWUgPSBJbmNsdWRlRXhjbHVkZVZhbHVlLklOQ0xVREU7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVCeUlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPHN0cmluZywgSW5jbHVkZUV4Y2x1ZGVTdGF0ZT4+KG5ldyBNYXAoKSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RyYXRlZ3k6IEluY2x1ZGVFeGNsdWRlQ3ljbGVTdHJhdGVneVxuICApIHtcbiAgICBpZighc3RyYXRlZ3kpIHRocm93IG5ldyBFcnJvcignc3RyYXRlZ3kgaXMgcmVxdWlyZWQhJyk7XG4gICAgdGhpcy5fc3RyYXRlZ3kgPSBzdHJhdGVneTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uKCk6IEluY2x1ZGVFeGNsdWRlU3RhdGVbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zdGF0ZUJ5SWQkLmdldFZhbHVlKCkudmFsdWVzKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3Rpb24kKCk6IE9ic2VydmFibGU8SW5jbHVkZUV4Y2x1ZGVTdGF0ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVCeUlkJC5waXBlKFxuICAgICAgbWFwKHN0YXRlTWFwID0+IEFycmF5LmZyb20oc3RhdGVNYXAudmFsdWVzKCkpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBzdHJhdGVneSgpOiBJbmNsdWRlRXhjbHVkZUN5Y2xlU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLl9zdHJhdGVneTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc3RyYXRlZ3koc3RyYXRlZ3k6IEluY2x1ZGVFeGNsdWRlQ3ljbGVTdHJhdGVneSkge1xuICAgIHRoaXMuX3N0cmF0ZWd5ID0gc3RyYXRlZ3k7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlZmF1bHRJbml0aWFsVmFsdWUoKTogSW5jbHVkZUV4Y2x1ZGVWYWx1ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRJbml0aWFsVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRlZmF1bHRJbml0aWFsVmFsdWUoc3RyYXRlZ3k6IEluY2x1ZGVFeGNsdWRlVmFsdWUpIHtcbiAgICB0aGlzLl9kZWZhdWx0SW5pdGlhbFZhbHVlID0gc3RyYXRlZ3k7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZmluZEluY2x1ZGVkKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25cbiAgICAgIC5maWx0ZXIocyA9PiBzLm1vZGUgPT09IEluY2x1ZGVFeGNsdWRlVmFsdWUuSU5DTFVERSlcbiAgICAgIC5tYXAocyA9PiBzLmlkKTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kRXhjbHVkZWQoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvblxuICAgICAgLmZpbHRlcihzID0+IHMubW9kZSA9PT0gSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5FWENMVURFKVxuICAgICAgLm1hcChzID0+IHMuaWQpO1xuICB9XG5cbiAgcHVibGljIGN5Y2xlRXhpc3RpbmcoaWQ6IHN0cmluZyk6IEluY2x1ZGVFeGNsdWRlU3RhdGUgfCBudWxsIHtcbiAgICBjb25zdCBleGlzdGluZ1N0YXRlID0gdGhpcy5maW5kU3RhdGVCeUlkKGlkKTtcbiAgICBpZiAoZXhpc3RpbmdTdGF0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlU3RhdGUoXG4gICAgICAgIGlkLFxuICAgICAgICB0aGlzLm5leHRWYWx1ZUJ5U3RyYXRlZ3koZXhpc3RpbmdTdGF0ZS5tb2RlKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRUbyhcbiAgICBpZHM6IHN0cmluZ1tdLFxuICAgIGluaXRpYWxWYWx1ZU92ZXJyaWRlPzogSW5jbHVkZUV4Y2x1ZGVWYWx1ZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zdGF0ZUJ5SWQkLmdldFZhbHVlKCk7XG4gICAgY29uc3QgbmV3U3RhdGVzID0gbmV3IE1hcDxzdHJpbmcsIEluY2x1ZGVFeGNsdWRlU3RhdGU+KCk7XG4gICAgaWRzLmZvckVhY2goaWQgPT4ge1xuICAgICAgaWYoY3VycmVudC5oYXMoaWQpKXtcbiAgICAgICAgbmV3U3RhdGVzLnNldChpZCwgY3VycmVudC5nZXQoaWQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1N0YXRlcy5zZXQoaWQsIG5ldyBJbmNsdWRlRXhjbHVkZVN0YXRlKGlkLCBpbml0aWFsVmFsdWVPdmVycmlkZSA/PyB0aGlzLmRlZmF1bHRJbml0aWFsVmFsdWUpKVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3RhdGVCeUlkJC5uZXh0KG5ld1N0YXRlcyk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZXBsYWNlU2VsZWN0aW9uKFtdKTtcbiAgfVxuXG4gIHB1YmxpYyByZXBsYWNlU2VsZWN0aW9uKFxuICAgIG5ld1N0YXRlczogSW5jbHVkZUV4Y2x1ZGVTdGF0ZVtdXG4gICk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVCeUlkJC5uZXh0KHRoaXMudG9TdGF0ZU1hcChuZXdTdGF0ZXMpKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVTdGF0ZShpZDogc3RyaW5nLCBtb2RlOiBJbmNsdWRlRXhjbHVkZVZhbHVlKTogSW5jbHVkZUV4Y2x1ZGVTdGF0ZSB7XG4gICAgIGNvbnN0IG1hcCA9IHRoaXMuc3RhdGVCeUlkJC5nZXRWYWx1ZSgpO1xuICAgICBjb25zdCBuZXdTdGF0ZSA9IG5ldyBJbmNsdWRlRXhjbHVkZVN0YXRlKGlkLCBtb2RlKTtcbiAgICAgbWFwLnNldChpZCwgbmV3U3RhdGUpO1xuICAgICB0aGlzLnN0YXRlQnlJZCQubmV4dChtYXApO1xuICAgICByZXR1cm4gbmV3U3RhdGU7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU3RhdGVzKFxuICAgIG5ld1N0YXRlczogSW5jbHVkZUV4Y2x1ZGVTdGF0ZVtdXG4gICk6IHZvaWR7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuc3RhdGVCeUlkJC5nZXRWYWx1ZSgpO1xuICAgIG5ld1N0YXRlcy5mb3JFYWNoKG5ld1N0YXRlID0+IHtcbiAgICAgIGN1cnJlbnQuc2V0KG5ld1N0YXRlLmlkLCBuZXdTdGF0ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5zdGF0ZUJ5SWQkLm5leHQoY3VycmVudCk7XG4gIH1cblxuICBwdWJsaWMgaXNJbk1vZGUoaWQ6IHN0cmluZywgbW9kZTogSW5jbHVkZUV4Y2x1ZGVWYWx1ZSk6IGJvb2xlYW57XG4gICAgcmV0dXJuIHRoaXMuZmluZFN0YXRlQnlJZChpZCk/Lm1vZGUgPT0gbW9kZTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kU3RhdGVCeUlkKHNlYXJjaGVkSWQ6IHN0cmluZyk6IEluY2x1ZGVFeGNsdWRlU3RhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZUJ5SWQkLmdldFZhbHVlKCkuZ2V0KHNlYXJjaGVkSWQpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuXG4gIHByaXZhdGUgbmV4dFZhbHVlQnlTdHJhdGVneShjdXJyZW50OiBJbmNsdWRlRXhjbHVkZVZhbHVlKTogSW5jbHVkZUV4Y2x1ZGVWYWx1ZSB7XG4gICAgc3dpdGNoICh0aGlzLl9zdHJhdGVneSl7XG4gICAgICBjYXNlICdGVUxMX0NZQ0xFJzpcbiAgICAgICAgcmV0dXJuIHRoaXMubmV4dFZhbHVlRnVsbEN5Y2xlKGN1cnJlbnQpO1xuICAgICAgY2FzZSAnVE9HR0xFJzpcbiAgICAgICAgcmV0dXJuIHRoaXMubmV4dFZhbHVlVG9nZ2xlKGN1cnJlbnQpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBjeWNsZSBzdHJhdGVneTogJyArIHRoaXMuX3N0cmF0ZWd5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5leHRWYWx1ZVRvZ2dsZShjdXJyZW50OiBJbmNsdWRlRXhjbHVkZVZhbHVlKTogSW5jbHVkZUV4Y2x1ZGVWYWx1ZSB7XG4gICAgc3dpdGNoIChjdXJyZW50KSB7XG4gICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlVmFsdWUuTkVVVFJBTDpcbiAgICAgICAgcmV0dXJuIEluY2x1ZGVFeGNsdWRlVmFsdWUuSU5DTFVERTtcbiAgICAgIGNhc2UgSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5JTkNMVURFOlxuICAgICAgICByZXR1cm4gSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5FWENMVURFO1xuICAgICAgY2FzZSBJbmNsdWRlRXhjbHVkZVZhbHVlLkVYQ0xVREU6XG4gICAgICAgIHJldHVybiBJbmNsdWRlRXhjbHVkZVZhbHVlLklOQ0xVREU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5JTkNMVURFO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmV4dFZhbHVlRnVsbEN5Y2xlKGN1cnJlbnQ6IEluY2x1ZGVFeGNsdWRlVmFsdWUpOiBJbmNsdWRlRXhjbHVkZVZhbHVlIHtcbiAgICBzd2l0Y2ggKGN1cnJlbnQpIHtcbiAgICAgIGNhc2UgSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5ORVVUUkFMOlxuICAgICAgICByZXR1cm4gSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5JTkNMVURFO1xuICAgICAgY2FzZSBJbmNsdWRlRXhjbHVkZVZhbHVlLklOQ0xVREU6XG4gICAgICAgIHJldHVybiBJbmNsdWRlRXhjbHVkZVZhbHVlLkVYQ0xVREU7XG4gICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlVmFsdWUuRVhDTFVERTpcbiAgICAgICAgcmV0dXJuIEluY2x1ZGVFeGNsdWRlVmFsdWUuTkVVVFJBTDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBJbmNsdWRlRXhjbHVkZVZhbHVlLk5FVVRSQUw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0b1N0YXRlTWFwKFxuICAgIGxpc3Q6IEluY2x1ZGVFeGNsdWRlU3RhdGVbXVxuICApOiBNYXA8c3RyaW5nLCBJbmNsdWRlRXhjbHVkZVN0YXRlPiB7XG4gICAgcmV0dXJuIG5ldyBNYXAoXG4gICAgICBsaXN0Lm1hcChlbnRpdHkgPT4gW2VudGl0eS5pZCwgZW50aXR5XSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -3,10 +3,10 @@ import * as i0 from "@angular/core";
3
3
  export class ElderSelectOptionComponent {
4
4
  constructor() {
5
5
  }
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderSelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ElderSelectOptionComponent, isStandalone: true, selector: "elder-select-option", inputs: { value: "value", label: "label" }, ngImport: i0, template: "", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderSelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ElderSelectOptionComponent, isStandalone: true, selector: "elder-select-option", inputs: { value: "value", label: "label" }, ngImport: i0, template: "", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderSelectOptionComponent, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderSelectOptionComponent, decorators: [{
10
10
  type: Component,
11
11
  args: [{ selector: 'elder-select-option', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "" }]
12
12
  }], ctorParameters: () => [], propDecorators: { value: [{
@@ -14,4 +14,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
14
14
  }], label: [{
15
15
  type: Input
16
16
  }] } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1jaGlwLXNlbGVjdC1vcHRpb24vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1jaGlwLXNlbGVjdC1vcHRpb24vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFTeEUsTUFBTSxPQUFPLDBCQUEwQjtJQVFyQztJQUNBLENBQUM7K0dBVFUsMEJBQTBCO21HQUExQiwwQkFBMEIsMkhDVHZDLEVBQUE7OzRGRFNhLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJO3dEQUtYLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlbGRlci1zZWxlY3Qtb3B0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2VsZGVyLXNlbGVjdC1vcHRpb24uY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnQ8VEVudGl0eT4ge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWx1ZTogVEVudGl0eTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cbn1cbiIsIiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1jaGlwLXNlbGVjdC1vcHRpb24vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9tdWx0aS9lbGRlci1jaGlwLXNlbGVjdC1vcHRpb24vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFTeEUsTUFBTSxPQUFPLDBCQUEwQjtJQVFyQztJQUNBLENBQUM7OEdBVFUsMEJBQTBCO2tHQUExQiwwQkFBMEIsMkhDVHZDLEVBQUE7OzJGRFNhLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJO3dEQUtYLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlbGRlci1zZWxlY3Qtb3B0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2VsZGVyLXNlbGVjdC1vcHRpb24uY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWxlY3RPcHRpb25Db21wb25lbnQ8VEVudGl0eT4ge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWx1ZTogVEVudGl0eTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cbn1cbiIsIiJdfQ==