@elderbyte/ngx-starter 14.12.0-beta6 → 14.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1360) hide show
  1. package/esm2020/elderbyte-ngx-starter.mjs +5 -0
  2. package/esm2020/lib/common/async/public_api.mjs +2 -0
  3. package/esm2020/lib/common/async/refreshing-entity.mjs +86 -0
  4. package/esm2020/lib/common/csv/csv-serializer.mjs +55 -0
  5. package/esm2020/lib/common/csv/csv-spec.mjs +99 -0
  6. package/esm2020/lib/common/csv/public_api.mjs +3 -0
  7. package/esm2020/lib/common/data/continuable-listing.mjs +10 -0
  8. package/esm2020/lib/common/data/data-context/data-context-active-page.mjs +130 -0
  9. package/esm2020/lib/common/data/data-context/data-context-auto-starter.mjs +74 -0
  10. package/esm2020/lib/common/data/data-context/data-context-base.mjs +283 -0
  11. package/esm2020/lib/common/data/data-context/data-context-builder.mjs +246 -0
  12. package/esm2020/lib/common/data/data-context/data-context-continuable-base.mjs +69 -0
  13. package/esm2020/lib/common/data/data-context/data-context-continuable-paged.mjs +143 -0
  14. package/esm2020/lib/common/data/data-context/data-context-continuable-token.mjs +136 -0
  15. package/esm2020/lib/common/data/data-context/data-context-life-cycle-binding.mjs +30 -0
  16. package/esm2020/lib/common/data/data-context/data-context-simple.mjs +59 -0
  17. package/esm2020/lib/common/data/data-context/data-context-source-auto-reloader.mjs +12 -0
  18. package/esm2020/lib/common/data/data-context/data-context-status.mjs +46 -0
  19. package/esm2020/lib/common/data/data-context/data-context.mjs +30 -0
  20. package/esm2020/lib/common/data/data-context/mat-table-data-context-binding.mjs +139 -0
  21. package/esm2020/lib/common/data/data-context/public_api.mjs +14 -0
  22. package/esm2020/lib/common/data/datasource/data-source-adapter.mjs +55 -0
  23. package/esm2020/lib/common/data/datasource/data-source-processor.mjs +199 -0
  24. package/esm2020/lib/common/data/datasource/data-source.mjs +23 -0
  25. package/esm2020/lib/common/data/datasource/entity-id-util.mjs +11 -0
  26. package/esm2020/lib/common/data/datasource/fetcher/delegate-data-source.mjs +127 -0
  27. package/esm2020/lib/common/data/datasource/local/local-list-data-source.mjs +102 -0
  28. package/esm2020/lib/common/data/datasource/local/local-paged-data-source.mjs +73 -0
  29. package/esm2020/lib/common/data/datasource/public_api.mjs +8 -0
  30. package/esm2020/lib/common/data/datasource/rest/public_api.mjs +2 -0
  31. package/esm2020/lib/common/data/datasource/rest/rest-client.mjs +294 -0
  32. package/esm2020/lib/common/data/entity-set-patch.mjs +164 -0
  33. package/esm2020/lib/common/data/field-comparator.mjs +99 -0
  34. package/esm2020/lib/common/data/filters/filter-context.mjs +141 -0
  35. package/esm2020/lib/common/data/filters/filter.mjs +109 -0
  36. package/esm2020/lib/common/data/http-params-builder.mjs +110 -0
  37. package/esm2020/lib/common/data/page.mjs +58 -0
  38. package/esm2020/lib/common/data/public_api.mjs +12 -0
  39. package/esm2020/lib/common/data/required-filter-evaluator.mjs +70 -0
  40. package/esm2020/lib/common/data/sort-context.mjs +75 -0
  41. package/esm2020/lib/common/data/sort.mjs +11 -0
  42. package/esm2020/lib/common/data/token-chunk-request.mjs +8 -0
  43. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +81 -0
  44. package/esm2020/lib/common/enums/public_api.mjs +2 -0
  45. package/esm2020/lib/common/errors/exception-detail.mjs +2 -0
  46. package/esm2020/lib/common/errors/public_api.mjs +3 -0
  47. package/esm2020/lib/common/errors/standard-error-detail.mjs +2 -0
  48. package/esm2020/lib/common/format/bytes-format.mjs +22 -0
  49. package/esm2020/lib/common/format/bytes-per-second-format.mjs +41 -0
  50. package/esm2020/lib/common/format/public_api.mjs +3 -0
  51. package/esm2020/lib/common/forms/elder-entity-value-accessor.mjs +22 -0
  52. package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +178 -0
  53. package/esm2020/lib/common/forms/elder-from-field-base.mjs +94 -0
  54. package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +39 -0
  55. package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +47 -0
  56. package/esm2020/lib/common/forms/elder-multi-entity-value-accessor.mjs +22 -0
  57. package/esm2020/lib/common/forms/form-field-base.component.mjs +106 -0
  58. package/esm2020/lib/common/forms/multi-model-base.component.mjs +32 -0
  59. package/esm2020/lib/common/forms/public_api.mjs +12 -0
  60. package/esm2020/lib/common/forms/template-composite-control.mjs +133 -0
  61. package/esm2020/lib/common/forms/value-accessor-base.mjs +146 -0
  62. package/esm2020/lib/common/forms/view-providers.mjs +30 -0
  63. package/esm2020/lib/common/http/http-client-builder.service.mjs +14 -0
  64. package/esm2020/lib/common/http/http-client-pristine.mjs +21 -0
  65. package/esm2020/lib/common/http/public_api.mjs +5 -0
  66. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +95 -0
  67. package/esm2020/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +49 -0
  68. package/esm2020/lib/common/http/transfer/data-transfer-progress.mjs +17 -0
  69. package/esm2020/lib/common/http/transfer/data-transfer-state.mjs +82 -0
  70. package/esm2020/lib/common/http/transfer/data-transfer-status.mjs +24 -0
  71. package/esm2020/lib/common/http/transfer/http-data-transfer.mjs +180 -0
  72. package/esm2020/lib/common/http/transfer/public_api.mjs +7 -0
  73. package/esm2020/lib/common/http/upload/file-upload-client.mjs +42 -0
  74. package/esm2020/lib/common/i18n/entity/impl/i18n-base.mjs +6 -0
  75. package/esm2020/lib/common/i18n/entity/impl/i18n-text.mjs +16 -0
  76. package/esm2020/lib/common/i18n/entity/language-tag.mjs +12 -0
  77. package/esm2020/lib/common/i18n/entity/locale.mjs +12 -0
  78. package/esm2020/lib/common/i18n/entity/localisation-picker.mjs +30 -0
  79. package/esm2020/lib/common/i18n/entity/localized.mjs +2 -0
  80. package/esm2020/lib/common/i18n/entity/public_api.mjs +6 -0
  81. package/esm2020/lib/common/i18n/public_api.mjs +2 -0
  82. package/esm2020/lib/common/json-map.mjs +18 -0
  83. package/esm2020/lib/common/objects.mjs +41 -0
  84. package/esm2020/lib/common/public_api.mjs +19 -0
  85. package/esm2020/lib/common/reactive-map.mjs +69 -0
  86. package/esm2020/lib/common/selection/public_api.mjs +2 -0
  87. package/esm2020/lib/common/selection/selection-model.mjs +212 -0
  88. package/esm2020/lib/common/sets.mjs +44 -0
  89. package/esm2020/lib/common/suggestion-provider.mjs +12 -0
  90. package/esm2020/lib/common/templates/template-slot-manager.mjs +135 -0
  91. package/esm2020/lib/common/time/date-util.mjs +93 -0
  92. package/esm2020/lib/common/time/interval.mjs +419 -0
  93. package/esm2020/lib/common/time/period-duration.mjs +130 -0
  94. package/esm2020/lib/common/time/public_api.mjs +5 -0
  95. package/esm2020/lib/common/time/time-util.mjs +41 -0
  96. package/esm2020/lib/common/url/elder-router.service.mjs +54 -0
  97. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +119 -0
  98. package/esm2020/lib/common/url/public_api.mjs +4 -0
  99. package/esm2020/lib/common/url/url-query-params.mjs +133 -0
  100. package/esm2020/lib/common/utils/batcher.mjs +35 -0
  101. package/esm2020/lib/common/utils/collection-util.mjs +109 -0
  102. package/esm2020/lib/common/utils/filter-util.mjs +52 -0
  103. package/esm2020/lib/common/utils/next-number-util.mjs +88 -0
  104. package/esm2020/lib/common/utils/ng-zone-utils.mjs +16 -0
  105. package/esm2020/lib/common/utils/parse-util.mjs +16 -0
  106. package/esm2020/lib/common/utils/property-path-util.mjs +28 -0
  107. package/esm2020/lib/common/utils/public_api.mjs +12 -0
  108. package/esm2020/lib/common/utils/query-list-binding.mjs +67 -0
  109. package/esm2020/lib/common/utils/sort-util.mjs +30 -0
  110. package/esm2020/lib/common/utils/url-builder.mjs +275 -0
  111. package/esm2020/lib/common/utils/uuid-util.mjs +29 -0
  112. package/esm2020/lib/common/utils/value-wrapper.mjs +19 -0
  113. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +16 -0
  114. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +30 -0
  115. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +39 -0
  116. package/esm2020/lib/components/auditing/elder-audit.module.mjs +42 -0
  117. package/esm2020/lib/components/auditing/i-audited-entity.mjs +3 -0
  118. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +15 -0
  119. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +35 -0
  120. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +123 -0
  121. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +15 -0
  122. package/esm2020/lib/components/card-organizer/card-organizer-data.mjs +93 -0
  123. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +205 -0
  124. package/esm2020/lib/components/card-organizer/card-stack.mjs +176 -0
  125. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +49 -0
  126. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +17 -0
  127. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +156 -0
  128. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +65 -0
  129. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +56 -0
  130. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +63 -0
  131. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +46 -0
  132. package/esm2020/lib/components/connectivity/public_api.mjs +3 -0
  133. package/esm2020/lib/components/containers/elder-containers.module.mjs +25 -0
  134. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +24 -0
  135. package/esm2020/lib/components/containers/public_api.mjs +2 -0
  136. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +77 -0
  137. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.mjs +40 -0
  138. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +38 -0
  139. package/esm2020/lib/components/csv/elder-csv-stream-exporter.mjs +114 -0
  140. package/esm2020/lib/components/csv/elder-csv.module.mjs +37 -0
  141. package/esm2020/lib/components/currency/elder-currency.module.mjs +24 -0
  142. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +33 -0
  143. package/esm2020/lib/components/currency/model/currency-code.mjs +38 -0
  144. package/esm2020/lib/components/currency/model/currency-unit-registry.mjs +30 -0
  145. package/esm2020/lib/components/currency/model/currency-unit.mjs +10 -0
  146. package/esm2020/lib/components/currency/model/currency.mjs +15 -0
  147. package/esm2020/lib/components/currency/public_api.mjs +7 -0
  148. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +75 -0
  149. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +89 -0
  150. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +67 -0
  151. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +34 -0
  152. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +47 -0
  153. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +32 -0
  154. package/esm2020/lib/components/data-view/base/data-view-options-provider-binding.mjs +67 -0
  155. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +259 -0
  156. package/esm2020/lib/components/data-view/base/elder-data-view-options-provider.mjs +44 -0
  157. package/esm2020/lib/components/data-view/base/elder-data-view-options.mjs +45 -0
  158. package/esm2020/lib/components/data-view/base/elder-data-view.mjs +3 -0
  159. package/esm2020/lib/components/data-view/base/public_api.mjs +6 -0
  160. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +45 -0
  161. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +89 -0
  162. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +149 -0
  163. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +89 -0
  164. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +98 -0
  165. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +37 -0
  166. package/esm2020/lib/components/data-view/common/selection/master-selection-state.mjs +10 -0
  167. package/esm2020/lib/components/data-view/elder-data-view-interaction-mode.mjs +2 -0
  168. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +306 -0
  169. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +81 -0
  170. package/esm2020/lib/components/data-view/public_api.mjs +6 -0
  171. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +19 -0
  172. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +78 -0
  173. package/esm2020/lib/components/data-view/table/activation/elder-item-activator.mjs +2 -0
  174. package/esm2020/lib/components/data-view/table/activation/elder-table-activation-options.mjs +2 -0
  175. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +261 -0
  176. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +29 -0
  177. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +72 -0
  178. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +18 -0
  179. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +321 -0
  180. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +17 -0
  181. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +96 -0
  182. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +29 -0
  183. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +136 -0
  184. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +20 -0
  185. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +141 -0
  186. package/esm2020/lib/components/data-view/table/model/elder-column-layout.mjs +110 -0
  187. package/esm2020/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +81 -0
  188. package/esm2020/lib/components/data-view/table/model/elder-table-model-provider.mjs +40 -0
  189. package/esm2020/lib/components/data-view/table/model/elder-table-model-query-group.mjs +87 -0
  190. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +165 -0
  191. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +25 -0
  192. package/esm2020/lib/components/dialogs/elder-dialog-config.mjs +3 -0
  193. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +84 -0
  194. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +168 -0
  195. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +43 -0
  196. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +43 -0
  197. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +46 -0
  198. package/esm2020/lib/components/errors/elder-error.module.mjs +41 -0
  199. package/esm2020/lib/components/errors/error-util.mjs +94 -0
  200. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +66 -0
  201. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +55 -0
  202. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +27 -0
  203. package/esm2020/lib/components/files/blob-url.mjs +10 -0
  204. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +225 -0
  205. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +109 -0
  206. package/esm2020/lib/components/files/elder-file-select.directive.mjs +143 -0
  207. package/esm2020/lib/components/files/elder-file.module.mjs +67 -0
  208. package/esm2020/lib/components/files/file-select/file-select.component.mjs +55 -0
  209. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +74 -0
  210. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +51 -0
  211. package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +34 -0
  212. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +35 -0
  213. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +42 -0
  214. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +34 -0
  215. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +82 -0
  216. package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +34 -0
  217. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +34 -0
  218. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +159 -0
  219. package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +77 -0
  220. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +111 -0
  221. package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +39 -0
  222. package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +39 -0
  223. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +101 -0
  224. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +36 -0
  225. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +29 -0
  226. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +157 -0
  227. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +27 -0
  228. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +120 -0
  229. package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +57 -0
  230. package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +68 -0
  231. package/esm2020/lib/components/forms/elder-forms.module.mjs +22 -0
  232. package/esm2020/lib/components/forms/public_api.mjs +2 -0
  233. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +146 -0
  234. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +185 -0
  235. package/esm2020/lib/components/forms/search/elder-search.module.mjs +66 -0
  236. package/esm2020/lib/components/forms/search/model/search-input-state.mjs +78 -0
  237. package/esm2020/lib/components/forms/search/model/search-input.mjs +2 -0
  238. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +123 -0
  239. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +16 -0
  240. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +126 -0
  241. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +32 -0
  242. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +93 -0
  243. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +90 -0
  244. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +26 -0
  245. package/esm2020/lib/components/graph/elder-progress-bar/sub-bar.mjs +7 -0
  246. package/esm2020/lib/components/graph/public_api.mjs +2 -0
  247. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +28 -0
  248. package/esm2020/lib/components/headers/elder-header.module.mjs +43 -0
  249. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +68 -0
  250. package/esm2020/lib/components/http-support/public_api.mjs +2 -0
  251. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +119 -0
  252. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +135 -0
  253. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +28 -0
  254. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +30 -0
  255. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +151 -0
  256. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +28 -0
  257. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +56 -0
  258. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +39 -0
  259. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +30 -0
  260. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +74 -0
  261. package/esm2020/lib/components/i18n/language/elder-language-config.mjs +3 -0
  262. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +69 -0
  263. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +72 -0
  264. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +121 -0
  265. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +65 -0
  266. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +53 -0
  267. package/esm2020/lib/components/i18n/public_api.mjs +4 -0
  268. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +127 -0
  269. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +136 -0
  270. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +95 -0
  271. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +41 -0
  272. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +51 -0
  273. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +126 -0
  274. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +78 -0
  275. package/esm2020/lib/components/iframes/iframe.service.mjs +48 -0
  276. package/esm2020/lib/components/iframes/typed-event-message.mjs +42 -0
  277. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +61 -0
  278. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +157 -0
  279. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +40 -0
  280. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +9 -0
  281. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +186 -0
  282. package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +197 -0
  283. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +114 -0
  284. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +58 -0
  285. package/esm2020/lib/components/input/autocomplete/many/word-position-finder.mjs +58 -0
  286. package/esm2020/lib/components/input/public_api.mjs +2 -0
  287. package/esm2020/lib/components/labels/elder-labels.module.mjs +30 -0
  288. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +230 -0
  289. package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +229 -0
  290. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +64 -0
  291. package/esm2020/lib/components/measures/elder-measures.module.mjs +116 -0
  292. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +41 -0
  293. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +73 -0
  294. package/esm2020/lib/components/measures/elder-unit.service.mjs +115 -0
  295. package/esm2020/lib/components/measures/model/dimensions.mjs +17 -0
  296. package/esm2020/lib/components/measures/model/quantity.mjs +12 -0
  297. package/esm2020/lib/components/measures/model/unit-dimension.mjs +14 -0
  298. package/esm2020/lib/components/measures/model/unit-registry.mjs +81 -0
  299. package/esm2020/lib/components/measures/model/unit.mjs +143 -0
  300. package/esm2020/lib/components/measures/public_api.mjs +8 -0
  301. package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +189 -0
  302. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +237 -0
  303. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +164 -0
  304. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +55 -0
  305. package/esm2020/lib/components/navigation/bread-crumbs/path/path.mjs +37 -0
  306. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +51 -0
  307. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +93 -0
  308. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +64 -0
  309. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +12 -0
  310. package/esm2020/lib/components/navigation/public_api.mjs +4 -0
  311. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +46 -0
  312. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +76 -0
  313. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +68 -0
  314. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +66 -0
  315. package/esm2020/lib/components/navigation/toolbar/toolbar-column-position.mjs +2 -0
  316. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +39 -0
  317. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +85 -0
  318. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +43 -0
  319. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +72 -0
  320. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +204 -0
  321. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +41 -0
  322. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +12 -0
  323. package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +12 -0
  324. package/esm2020/lib/components/panels/elder-panel.module.mjs +38 -0
  325. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +26 -0
  326. package/esm2020/lib/components/public_api.mjs +40 -0
  327. package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +77 -0
  328. package/esm2020/lib/components/select/auto/elder-select-first-util.mjs +62 -0
  329. package/esm2020/lib/components/select/elder-select-base.mjs +284 -0
  330. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +45 -0
  331. package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +133 -0
  332. package/esm2020/lib/components/select/elder-select-value.directive.mjs +15 -0
  333. package/esm2020/lib/components/select/elder-select.module.mjs +133 -0
  334. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +356 -0
  335. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +237 -0
  336. package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +67 -0
  337. package/esm2020/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +86 -0
  338. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +126 -0
  339. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +47 -0
  340. package/esm2020/lib/components/select/public_api.mjs +6 -0
  341. package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +57 -0
  342. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +442 -0
  343. package/esm2020/lib/components/select/single/elder-select-form-field.mjs +45 -0
  344. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +152 -0
  345. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +48 -0
  346. package/esm2020/lib/components/select-list/elder-select-list.module.mjs +36 -0
  347. package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +75 -0
  348. package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +118 -0
  349. package/esm2020/lib/components/shell/drawers/drawer-outlet-binding.mjs +60 -0
  350. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +117 -0
  351. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +128 -0
  352. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +46 -0
  353. package/esm2020/lib/components/shell/elder-shell.module.mjs +90 -0
  354. package/esm2020/lib/components/shell/elder-shell.service.mjs +145 -0
  355. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +73 -0
  356. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +206 -0
  357. package/esm2020/lib/components/shell/shell-content-slot.mjs +2 -0
  358. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +137 -0
  359. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +25 -0
  360. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +256 -0
  361. package/esm2020/lib/components/tabs/elder-tab.module.mjs +32 -0
  362. package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +62 -0
  363. package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +74 -0
  364. package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +72 -0
  365. package/esm2020/lib/components/theme/elder-theme.directive.mjs +61 -0
  366. package/esm2020/lib/components/theme/elder-theme.module.mjs +74 -0
  367. package/esm2020/lib/components/theme/elder-theme.service.mjs +123 -0
  368. package/esm2020/lib/components/theme/known-elder-themes.mjs +6 -0
  369. package/esm2020/lib/components/theme/public_api.mjs +2 -0
  370. package/esm2020/lib/components/theme/theme-spec.mjs +15 -0
  371. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +23 -0
  372. package/esm2020/lib/components/time/duration/duration-bucket.mjs +67 -0
  373. package/esm2020/lib/components/time/duration/duration-format.mjs +271 -0
  374. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +109 -0
  375. package/esm2020/lib/components/time/duration/iso-duration-str.mjs +2 -0
  376. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +100 -0
  377. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +79 -0
  378. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +126 -0
  379. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +189 -0
  380. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +84 -0
  381. package/esm2020/lib/components/time/elder-time.module.mjs +133 -0
  382. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +119 -0
  383. package/esm2020/lib/components/time/period/period-bucket.mjs +31 -0
  384. package/esm2020/lib/components/time/period/period-format.mjs +89 -0
  385. package/esm2020/lib/components/time/public_api.mjs +8 -0
  386. package/esm2020/lib/components/toasts/elder-toast.module.mjs +22 -0
  387. package/esm2020/lib/components/toasts/elder-toast.service.mjs +197 -0
  388. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +73 -0
  389. package/esm2020/lib/components/toasts/toast-type.mjs +7 -0
  390. package/esm2020/lib/components/toasts/toast.mjs +2 -0
  391. package/esm2020/lib/components/url-fragment/elder-url-fragment.mjs +9 -0
  392. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +54 -0
  393. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +84 -0
  394. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +65 -0
  395. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +25 -0
  396. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +56 -0
  397. package/esm2020/lib/features/event-source/public_api.mjs +3 -0
  398. package/esm2020/lib/features/event-source/reactive-event-source.mjs +198 -0
  399. package/esm2020/lib/features/kafent/access-token-provider.mjs +20 -0
  400. package/esm2020/lib/features/kafent/kafent-config.mjs +24 -0
  401. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +25 -0
  402. package/esm2020/lib/features/kafent/kafent-event.mjs +3 -0
  403. package/esm2020/lib/features/kafent/kafent-event.service.mjs +107 -0
  404. package/esm2020/lib/features/kafent/kafent-live-event-request.mjs +2 -0
  405. package/esm2020/lib/features/kafent/kafent.module.mjs +61 -0
  406. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +128 -0
  407. package/esm2020/lib/features/kafent/sse/kafent-topic-sse.mjs +98 -0
  408. package/esm2020/lib/features/public_api.mjs +3 -0
  409. package/esm2020/lib/pipes/bytes.pipe.mjs +24 -0
  410. package/esm2020/lib/pipes/elder-pipes.module.mjs +67 -0
  411. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +21 -0
  412. package/esm2020/lib/pipes/elder-round.pipe.mjs +35 -0
  413. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +20 -0
  414. package/esm2020/lib/pipes/elder-truncate.pipe.mjs +40 -0
  415. package/esm2020/lib/pipes/iso-duration.pipe.mjs +58 -0
  416. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +49 -0
  417. package/esm2020/lib/pipes/iso-interval.pipe.mjs +109 -0
  418. package/esm2020/lib/pipes/public_api.mjs +2 -0
  419. package/esm2020/lib/pipes/time-ago.pipe.mjs +104 -0
  420. package/esm2020/lib/pipes/time-duration.pipe.mjs +98 -0
  421. package/esm2020/lib/pipes/weight.pipe.mjs +56 -0
  422. package/esm2020/public_api.mjs +8 -0
  423. package/fesm2015/elderbyte-ngx-starter.mjs +27485 -0
  424. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -0
  425. package/fesm2020/elderbyte-ngx-starter.mjs +27371 -0
  426. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -0
  427. package/index.d.ts +5 -0
  428. package/lib/common/async/public_api.d.ts +1 -0
  429. package/lib/common/async/refreshing-entity.d.ts +55 -0
  430. package/lib/common/csv/csv-serializer.d.ts +33 -0
  431. package/lib/common/csv/csv-spec.d.ts +71 -0
  432. package/lib/common/csv/public_api.d.ts +2 -0
  433. package/lib/common/data/continuable-listing.d.ts +28 -0
  434. package/lib/common/data/data-context/data-context-active-page.d.ts +75 -0
  435. package/lib/common/data/data-context/data-context-auto-starter.d.ts +41 -0
  436. package/lib/common/data/data-context/data-context-base.d.ts +149 -0
  437. package/lib/common/data/data-context/data-context-builder.d.ts +142 -0
  438. package/lib/common/data/data-context/data-context-continuable-base.d.ts +43 -0
  439. package/lib/common/data/data-context/data-context-continuable-paged.d.ts +58 -0
  440. package/lib/common/data/data-context/data-context-continuable-token.d.ts +48 -0
  441. package/lib/common/data/data-context/data-context-life-cycle-binding.d.ts +33 -0
  442. package/lib/common/data/data-context/data-context-simple.d.ts +30 -0
  443. package/lib/common/data/data-context/data-context-source-auto-reloader.d.ts +8 -0
  444. package/lib/common/data/data-context/data-context-status.d.ts +30 -0
  445. package/lib/common/data/data-context/data-context.d.ts +154 -0
  446. package/lib/common/data/data-context/mat-table-data-context-binding.d.ts +60 -0
  447. package/lib/common/data/data-context/public_api.d.ts +13 -0
  448. package/lib/common/data/datasource/data-source-adapter.d.ts +39 -0
  449. package/lib/common/data/datasource/data-source-processor.d.ts +106 -0
  450. package/lib/common/data/datasource/data-source.d.ts +58 -0
  451. package/lib/common/data/datasource/entity-id-util.d.ts +3 -0
  452. package/lib/common/data/datasource/fetcher/delegate-data-source.d.ts +84 -0
  453. package/lib/common/data/datasource/local/local-list-data-source.d.ts +61 -0
  454. package/lib/common/data/datasource/local/local-paged-data-source.d.ts +49 -0
  455. package/lib/common/data/datasource/public_api.d.ts +7 -0
  456. package/lib/common/data/datasource/rest/public_api.d.ts +1 -0
  457. package/lib/common/data/datasource/rest/rest-client.d.ts +162 -0
  458. package/lib/common/data/entity-set-patch.d.ts +74 -0
  459. package/lib/common/data/field-comparator.d.ts +43 -0
  460. package/lib/common/data/filters/filter-context.d.ts +63 -0
  461. package/lib/common/data/filters/filter.d.ts +52 -0
  462. package/lib/common/data/http-params-builder.d.ts +45 -0
  463. package/lib/common/data/page.d.ts +41 -0
  464. package/lib/common/data/public_api.d.ts +11 -0
  465. package/lib/common/data/required-filter-evaluator.d.ts +46 -0
  466. package/lib/common/data/sort-context.d.ts +42 -0
  467. package/lib/common/data/sort.d.ts +8 -0
  468. package/lib/common/data/token-chunk-request.d.ts +8 -0
  469. package/lib/common/enums/elder-enum-translation.service.d.ts +52 -0
  470. package/lib/common/enums/public_api.d.ts +1 -0
  471. package/lib/common/errors/exception-detail.d.ts +5 -0
  472. package/{src/lib/common/errors/public_api.ts → lib/common/errors/public_api.d.ts} +0 -0
  473. package/lib/common/errors/standard-error-detail.d.ts +22 -0
  474. package/lib/common/format/bytes-format.d.ts +4 -0
  475. package/lib/common/format/bytes-per-second-format.d.ts +5 -0
  476. package/{src/lib/common/format/public_api.ts → lib/common/format/public_api.d.ts} +0 -0
  477. package/lib/common/forms/elder-entity-value-accessor.d.ts +42 -0
  478. package/lib/common/forms/elder-form-field-control-base.directive.d.ts +103 -0
  479. package/lib/common/forms/elder-from-field-base.d.ts +52 -0
  480. package/lib/common/forms/elder-from-field-entity-base.d.ts +31 -0
  481. package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +35 -0
  482. package/lib/common/forms/elder-multi-entity-value-accessor.d.ts +52 -0
  483. package/lib/common/forms/form-field-base.component.d.ts +74 -0
  484. package/lib/common/forms/multi-model-base.component.d.ts +23 -0
  485. package/lib/common/forms/public_api.d.ts +11 -0
  486. package/lib/common/forms/template-composite-control.d.ts +64 -0
  487. package/lib/common/forms/value-accessor-base.d.ts +98 -0
  488. package/lib/common/forms/view-providers.d.ts +23 -0
  489. package/lib/common/http/http-client-builder.service.d.ts +6 -0
  490. package/lib/common/http/http-client-pristine.d.ts +10 -0
  491. package/lib/common/http/public_api.d.ts +4 -0
  492. package/lib/common/http/transfer/data-transfer-factory.d.ts +70 -0
  493. package/lib/common/http/transfer/data-transfer-progress-aggregate.d.ts +27 -0
  494. package/lib/common/http/transfer/data-transfer-progress.d.ts +13 -0
  495. package/lib/common/http/transfer/data-transfer-state.d.ts +52 -0
  496. package/lib/common/http/transfer/data-transfer-status.d.ts +22 -0
  497. package/lib/common/http/transfer/http-data-transfer.d.ts +96 -0
  498. package/lib/common/http/transfer/public_api.d.ts +6 -0
  499. package/lib/common/http/upload/file-upload-client.d.ts +38 -0
  500. package/lib/common/i18n/entity/impl/i18n-base.d.ts +6 -0
  501. package/lib/common/i18n/entity/impl/i18n-text.d.ts +11 -0
  502. package/lib/common/i18n/entity/language-tag.d.ts +15 -0
  503. package/lib/common/i18n/entity/locale.d.ts +8 -0
  504. package/lib/common/i18n/entity/localisation-picker.d.ts +14 -0
  505. package/lib/common/i18n/entity/localized.d.ts +10 -0
  506. package/lib/common/i18n/entity/public_api.d.ts +5 -0
  507. package/lib/common/i18n/public_api.d.ts +1 -0
  508. package/lib/common/json-map.d.ts +7 -0
  509. package/lib/common/objects.d.ts +19 -0
  510. package/lib/common/public_api.d.ts +18 -0
  511. package/lib/common/reactive-map.d.ts +40 -0
  512. package/{src/lib/common/selection/public_api.ts → lib/common/selection/public_api.d.ts} +0 -0
  513. package/lib/common/selection/selection-model.d.ts +82 -0
  514. package/lib/common/sets.d.ts +20 -0
  515. package/lib/common/suggestion-provider.d.ts +13 -0
  516. package/lib/common/templates/template-slot-manager.d.ts +70 -0
  517. package/lib/common/time/date-util.d.ts +54 -0
  518. package/lib/common/time/interval.d.ts +287 -0
  519. package/lib/common/time/period-duration.d.ts +84 -0
  520. package/lib/common/time/public_api.d.ts +4 -0
  521. package/lib/common/time/time-util.d.ts +15 -0
  522. package/lib/common/url/elder-router.service.d.ts +36 -0
  523. package/lib/common/url/elder-url-fragment-params.service.d.ts +62 -0
  524. package/lib/common/url/public_api.d.ts +3 -0
  525. package/lib/common/url/url-query-params.d.ts +96 -0
  526. package/lib/common/utils/batcher.d.ts +14 -0
  527. package/lib/common/utils/collection-util.d.ts +35 -0
  528. package/lib/common/utils/filter-util.d.ts +7 -0
  529. package/lib/common/utils/next-number-util.d.ts +39 -0
  530. package/lib/common/utils/ng-zone-utils.d.ts +7 -0
  531. package/lib/common/utils/parse-util.d.ts +8 -0
  532. package/lib/common/utils/property-path-util.d.ts +8 -0
  533. package/{src/lib/common/utils/public_api.ts → lib/common/utils/public_api.d.ts} +0 -0
  534. package/lib/common/utils/query-list-binding.d.ts +57 -0
  535. package/lib/common/utils/sort-util.d.ts +10 -0
  536. package/lib/common/utils/url-builder.d.ts +160 -0
  537. package/lib/common/utils/uuid-util.d.ts +18 -0
  538. package/lib/common/utils/value-wrapper.d.ts +15 -0
  539. package/lib/components/access-denied/elder-access-denied.component.d.ts +8 -0
  540. package/lib/components/access-denied/elder-access-denied.module.d.ts +11 -0
  541. package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +20 -0
  542. package/lib/components/auditing/elder-audit.module.d.ts +14 -0
  543. package/lib/components/auditing/i-audited-entity.d.ts +13 -0
  544. package/lib/components/button-group/elder-button-group/elder-button-group.component.d.ts +8 -0
  545. package/lib/components/button-group/elder-button-group.module.d.ts +12 -0
  546. package/lib/components/card-organizer/card-organizer/elder-card-organizer.component.d.ts +64 -0
  547. package/lib/components/card-organizer/card-organizer/elder-stack-card.directive.d.ts +9 -0
  548. package/lib/components/card-organizer/card-organizer-data.d.ts +57 -0
  549. package/lib/components/card-organizer/card-stack/elder-card-stack.component.d.ts +89 -0
  550. package/lib/components/card-organizer/card-stack.d.ts +146 -0
  551. package/lib/components/card-organizer/elder-card-organizer.module.d.ts +22 -0
  552. package/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.d.ts +6 -0
  553. package/lib/components/cards/elder-card/elder-card.component.d.ts +68 -0
  554. package/lib/components/cards/elder-card/elder-card.module.d.ts +13 -0
  555. package/lib/components/connectivity/elder-connectivity.module.d.ts +14 -0
  556. package/lib/components/connectivity/elder-connectivity.service.d.ts +36 -0
  557. package/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.d.ts +33 -0
  558. package/lib/components/connectivity/public_api.d.ts +2 -0
  559. package/lib/components/containers/elder-containers.module.d.ts +9 -0
  560. package/lib/components/containers/elder-scroll-container/elder-scroll-container.component.d.ts +12 -0
  561. package/lib/components/containers/public_api.d.ts +1 -0
  562. package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +51 -0
  563. package/lib/components/csv/elder-csv-stream-exporter-builder.d.ts +35 -0
  564. package/lib/components/csv/elder-csv-stream-exporter-builder.service.d.ts +28 -0
  565. package/lib/components/csv/elder-csv-stream-exporter.d.ts +58 -0
  566. package/lib/components/csv/elder-csv.module.d.ts +14 -0
  567. package/lib/components/currency/elder-currency.module.d.ts +8 -0
  568. package/lib/components/currency/elder-currency.pipe.d.ts +21 -0
  569. package/lib/components/currency/model/currency-code.d.ts +36 -0
  570. package/lib/components/currency/model/currency-unit-registry.d.ts +23 -0
  571. package/lib/components/currency/model/currency-unit.d.ts +7 -0
  572. package/lib/components/currency/model/currency.d.ts +10 -0
  573. package/lib/components/currency/public_api.d.ts +6 -0
  574. package/lib/components/data-transfer/elder-data-transfer.module.d.ts +26 -0
  575. package/lib/components/data-transfer/elder-data-transfer.service.d.ts +55 -0
  576. package/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.d.ts +30 -0
  577. package/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.d.ts +29 -0
  578. package/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.d.ts +31 -0
  579. package/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.d.ts +28 -0
  580. package/lib/components/data-view/base/data-view-options-provider-binding.d.ts +39 -0
  581. package/lib/components/data-view/base/elder-data-view-base.d.ts +129 -0
  582. package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +38 -0
  583. package/lib/components/data-view/base/elder-data-view-options.d.ts +34 -0
  584. package/lib/components/data-view/base/elder-data-view.d.ts +7 -0
  585. package/lib/components/data-view/base/public_api.d.ts +5 -0
  586. package/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.d.ts +32 -0
  587. package/lib/components/data-view/common/elder-data-common.module.d.ts +29 -0
  588. package/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.d.ts +66 -0
  589. package/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.d.ts +45 -0
  590. package/lib/components/data-view/common/selection/data-context-selection.directive.d.ts +48 -0
  591. package/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.d.ts +26 -0
  592. package/lib/components/data-view/common/selection/master-selection-state.d.ts +8 -0
  593. package/lib/components/data-view/elder-data-view-interaction-mode.d.ts +21 -0
  594. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +113 -0
  595. package/lib/components/data-view/grid/elder-grid.module.d.ts +24 -0
  596. package/lib/components/data-view/public_api.d.ts +5 -0
  597. package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.d.ts +9 -0
  598. package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.d.ts +28 -0
  599. package/lib/components/data-view/table/activation/elder-item-activator.d.ts +3 -0
  600. package/lib/components/data-view/table/activation/elder-table-activation-options.d.ts +16 -0
  601. package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +78 -0
  602. package/lib/components/data-view/table/elder-number-cell.directive.d.ts +12 -0
  603. package/lib/components/data-view/table/elder-paginator-intl.d.ts +38 -0
  604. package/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.d.ts +12 -0
  605. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +129 -0
  606. package/lib/components/data-view/table/elder-table-column.directive.d.ts +9 -0
  607. package/lib/components/data-view/table/elder-table-extension.directive.d.ts +53 -0
  608. package/lib/components/data-view/table/elder-table-root.directive.d.ts +15 -0
  609. package/lib/components/data-view/table/elder-table-row.directive.d.ts +63 -0
  610. package/lib/components/data-view/table/elder-table-sort.directive.d.ts +11 -0
  611. package/lib/components/data-view/table/elder-table.module.d.ts +47 -0
  612. package/lib/components/data-view/table/model/elder-column-layout.d.ts +44 -0
  613. package/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.d.ts +44 -0
  614. package/lib/components/data-view/table/model/elder-table-model-provider.d.ts +25 -0
  615. package/lib/components/data-view/table/model/elder-table-model-query-group.d.ts +53 -0
  616. package/lib/components/data-view/table/model/elder-table-model.d.ts +83 -0
  617. package/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.d.ts +22 -0
  618. package/lib/components/dialogs/elder-dialog-config.d.ts +16 -0
  619. package/lib/components/dialogs/elder-dialog.module.d.ts +37 -0
  620. package/lib/components/dialogs/elder-dialog.service.d.ts +72 -0
  621. package/lib/components/dialogs/question-dialog/elder-question-dialog.component.d.ts +22 -0
  622. package/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.d.ts +29 -0
  623. package/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.d.ts +24 -0
  624. package/lib/components/errors/elder-error.module.d.ts +16 -0
  625. package/lib/components/errors/error-util.d.ts +23 -0
  626. package/lib/components/errors/exception-detail/elder-exception-detail.component.d.ts +42 -0
  627. package/lib/components/expand-toggle-button/elder-expand-toggle-button.component.d.ts +33 -0
  628. package/lib/components/expand-toggle-button/elder-expand-toggle-button.module.d.ts +11 -0
  629. package/lib/components/files/blob-url.d.ts +6 -0
  630. package/lib/components/files/blob-viewer/elder-blob-viewer.component.d.ts +107 -0
  631. package/lib/components/files/elder-file-drop-zone.directive.d.ts +45 -0
  632. package/lib/components/files/elder-file-select.directive.d.ts +66 -0
  633. package/lib/components/files/elder-file.module.d.ts +23 -0
  634. package/lib/components/files/file-select/file-select.component.d.ts +34 -0
  635. package/lib/components/files/file-upload/file-upload.component.d.ts +45 -0
  636. package/lib/components/forms/clipboard/elder-clipboard.service.d.ts +26 -0
  637. package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +32 -0
  638. package/lib/components/forms/directives/elder-clipboard-put.directive.d.ts +22 -0
  639. package/lib/components/forms/directives/elder-delayed-focus.directive.d.ts +21 -0
  640. package/lib/components/forms/directives/elder-form-field-dense.directive.d.ts +19 -0
  641. package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +58 -0
  642. package/lib/components/forms/directives/elder-form-field-no-hint.directive.d.ts +19 -0
  643. package/lib/components/forms/directives/elder-form-field-no-spinner.directive.d.ts +19 -0
  644. package/lib/components/forms/directives/elder-forms-directives.module.d.ts +68 -0
  645. package/lib/components/forms/directives/elder-input-pattern.directive.d.ts +41 -0
  646. package/lib/components/forms/directives/elder-key-event.directive.d.ts +58 -0
  647. package/lib/components/forms/directives/elder-max.directive.d.ts +11 -0
  648. package/lib/components/forms/directives/elder-min.directive.d.ts +11 -0
  649. package/lib/components/forms/directives/elder-next-focusable.directive.d.ts +48 -0
  650. package/lib/components/forms/directives/elder-plug-parent-form.directive.d.ts +13 -0
  651. package/lib/components/forms/directives/elder-stop-event-propagation.directive.d.ts +16 -0
  652. package/lib/components/forms/directives/elder-tab-focus-trap.directive.d.ts +63 -0
  653. package/lib/components/forms/directives/elder-touched.directive.d.ts +14 -0
  654. package/lib/components/forms/directives/elder-triple-state-checkbox.directive.d.ts +51 -0
  655. package/lib/components/forms/directives/validation/elder-multiple-of.validator.d.ts +20 -0
  656. package/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.d.ts +33 -0
  657. package/lib/components/forms/elder-forms.module.d.ts +12 -0
  658. package/lib/components/forms/public_api.d.ts +1 -0
  659. package/lib/components/forms/search/elder-search-context.directive.d.ts +79 -0
  660. package/lib/components/forms/search/elder-search-input.directive.d.ts +85 -0
  661. package/lib/components/forms/search/elder-search.module.d.ts +25 -0
  662. package/lib/components/forms/search/model/search-input-state.d.ts +67 -0
  663. package/lib/components/forms/search/model/search-input.d.ts +21 -0
  664. package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +72 -0
  665. package/lib/components/forms/search/search-box/elder-search-panel.component.d.ts +6 -0
  666. package/lib/components/global-search/elder-global-search.component.d.ts +39 -0
  667. package/lib/components/global-search/elder-global-search.module.d.ts +18 -0
  668. package/lib/components/global-search/elder-global-search.service.d.ts +54 -0
  669. package/lib/components/graph/elder-progress-bar/elder-progress-bar.component.d.ts +47 -0
  670. package/lib/components/graph/elder-progress-bar/elder-progress-bar.module.d.ts +10 -0
  671. package/lib/components/graph/elder-progress-bar/sub-bar.d.ts +5 -0
  672. package/{src/lib/components/graph/public_api.ts → lib/components/graph/public_api.d.ts} +0 -0
  673. package/lib/components/headers/elder-header/elder-header.component.d.ts +25 -0
  674. package/lib/components/headers/elder-header.module.d.ts +11 -0
  675. package/lib/components/http-support/elder-http-client.service.d.ts +48 -0
  676. package/lib/components/http-support/public_api.d.ts +1 -0
  677. package/lib/components/i18n/entities/elder-i18n-entities.module.d.ts +37 -0
  678. package/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.d.ts +62 -0
  679. package/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.d.ts +22 -0
  680. package/lib/components/i18n/entities/elder-localized-input-dialog.service.d.ts +13 -0
  681. package/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.d.ts +67 -0
  682. package/lib/components/i18n/entities/elder-localized-text-column.directive.d.ts +17 -0
  683. package/lib/components/i18n/entities/elder-localized-texts.directive.d.ts +37 -0
  684. package/lib/components/i18n/entities/picker/i18n-pick-async.pipe.d.ts +23 -0
  685. package/lib/components/i18n/entities/picker/i18n-pick.pipe.d.ts +22 -0
  686. package/lib/components/i18n/entities/picker/localisation-picker.service.d.ts +44 -0
  687. package/lib/components/i18n/language/elder-language-config.d.ts +14 -0
  688. package/lib/components/i18n/language/elder-language-interceptor.d.ts +41 -0
  689. package/lib/components/i18n/language/elder-language.module.d.ts +26 -0
  690. package/lib/components/i18n/language/elder-language.service.d.ts +77 -0
  691. package/lib/components/i18n/language/language-switcher/elder-language-switcher.component.d.ts +37 -0
  692. package/lib/components/i18n/locales/elder-locales-de-ch.module.d.ts +10 -0
  693. package/{src/lib/components/i18n/public_api.ts → lib/components/i18n/public_api.d.ts} +0 -0
  694. package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +68 -0
  695. package/lib/components/iframes/data-view/data-view-iframe-adapter.directive.d.ts +62 -0
  696. package/lib/components/iframes/elder-iframe.module.d.ts +27 -0
  697. package/lib/components/iframes/iframe-close.directive.d.ts +24 -0
  698. package/lib/components/iframes/iframe-dialog/iframe-dialog.component.d.ts +36 -0
  699. package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +92 -0
  700. package/lib/components/iframes/iframe-side-content/iframe-side-content.component.d.ts +48 -0
  701. package/lib/components/iframes/iframe.service.d.ts +25 -0
  702. package/lib/components/iframes/typed-event-message.d.ts +26 -0
  703. package/lib/components/infinitescroll/elder-infinite-autocomplete.directive.d.ts +30 -0
  704. package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +63 -0
  705. package/lib/components/infinitescroll/elder-infinite-scroll.module.d.ts +19 -0
  706. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.d.ts +8 -0
  707. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +87 -0
  708. package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +78 -0
  709. package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +60 -0
  710. package/lib/components/input/autocomplete/elder-autocomplete.module.d.ts +19 -0
  711. package/lib/components/input/autocomplete/many/word-position-finder.d.ts +15 -0
  712. package/lib/components/input/public_api.d.ts +1 -0
  713. package/lib/components/labels/elder-labels.module.d.ts +15 -0
  714. package/lib/components/labels/labels-input/labels-input.component.d.ts +91 -0
  715. package/lib/components/measures/dimensions-input/elder-dimensions-input.component.d.ts +109 -0
  716. package/lib/components/measures/directives/elder-unit-select.directive.d.ts +30 -0
  717. package/lib/components/measures/elder-measures.module.d.ts +32 -0
  718. package/lib/components/measures/elder-quantity-transform.pipe.d.ts +22 -0
  719. package/lib/components/measures/elder-quantity.pipe.d.ts +40 -0
  720. package/lib/components/measures/elder-unit.service.d.ts +39 -0
  721. package/lib/components/measures/model/dimensions.d.ts +11 -0
  722. package/lib/components/measures/model/quantity.d.ts +7 -0
  723. package/lib/components/measures/model/unit-dimension.d.ts +12 -0
  724. package/lib/components/measures/model/unit-registry.d.ts +46 -0
  725. package/lib/components/measures/model/unit.d.ts +111 -0
  726. package/lib/components/measures/public_api.d.ts +7 -0
  727. package/lib/components/measures/quantity-input/elder-quantity-input.component.d.ts +94 -0
  728. package/lib/components/measures/util/elder-quantity.service.d.ts +116 -0
  729. package/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.d.ts +69 -0
  730. package/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.d.ts +18 -0
  731. package/lib/components/navigation/bread-crumbs/path/path.d.ts +31 -0
  732. package/lib/components/navigation/nav/elder-nav.module.d.ts +18 -0
  733. package/lib/components/navigation/nav/nav-group/elder-nav-group.component.d.ts +45 -0
  734. package/lib/components/navigation/nav/nav-link/elder-nav-link.component.d.ts +27 -0
  735. package/lib/components/navigation/nav/nav-list/elder-nav-list.component.d.ts +6 -0
  736. package/{src/lib/components/navigation/public_api.ts → lib/components/navigation/public_api.d.ts} +0 -0
  737. package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +34 -0
  738. package/lib/components/navigation/toolbar/elder-toolbar.module.d.ts +23 -0
  739. package/lib/components/navigation/toolbar/elder-toolbar.service.d.ts +46 -0
  740. package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +42 -0
  741. package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +9 -0
  742. package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.d.ts +30 -0
  743. package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.d.ts +47 -0
  744. package/lib/components/overlays/elder-overlay-origin.directive.d.ts +28 -0
  745. package/lib/components/overlays/elder-overlay-trigger.directive.d.ts +36 -0
  746. package/lib/components/overlays/elder-overlay.component.d.ts +88 -0
  747. package/lib/components/overlays/elder-overlay.module.d.ts +14 -0
  748. package/lib/components/panels/card-panel/elder-card-panel.component.d.ts +6 -0
  749. package/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.d.ts +6 -0
  750. package/lib/components/panels/elder-panel.module.d.ts +14 -0
  751. package/lib/components/panels/flat/elder-panel.component.d.ts +15 -0
  752. package/{src/lib/components/public_api.ts → lib/components/public_api.d.ts} +0 -0
  753. package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +45 -0
  754. package/lib/components/select/auto/elder-select-first-util.d.ts +22 -0
  755. package/lib/components/select/elder-select-base.d.ts +149 -0
  756. package/lib/components/select/elder-select-chip.directive.d.ts +23 -0
  757. package/lib/components/select/elder-select-on-tab.directive.d.ts +55 -0
  758. package/lib/components/select/elder-select-value.directive.d.ts +9 -0
  759. package/lib/components/select/elder-select.module.d.ts +48 -0
  760. package/lib/components/select/multi/elder-multi-select-base.d.ts +120 -0
  761. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +105 -0
  762. package/lib/components/select/multi/elder-multi-select-form-field.d.ts +34 -0
  763. package/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.d.ts +42 -0
  764. package/lib/components/select/popup/selection-model-popup.directive.d.ts +49 -0
  765. package/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.d.ts +32 -0
  766. package/lib/components/select/public_api.d.ts +5 -0
  767. package/lib/components/select/single/elder-clear-select.directive.d.ts +34 -0
  768. package/lib/components/select/single/elder-select/elder-select.component.d.ts +155 -0
  769. package/lib/components/select/single/elder-select-form-field.d.ts +30 -0
  770. package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +78 -0
  771. package/lib/components/select-chip-list/elder-chip-list-select.module.d.ts +12 -0
  772. package/lib/components/select-list/elder-select-list.module.d.ts +15 -0
  773. package/lib/components/select-list/select-list/elder-select-list.component.d.ts +53 -0
  774. package/lib/components/select-list/select-list-item/elder-select-list-item.component.d.ts +57 -0
  775. package/lib/components/shell/drawers/drawer-outlet-binding.d.ts +36 -0
  776. package/lib/components/shell/drawers/elder-route-outlet-drawer.service.d.ts +55 -0
  777. package/lib/components/shell/drawers/elder-router-outlet.service.d.ts +64 -0
  778. package/lib/components/shell/elder-shell-slot.directive.d.ts +34 -0
  779. package/lib/components/shell/elder-shell.module.d.ts +30 -0
  780. package/lib/components/shell/elder-shell.service.d.ts +98 -0
  781. package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +43 -0
  782. package/lib/components/shell/shell/elder-shell.component.d.ts +99 -0
  783. package/lib/components/shell/shell-content-slot.d.ts +4 -0
  784. package/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.d.ts +66 -0
  785. package/lib/components/tabs/elder-tab/elder-tab.directive.d.ts +19 -0
  786. package/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.d.ts +100 -0
  787. package/lib/components/tabs/elder-tab.module.d.ts +12 -0
  788. package/lib/components/theme/elder-theme-applier.directive.d.ts +36 -0
  789. package/lib/components/theme/elder-theme-preference.service.d.ts +35 -0
  790. package/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.d.ts +37 -0
  791. package/lib/components/theme/elder-theme.directive.d.ts +38 -0
  792. package/lib/components/theme/elder-theme.module.d.ts +22 -0
  793. package/lib/components/theme/elder-theme.service.d.ts +51 -0
  794. package/lib/components/theme/known-elder-themes.d.ts +5 -0
  795. package/{src/lib/components/theme/public_api.ts → lib/components/theme/public_api.d.ts} +0 -0
  796. package/lib/components/theme/theme-spec.d.ts +18 -0
  797. package/lib/components/time/date-adapters/custom-date-adapter.d.ts +12 -0
  798. package/lib/components/time/duration/duration-bucket.d.ts +37 -0
  799. package/lib/components/time/duration/duration-format.d.ts +62 -0
  800. package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +58 -0
  801. package/lib/components/time/duration/iso-duration-str.d.ts +5 -0
  802. package/lib/components/time/elder-date-switcher/elder-date-switcher.component.d.ts +60 -0
  803. package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +42 -0
  804. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +84 -0
  805. package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +78 -0
  806. package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +47 -0
  807. package/lib/components/time/elder-time.module.d.ts +38 -0
  808. package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +71 -0
  809. package/lib/components/time/period/period-bucket.d.ts +21 -0
  810. package/lib/components/time/period/period-format.d.ts +43 -0
  811. package/lib/components/time/public_api.d.ts +7 -0
  812. package/lib/components/toasts/elder-toast.module.d.ts +12 -0
  813. package/lib/components/toasts/elder-toast.service.d.ts +96 -0
  814. package/lib/components/toasts/standard-toast/standard-toast.component.d.ts +38 -0
  815. package/lib/components/toasts/toast-type.d.ts +5 -0
  816. package/lib/components/toasts/toast.d.ts +7 -0
  817. package/lib/components/url-fragment/elder-url-fragment.d.ts +7 -0
  818. package/lib/components/url-fragment/elder-url-fragment.module.d.ts +17 -0
  819. package/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.d.ts +38 -0
  820. package/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.d.ts +41 -0
  821. package/lib/components/viewers/elder-viewers.module.d.ts +9 -0
  822. package/lib/features/event-source/elder-event-source.service.d.ts +43 -0
  823. package/lib/features/event-source/public_api.d.ts +2 -0
  824. package/lib/features/event-source/reactive-event-source.d.ts +97 -0
  825. package/lib/features/kafent/access-token-provider.d.ts +12 -0
  826. package/lib/features/kafent/kafent-config.d.ts +32 -0
  827. package/lib/features/kafent/kafent-event-stream.d.ts +28 -0
  828. package/lib/features/kafent/kafent-event.d.ts +11 -0
  829. package/lib/features/kafent/kafent-event.service.d.ts +77 -0
  830. package/lib/features/kafent/kafent-live-event-request.d.ts +58 -0
  831. package/lib/features/kafent/kafent.module.d.ts +30 -0
  832. package/lib/features/kafent/sse/kafent-event-stream-sse.service.d.ts +56 -0
  833. package/lib/features/kafent/sse/kafent-topic-sse.d.ts +70 -0
  834. package/lib/features/public_api.d.ts +2 -0
  835. package/lib/pipes/bytes.pipe.d.ts +7 -0
  836. package/lib/pipes/elder-pipes.module.d.ts +46 -0
  837. package/lib/pipes/elder-repeat.pipe.d.ts +7 -0
  838. package/lib/pipes/elder-round.pipe.d.ts +23 -0
  839. package/lib/pipes/elder-safe-url.pipe.d.ts +10 -0
  840. package/lib/pipes/elder-truncate.pipe.d.ts +17 -0
  841. package/lib/pipes/iso-duration.pipe.d.ts +26 -0
  842. package/lib/pipes/iso-interval-parse.pipe.d.ts +30 -0
  843. package/lib/pipes/iso-interval.pipe.d.ts +43 -0
  844. package/lib/pipes/public_api.d.ts +1 -0
  845. package/lib/pipes/time-ago.pipe.d.ts +18 -0
  846. package/lib/pipes/time-duration.pipe.d.ts +13 -0
  847. package/lib/pipes/weight.pipe.d.ts +7 -0
  848. package/package.json +22 -6
  849. package/public_api.d.ts +4 -0
  850. package/theming/_elder-flex-layout.scss +28 -0
  851. package/.eslintrc.json +0 -44
  852. package/karma-ci.conf.js +0 -46
  853. package/karma.conf.js +0 -44
  854. package/ng-package.json +0 -15
  855. package/ng-package.prod.json +0 -14
  856. package/src/lib/common/async/public_api.ts +0 -3
  857. package/src/lib/common/async/refreshing-entity.ts +0 -128
  858. package/src/lib/common/csv/csv-serializer.ts +0 -82
  859. package/src/lib/common/csv/csv-spec.ts +0 -148
  860. package/src/lib/common/csv/public_api.ts +0 -3
  861. package/src/lib/common/data/continuable-listing.ts +0 -35
  862. package/src/lib/common/data/data-context/data-context-active-page.ts +0 -184
  863. package/src/lib/common/data/data-context/data-context-auto-starter.ts +0 -108
  864. package/src/lib/common/data/data-context/data-context-base.ts +0 -406
  865. package/src/lib/common/data/data-context/data-context-builder.ts +0 -354
  866. package/src/lib/common/data/data-context/data-context-continuable-base.ts +0 -100
  867. package/src/lib/common/data/data-context/data-context-continuable-paged.ts +0 -191
  868. package/src/lib/common/data/data-context/data-context-continuable-token.ts +0 -177
  869. package/src/lib/common/data/data-context/data-context-life-cycle-binding.ts +0 -59
  870. package/src/lib/common/data/data-context/data-context-simple.ts +0 -80
  871. package/src/lib/common/data/data-context/data-context-source-auto-reloader.ts +0 -21
  872. package/src/lib/common/data/data-context/data-context-status.ts +0 -56
  873. package/src/lib/common/data/data-context/data-context.ts +0 -204
  874. package/src/lib/common/data/data-context/mat-table-data-context-binding.ts +0 -209
  875. package/src/lib/common/data/data-context/public_api.ts +0 -19
  876. package/src/lib/common/data/datasource/data-source-adapter.ts +0 -96
  877. package/src/lib/common/data/datasource/data-source-processor.ts +0 -318
  878. package/src/lib/common/data/datasource/data-source.ts +0 -87
  879. package/src/lib/common/data/datasource/entity-id-util.ts +0 -11
  880. package/src/lib/common/data/datasource/fetcher/delegate-data-source.ts +0 -230
  881. package/src/lib/common/data/datasource/local/local-list-data-source.ts +0 -161
  882. package/src/lib/common/data/datasource/local/local-paged-data-source.ts +0 -129
  883. package/src/lib/common/data/datasource/public_api.ts +0 -14
  884. package/src/lib/common/data/datasource/rest/public_api.ts +0 -2
  885. package/src/lib/common/data/datasource/rest/rest-client.ts +0 -474
  886. package/src/lib/common/data/entity-set-patch.ts +0 -210
  887. package/src/lib/common/data/field-comparator.ts +0 -122
  888. package/src/lib/common/data/filters/filter-context.spec.ts +0 -150
  889. package/src/lib/common/data/filters/filter-context.ts +0 -163
  890. package/src/lib/common/data/filters/filter.spec.ts +0 -136
  891. package/src/lib/common/data/filters/filter.ts +0 -137
  892. package/src/lib/common/data/http-params-builder.ts +0 -138
  893. package/src/lib/common/data/page.ts +0 -92
  894. package/src/lib/common/data/public_api.ts +0 -12
  895. package/src/lib/common/data/required-filter-evaluator.ts +0 -122
  896. package/src/lib/common/data/sort-context.ts +0 -90
  897. package/src/lib/common/data/sort.ts +0 -16
  898. package/src/lib/common/data/token-chunk-request.ts +0 -10
  899. package/src/lib/common/enums/elder-enum-translation.service.ts +0 -116
  900. package/src/lib/common/enums/public_api.ts +0 -3
  901. package/src/lib/common/errors/exception-detail.ts +0 -6
  902. package/src/lib/common/errors/standard-error-detail.ts +0 -27
  903. package/src/lib/common/format/bytes-format.ts +0 -25
  904. package/src/lib/common/format/bytes-per-second-format.ts +0 -44
  905. package/src/lib/common/forms/elder-entity-value-accessor.ts +0 -70
  906. package/src/lib/common/forms/elder-form-field-control-base.directive.ts +0 -240
  907. package/src/lib/common/forms/elder-from-field-base.ts +0 -113
  908. package/src/lib/common/forms/elder-from-field-entity-base.ts +0 -63
  909. package/src/lib/common/forms/elder-from-field-multi-entity-base.ts +0 -86
  910. package/src/lib/common/forms/elder-multi-entity-value-accessor.ts +0 -84
  911. package/src/lib/common/forms/form-field-base.component.ts +0 -152
  912. package/src/lib/common/forms/multi-model-base.component.ts +0 -40
  913. package/src/lib/common/forms/public_api.ts +0 -12
  914. package/src/lib/common/forms/template-composite-control.ts +0 -158
  915. package/src/lib/common/forms/value-accessor-base.ts +0 -165
  916. package/src/lib/common/forms/view-providers.ts +0 -34
  917. package/src/lib/common/http/http-client-builder.service.ts +0 -55
  918. package/src/lib/common/http/http-client-pristine.ts +0 -15
  919. package/src/lib/common/http/public_api.ts +0 -5
  920. package/src/lib/common/http/transfer/data-transfer-factory.ts +0 -145
  921. package/src/lib/common/http/transfer/data-transfer-progress-aggregate.ts +0 -74
  922. package/src/lib/common/http/transfer/data-transfer-progress.ts +0 -18
  923. package/src/lib/common/http/transfer/data-transfer-state.ts +0 -129
  924. package/src/lib/common/http/transfer/data-transfer-status.ts +0 -28
  925. package/src/lib/common/http/transfer/http-data-transfer.ts +0 -276
  926. package/src/lib/common/http/transfer/public_api.ts +0 -9
  927. package/src/lib/common/http/upload/file-upload-client.ts +0 -74
  928. package/src/lib/common/i18n/entity/impl/i18n-base.ts +0 -9
  929. package/src/lib/common/i18n/entity/impl/i18n-text.ts +0 -25
  930. package/src/lib/common/i18n/entity/language-tag.ts +0 -19
  931. package/src/lib/common/i18n/entity/locale.ts +0 -20
  932. package/src/lib/common/i18n/entity/localisation-picker.ts +0 -51
  933. package/src/lib/common/i18n/entity/localized.ts +0 -11
  934. package/src/lib/common/i18n/entity/public_api.ts +0 -7
  935. package/src/lib/common/i18n/public_api.ts +0 -3
  936. package/src/lib/common/json-map.ts +0 -26
  937. package/src/lib/common/objects.ts +0 -46
  938. package/src/lib/common/public_api.ts +0 -20
  939. package/src/lib/common/reactive-map.ts +0 -113
  940. package/src/lib/common/selection/selection-model.ts +0 -274
  941. package/src/lib/common/sets.ts +0 -48
  942. package/src/lib/common/suggestion-provider.ts +0 -28
  943. package/src/lib/common/templates/public_api.ts +0 -1
  944. package/src/lib/common/templates/template-slot-manager.ts +0 -153
  945. package/src/lib/common/time/date-util.ts +0 -120
  946. package/src/lib/common/time/interval.spec.ts +0 -53
  947. package/src/lib/common/time/interval.ts +0 -539
  948. package/src/lib/common/time/period-duration.ts +0 -147
  949. package/src/lib/common/time/public_api.ts +0 -6
  950. package/src/lib/common/time/time-util.ts +0 -54
  951. package/src/lib/common/url/elder-router.service.ts +0 -55
  952. package/src/lib/common/url/elder-url-fragment-params.service.ts +0 -139
  953. package/src/lib/common/url/public_api.ts +0 -5
  954. package/src/lib/common/url/url-query-params.ts +0 -169
  955. package/src/lib/common/utils/batcher.spec.ts +0 -39
  956. package/src/lib/common/utils/batcher.ts +0 -55
  957. package/src/lib/common/utils/collection-util.ts +0 -125
  958. package/src/lib/common/utils/filter-util.ts +0 -67
  959. package/src/lib/common/utils/next-number-util.ts +0 -102
  960. package/src/lib/common/utils/ng-zone-utils.ts +0 -18
  961. package/src/lib/common/utils/parse-util.ts +0 -17
  962. package/src/lib/common/utils/property-path-util.ts +0 -29
  963. package/src/lib/common/utils/query-list-binding.ts +0 -105
  964. package/src/lib/common/utils/sort-util.spec.ts +0 -41
  965. package/src/lib/common/utils/sort-util.ts +0 -38
  966. package/src/lib/common/utils/url-builder.spec.ts +0 -83
  967. package/src/lib/common/utils/url-builder.ts +0 -363
  968. package/src/lib/common/utils/uuid-util.ts +0 -34
  969. package/src/lib/common/utils/value-wrapper.ts +0 -25
  970. package/src/lib/components/access-denied/elder-access-denied.component.html +0 -12
  971. package/src/lib/components/access-denied/elder-access-denied.component.ts +0 -16
  972. package/src/lib/components/access-denied/elder-access-denied.module.ts +0 -23
  973. package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.html +0 -23
  974. package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.ts +0 -39
  975. package/src/lib/components/auditing/elder-audit.module.ts +0 -28
  976. package/src/lib/components/auditing/i-audited-entity.ts +0 -17
  977. package/src/lib/components/button-group/elder-button-group/elder-button-group.component.html +0 -3
  978. package/src/lib/components/button-group/elder-button-group/elder-button-group.component.ts +0 -21
  979. package/src/lib/components/button-group/elder-button-group.module.ts +0 -23
  980. package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.html +0 -26
  981. package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.ts +0 -148
  982. package/src/lib/components/card-organizer/card-organizer/elder-stack-card.directive.ts +0 -9
  983. package/src/lib/components/card-organizer/card-organizer-data.ts +0 -124
  984. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.html +0 -70
  985. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.ts +0 -250
  986. package/src/lib/components/card-organizer/card-stack.ts +0 -231
  987. package/src/lib/components/card-organizer/elder-card-organizer.module.ts +0 -37
  988. package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.css +0 -5
  989. package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.html +0 -16
  990. package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.ts +0 -14
  991. package/src/lib/components/cards/elder-card/elder-card.component.html +0 -21
  992. package/src/lib/components/cards/elder-card/elder-card.component.ts +0 -141
  993. package/src/lib/components/cards/elder-card/elder-card.module.ts +0 -47
  994. package/src/lib/components/connectivity/elder-connectivity.module.ts +0 -37
  995. package/src/lib/components/connectivity/elder-connectivity.service.ts +0 -83
  996. package/src/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.html +0 -11
  997. package/src/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.ts +0 -51
  998. package/src/lib/components/connectivity/public_api.ts +0 -3
  999. package/src/lib/components/containers/elder-containers.module.ts +0 -18
  1000. package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.html +0 -14
  1001. package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.ts +0 -30
  1002. package/src/lib/components/containers/public_api.ts +0 -3
  1003. package/src/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.html +0 -5
  1004. package/src/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.ts +0 -105
  1005. package/src/lib/components/csv/elder-csv-stream-exporter-builder.service.ts +0 -56
  1006. package/src/lib/components/csv/elder-csv-stream-exporter-builder.ts +0 -68
  1007. package/src/lib/components/csv/elder-csv-stream-exporter.ts +0 -192
  1008. package/src/lib/components/csv/elder-csv.module.ts +0 -27
  1009. package/src/lib/components/currency/elder-currency.module.ts +0 -18
  1010. package/src/lib/components/currency/elder-currency.pipe.ts +0 -44
  1011. package/src/lib/components/currency/elder-currency.service.ts +0 -83
  1012. package/src/lib/components/currency/model/currency-code.ts +0 -37
  1013. package/src/lib/components/currency/model/currency-unit-registry.ts +0 -39
  1014. package/src/lib/components/currency/model/currency-unit.ts +0 -18
  1015. package/src/lib/components/currency/model/currency.ts +0 -22
  1016. package/src/lib/components/currency/public_api.ts +0 -7
  1017. package/src/lib/components/data-transfer/elder-data-transfer.module.ts +0 -52
  1018. package/src/lib/components/data-transfer/elder-data-transfer.service.ts +0 -120
  1019. package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.html +0 -47
  1020. package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.ts +0 -82
  1021. package/src/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.html +0 -26
  1022. package/src/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.ts +0 -46
  1023. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.html +0 -31
  1024. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.ts +0 -61
  1025. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.html +0 -24
  1026. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.ts +0 -41
  1027. package/src/lib/components/data-view/base/data-view-options-provider-binding.ts +0 -99
  1028. package/src/lib/components/data-view/base/elder-data-view-base.ts +0 -322
  1029. package/src/lib/components/data-view/base/elder-data-view-options-provider.ts +0 -55
  1030. package/src/lib/components/data-view/base/elder-data-view-options.ts +0 -89
  1031. package/src/lib/components/data-view/base/elder-data-view.ts +0 -14
  1032. package/src/lib/components/data-view/base/public_api.ts +0 -5
  1033. package/src/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.html +0 -50
  1034. package/src/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.ts +0 -51
  1035. package/src/lib/components/data-view/common/elder-data-common.module.ts +0 -62
  1036. package/src/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.html +0 -113
  1037. package/src/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.ts +0 -181
  1038. package/src/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.html +0 -25
  1039. package/src/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.ts +0 -99
  1040. package/src/lib/components/data-view/common/selection/data-context-selection.directive.ts +0 -127
  1041. package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.html +0 -22
  1042. package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.ts +0 -53
  1043. package/src/lib/components/data-view/common/selection/master-selection-state.ts +0 -10
  1044. package/src/lib/components/data-view/elder-data-view-interaction-mode.ts +0 -26
  1045. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.html +0 -158
  1046. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.ts +0 -359
  1047. package/src/lib/components/data-view/grid/elder-grid.module.ts +0 -54
  1048. package/src/lib/components/data-view/public_api.ts +0 -5
  1049. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.css +0 -0
  1050. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.html +0 -3
  1051. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.ts +0 -22
  1052. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.ts +0 -50
  1053. package/src/lib/components/data-view/table/activation/elder-item-activator.ts +0 -6
  1054. package/src/lib/components/data-view/table/activation/elder-table-activation-options.ts +0 -19
  1055. package/src/lib/components/data-view/table/activation/elder-table-activation.directive.ts +0 -308
  1056. package/src/lib/components/data-view/table/elder-number-cell.directive.ts +0 -26
  1057. package/src/lib/components/data-view/table/elder-paginator-intl.ts +0 -92
  1058. package/src/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.ts +0 -14
  1059. package/src/lib/components/data-view/table/elder-table/elder-table.component.html +0 -99
  1060. package/src/lib/components/data-view/table/elder-table/elder-table.component.ts +0 -388
  1061. package/src/lib/components/data-view/table/elder-table-column.directive.ts +0 -29
  1062. package/src/lib/components/data-view/table/elder-table-extension.directive.ts +0 -107
  1063. package/src/lib/components/data-view/table/elder-table-root.directive.ts +0 -24
  1064. package/src/lib/components/data-view/table/elder-table-row.directive.ts +0 -154
  1065. package/src/lib/components/data-view/table/elder-table-sort.directive.ts +0 -16
  1066. package/src/lib/components/data-view/table/elder-table.module.ts +0 -94
  1067. package/src/lib/components/data-view/table/model/elder-column-layout.ts +0 -164
  1068. package/src/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.ts +0 -115
  1069. package/src/lib/components/data-view/table/model/elder-table-model-provider.ts +0 -49
  1070. package/src/lib/components/data-view/table/model/elder-table-model-query-group.ts +0 -153
  1071. package/src/lib/components/data-view/table/model/elder-table-model.ts +0 -221
  1072. package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.html +0 -34
  1073. package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.ts +0 -34
  1074. package/src/lib/components/dialogs/elder-dialog-config.ts +0 -21
  1075. package/src/lib/components/dialogs/elder-dialog.module.ts +0 -66
  1076. package/src/lib/components/dialogs/elder-dialog.service.ts +0 -204
  1077. package/src/lib/components/dialogs/question-dialog/elder-question-dialog.component.html +0 -36
  1078. package/src/lib/components/dialogs/question-dialog/elder-question-dialog.component.ts +0 -44
  1079. package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.html +0 -27
  1080. package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.ts +0 -55
  1081. package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.ts +0 -54
  1082. package/src/lib/components/errors/elder-error.module.ts +0 -28
  1083. package/src/lib/components/errors/error-util.ts +0 -107
  1084. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.html +0 -33
  1085. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.ts +0 -77
  1086. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.html +0 -14
  1087. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.ts +0 -57
  1088. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.module.ts +0 -23
  1089. package/src/lib/components/files/blob-url.ts +0 -13
  1090. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.html +0 -62
  1091. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.ts +0 -304
  1092. package/src/lib/components/files/elder-file-drop-zone.directive.ts +0 -116
  1093. package/src/lib/components/files/elder-file-select.directive.ts +0 -184
  1094. package/src/lib/components/files/elder-file.module.ts +0 -49
  1095. package/src/lib/components/files/file-select/file-select.component.html +0 -9
  1096. package/src/lib/components/files/file-select/file-select.component.ts +0 -61
  1097. package/src/lib/components/files/file-upload/file-upload.component.html +0 -36
  1098. package/src/lib/components/files/file-upload/file-upload.component.ts +0 -81
  1099. package/src/lib/components/forms/clipboard/elder-clipboard.service.ts +0 -57
  1100. package/src/lib/components/forms/directives/base/elder-class-hostbinding-base.ts +0 -55
  1101. package/src/lib/components/forms/directives/elder-clipboard-put.directive.ts +0 -44
  1102. package/src/lib/components/forms/directives/elder-delayed-focus.directive.ts +0 -44
  1103. package/src/lib/components/forms/directives/elder-form-field-dense.directive.ts +0 -31
  1104. package/src/lib/components/forms/directives/elder-form-field-label.directive.ts +0 -92
  1105. package/src/lib/components/forms/directives/elder-form-field-no-hint.directive.ts +0 -28
  1106. package/src/lib/components/forms/directives/elder-form-field-no-spinner.directive.ts +0 -32
  1107. package/src/lib/components/forms/directives/elder-forms-directives.module.ts +0 -115
  1108. package/src/lib/components/forms/directives/elder-input-pattern.directive.ts +0 -76
  1109. package/src/lib/components/forms/directives/elder-key-event.directive.ts +0 -126
  1110. package/src/lib/components/forms/directives/elder-max.directive.ts +0 -38
  1111. package/src/lib/components/forms/directives/elder-min.directive.ts +0 -38
  1112. package/src/lib/components/forms/directives/elder-next-focusable.directive.ts +0 -101
  1113. package/src/lib/components/forms/directives/elder-plug-parent-form.directive.ts +0 -28
  1114. package/src/lib/components/forms/directives/elder-stop-event-propagation.directive.ts +0 -22
  1115. package/src/lib/components/forms/directives/elder-tab-focus-trap.directive.ts +0 -188
  1116. package/src/lib/components/forms/directives/elder-touched.directive.ts +0 -25
  1117. package/src/lib/components/forms/directives/elder-triple-state-checkbox.directive.ts +0 -132
  1118. package/src/lib/components/forms/directives/validation/elder-multiple-of.validator.ts +0 -59
  1119. package/src/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.ts +0 -80
  1120. package/src/lib/components/forms/elder-forms.module.ts +0 -17
  1121. package/src/lib/components/forms/public_api.ts +0 -3
  1122. package/src/lib/components/forms/search/elder-search-context.directive.ts +0 -181
  1123. package/src/lib/components/forms/search/elder-search-input.directive.ts +0 -244
  1124. package/src/lib/components/forms/search/elder-search.module.ts +0 -48
  1125. package/src/lib/components/forms/search/model/search-input-state.ts +0 -95
  1126. package/src/lib/components/forms/search/model/search-input.ts +0 -30
  1127. package/src/lib/components/forms/search/model/simple-search-input.ts +0 -69
  1128. package/src/lib/components/forms/search/search-box/elder-search-box.component.html +0 -66
  1129. package/src/lib/components/forms/search/search-box/elder-search-box.component.ts +0 -149
  1130. package/src/lib/components/forms/search/search-box/elder-search-panel.component.ts +0 -10
  1131. package/src/lib/components/global-search/elder-global-search.component.html +0 -51
  1132. package/src/lib/components/global-search/elder-global-search.component.ts +0 -158
  1133. package/src/lib/components/global-search/elder-global-search.module.ts +0 -27
  1134. package/src/lib/components/global-search/elder-global-search.service.ts +0 -118
  1135. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.html +0 -19
  1136. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.ts +0 -102
  1137. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.module.ts +0 -20
  1138. package/src/lib/components/graph/elder-progress-bar/sub-bar.ts +0 -6
  1139. package/src/lib/components/headers/elder-header/elder-header.component.css +0 -0
  1140. package/src/lib/components/headers/elder-header/elder-header.component.html +0 -4
  1141. package/src/lib/components/headers/elder-header/elder-header.component.ts +0 -38
  1142. package/src/lib/components/headers/elder-header.module.ts +0 -28
  1143. package/src/lib/components/http-support/elder-http-client.service.ts +0 -82
  1144. package/src/lib/components/http-support/public_api.ts +0 -3
  1145. package/src/lib/components/i18n/entities/elder-i18n-entities.module.ts +0 -74
  1146. package/src/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.html +0 -40
  1147. package/src/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.ts +0 -176
  1148. package/src/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.html +0 -36
  1149. package/src/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.ts +0 -33
  1150. package/src/lib/components/i18n/entities/elder-localized-input-dialog.service.ts +0 -35
  1151. package/src/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.html +0 -56
  1152. package/src/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.ts +0 -200
  1153. package/src/lib/components/i18n/entities/elder-localized-text-column.directive.ts +0 -34
  1154. package/src/lib/components/i18n/entities/elder-localized-texts.directive.ts +0 -62
  1155. package/src/lib/components/i18n/entities/picker/i18n-pick-async.pipe.ts +0 -49
  1156. package/src/lib/components/i18n/entities/picker/i18n-pick.pipe.ts +0 -36
  1157. package/src/lib/components/i18n/entities/picker/localisation-picker.service.ts +0 -104
  1158. package/src/lib/components/i18n/language/elder-language-config.ts +0 -18
  1159. package/src/lib/components/i18n/language/elder-language-interceptor.ts +0 -94
  1160. package/src/lib/components/i18n/language/elder-language.module.ts +0 -57
  1161. package/src/lib/components/i18n/language/elder-language.service.ts +0 -139
  1162. package/src/lib/components/i18n/language/language-switcher/elder-language-switcher.component.html +0 -24
  1163. package/src/lib/components/i18n/language/language-switcher/elder-language-switcher.component.ts +0 -71
  1164. package/src/lib/components/i18n/locales/elder-locales-de-ch.module.ts +0 -46
  1165. package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.html +0 -6
  1166. package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.ts +0 -173
  1167. package/src/lib/components/iframes/data-view/data-view-iframe-adapter.directive.ts +0 -150
  1168. package/src/lib/components/iframes/elder-iframe.module.ts +0 -61
  1169. package/src/lib/components/iframes/iframe-close.directive.ts +0 -49
  1170. package/src/lib/components/iframes/iframe-dialog/iframe-dialog.component.html +0 -9
  1171. package/src/lib/components/iframes/iframe-dialog/iframe-dialog.component.ts +0 -63
  1172. package/src/lib/components/iframes/iframe-host/iframe-host.component.html +0 -41
  1173. package/src/lib/components/iframes/iframe-host/iframe-host.component.ts +0 -172
  1174. package/src/lib/components/iframes/iframe-side-content/iframe-side-content.component.html +0 -8
  1175. package/src/lib/components/iframes/iframe-side-content/iframe-side-content.component.ts +0 -102
  1176. package/src/lib/components/iframes/iframe.service.ts +0 -59
  1177. package/src/lib/components/iframes/typed-event-message.ts +0 -66
  1178. package/src/lib/components/infinitescroll/elder-infinite-autocomplete.directive.ts +0 -79
  1179. package/src/lib/components/infinitescroll/elder-infinite-scroll.directive.ts +0 -187
  1180. package/src/lib/components/infinitescroll/elder-infinite-scroll.module.ts +0 -32
  1181. package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.ts +0 -11
  1182. package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.html +0 -66
  1183. package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.ts +0 -233
  1184. package/src/lib/components/input/autocomplete/elder-autocomplete-many.directive.ts +0 -244
  1185. package/src/lib/components/input/autocomplete/elder-autocomplete.directive.ts +0 -145
  1186. package/src/lib/components/input/autocomplete/elder-autocomplete.module.ts +0 -39
  1187. package/src/lib/components/input/autocomplete/many/word-position-finder.spec.ts +0 -74
  1188. package/src/lib/components/input/autocomplete/many/word-position-finder.ts +0 -76
  1189. package/src/lib/components/input/public_api.ts +0 -3
  1190. package/src/lib/components/labels/elder-labels.module.ts +0 -22
  1191. package/src/lib/components/labels/labels-input/labels-input.component.html +0 -44
  1192. package/src/lib/components/labels/labels-input/labels-input.component.ts +0 -255
  1193. package/src/lib/components/measures/dimensions-input/elder-dimensions-input.component.html +0 -64
  1194. package/src/lib/components/measures/dimensions-input/elder-dimensions-input.component.ts +0 -293
  1195. package/src/lib/components/measures/directives/elder-unit-select.directive.ts +0 -70
  1196. package/src/lib/components/measures/elder-measures.module.ts +0 -76
  1197. package/src/lib/components/measures/elder-quantity-transform.pipe.ts +0 -46
  1198. package/src/lib/components/measures/elder-quantity.pipe.ts +0 -102
  1199. package/src/lib/components/measures/elder-unit.service.ts +0 -135
  1200. package/src/lib/components/measures/model/dimensions.ts +0 -40
  1201. package/src/lib/components/measures/model/quantity.ts +0 -19
  1202. package/src/lib/components/measures/model/unit-dimension.ts +0 -16
  1203. package/src/lib/components/measures/model/unit-registry.ts +0 -110
  1204. package/src/lib/components/measures/model/unit.ts +0 -192
  1205. package/src/lib/components/measures/public_api.ts +0 -9
  1206. package/src/lib/components/measures/quantity-input/elder-quantity-input.component.html +0 -63
  1207. package/src/lib/components/measures/quantity-input/elder-quantity-input.component.ts +0 -221
  1208. package/src/lib/components/measures/util/elder-quantity.service.ts +0 -313
  1209. package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.html +0 -82
  1210. package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.ts +0 -221
  1211. package/src/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.ts +0 -37
  1212. package/src/lib/components/navigation/bread-crumbs/path/path.ts +0 -49
  1213. package/src/lib/components/navigation/nav/elder-nav.module.ts +0 -35
  1214. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.html +0 -30
  1215. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.ts +0 -94
  1216. package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.html +0 -86
  1217. package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.ts +0 -78
  1218. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.html +0 -5
  1219. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.ts +0 -11
  1220. package/src/lib/components/navigation/toolbar/elder-toolbar-column.directive.ts +0 -53
  1221. package/src/lib/components/navigation/toolbar/elder-toolbar.module.ts +0 -51
  1222. package/src/lib/components/navigation/toolbar/elder-toolbar.service.ts +0 -77
  1223. package/src/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.html +0 -47
  1224. package/src/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.ts +0 -78
  1225. package/src/lib/components/navigation/toolbar/toolbar-column-position.ts +0 -20
  1226. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.html +0 -1
  1227. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.ts +0 -54
  1228. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.ts +0 -107
  1229. package/src/lib/components/overlays/elder-overlay-origin.directive.ts +0 -45
  1230. package/src/lib/components/overlays/elder-overlay-trigger.directive.ts +0 -71
  1231. package/src/lib/components/overlays/elder-overlay.component.ts +0 -262
  1232. package/src/lib/components/overlays/elder-overlay.module.ts +0 -29
  1233. package/src/lib/components/panels/card-panel/elder-card-panel.component.html +0 -4
  1234. package/src/lib/components/panels/card-panel/elder-card-panel.component.ts +0 -11
  1235. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.html +0 -4
  1236. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.ts +0 -11
  1237. package/src/lib/components/panels/elder-panel.module.ts +0 -28
  1238. package/src/lib/components/panels/flat/elder-panel.component.html +0 -2
  1239. package/src/lib/components/panels/flat/elder-panel.component.ts +0 -30
  1240. package/src/lib/components/select/auto/elder-auto-select-first.directive.ts +0 -87
  1241. package/src/lib/components/select/auto/elder-select-first-util.ts +0 -98
  1242. package/src/lib/components/select/elder-select-base.ts +0 -355
  1243. package/src/lib/components/select/elder-select-chip.directive.ts +0 -32
  1244. package/src/lib/components/select/elder-select-on-tab.directive.ts +0 -150
  1245. package/src/lib/components/select/elder-select-value.directive.ts +0 -9
  1246. package/src/lib/components/select/elder-select.module.ts +0 -93
  1247. package/src/lib/components/select/multi/elder-multi-select-base.ts +0 -451
  1248. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.html +0 -89
  1249. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.ts +0 -316
  1250. package/src/lib/components/select/multi/elder-multi-select-form-field.ts +0 -80
  1251. package/src/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.ts +0 -102
  1252. package/src/lib/components/select/popup/selection-model-popup.directive.ts +0 -145
  1253. package/src/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.html +0 -18
  1254. package/src/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.ts +0 -56
  1255. package/src/lib/components/select/public_api.ts +0 -5
  1256. package/src/lib/components/select/single/elder-clear-select.directive.ts +0 -64
  1257. package/src/lib/components/select/single/elder-select/elder-select.component.html +0 -90
  1258. package/src/lib/components/select/single/elder-select/elder-select.component.ts +0 -530
  1259. package/src/lib/components/select/single/elder-select-form-field.ts +0 -57
  1260. package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.html +0 -13
  1261. package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.ts +0 -169
  1262. package/src/lib/components/select-chip-list/elder-chip-list-select.module.ts +0 -30
  1263. package/src/lib/components/select-list/elder-select-list.module.ts +0 -26
  1264. package/src/lib/components/select-list/select-list/elder-select-list.component.html +0 -5
  1265. package/src/lib/components/select-list/select-list/elder-select-list.component.ts +0 -91
  1266. package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.html +0 -29
  1267. package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.ts +0 -135
  1268. package/src/lib/components/shell/drawers/drawer-outlet-binding.ts +0 -73
  1269. package/src/lib/components/shell/drawers/elder-route-outlet-drawer.service.ts +0 -137
  1270. package/src/lib/components/shell/drawers/elder-router-outlet.service.ts +0 -145
  1271. package/src/lib/components/shell/elder-shell-slot.directive.ts +0 -61
  1272. package/src/lib/components/shell/elder-shell.module.ts +0 -68
  1273. package/src/lib/components/shell/elder-shell.service.ts +0 -176
  1274. package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.html +0 -25
  1275. package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.ts +0 -89
  1276. package/src/lib/components/shell/shell/elder-shell.component.html +0 -86
  1277. package/src/lib/components/shell/shell/elder-shell.component.ts +0 -243
  1278. package/src/lib/components/shell/shell-content-slot.ts +0 -8
  1279. package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.html +0 -4
  1280. package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.ts +0 -153
  1281. package/src/lib/components/tabs/elder-tab/elder-tab.directive.ts +0 -31
  1282. package/src/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.ts +0 -320
  1283. package/src/lib/components/tabs/elder-tab.module.ts +0 -24
  1284. package/src/lib/components/theme/elder-theme-applier.directive.ts +0 -73
  1285. package/src/lib/components/theme/elder-theme-preference.service.ts +0 -79
  1286. package/src/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.html +0 -9
  1287. package/src/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.ts +0 -86
  1288. package/src/lib/components/theme/elder-theme.directive.ts +0 -65
  1289. package/src/lib/components/theme/elder-theme.module.ts +0 -52
  1290. package/src/lib/components/theme/elder-theme.service.ts +0 -151
  1291. package/src/lib/components/theme/known-elder-themes.ts +0 -17
  1292. package/src/lib/components/theme/theme-spec.ts +0 -32
  1293. package/src/lib/components/time/date-adapters/custom-date-adapter.ts +0 -34
  1294. package/src/lib/components/time/duration/duration-bucket.ts +0 -143
  1295. package/src/lib/components/time/duration/duration-format.ts +0 -346
  1296. package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.html +0 -51
  1297. package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.ts +0 -132
  1298. package/src/lib/components/time/duration/iso-duration-str.ts +0 -5
  1299. package/src/lib/components/time/elder-date-switcher/elder-date-switcher.component.html +0 -29
  1300. package/src/lib/components/time/elder-date-switcher/elder-date-switcher.component.ts +0 -120
  1301. package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.html +0 -15
  1302. package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.ts +0 -93
  1303. package/src/lib/components/time/elder-interval-input/elder-interval-input.component.html +0 -92
  1304. package/src/lib/components/time/elder-interval-input/elder-interval-input.component.ts +0 -222
  1305. package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.html +0 -40
  1306. package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.ts +0 -213
  1307. package/src/lib/components/time/elder-local-time-input/elder-local-time-input.component.html +0 -18
  1308. package/src/lib/components/time/elder-local-time-input/elder-local-time-input.component.ts +0 -98
  1309. package/src/lib/components/time/elder-time.module.ts +0 -89
  1310. package/src/lib/components/time/period/elder-period-input/elder-period-input.component.html +0 -40
  1311. package/src/lib/components/time/period/elder-period-input/elder-period-input.component.ts +0 -148
  1312. package/src/lib/components/time/period/period-bucket.ts +0 -51
  1313. package/src/lib/components/time/period/period-format.ts +0 -127
  1314. package/src/lib/components/time/public_api.ts +0 -8
  1315. package/src/lib/components/toasts/elder-toast.module.ts +0 -21
  1316. package/src/lib/components/toasts/elder-toast.service.ts +0 -244
  1317. package/src/lib/components/toasts/standard-toast/standard-toast.component.html +0 -34
  1318. package/src/lib/components/toasts/standard-toast/standard-toast.component.ts +0 -80
  1319. package/src/lib/components/toasts/toast-type.ts +0 -5
  1320. package/src/lib/components/toasts/toast.ts +0 -12
  1321. package/src/lib/components/url-fragment/elder-url-fragment.module.ts +0 -34
  1322. package/src/lib/components/url-fragment/elder-url-fragment.ts +0 -10
  1323. package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.html +0 -25
  1324. package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.ts +0 -107
  1325. package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.html +0 -1
  1326. package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.ts +0 -81
  1327. package/src/lib/components/viewers/elder-viewers.module.ts +0 -18
  1328. package/src/lib/features/event-source/elder-event-source.service.ts +0 -71
  1329. package/src/lib/features/event-source/public_api.ts +0 -3
  1330. package/src/lib/features/event-source/reactive-event-source.ts +0 -252
  1331. package/src/lib/features/kafent/access-token-provider.ts +0 -21
  1332. package/src/lib/features/kafent/kafent-config.ts +0 -42
  1333. package/src/lib/features/kafent/kafent-event-stream.ts +0 -48
  1334. package/src/lib/features/kafent/kafent-event.service.ts +0 -128
  1335. package/src/lib/features/kafent/kafent-event.ts +0 -14
  1336. package/src/lib/features/kafent/kafent-live-event-request.ts +0 -75
  1337. package/src/lib/features/kafent/kafent.module.ts +0 -61
  1338. package/src/lib/features/kafent/sse/kafent-event-stream-sse.service.ts +0 -167
  1339. package/src/lib/features/kafent/sse/kafent-topic-sse.ts +0 -145
  1340. package/src/lib/features/public_api.ts +0 -4
  1341. package/src/lib/i18n/elder-composite-translation-loader.ts +0 -14
  1342. package/src/lib/i18n/elder-starter-translation-loader.ts +0 -20
  1343. package/src/lib/pipes/bytes.pipe.ts +0 -18
  1344. package/src/lib/pipes/elder-pipes.module.ts +0 -51
  1345. package/src/lib/pipes/elder-repeat.pipe.ts +0 -16
  1346. package/src/lib/pipes/elder-round.pipe.ts +0 -37
  1347. package/src/lib/pipes/elder-safe-url.pipe.ts +0 -12
  1348. package/src/lib/pipes/elder-truncate.pipe.ts +0 -45
  1349. package/src/lib/pipes/iso-duration.pipe.ts +0 -64
  1350. package/src/lib/pipes/iso-interval-parse.pipe.ts +0 -61
  1351. package/src/lib/pipes/iso-interval.pipe.ts +0 -146
  1352. package/src/lib/pipes/public_api.ts +0 -3
  1353. package/src/lib/pipes/time-ago.pipe.ts +0 -88
  1354. package/src/lib/pipes/time-duration.pipe.ts +0 -81
  1355. package/src/lib/pipes/weight.pipe.ts +0 -45
  1356. package/src/public_api.ts +0 -8
  1357. package/src/test.ts +0 -28
  1358. package/tsconfig.lib.json +0 -33
  1359. package/tsconfig.lib.prod.json +0 -10
  1360. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,69 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { map } from 'rxjs/operators';
3
+ export class ReactiveMap {
4
+ /***************************************************************************
5
+ * *
6
+ * Constructor *
7
+ * *
8
+ **************************************************************************/
9
+ constructor(initialValue) {
10
+ this._map = new BehaviorSubject(initialValue ?? new Map());
11
+ this.map$ = this._map.asObservable();
12
+ this.values$ = this._map.pipe(map(myMap => Array.from(myMap.values())));
13
+ }
14
+ /***************************************************************************
15
+ * *
16
+ * Public API *
17
+ * *
18
+ **************************************************************************/
19
+ get size() {
20
+ return this._map.getValue().size;
21
+ }
22
+ clear() {
23
+ this.modify(myMap => myMap.clear());
24
+ }
25
+ set(key, value) {
26
+ this.modify(myMap => myMap.set(key, value));
27
+ return this;
28
+ }
29
+ delete(key) {
30
+ return this.modify(myMap => myMap.delete(key));
31
+ }
32
+ get(key) {
33
+ return this._map.getValue().get(key);
34
+ }
35
+ has(key) {
36
+ return this._map.getValue().has(key);
37
+ }
38
+ // ---
39
+ get [Symbol.toStringTag]() {
40
+ return this._map.getValue()[Symbol.toStringTag];
41
+ }
42
+ get [Symbol.iterator]() {
43
+ return this._map.getValue()[Symbol.iterator];
44
+ }
45
+ entries() {
46
+ return this._map.getValue().entries();
47
+ }
48
+ forEach(callbackfn, thisArg) {
49
+ return this._map.getValue().forEach(callbackfn, thisArg);
50
+ }
51
+ keys() {
52
+ return this._map.getValue().keys();
53
+ }
54
+ values() {
55
+ return this._map.getValue().values();
56
+ }
57
+ /***************************************************************************
58
+ * *
59
+ * Private methods *
60
+ * *
61
+ **************************************************************************/
62
+ modify(modifyFn) {
63
+ const myMap = this._map.getValue();
64
+ const ret = modifyFn(myMap);
65
+ this._map.next(myMap);
66
+ return ret;
67
+ }
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtbWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3JlYWN0aXZlLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxNQUFNLE9BQU8sV0FBVztJQWF0Qjs7OztnRkFJNEU7SUFFNUUsWUFBWSxZQUFnQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZUFBZSxDQUFvQixZQUFZLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUMzQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxDQUNULEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFTLEVBQUUsS0FBYTtRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUNULEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQy9CLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBUztRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFTSxHQUFHLENBQUMsR0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxHQUFHLENBQUMsR0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNO0lBRU4sSUFBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0sT0FBTyxDQUNaLFVBQXNFLEVBQ3RFLE9BQWE7UUFFYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU0sSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLE1BQU0sQ0FDWixRQUE2QztRQUU3QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBSZWFjdGl2ZU1hcDxUS2V5LCBUVmFsdWU+IGltcGxlbWVudHMgTWFwPFRLZXksIFRWYWx1ZT4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21hcDogQmVoYXZpb3JTdWJqZWN0PE1hcDxUS2V5LCBUVmFsdWU+PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgbWFwJDogT2JzZXJ2YWJsZTxNYXA8VEtleSwgVFZhbHVlPj47XG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZXMkOiBPYnNlcnZhYmxlPFRWYWx1ZVtdPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihpbml0aWFsVmFsdWU/OiBNYXA8VEtleSwgVFZhbHVlPikge1xuICAgIHRoaXMuX21hcCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPFRLZXksIFRWYWx1ZT4+KGluaXRpYWxWYWx1ZSA/PyBuZXcgTWFwKCkpO1xuXG4gICAgdGhpcy5tYXAkID0gdGhpcy5fbWFwLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMudmFsdWVzJCA9IHRoaXMuX21hcC5waXBlKFxuICAgICAgbWFwKG15TWFwID0+IEFycmF5LmZyb20obXlNYXAudmFsdWVzKCkpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IHNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWFwLmdldFZhbHVlKCkuc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGlmeShcbiAgICAgIG15TWFwID0+IG15TWFwLmNsZWFyKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldChrZXk6IFRLZXksIHZhbHVlOiBUVmFsdWUpOiB0aGlzIHtcbiAgICB0aGlzLm1vZGlmeShcbiAgICAgIG15TWFwID0+IG15TWFwLnNldChrZXksIHZhbHVlKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKGtleTogVEtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1vZGlmeShcbiAgICAgIG15TWFwID0+IG15TWFwLmRlbGV0ZShrZXkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoa2V5OiBUS2V5KTogVFZhbHVlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fbWFwLmdldFZhbHVlKCkuZ2V0KGtleSk7XG4gIH1cblxuICBwdWJsaWMgaGFzKGtleTogVEtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tYXAuZ2V0VmFsdWUoKS5oYXMoa2V5KTtcbiAgfVxuXG4gIC8vIC0tLVxuXG4gIHB1YmxpYyBnZXQgW1N5bWJvbC50b1N0cmluZ1RhZ10oKSB7XG4gICAgcmV0dXJuIHRoaXMuX21hcC5nZXRWYWx1ZSgpW1N5bWJvbC50b1N0cmluZ1RhZ107XG4gIH1cblxuICBwdWJsaWMgZ2V0IFtTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgIHJldHVybiB0aGlzLl9tYXAuZ2V0VmFsdWUoKVtTeW1ib2wuaXRlcmF0b3JdO1xuICB9XG5cbiAgcHVibGljIGVudHJpZXMoKTogSXRlcmFibGVJdGVyYXRvcjxbVEtleSwgVFZhbHVlXT4ge1xuICAgIHJldHVybiB0aGlzLl9tYXAuZ2V0VmFsdWUoKS5lbnRyaWVzKCk7XG4gIH1cblxuICBwdWJsaWMgZm9yRWFjaChcbiAgICBjYWxsYmFja2ZuOiAodmFsdWU6IFRWYWx1ZSwga2V5OiBUS2V5LCBtYXA6IE1hcDxUS2V5LCBUVmFsdWU+KSA9PiB2b2lkLFxuICAgIHRoaXNBcmc/OiBhbnlcbiAgKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuX21hcC5nZXRWYWx1ZSgpLmZvckVhY2goY2FsbGJhY2tmbiwgdGhpc0FyZyk7XG4gIH1cblxuICBwdWJsaWMga2V5cygpOiBJdGVyYWJsZUl0ZXJhdG9yPFRLZXk+IHtcbiAgICByZXR1cm4gdGhpcy5fbWFwLmdldFZhbHVlKCkua2V5cygpO1xuICB9XG5cbiAgcHVibGljIHZhbHVlcygpOiBJdGVyYWJsZUl0ZXJhdG9yPFRWYWx1ZT4ge1xuICAgIHJldHVybiB0aGlzLl9tYXAuZ2V0VmFsdWUoKS52YWx1ZXMoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgbW9kaWZ5PFRSZXQ+KFxuICAgIG1vZGlmeUZuOiAobWFwVmFsOiBNYXA8VEtleSwgVFZhbHVlPikgPT4gVFJldFxuICApOiBUUmV0IHtcbiAgICBjb25zdCBteU1hcCA9IHRoaXMuX21hcC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IHJldCA9IG1vZGlmeUZuKG15TWFwKTtcbiAgICB0aGlzLl9tYXAubmV4dChteU1hcCk7XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './selection-model';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9zZWxlY3Rpb24vcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rpb24tbW9kZWwnO1xuIl19
@@ -0,0 +1,212 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { map, skip } from 'rxjs/operators';
3
+ import { LoggerFactory } from '@elderbyte/ts-logger';
4
+ /**
5
+ * Provides a model of a selection.
6
+ * Supports single and multi selection.
7
+ *
8
+ * Supports custom selection equality (default by object value)
9
+ */
10
+ export class SelectionModel {
11
+ /***************************************************************************
12
+ * *
13
+ * Constructor *
14
+ * *
15
+ **************************************************************************/
16
+ /**
17
+ * Creates a new SelectionModel
18
+ *
19
+ * @param multiple Support multi selection?
20
+ * @param initial the initial selection
21
+ * @param keyGetter value identity - default to value object equality
22
+ * @param selectableEvaluatorFn function to evaluate if the element in question is selectable
23
+ */
24
+ constructor(multiple = false, initial, keyGetter = SelectionModel.FallbackKeyGetterFn, selectableEvaluatorFn = () => true) {
25
+ /***************************************************************************
26
+ * *
27
+ * Fields *
28
+ * *
29
+ **************************************************************************/
30
+ this.log = LoggerFactory.getLogger(this.constructor.name);
31
+ this._selectionMap = new Map();
32
+ this._selection = new BehaviorSubject([]);
33
+ this._multiple = multiple;
34
+ this._keyGetterFn = keyGetter;
35
+ this._selectableEvaluatorFn = selectableEvaluatorFn;
36
+ if (initial) {
37
+ this.replaceSelection(initial);
38
+ }
39
+ }
40
+ /***************************************************************************
41
+ * *
42
+ * Properties *
43
+ * *
44
+ **************************************************************************/
45
+ get changed() {
46
+ return this.selection.pipe(skip(1) // Skip the initial value
47
+ );
48
+ }
49
+ get selection() {
50
+ return this._selection.asObservable();
51
+ }
52
+ get selectionSnapshot() {
53
+ return this._selection.getValue();
54
+ }
55
+ set selectableEvaluatorFn(fn) {
56
+ this._selectableEvaluatorFn = fn;
57
+ this.replaceSelection(this.selectionSnapshot);
58
+ }
59
+ set keyGetterFn(fn) {
60
+ this._keyGetterFn = fn;
61
+ this.replaceSelection(this.selectionSnapshot);
62
+ }
63
+ /***************************************************************************
64
+ * *
65
+ * Public API *
66
+ * *
67
+ **************************************************************************/
68
+ /**
69
+ * Evaluates if the given item is selectable based on the initially set 'selectable' function.
70
+ * If no function has been set (or function is null), all items are selectable by default.
71
+ */
72
+ isSelectable(item) {
73
+ if (this._selectableEvaluatorFn) {
74
+ return this._selectableEvaluatorFn(item);
75
+ }
76
+ return true;
77
+ }
78
+ clear() {
79
+ if (this._selectionMap.size > 0) {
80
+ this._selectionMap.clear();
81
+ this.selectionChanged('clear');
82
+ }
83
+ }
84
+ replaceSelection(newSelection) {
85
+ if (newSelection.length > 0) {
86
+ this._selectionMap.clear();
87
+ this.select(newSelection);
88
+ }
89
+ else {
90
+ this.clear();
91
+ }
92
+ }
93
+ select(values) {
94
+ if (this.selectInternal(values)) {
95
+ this.selectionChanged('selectInternal[has-changes]');
96
+ }
97
+ }
98
+ deselect(values) {
99
+ this.deselectIds(values.map(v => this._keyGetterFn(v)));
100
+ }
101
+ deselectIds(ids) {
102
+ let anyChange = false;
103
+ ids.forEach(key => {
104
+ if (this._selectionMap.delete(key)) {
105
+ anyChange = true;
106
+ }
107
+ });
108
+ if (anyChange) {
109
+ this.selectionChanged('deselectIds');
110
+ }
111
+ }
112
+ toggle(value) {
113
+ this.log.debug('toggling selection of value id:' + this._keyGetterFn(value));
114
+ if (this.isSelected(value)) {
115
+ this.deselect([value]);
116
+ }
117
+ else {
118
+ this.select([value]);
119
+ }
120
+ }
121
+ isSelected(value) {
122
+ const key = this._keyGetterFn(value);
123
+ return this._selectionMap.has(key);
124
+ }
125
+ observeSelection(value) {
126
+ const key = this._keyGetterFn(value);
127
+ return this._selection.pipe(map(selected => this._selectionMap.has(key)));
128
+ }
129
+ get count() {
130
+ return this._selectionMap.size;
131
+ }
132
+ get isEmpty() {
133
+ return this._selectionMap.size === 0;
134
+ }
135
+ get hasValue() {
136
+ return this._selectionMap.size > 0;
137
+ }
138
+ get hasSingleValue() {
139
+ return this._selectionMap.size === 1;
140
+ }
141
+ get hasMultipleValues() {
142
+ return this._selectionMap.size > 1;
143
+ }
144
+ get isMultipleSelection() {
145
+ return this._multiple;
146
+ }
147
+ set isMultipleSelection(multiple) {
148
+ if (multiple !== this._multiple) {
149
+ this._multiple = multiple;
150
+ if (!this._multiple) {
151
+ const selected = this.selectionSnapshot;
152
+ if (selected.length > 1) {
153
+ this.log.debug('Multiple selection was deactivated but there where more than one selected items present, fixing now!');
154
+ this.select([selected[0]]);
155
+ }
156
+ }
157
+ this.selectionChanged('multi-selection-toggle');
158
+ }
159
+ }
160
+ /***************************************************************************
161
+ * *
162
+ * Private methods *
163
+ * *
164
+ **************************************************************************/
165
+ selectionChanged(origin) {
166
+ this.log.debug('selectionChanged triggerd by ' + origin);
167
+ this._selection.next(Array.from(this._selectionMap.values()));
168
+ }
169
+ selectInternal(values) {
170
+ values = values.filter(v => this.isSelectable(v));
171
+ if (values && values.length > 0) {
172
+ if (this._multiple) {
173
+ // Multi selection
174
+ return this.ensureSelectedMulti(values);
175
+ }
176
+ else {
177
+ // Single selection
178
+ const single = values[0]; // Maybe last is better?
179
+ return this.ensureSelectedSingle(single);
180
+ }
181
+ }
182
+ return false;
183
+ }
184
+ ensureSelectedMulti(values) {
185
+ if (!this.isAlreadySelected(values)) {
186
+ values.forEach(value => {
187
+ this._selectionMap.set(this._keyGetterFn(value), value);
188
+ });
189
+ return true;
190
+ }
191
+ return false;
192
+ }
193
+ isExclusiveSelected(value) {
194
+ return this.isSelected(value) && this._selectionMap.size === 1;
195
+ }
196
+ isAlreadySelected(values) {
197
+ if (this._selectionMap.size >= values.length) {
198
+ return values.every(v => this.isSelected(v));
199
+ }
200
+ return false;
201
+ }
202
+ ensureSelectedSingle(value) {
203
+ if (!this.isExclusiveSelected(value)) {
204
+ this._selectionMap.clear();
205
+ this._selectionMap.set(this._keyGetterFn(value), value);
206
+ return true;
207
+ }
208
+ return false;
209
+ }
210
+ }
211
+ SelectionModel.FallbackKeyGetterFn = ((a) => a);
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUluRDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBa0J6Qjs7OztnRkFJNEU7SUFHNUU7Ozs7Ozs7T0FPRztJQUNILFlBQ0UsUUFBUSxHQUFHLEtBQUssRUFDaEIsT0FBYSxFQUNiLFlBQTRCLGNBQWMsQ0FBQyxtQkFBbUIsRUFDOUQsd0JBQWdELEdBQUcsRUFBRSxDQUFDLElBQUk7UUFuQzVEOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR3JELGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNsQyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUEyQnpELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxxQkFBcUIsQ0FBQztRQUNwRCxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFB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RSxLQUFLLENBQUMsQ0FBQztZQUN4RCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOztBQW5Qc0Isa0NBQW1CLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc2tpcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5cbmV4cG9ydCB0eXBlIEtleUdldHRlckZuPFQ+ID0gKChpdGVtOiBUKSA9PiBhbnkpO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgbW9kZWwgb2YgYSBzZWxlY3Rpb24uXG4gKiBTdXBwb3J0cyBzaW5nbGUgYW5kIG11bHRpIHNlbGVjdGlvbi5cbiAqXG4gKiBTdXBwb3J0cyBjdXN0b20gc2VsZWN0aW9uIGVxdWFsaXR5IChkZWZhdWx0IGJ5IG9iamVjdCB2YWx1ZSlcbiAqL1xuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbk1vZGVsPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfbXVsdGlwbGU6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGlvbk1hcCA9IG5ldyBNYXA8YW55LCBUPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3Rpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXT4oW10pO1xuICBwcml2YXRlIF9rZXlHZXR0ZXJGbjogS2V5R2V0dGVyRm48VD47XG4gIHByaXZhdGUgX3NlbGVjdGFibGVFdmFsdWF0b3JGbjogKChpdGVtOiBUKSA9PiBib29sZWFuKTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZhbGxiYWNrS2V5R2V0dGVyRm4gPSAoKGE6IGFueSkgPT4gYSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBTZWxlY3Rpb25Nb2RlbFxuICAgKlxuICAgKiBAcGFyYW0gbXVsdGlwbGUgU3VwcG9ydCBtdWx0aSBzZWxlY3Rpb24/XG4gICAqIEBwYXJhbSBpbml0aWFsIHRoZSBpbml0aWFsIHNlbGVjdGlvblxuICAgKiBAcGFyYW0ga2V5R2V0dGVyIHZhbHVlIGlkZW50aXR5IC0gZGVmYXVsdCB0byB2YWx1ZSBvYmplY3QgZXF1YWxpdHlcbiAgICogQHBhcmFtIHNlbGVjdGFibGVFdmFsdWF0b3JGbiBmdW5jdGlvbiB0byBldmFsdWF0ZSBpZiB0aGUgZWxlbWVudCBpbiBxdWVzdGlvbiBpcyBzZWxlY3RhYmxlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBtdWx0aXBsZSA9IGZhbHNlLFxuICAgIGluaXRpYWw/OiBUW10sXG4gICAga2V5R2V0dGVyOiBLZXlHZXR0ZXJGbjxUPiA9IFNlbGVjdGlvbk1vZGVsLkZhbGxiYWNrS2V5R2V0dGVyRm4sXG4gICAgc2VsZWN0YWJsZUV2YWx1YXRvckZuOiAoKGl0ZW06IFQpID0+IGJvb2xlYW4pID0gKCkgPT4gdHJ1ZVxuICApIHtcbiAgICB0aGlzLl9tdWx0aXBsZSA9IG11bHRpcGxlO1xuICAgIHRoaXMuX2tleUdldHRlckZuID0ga2V5R2V0dGVyO1xuICAgIHRoaXMuX3NlbGVjdGFibGVFdmFsdWF0b3JGbiA9IHNlbGVjdGFibGVFdmFsdWF0b3JGbjtcbiAgICBpZiAoaW5pdGlhbCkge1xuICAgICAgdGhpcy5yZXBsYWNlU2VsZWN0aW9uKGluaXRpYWwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgY2hhbmdlZCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbi5waXBlKFxuICAgICAgc2tpcCgxKSAvLyBTa2lwIHRoZSBpbml0aWFsIHZhbHVlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uKCk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uU25hcHNob3QoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNlbGVjdGFibGVFdmFsdWF0b3JGbihmbjogKGl0ZW06IFQpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWxlY3RhYmxlRXZhbHVhdG9yRm4gPSBmbjtcbiAgICB0aGlzLnJlcGxhY2VTZWxlY3Rpb24odGhpcy5zZWxlY3Rpb25TbmFwc2hvdCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGtleUdldHRlckZuKGZuOiBLZXlHZXR0ZXJGbjxUPikge1xuICAgIHRoaXMuX2tleUdldHRlckZuID0gZm47XG4gICAgdGhpcy5yZXBsYWNlU2VsZWN0aW9uKHRoaXMuc2VsZWN0aW9uU25hcHNob3QpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBpZiB0aGUgZ2l2ZW4gaXRlbSBpcyBzZWxlY3RhYmxlIGJhc2VkIG9uIHRoZSBpbml0aWFsbHkgc2V0ICdzZWxlY3RhYmxlJyBmdW5jdGlvbi5cbiAgICogSWYgbm8gZnVuY3Rpb24gaGFzIGJlZW4gc2V0IChvciBmdW5jdGlvbiBpcyBudWxsKSwgYWxsIGl0ZW1zIGFyZSBzZWxlY3RhYmxlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBwdWJsaWMgaXNTZWxlY3RhYmxlKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuKSB7XG4gICAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZUV2YWx1YXRvckZuKGl0ZW0pO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPiAwKSB7XG4gICAgICB0aGlzLl9zZWxlY3Rpb25NYXAuY2xlYXIoKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZCgnY2xlYXInKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZVNlbGVjdGlvbihuZXdTZWxlY3Rpb246IFRbXSk6IHZvaWQge1xuICAgIGlmIChuZXdTZWxlY3Rpb24ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTWFwLmNsZWFyKCk7XG4gICAgICB0aGlzLnNlbGVjdChuZXdTZWxlY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdCh2YWx1ZXM6IFRbXSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdEludGVybmFsKHZhbHVlcykpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZCgnc2VsZWN0SW50ZXJuYWxbaGFzLWNoYW5nZXNdJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0KHZhbHVlczogVFtdKTogdm9pZCB7XG4gICAgdGhpcy5kZXNlbGVjdElkcyhcbiAgICAgIHZhbHVlcy5tYXAodiA9PiB0aGlzLl9rZXlHZXR0ZXJGbih2KSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0SWRzKGlkczogYW55W10pOiB2b2lkIHtcblxuICAgIGxldCBhbnlDaGFuZ2UgPSBmYWxzZTtcblxuICAgIGlkcy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAodGhpcy5fc2VsZWN0aW9uTWFwLmRlbGV0ZShrZXkpKSB7XG4gICAgICAgIGFueUNoYW5nZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoYW55Q2hhbmdlKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQoJ2Rlc2VsZWN0SWRzJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRvZ2dsZSh2YWx1ZTogVCk6IHZvaWQge1xuXG4gICAgdGhpcy5sb2cuZGVidWcoJ3RvZ2dsaW5nIHNlbGVjdGlvbiBvZiB2YWx1ZSBpZDonICsgdGhpcy5fa2V5R2V0dGVyRm4odmFsdWUpKTtcblxuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQodmFsdWUpKSB7XG4gICAgICB0aGlzLmRlc2VsZWN0KFt2YWx1ZV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdChbdmFsdWVdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCh2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuX2tleUdldHRlckZuKHZhbHVlKTtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLmhhcyhrZXkpO1xuICB9XG5cblxuICBwdWJsaWMgb2JzZXJ2ZVNlbGVjdGlvbih2YWx1ZTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuX2tleUdldHRlckZuKHZhbHVlKTtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uLnBpcGUoXG4gICAgICBtYXAoc2VsZWN0ZWQgPT4gdGhpcy5fc2VsZWN0aW9uTWFwLmhhcyhrZXkpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPT09IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA+IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1NpbmdsZVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzTXVsdGlwbGVWYWx1ZXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1hcC5zaXplID4gMTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNNdWx0aXBsZVNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlzTXVsdGlwbGVTZWxlY3Rpb24obXVsdGlwbGU6IGJvb2xlYW4pIHtcbiAgICBpZiAobXVsdGlwbGUgIT09IHRoaXMuX211bHRpcGxlKSB7XG4gICAgICB0aGlzLl9tdWx0aXBsZSA9IG11bHRpcGxlO1xuICAgICAgaWYgKCF0aGlzLl9tdWx0aXBsZSkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uU25hcHNob3Q7XG4gICAgICAgIGlmIChzZWxlY3RlZC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdGhpcy5sb2cuZGVidWcoJ011bHRpcGxlIHNlbGVjdGlvbiB3YXMgZGVhY3RpdmF0ZWQgYnV0IHRoZXJlIHdoZXJlIG1vcmUgdGhhbiBvbmUgc2VsZWN0ZWQgaXRlbXMgcHJlc2VudCwgZml4aW5nIG5vdyEnKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdChbc2VsZWN0ZWRbMF1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2VkKCdtdWx0aS1zZWxlY3Rpb24tdG9nZ2xlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzZWxlY3Rpb25DaGFuZ2VkKG9yaWdpbjogc3RyaW5nKTogdm9pZCB7XG5cbiAgICB0aGlzLmxvZy5kZWJ1Zygnc2VsZWN0aW9uQ2hhbmdlZCB0cmlnZ2VyZCBieSAnICsgb3JpZ2luKTtcblxuICAgIHRoaXMuX3NlbGVjdGlvbi5uZXh0KFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLl9zZWxlY3Rpb25NYXAudmFsdWVzKCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0SW50ZXJuYWwodmFsdWVzOiBUW10pOiBib29sZWFuIHtcblxuICAgIHZhbHVlcyA9IHZhbHVlcy5maWx0ZXIodiA9PiB0aGlzLmlzU2VsZWN0YWJsZSh2KSk7XG5cbiAgICBpZiAodmFsdWVzICYmIHZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5fbXVsdGlwbGUpIHtcbiAgICAgICAgLy8gTXVsdGkgc2VsZWN0aW9uXG4gICAgICAgIHJldHVybiB0aGlzLmVuc3VyZVNlbGVjdGVkTXVsdGkodmFsdWVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNpbmdsZSBzZWxlY3Rpb25cbiAgICAgICAgY29uc3Qgc2luZ2xlID0gdmFsdWVzWzBdOyAvLyBNYXliZSBsYXN0IGlzIGJldHRlcj9cbiAgICAgICAgcmV0dXJuIHRoaXMuZW5zdXJlU2VsZWN0ZWRTaW5nbGUoc2luZ2xlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVTZWxlY3RlZE11bHRpKHZhbHVlczogVFtdKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmlzQWxyZWFkeVNlbGVjdGVkKHZhbHVlcykpIHtcbiAgICAgIHZhbHVlcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25NYXAuc2V0KHRoaXMuX2tleUdldHRlckZuKHZhbHVlKSwgdmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGlzRXhjbHVzaXZlU2VsZWN0ZWQodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkKHZhbHVlKSAmJiB0aGlzLl9zZWxlY3Rpb25NYXAuc2l6ZSA9PT0gMTtcbiAgfVxuXG4gIHByaXZhdGUgaXNBbHJlYWR5U2VsZWN0ZWQodmFsdWVzOiBUW10pOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0aW9uTWFwLnNpemUgPj0gdmFsdWVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHZhbHVlcy5ldmVyeSh2ID0+IHRoaXMuaXNTZWxlY3RlZCh2KSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlU2VsZWN0ZWRTaW5nbGUodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuaXNFeGNsdXNpdmVTZWxlY3RlZCh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGlvbk1hcC5jbGVhcigpO1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTWFwLnNldCh0aGlzLl9rZXlHZXR0ZXJGbih2YWx1ZSksIHZhbHVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,44 @@
1
+ export class Sets {
2
+ /**
3
+ * Compares the content of two sets for equality in O(n).
4
+ * @param as
5
+ * @param bs
6
+ */
7
+ static equals(as, bs) {
8
+ if (as.size !== bs.size) {
9
+ return false;
10
+ }
11
+ if (as !== bs) { // Same reference?
12
+ return Sets.containsEvery(bs, Array.from(as.values()));
13
+ }
14
+ return true;
15
+ }
16
+ /**
17
+ * Checks if the two given arrays have the same content.
18
+ * They are handled as "Sets" and order of the items is not relevant for the check.
19
+ *
20
+ * @param idsA
21
+ * @param idsB
22
+ */
23
+ static equalContent(idsA, idsB) {
24
+ if (!idsA?.length && !idsB?.length) {
25
+ return true;
26
+ }
27
+ if (!idsA || !idsB) {
28
+ return false;
29
+ }
30
+ if (idsA.length !== idsB.length) {
31
+ return false;
32
+ }
33
+ // Both element lists have content and the same length
34
+ return Sets.containsEvery(new Set(idsA), idsB);
35
+ }
36
+ /**
37
+ * Checks if the given set contains every given element
38
+ */
39
+ static containsEvery(set, elements) {
40
+ const predicateFn = (e) => set.has(e); // aot does not like lambdas
41
+ return elements.every(predicateFn);
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9zZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sT0FBTyxJQUFJO0lBRWY7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUksRUFBVSxFQUFFLEVBQVU7UUFDNUMsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLGtCQUFrQjtZQUNqQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN4RDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUksSUFBUyxFQUFFLElBQVM7UUFDaEQsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ2xDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2xCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUMvQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0Qsc0RBQXNEO1FBQ3RELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBR0Q7O09BRUc7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFJLEdBQVcsRUFBRSxRQUFhO1FBQ3ZELE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsNEJBQTRCO1FBQ3RFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBjbGFzcyBTZXRzIHtcblxuICAvKipcbiAgICogQ29tcGFyZXMgdGhlIGNvbnRlbnQgb2YgdHdvIHNldHMgZm9yIGVxdWFsaXR5IGluIE8obikuXG4gICAqIEBwYXJhbSBhc1xuICAgKiBAcGFyYW0gYnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXF1YWxzPFQ+KGFzOiBTZXQ8VD4sIGJzOiBTZXQ8VD4pIHtcbiAgICBpZiAoYXMuc2l6ZSAhPT0gYnMuc2l6ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYXMgIT09IGJzKSB7IC8vIFNhbWUgcmVmZXJlbmNlP1xuICAgICAgcmV0dXJuIFNldHMuY29udGFpbnNFdmVyeShicywgQXJyYXkuZnJvbShhcy52YWx1ZXMoKSkpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHR3byBnaXZlbiBhcnJheXMgaGF2ZSB0aGUgc2FtZSBjb250ZW50LlxuICAgKiBUaGV5IGFyZSBoYW5kbGVkIGFzIFwiU2V0c1wiIGFuZCBvcmRlciBvZiB0aGUgaXRlbXMgaXMgbm90IHJlbGV2YW50IGZvciB0aGUgY2hlY2suXG4gICAqXG4gICAqIEBwYXJhbSBpZHNBXG4gICAqIEBwYXJhbSBpZHNCXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVxdWFsQ29udGVudDxUPihpZHNBOiBUW10sIGlkc0I6IFRbXSkge1xuICAgIGlmICghaWRzQT8ubGVuZ3RoICYmICFpZHNCPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoIWlkc0EgfHwgIWlkc0IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGlkc0EubGVuZ3RoICE9PSBpZHNCLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBCb3RoIGVsZW1lbnQgbGlzdHMgaGF2ZSBjb250ZW50IGFuZCB0aGUgc2FtZSBsZW5ndGhcbiAgICByZXR1cm4gU2V0cy5jb250YWluc0V2ZXJ5KG5ldyBTZXQoaWRzQSksIGlkc0IpO1xuICB9XG5cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBzZXQgY29udGFpbnMgZXZlcnkgZ2l2ZW4gZWxlbWVudFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb250YWluc0V2ZXJ5PFQ+KHNldDogU2V0PFQ+LCBlbGVtZW50czogVFtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcHJlZGljYXRlRm4gPSAoZTogVCkgPT4gc2V0LmhhcyhlKTsgLy8gYW90IGRvZXMgbm90IGxpa2UgbGFtYmRhc1xuICAgIHJldHVybiBlbGVtZW50cy5ldmVyeShwcmVkaWNhdGVGbik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ export class SuggestionProvider {
2
+ constructor(provider) {
3
+ this.provider = provider;
4
+ }
5
+ static build(provider) {
6
+ return new SuggestionProvider(provider);
7
+ }
8
+ loadSuggestions(filter) {
9
+ return this.provider(filter);
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9zdWdnZXN0aW9uLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE1BQU0sT0FBTyxrQkFBa0I7SUFNN0IsWUFDVSxRQUE2QztRQUE3QyxhQUFRLEdBQVIsUUFBUSxDQUFxQztJQUN2RCxDQUFDO0lBTk0sTUFBTSxDQUFDLEtBQUssQ0FBSSxRQUE2QztRQUNsRSxPQUFPLElBQUksa0JBQWtCLENBQUksUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQU1NLGVBQWUsQ0FBQyxNQUFjO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTdWdnZXN0aW9uUHJvdmlkZXI8VD4ge1xuXG4gIC8qKlxuICAgKiBMb2FkcyBhbGwgc3VnZ2VzdGlvbnMsIGZpbHRlcmVkIGJ5IHRoZSBnaXZlbiBmaWx0ZXIgc3RyaW5nLlxuICAgKi9cbiAgbG9hZFN1Z2dlc3Rpb25zKGZpbHRlcjogc3RyaW5nIHwgbnVsbCk6IE9ic2VydmFibGU8VFtdPjtcbn1cblxuXG5leHBvcnQgY2xhc3MgU3VnZ2VzdGlvblByb3ZpZGVyPFQ+IGltcGxlbWVudHMgSVN1Z2dlc3Rpb25Qcm92aWRlcjxUPiB7XG5cbiAgcHVibGljIHN0YXRpYyBidWlsZDxUPihwcm92aWRlcjogKGZpbHRlcjogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPFRbXT4pOiBJU3VnZ2VzdGlvblByb3ZpZGVyPFQ+IHtcbiAgICByZXR1cm4gbmV3IFN1Z2dlc3Rpb25Qcm92aWRlcjxUPihwcm92aWRlcik7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb3ZpZGVyOiAoZmlsdGVyOiBzdHJpbmcpID0+IE9ic2VydmFibGU8VFtdPikge1xuICB9XG5cbiAgcHVibGljIGxvYWRTdWdnZXN0aW9ucyhmaWx0ZXI6IHN0cmluZyk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvdmlkZXIoZmlsdGVyKTtcbiAgfVxufVxuXG5cblxuIl19
@@ -0,0 +1,135 @@
1
+ import { LoggerFactory } from '@elderbyte/ts-logger';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ /**
4
+ * Manages templates for different slots.
5
+ * Supports global fallback templates for slots (default templates)
6
+ */
7
+ export class TemplateSlotManager {
8
+ /***************************************************************************
9
+ * *
10
+ * Constructors *
11
+ * *
12
+ **************************************************************************/
13
+ /**
14
+ * Create a new Template Slot Manager.
15
+ * @param slotDefinitions Slot definitions, supporting synonyms
16
+ */
17
+ constructor(slotDefinitions) {
18
+ /***************************************************************************
19
+ * *
20
+ * Fields *
21
+ * *
22
+ **************************************************************************/
23
+ this.logger = LoggerFactory.getLogger(this.constructor.name);
24
+ /** Default templates (App Level) */
25
+ this._defaultSlotTemplates = new Map();
26
+ /** Custom templates (Component Level) */
27
+ this._slotTemplates = new Map();
28
+ this._activeSlotTemplates = new Map();
29
+ /**
30
+ * Key: A synonym slot name
31
+ * Value: The primary slot the synonym is resolving to
32
+ */
33
+ this._slotSynonyms = new Map();
34
+ for (const slotDefinition of slotDefinitions) {
35
+ this.initSlot(slotDefinition);
36
+ }
37
+ }
38
+ /***************************************************************************
39
+ * *
40
+ * Public API *
41
+ * *
42
+ **************************************************************************/
43
+ /**
44
+ * Returns an observable which emits the current active template for the given slot
45
+ * over time.
46
+ */
47
+ activeSlotTemplate(slot) {
48
+ slot = this.resolveSlot(slot);
49
+ const activeColumn = this._activeSlotTemplates.get(slot);
50
+ if (activeColumn) {
51
+ return activeColumn.asObservable();
52
+ }
53
+ else {
54
+ throw new Error('Could not find slot-template for slot ' + slot);
55
+ }
56
+ }
57
+ /**
58
+ * Registers the given template for the given slot.
59
+ *
60
+ * @param slot at which template should be placed
61
+ * @param template to set at slot
62
+ * @param isDefault if the given template should be used as global default
63
+ */
64
+ registerSlotTemplate(slot, template, isDefault = false) {
65
+ slot = this.resolveSlot(slot);
66
+ if (isDefault) {
67
+ this._defaultSlotTemplates.set(slot, template);
68
+ }
69
+ else {
70
+ this._slotTemplates.set(slot, template);
71
+ }
72
+ this.updateActiveSlotTemplate(slot);
73
+ }
74
+ /**
75
+ * Deregister the given template from the toolbar.
76
+ *
77
+ * @param template to deregister
78
+ * @param slot if set, the template will only be deregistered if it was registered at this slot (optional)
79
+ */
80
+ deregisterSlotTemplate(template, slot) {
81
+ if (slot) {
82
+ slot = this.resolveSlot(slot);
83
+ if (this._slotTemplates.get(slot) === template) {
84
+ this.removeSlotTemplate(slot);
85
+ }
86
+ }
87
+ else {
88
+ this._slotTemplates.forEach((value, key) => {
89
+ if (value === template) {
90
+ this.removeSlotTemplate(key);
91
+ }
92
+ });
93
+ }
94
+ }
95
+ /***************************************************************************
96
+ * *
97
+ * Private methods *
98
+ * *
99
+ **************************************************************************/
100
+ initSlot(slotDefinition) {
101
+ let slot;
102
+ if (slotDefinition instanceof Array) {
103
+ slot = slotDefinition.shift();
104
+ this.registerSlotSynonyms(slot, slotDefinition);
105
+ }
106
+ else {
107
+ slot = slotDefinition;
108
+ }
109
+ this._activeSlotTemplates.set(slot, new BehaviorSubject(null));
110
+ }
111
+ registerSlotSynonyms(primarySlot, synonyms) {
112
+ synonyms.forEach(synonym => this._slotSynonyms.set(synonym, primarySlot));
113
+ }
114
+ resolveSlot(slot) {
115
+ return this._slotSynonyms.get(slot) ?? slot;
116
+ }
117
+ removeSlotTemplate(slot) {
118
+ this.logger.trace('Deregistering template slot at ', slot);
119
+ this._slotTemplates.delete(slot);
120
+ this.updateActiveSlotTemplate(slot);
121
+ }
122
+ updateActiveSlotTemplate(slot) {
123
+ const active = this.findActiveTemplate(slot);
124
+ const activeSlotTemplate = this._activeSlotTemplates.get(slot);
125
+ if (activeSlotTemplate && activeSlotTemplate.getValue() !== active) {
126
+ activeSlotTemplate.next(active);
127
+ }
128
+ }
129
+ findActiveTemplate(slot) {
130
+ return this._slotTemplates.has(slot)
131
+ ? this._slotTemplates.get(slot)
132
+ : this._defaultSlotTemplates.get(slot);
133
+ }
134
+ }
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtc2xvdC1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3RlbXBsYXRlcy90ZW1wbGF0ZS1zbG90LW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFFakQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQXdCOUI7Ozs7Z0ZBSTRFO0lBRTVFOzs7T0FHRztJQUNILFlBQVksZUFBdUM7UUFoQ25EOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpFLG9DQUFvQztRQUNuQiwwQkFBcUIsR0FBRyxJQUFJLEdBQUcsRUFBMkIsQ0FBQztRQUU1RSx5Q0FBeUM7UUFDeEIsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBMkIsQ0FBQztRQUVwRCx5QkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFBNEMsQ0FBQztRQUU1Rjs7O1dBR0c7UUFDYyxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFnQixDQUFDO1FBYXZELEtBQUssTUFBTSxjQUFjLElBQUksZUFBZSxFQUFFO1lBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7T0FHRztJQUNJLGtCQUFrQixDQUFDLElBQVc7UUFDbkMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENB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LENBQUMsQ0FBQztRQUMvRCxJQUFJLGtCQUFrQixJQUFJLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxLQUFLLE1BQU0sRUFBRTtZQUNsRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBVztRQUNwQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogTWFuYWdlcyB0ZW1wbGF0ZXMgZm9yIGRpZmZlcmVudCBzbG90cy5cbiAqIFN1cHBvcnRzIGdsb2JhbCBmYWxsYmFjayB0ZW1wbGF0ZXMgZm9yIHNsb3RzIChkZWZhdWx0IHRlbXBsYXRlcylcbiAqL1xuZXhwb3J0IGNsYXNzIFRlbXBsYXRlU2xvdE1hbmFnZXI8VFNsb3Q+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgLyoqIERlZmF1bHQgdGVtcGxhdGVzIChBcHAgTGV2ZWwpICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRTbG90VGVtcGxhdGVzID0gbmV3IE1hcDxUU2xvdCwgVGVtcGxhdGVSZWY8YW55Pj4oKTtcblxuICAvKiogQ3VzdG9tIHRlbXBsYXRlcyAoQ29tcG9uZW50IExldmVsKSAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9zbG90VGVtcGxhdGVzID0gbmV3IE1hcDxUU2xvdCwgVGVtcGxhdGVSZWY8YW55Pj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVTbG90VGVtcGxhdGVzID0gbmV3IE1hcDxUU2xvdCwgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUmVmPGFueT4+PigpO1xuXG4gIC8qKlxuICAgKiBLZXk6IEEgc3lub255bSBzbG90IG5hbWVcbiAgICogVmFsdWU6IFRoZSBwcmltYXJ5IHNsb3QgdGhlIHN5bm9ueW0gaXMgcmVzb2x2aW5nIHRvXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9zbG90U3lub255bXMgPSBuZXcgTWFwPFRTbG90LCBUU2xvdD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3JzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IFRlbXBsYXRlIFNsb3QgTWFuYWdlci5cbiAgICogQHBhcmFtIHNsb3REZWZpbml0aW9ucyBTbG90IGRlZmluaXRpb25zLCBzdXBwb3J0aW5nIHN5bm9ueW1zXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzbG90RGVmaW5pdGlvbnM6IEFycmF5PFRTbG90IHwgVFNsb3RbXT4pIHtcbiAgICBmb3IgKGNvbnN0IHNsb3REZWZpbml0aW9uIG9mIHNsb3REZWZpbml0aW9ucykge1xuICAgICAgdGhpcy5pbml0U2xvdChzbG90RGVmaW5pdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB0aGUgY3VycmVudCBhY3RpdmUgdGVtcGxhdGUgZm9yIHRoZSBnaXZlbiBzbG90XG4gICAqIG92ZXIgdGltZS5cbiAgICovXG4gIHB1YmxpYyBhY3RpdmVTbG90VGVtcGxhdGUoc2xvdDogVFNsb3QpOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4+IHtcbiAgICBzbG90ID0gdGhpcy5yZXNvbHZlU2xvdChzbG90KTtcbiAgICBjb25zdCBhY3RpdmVDb2x1bW4gPSB0aGlzLl9hY3RpdmVTbG90VGVtcGxhdGVzLmdldChzbG90KTtcbiAgICBpZiAoYWN0aXZlQ29sdW1uKSB7XG4gICAgICByZXR1cm4gYWN0aXZlQ29sdW1uLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHNsb3QtdGVtcGxhdGUgZm9yIHNsb3QgJyArIHNsb3QpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgdGhlIGdpdmVuIHRlbXBsYXRlIGZvciB0aGUgZ2l2ZW4gc2xvdC5cbiAgICpcbiAgICogQHBhcmFtIHNsb3QgYXQgd2hpY2ggdGVtcGxhdGUgc2hvdWxkIGJlIHBsYWNlZFxuICAgKiBAcGFyYW0gdGVtcGxhdGUgdG8gc2V0IGF0IHNsb3RcbiAgICogQHBhcmFtIGlzRGVmYXVsdCBpZiB0aGUgZ2l2ZW4gdGVtcGxhdGUgc2hvdWxkIGJlIHVzZWQgYXMgZ2xvYmFsIGRlZmF1bHRcbiAgICovXG4gIHB1YmxpYyByZWdpc3RlclNsb3RUZW1wbGF0ZShzbG90OiBUU2xvdCwgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIGlzRGVmYXVsdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgc2xvdCA9IHRoaXMucmVzb2x2ZVNsb3Qoc2xvdCk7XG4gICAgaWYgKGlzRGVmYXVsdCkge1xuICAgICAgdGhpcy5fZGVmYXVsdFNsb3RUZW1wbGF0ZXMuc2V0KHNsb3QsIHRlbXBsYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2xvdFRlbXBsYXRlcy5zZXQoc2xvdCwgdGVtcGxhdGUpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZVNsb3RUZW1wbGF0ZShzbG90KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXJlZ2lzdGVyIHRoZSBnaXZlbiB0ZW1wbGF0ZSBmcm9tIHRoZSB0b29sYmFyLlxuICAgKlxuICAgKiBAcGFyYW0gdGVtcGxhdGUgdG8gZGVyZWdpc3RlclxuICAgKiBAcGFyYW0gc2xvdCBpZiBzZXQsIHRoZSB0ZW1wbGF0ZSB3aWxsIG9ubHkgYmUgZGVyZWdpc3RlcmVkIGlmIGl0IHdhcyByZWdpc3RlcmVkIGF0IHRoaXMgc2xvdCAob3B0aW9uYWwpXG4gICAqL1xuICBwdWJsaWMgZGVyZWdpc3RlclNsb3RUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Piwgc2xvdD86IFRTbG90KSB7XG5cbiAgICBpZiAoc2xvdCkge1xuICAgICAgc2xvdCA9IHRoaXMucmVzb2x2ZVNsb3Qoc2xvdCk7XG4gICAgICBpZiAodGhpcy5fc2xvdFRlbXBsYXRlcy5nZXQoc2xvdCkgPT09IHRlbXBsYXRlKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlU2xvdFRlbXBsYXRlKHNsb3QpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zbG90VGVtcGxhdGVzLmZvckVhY2goKHZhbHVlOiBUZW1wbGF0ZVJlZjxhbnk+LCBrZXk6IFRTbG90KSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGVtcGxhdGUpIHtcbiAgICAgICAgICB0aGlzLnJlbW92ZVNsb3RUZW1wbGF0ZShrZXkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4gIHByaXZhdGUgaW5pdFNsb3Qoc2xvdERlZmluaXRpb246IFRTbG90IHwgVFNsb3RbXSk6IHZvaWQge1xuICAgIGxldCBzbG90OiBUU2xvdDtcbiAgICBpZiAoc2xvdERlZmluaXRpb24gaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgc2xvdCA9IHNsb3REZWZpbml0aW9uLnNoaWZ0KCk7XG4gICAgICB0aGlzLnJlZ2lzdGVyU2xvdFN5bm9ueW1zKHNsb3QsIHNsb3REZWZpbml0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2xvdCA9IHNsb3REZWZpbml0aW9uO1xuICAgIH1cbiAgICB0aGlzLl9hY3RpdmVTbG90VGVtcGxhdGVzLnNldChzbG90LCBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUmVmPGFueT4+KG51bGwpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJTbG90U3lub255bXMocHJpbWFyeVNsb3Q6IFRTbG90LCBzeW5vbnltczogVFNsb3RbXSk6IHZvaWQge1xuICAgIHN5bm9ueW1zLmZvckVhY2goc3lub255bSA9PiB0aGlzLl9zbG90U3lub255bXMuc2V0KHN5bm9ueW0sIHByaW1hcnlTbG90KSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVTbG90KHNsb3Q6IFRTbG90KTogVFNsb3Qge1xuICAgIHJldHVybiB0aGlzLl9zbG90U3lub255bXMuZ2V0KHNsb3QpID8/IHNsb3Q7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVNsb3RUZW1wbGF0ZShzbG90OiBUU2xvdCk6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLnRyYWNlKCdEZXJlZ2lzdGVyaW5nIHRlbXBsYXRlIHNsb3QgYXQgJywgc2xvdCk7XG4gICAgdGhpcy5fc2xvdFRlbXBsYXRlcy5kZWxldGUoc2xvdCk7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVTbG90VGVtcGxhdGUoc2xvdCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFjdGl2ZVNsb3RUZW1wbGF0ZShzbG90OiBUU2xvdCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuZmluZEFjdGl2ZVRlbXBsYXRlKHNsb3QpO1xuICAgIGNvbnN0IGFjdGl2ZVNsb3RUZW1wbGF0ZSA9IHRoaXMuX2FjdGl2ZVNsb3RUZW1wbGF0ZXMuZ2V0KHNsb3QpO1xuICAgIGlmIChhY3RpdmVTbG90VGVtcGxhdGUgJiYgYWN0aXZlU2xvdFRlbXBsYXRlLmdldFZhbHVlKCkgIT09IGFjdGl2ZSkge1xuICAgICAgYWN0aXZlU2xvdFRlbXBsYXRlLm5leHQoYWN0aXZlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmRBY3RpdmVUZW1wbGF0ZShzbG90OiBUU2xvdCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9zbG90VGVtcGxhdGVzLmhhcyhzbG90KVxuICAgICAgPyB0aGlzLl9zbG90VGVtcGxhdGVzLmdldChzbG90KVxuICAgICAgOiB0aGlzLl9kZWZhdWx0U2xvdFRlbXBsYXRlcy5nZXQoc2xvdCk7XG4gIH1cbn1cbiJdfQ==