@elderbyte/ngx-starter 14.11.0 → 14.11.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 (1359) hide show
  1. package/.eslintrc.json +44 -0
  2. package/karma-ci.conf.js +46 -0
  3. package/karma.conf.js +44 -0
  4. package/ng-package.json +15 -0
  5. package/ng-package.prod.json +14 -0
  6. package/package.json +8 -24
  7. package/src/lib/common/async/public_api.ts +3 -0
  8. package/src/lib/common/async/refreshing-entity.ts +128 -0
  9. package/src/lib/common/csv/csv-serializer.ts +82 -0
  10. package/src/lib/common/csv/csv-spec.ts +148 -0
  11. package/src/lib/common/csv/public_api.ts +3 -0
  12. package/src/lib/common/data/continuable-listing.ts +35 -0
  13. package/src/lib/common/data/data-context/data-context-active-page.ts +184 -0
  14. package/src/lib/common/data/data-context/data-context-auto-starter.ts +108 -0
  15. package/src/lib/common/data/data-context/data-context-base.ts +406 -0
  16. package/src/lib/common/data/data-context/data-context-builder.ts +354 -0
  17. package/src/lib/common/data/data-context/data-context-continuable-base.ts +100 -0
  18. package/src/lib/common/data/data-context/data-context-continuable-paged.ts +191 -0
  19. package/src/lib/common/data/data-context/data-context-continuable-token.ts +177 -0
  20. package/src/lib/common/data/data-context/data-context-life-cycle-binding.ts +59 -0
  21. package/src/lib/common/data/data-context/data-context-simple.ts +80 -0
  22. package/src/lib/common/data/data-context/data-context-source-auto-reloader.ts +21 -0
  23. package/src/lib/common/data/data-context/data-context-status.ts +56 -0
  24. package/src/lib/common/data/data-context/data-context.ts +204 -0
  25. package/src/lib/common/data/data-context/mat-table-data-context-binding.ts +209 -0
  26. package/src/lib/common/data/data-context/public_api.ts +19 -0
  27. package/src/lib/common/data/datasource/data-source-adapter.ts +96 -0
  28. package/src/lib/common/data/datasource/data-source-processor.ts +318 -0
  29. package/src/lib/common/data/datasource/data-source.ts +87 -0
  30. package/src/lib/common/data/datasource/entity-id-util.ts +11 -0
  31. package/src/lib/common/data/datasource/fetcher/delegate-data-source.ts +230 -0
  32. package/src/lib/common/data/datasource/local/local-list-data-source.ts +161 -0
  33. package/src/lib/common/data/datasource/local/local-paged-data-source.ts +129 -0
  34. package/src/lib/common/data/datasource/public_api.ts +14 -0
  35. package/src/lib/common/data/datasource/rest/public_api.ts +2 -0
  36. package/src/lib/common/data/datasource/rest/rest-client.ts +474 -0
  37. package/src/lib/common/data/entity-set-patch.ts +210 -0
  38. package/src/lib/common/data/field-comparator.ts +122 -0
  39. package/src/lib/common/data/filters/filter-context.spec.ts +150 -0
  40. package/src/lib/common/data/filters/filter-context.ts +163 -0
  41. package/src/lib/common/data/filters/filter.spec.ts +136 -0
  42. package/src/lib/common/data/filters/filter.ts +137 -0
  43. package/src/lib/common/data/http-params-builder.ts +138 -0
  44. package/src/lib/common/data/page.ts +92 -0
  45. package/src/lib/common/data/public_api.ts +12 -0
  46. package/src/lib/common/data/required-filter-evaluator.ts +122 -0
  47. package/src/lib/common/data/sort-context.ts +90 -0
  48. package/src/lib/common/data/sort.ts +16 -0
  49. package/src/lib/common/data/token-chunk-request.ts +10 -0
  50. package/src/lib/common/enums/elder-enum-translation.service.ts +116 -0
  51. package/src/lib/common/enums/public_api.ts +3 -0
  52. package/src/lib/common/errors/exception-detail.ts +6 -0
  53. package/{lib/common/errors/public_api.d.ts → src/lib/common/errors/public_api.ts} +0 -0
  54. package/src/lib/common/errors/standard-error-detail.ts +27 -0
  55. package/src/lib/common/format/bytes-format.ts +25 -0
  56. package/src/lib/common/format/bytes-per-second-format.ts +44 -0
  57. package/{lib/common/format/public_api.d.ts → src/lib/common/format/public_api.ts} +0 -0
  58. package/src/lib/common/forms/elder-entity-value-accessor.ts +70 -0
  59. package/src/lib/common/forms/elder-form-field-control-base.directive.ts +240 -0
  60. package/src/lib/common/forms/elder-from-field-base.ts +113 -0
  61. package/src/lib/common/forms/elder-from-field-entity-base.ts +63 -0
  62. package/src/lib/common/forms/elder-from-field-multi-entity-base.ts +86 -0
  63. package/src/lib/common/forms/elder-multi-entity-value-accessor.ts +84 -0
  64. package/src/lib/common/forms/form-field-base.component.ts +152 -0
  65. package/src/lib/common/forms/multi-model-base.component.ts +40 -0
  66. package/src/lib/common/forms/public_api.ts +12 -0
  67. package/src/lib/common/forms/template-composite-control.ts +158 -0
  68. package/src/lib/common/forms/value-accessor-base.ts +165 -0
  69. package/src/lib/common/forms/view-providers.ts +34 -0
  70. package/src/lib/common/http/http-client-builder.service.ts +55 -0
  71. package/src/lib/common/http/http-client-pristine.ts +15 -0
  72. package/src/lib/common/http/public_api.ts +5 -0
  73. package/src/lib/common/http/transfer/data-transfer-factory.ts +145 -0
  74. package/src/lib/common/http/transfer/data-transfer-progress-aggregate.ts +74 -0
  75. package/src/lib/common/http/transfer/data-transfer-progress.ts +18 -0
  76. package/src/lib/common/http/transfer/data-transfer-state.ts +129 -0
  77. package/src/lib/common/http/transfer/data-transfer-status.ts +28 -0
  78. package/src/lib/common/http/transfer/http-data-transfer.ts +276 -0
  79. package/src/lib/common/http/transfer/public_api.ts +9 -0
  80. package/src/lib/common/http/upload/file-upload-client.ts +74 -0
  81. package/src/lib/common/i18n/entity/impl/i18n-base.ts +9 -0
  82. package/src/lib/common/i18n/entity/impl/i18n-text.ts +25 -0
  83. package/src/lib/common/i18n/entity/language-tag.ts +19 -0
  84. package/src/lib/common/i18n/entity/locale.ts +20 -0
  85. package/src/lib/common/i18n/entity/localisation-picker.ts +51 -0
  86. package/src/lib/common/i18n/entity/localized.ts +11 -0
  87. package/src/lib/common/i18n/entity/public_api.ts +7 -0
  88. package/src/lib/common/i18n/public_api.ts +3 -0
  89. package/src/lib/common/json-map.ts +26 -0
  90. package/src/lib/common/objects.ts +46 -0
  91. package/src/lib/common/public_api.ts +20 -0
  92. package/src/lib/common/reactive-map.ts +113 -0
  93. package/{lib/common/selection/public_api.d.ts → src/lib/common/selection/public_api.ts} +0 -0
  94. package/src/lib/common/selection/selection-model.ts +274 -0
  95. package/src/lib/common/sets.ts +48 -0
  96. package/src/lib/common/suggestion-provider.ts +28 -0
  97. package/src/lib/common/templates/public_api.ts +1 -0
  98. package/src/lib/common/templates/template-slot-manager.ts +153 -0
  99. package/src/lib/common/time/date-util.ts +120 -0
  100. package/src/lib/common/time/interval.spec.ts +53 -0
  101. package/src/lib/common/time/interval.ts +539 -0
  102. package/src/lib/common/time/period-duration.ts +147 -0
  103. package/src/lib/common/time/public_api.ts +6 -0
  104. package/src/lib/common/time/time-util.ts +54 -0
  105. package/src/lib/common/url/elder-router.service.ts +55 -0
  106. package/src/lib/common/url/elder-url-fragment-params.service.ts +139 -0
  107. package/src/lib/common/url/public_api.ts +5 -0
  108. package/src/lib/common/url/url-query-params.ts +169 -0
  109. package/src/lib/common/utils/batcher.spec.ts +39 -0
  110. package/src/lib/common/utils/batcher.ts +55 -0
  111. package/src/lib/common/utils/collection-util.ts +125 -0
  112. package/src/lib/common/utils/filter-util.ts +67 -0
  113. package/src/lib/common/utils/next-number-util.ts +102 -0
  114. package/src/lib/common/utils/ng-zone-utils.ts +18 -0
  115. package/src/lib/common/utils/parse-util.ts +17 -0
  116. package/src/lib/common/utils/property-path-util.ts +29 -0
  117. package/{lib/common/utils/public_api.d.ts → src/lib/common/utils/public_api.ts} +0 -0
  118. package/src/lib/common/utils/query-list-binding.ts +105 -0
  119. package/src/lib/common/utils/sort-util.spec.ts +41 -0
  120. package/src/lib/common/utils/sort-util.ts +38 -0
  121. package/src/lib/common/utils/url-builder.spec.ts +83 -0
  122. package/src/lib/common/utils/url-builder.ts +363 -0
  123. package/src/lib/common/utils/uuid-util.ts +34 -0
  124. package/src/lib/common/utils/value-wrapper.ts +25 -0
  125. package/src/lib/components/access-denied/elder-access-denied.component.html +12 -0
  126. package/src/lib/components/access-denied/elder-access-denied.component.ts +16 -0
  127. package/src/lib/components/access-denied/elder-access-denied.module.ts +26 -0
  128. package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.html +25 -0
  129. package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.ts +42 -0
  130. package/src/lib/components/auditing/elder-audit.module.ts +32 -0
  131. package/src/lib/components/auditing/i-audited-entity.ts +17 -0
  132. package/src/lib/components/button-group/elder-button-group/elder-button-group.component.html +3 -0
  133. package/src/lib/components/button-group/elder-button-group/elder-button-group.component.ts +21 -0
  134. package/src/lib/components/button-group/elder-button-group.module.ts +25 -0
  135. package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.html +28 -0
  136. package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.ts +148 -0
  137. package/src/lib/components/card-organizer/card-organizer/elder-stack-card.directive.ts +9 -0
  138. package/src/lib/components/card-organizer/card-organizer-data.ts +124 -0
  139. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.html +72 -0
  140. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.ts +250 -0
  141. package/src/lib/components/card-organizer/card-stack.ts +231 -0
  142. package/src/lib/components/card-organizer/elder-card-organizer.module.ts +38 -0
  143. package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.css +5 -0
  144. package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.html +16 -0
  145. package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.ts +14 -0
  146. package/src/lib/components/cards/elder-card/elder-card.component.html +21 -0
  147. package/src/lib/components/cards/elder-card/elder-card.component.ts +141 -0
  148. package/src/lib/components/cards/elder-card/elder-card.module.ts +48 -0
  149. package/src/lib/components/connectivity/elder-connectivity.module.ts +38 -0
  150. package/src/lib/components/connectivity/elder-connectivity.service.ts +83 -0
  151. package/src/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.html +11 -0
  152. package/src/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.ts +51 -0
  153. package/src/lib/components/connectivity/public_api.ts +3 -0
  154. package/src/lib/components/containers/elder-containers.module.ts +20 -0
  155. package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.html +13 -0
  156. package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.ts +30 -0
  157. package/src/lib/components/containers/public_api.ts +3 -0
  158. package/src/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.html +5 -0
  159. package/src/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.ts +105 -0
  160. package/src/lib/components/csv/elder-csv-stream-exporter-builder.service.ts +56 -0
  161. package/src/lib/components/csv/elder-csv-stream-exporter-builder.ts +68 -0
  162. package/src/lib/components/csv/elder-csv-stream-exporter.ts +192 -0
  163. package/src/lib/components/csv/elder-csv.module.ts +27 -0
  164. package/src/lib/components/currency/elder-currency.module.ts +18 -0
  165. package/src/lib/components/currency/elder-currency.pipe.ts +44 -0
  166. package/src/lib/components/currency/elder-currency.service.ts +83 -0
  167. package/src/lib/components/currency/model/currency-code.ts +37 -0
  168. package/src/lib/components/currency/model/currency-unit-registry.ts +39 -0
  169. package/src/lib/components/currency/model/currency-unit.ts +18 -0
  170. package/src/lib/components/currency/model/currency.ts +22 -0
  171. package/src/lib/components/currency/public_api.ts +7 -0
  172. package/src/lib/components/data-transfer/elder-data-transfer.module.ts +53 -0
  173. package/src/lib/components/data-transfer/elder-data-transfer.service.ts +120 -0
  174. package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.html +47 -0
  175. package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.ts +82 -0
  176. package/src/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.html +27 -0
  177. package/src/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.ts +46 -0
  178. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.html +31 -0
  179. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.ts +61 -0
  180. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.html +24 -0
  181. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.ts +41 -0
  182. package/src/lib/components/data-view/base/data-view-options-provider-binding.ts +99 -0
  183. package/src/lib/components/data-view/base/elder-data-view-base.ts +322 -0
  184. package/src/lib/components/data-view/base/elder-data-view-options-provider.ts +55 -0
  185. package/src/lib/components/data-view/base/elder-data-view-options.ts +89 -0
  186. package/src/lib/components/data-view/base/elder-data-view.ts +14 -0
  187. package/src/lib/components/data-view/base/public_api.ts +5 -0
  188. package/src/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.html +56 -0
  189. package/src/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.ts +51 -0
  190. package/src/lib/components/data-view/common/elder-data-common.module.ts +63 -0
  191. package/src/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.html +115 -0
  192. package/src/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.ts +181 -0
  193. package/src/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.html +25 -0
  194. package/src/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.ts +99 -0
  195. package/src/lib/components/data-view/common/selection/data-context-selection.directive.ts +127 -0
  196. package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.html +22 -0
  197. package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.ts +53 -0
  198. package/src/lib/components/data-view/common/selection/master-selection-state.ts +10 -0
  199. package/src/lib/components/data-view/elder-data-view-interaction-mode.ts +26 -0
  200. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.html +160 -0
  201. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.ts +348 -0
  202. package/src/lib/components/data-view/grid/elder-grid.module.ts +57 -0
  203. package/src/lib/components/data-view/public_api.ts +5 -0
  204. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.css +0 -0
  205. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.html +3 -0
  206. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.ts +22 -0
  207. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.ts +51 -0
  208. package/src/lib/components/data-view/table/activation/elder-item-activator.ts +6 -0
  209. package/src/lib/components/data-view/table/activation/elder-table-activation-options.ts +19 -0
  210. package/src/lib/components/data-view/table/activation/elder-table-activation.directive.ts +308 -0
  211. package/src/lib/components/data-view/table/elder-number-cell.directive.ts +26 -0
  212. package/src/lib/components/data-view/table/elder-paginator-intl.ts +92 -0
  213. package/src/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.ts +14 -0
  214. package/src/lib/components/data-view/table/elder-table/elder-table.component.html +103 -0
  215. package/src/lib/components/data-view/table/elder-table/elder-table.component.ts +388 -0
  216. package/src/lib/components/data-view/table/elder-table-column.directive.ts +29 -0
  217. package/src/lib/components/data-view/table/elder-table-extension.directive.ts +107 -0
  218. package/src/lib/components/data-view/table/elder-table-root.directive.ts +24 -0
  219. package/src/lib/components/data-view/table/elder-table-row.directive.ts +154 -0
  220. package/src/lib/components/data-view/table/elder-table-sort.directive.ts +16 -0
  221. package/src/lib/components/data-view/table/elder-table.module.ts +95 -0
  222. package/src/lib/components/data-view/table/model/elder-column-layout.ts +164 -0
  223. package/src/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.ts +115 -0
  224. package/src/lib/components/data-view/table/model/elder-table-model-provider.ts +49 -0
  225. package/src/lib/components/data-view/table/model/elder-table-model-query-group.ts +153 -0
  226. package/src/lib/components/data-view/table/model/elder-table-model.ts +221 -0
  227. package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.html +23 -0
  228. package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.ts +34 -0
  229. package/src/lib/components/dialogs/elder-dialog-config.ts +21 -0
  230. package/src/lib/components/dialogs/elder-dialog.module.ts +65 -0
  231. package/src/lib/components/dialogs/elder-dialog.service.ts +198 -0
  232. package/src/lib/components/dialogs/question-dialog/elder-question-dialog.component.html +28 -0
  233. package/src/lib/components/dialogs/question-dialog/elder-question-dialog.component.ts +44 -0
  234. package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.html +31 -0
  235. package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.ts +55 -0
  236. package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.ts +54 -0
  237. package/src/lib/components/errors/elder-error.module.ts +30 -0
  238. package/src/lib/components/errors/error-util.ts +107 -0
  239. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.html +33 -0
  240. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.ts +77 -0
  241. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.html +14 -0
  242. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.ts +57 -0
  243. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.module.ts +24 -0
  244. package/src/lib/components/files/blob-url.ts +13 -0
  245. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.html +62 -0
  246. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.ts +304 -0
  247. package/src/lib/components/files/elder-file-drop-zone.directive.ts +116 -0
  248. package/src/lib/components/files/elder-file-select.directive.ts +184 -0
  249. package/src/lib/components/files/elder-file.module.ts +50 -0
  250. package/src/lib/components/files/file-select/file-select.component.html +9 -0
  251. package/src/lib/components/files/file-select/file-select.component.ts +61 -0
  252. package/src/lib/components/files/file-upload/file-upload.component.html +36 -0
  253. package/src/lib/components/files/file-upload/file-upload.component.ts +81 -0
  254. package/src/lib/components/forms/clipboard/elder-clipboard.service.ts +57 -0
  255. package/src/lib/components/forms/directives/base/elder-class-hostbinding-base.ts +55 -0
  256. package/src/lib/components/forms/directives/elder-clipboard-put.directive.ts +44 -0
  257. package/src/lib/components/forms/directives/elder-delayed-focus.directive.ts +44 -0
  258. package/src/lib/components/forms/directives/elder-form-field-dense.directive.ts +31 -0
  259. package/src/lib/components/forms/directives/elder-form-field-label.directive.ts +92 -0
  260. package/src/lib/components/forms/directives/elder-form-field-no-hint.directive.ts +28 -0
  261. package/src/lib/components/forms/directives/elder-form-field-no-spinner.directive.ts +32 -0
  262. package/src/lib/components/forms/directives/elder-forms-directives.module.ts +115 -0
  263. package/src/lib/components/forms/directives/elder-input-pattern.directive.ts +76 -0
  264. package/src/lib/components/forms/directives/elder-key-event.directive.ts +126 -0
  265. package/src/lib/components/forms/directives/elder-max.directive.ts +38 -0
  266. package/src/lib/components/forms/directives/elder-min.directive.ts +38 -0
  267. package/src/lib/components/forms/directives/elder-next-focusable.directive.ts +101 -0
  268. package/src/lib/components/forms/directives/elder-plug-parent-form.directive.ts +28 -0
  269. package/src/lib/components/forms/directives/elder-stop-event-propagation.directive.ts +22 -0
  270. package/src/lib/components/forms/directives/elder-tab-focus-trap.directive.ts +188 -0
  271. package/src/lib/components/forms/directives/elder-touched.directive.ts +25 -0
  272. package/src/lib/components/forms/directives/elder-triple-state-checkbox.directive.ts +132 -0
  273. package/src/lib/components/forms/directives/validation/elder-multiple-of.validator.ts +59 -0
  274. package/src/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.ts +80 -0
  275. package/src/lib/components/forms/elder-forms.module.ts +17 -0
  276. package/src/lib/components/forms/public_api.ts +3 -0
  277. package/src/lib/components/forms/search/elder-search-context.directive.ts +181 -0
  278. package/src/lib/components/forms/search/elder-search-input.directive.ts +244 -0
  279. package/src/lib/components/forms/search/elder-search.module.ts +49 -0
  280. package/src/lib/components/forms/search/model/search-input-state.ts +95 -0
  281. package/src/lib/components/forms/search/model/search-input.ts +30 -0
  282. package/src/lib/components/forms/search/model/simple-search-input.ts +69 -0
  283. package/src/lib/components/forms/search/search-box/elder-search-box.component.html +66 -0
  284. package/src/lib/components/forms/search/search-box/elder-search-box.component.ts +149 -0
  285. package/src/lib/components/forms/search/search-box/elder-search-panel.component.ts +10 -0
  286. package/src/lib/components/global-search/elder-global-search.component.html +54 -0
  287. package/src/lib/components/global-search/elder-global-search.component.ts +158 -0
  288. package/src/lib/components/global-search/elder-global-search.module.ts +28 -0
  289. package/src/lib/components/global-search/elder-global-search.service.ts +118 -0
  290. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.html +19 -0
  291. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.ts +112 -0
  292. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.module.ts +22 -0
  293. package/src/lib/components/graph/elder-progress-bar/sub-bar.ts +6 -0
  294. package/{lib/components/graph/public_api.d.ts → src/lib/components/graph/public_api.ts} +0 -0
  295. package/src/lib/components/headers/elder-header/elder-header.component.css +0 -0
  296. package/src/lib/components/headers/elder-header/elder-header.component.html +5 -0
  297. package/src/lib/components/headers/elder-header/elder-header.component.ts +38 -0
  298. package/src/lib/components/headers/elder-header.module.ts +29 -0
  299. package/src/lib/components/http-support/elder-http-client.service.ts +82 -0
  300. package/src/lib/components/http-support/public_api.ts +3 -0
  301. package/src/lib/components/i18n/entities/elder-i18n-entities.module.ts +76 -0
  302. package/src/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.html +41 -0
  303. package/src/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.ts +176 -0
  304. package/src/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.html +36 -0
  305. package/src/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.ts +33 -0
  306. package/src/lib/components/i18n/entities/elder-localized-input-dialog.service.ts +35 -0
  307. package/src/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.html +56 -0
  308. package/src/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.ts +200 -0
  309. package/src/lib/components/i18n/entities/elder-localized-text-column.directive.ts +34 -0
  310. package/src/lib/components/i18n/entities/elder-localized-texts.directive.ts +62 -0
  311. package/src/lib/components/i18n/entities/picker/i18n-pick-async.pipe.ts +49 -0
  312. package/src/lib/components/i18n/entities/picker/i18n-pick.pipe.ts +36 -0
  313. package/src/lib/components/i18n/entities/picker/localisation-picker.service.ts +104 -0
  314. package/src/lib/components/i18n/language/elder-language-config.ts +18 -0
  315. package/src/lib/components/i18n/language/elder-language-interceptor.ts +94 -0
  316. package/src/lib/components/i18n/language/elder-language.module.ts +60 -0
  317. package/src/lib/components/i18n/language/elder-language.service.ts +139 -0
  318. package/src/lib/components/i18n/language/language-switcher/elder-language-switcher.component.html +24 -0
  319. package/src/lib/components/i18n/language/language-switcher/elder-language-switcher.component.ts +71 -0
  320. package/src/lib/components/i18n/locales/elder-locales-de-ch.module.ts +46 -0
  321. package/{lib/components/i18n/public_api.d.ts → src/lib/components/i18n/public_api.ts} +0 -0
  322. package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.html +8 -0
  323. package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.ts +173 -0
  324. package/src/lib/components/iframes/data-view/data-view-iframe-adapter.directive.ts +150 -0
  325. package/src/lib/components/iframes/elder-iframe.module.ts +63 -0
  326. package/src/lib/components/iframes/iframe-close.directive.ts +49 -0
  327. package/src/lib/components/iframes/iframe-dialog/iframe-dialog.component.html +11 -0
  328. package/src/lib/components/iframes/iframe-dialog/iframe-dialog.component.ts +63 -0
  329. package/src/lib/components/iframes/iframe-host/iframe-host.component.html +43 -0
  330. package/src/lib/components/iframes/iframe-host/iframe-host.component.ts +172 -0
  331. package/src/lib/components/iframes/iframe-side-content/iframe-side-content.component.html +14 -0
  332. package/src/lib/components/iframes/iframe-side-content/iframe-side-content.component.ts +102 -0
  333. package/src/lib/components/iframes/iframe.service.ts +59 -0
  334. package/src/lib/components/iframes/typed-event-message.ts +66 -0
  335. package/src/lib/components/infinitescroll/elder-infinite-autocomplete.directive.ts +79 -0
  336. package/src/lib/components/infinitescroll/elder-infinite-scroll.directive.ts +187 -0
  337. package/src/lib/components/infinitescroll/elder-infinite-scroll.module.ts +32 -0
  338. package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.ts +11 -0
  339. package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.html +66 -0
  340. package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.ts +233 -0
  341. package/src/lib/components/input/autocomplete/elder-autocomplete-many.directive.ts +244 -0
  342. package/src/lib/components/input/autocomplete/elder-autocomplete.directive.ts +145 -0
  343. package/src/lib/components/input/autocomplete/elder-autocomplete.module.ts +41 -0
  344. package/src/lib/components/input/autocomplete/many/word-position-finder.spec.ts +74 -0
  345. package/src/lib/components/input/autocomplete/many/word-position-finder.ts +76 -0
  346. package/src/lib/components/input/public_api.ts +3 -0
  347. package/src/lib/components/labels/elder-labels.module.ts +22 -0
  348. package/src/lib/components/labels/labels-input/labels-input.component.html +44 -0
  349. package/src/lib/components/labels/labels-input/labels-input.component.ts +255 -0
  350. package/src/lib/components/measures/dimensions-input/elder-dimensions-input.component.html +71 -0
  351. package/src/lib/components/measures/dimensions-input/elder-dimensions-input.component.ts +307 -0
  352. package/src/lib/components/measures/directives/elder-unit-select.directive.ts +70 -0
  353. package/src/lib/components/measures/elder-measures.module.ts +78 -0
  354. package/src/lib/components/measures/elder-quantity-transform.pipe.ts +46 -0
  355. package/src/lib/components/measures/elder-quantity.pipe.ts +102 -0
  356. package/src/lib/components/measures/elder-unit.service.ts +135 -0
  357. package/src/lib/components/measures/model/dimensions.ts +40 -0
  358. package/src/lib/components/measures/model/quantity.ts +19 -0
  359. package/src/lib/components/measures/model/unit-dimension.ts +16 -0
  360. package/src/lib/components/measures/model/unit-registry.ts +110 -0
  361. package/src/lib/components/measures/model/unit.ts +192 -0
  362. package/src/lib/components/measures/public_api.ts +9 -0
  363. package/src/lib/components/measures/quantity-input/elder-quantity-input.component.html +64 -0
  364. package/src/lib/components/measures/quantity-input/elder-quantity-input.component.ts +221 -0
  365. package/src/lib/components/measures/util/elder-quantity.service.ts +313 -0
  366. package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.html +89 -0
  367. package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.ts +221 -0
  368. package/src/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.ts +38 -0
  369. package/src/lib/components/navigation/bread-crumbs/path/path.ts +49 -0
  370. package/src/lib/components/navigation/nav/elder-nav.module.ts +36 -0
  371. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.html +34 -0
  372. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.ts +94 -0
  373. package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.html +89 -0
  374. package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.ts +78 -0
  375. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.html +5 -0
  376. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.ts +16 -0
  377. package/{lib/components/navigation/public_api.d.ts → src/lib/components/navigation/public_api.ts} +0 -0
  378. package/src/lib/components/navigation/toolbar/elder-toolbar-column.directive.ts +53 -0
  379. package/src/lib/components/navigation/toolbar/elder-toolbar.module.ts +52 -0
  380. package/src/lib/components/navigation/toolbar/elder-toolbar.service.ts +77 -0
  381. package/src/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.html +50 -0
  382. package/src/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.ts +78 -0
  383. package/src/lib/components/navigation/toolbar/toolbar-column-position.ts +20 -0
  384. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.html +1 -0
  385. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.ts +54 -0
  386. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.ts +107 -0
  387. package/src/lib/components/overlays/elder-overlay-origin.directive.ts +45 -0
  388. package/src/lib/components/overlays/elder-overlay-trigger.directive.ts +71 -0
  389. package/src/lib/components/overlays/elder-overlay.component.ts +262 -0
  390. package/src/lib/components/overlays/elder-overlay.module.ts +29 -0
  391. package/src/lib/components/panels/card-panel/elder-card-panel.component.html +4 -0
  392. package/src/lib/components/panels/card-panel/elder-card-panel.component.ts +11 -0
  393. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.html +4 -0
  394. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.ts +11 -0
  395. package/src/lib/components/panels/elder-panel.module.ts +31 -0
  396. package/src/lib/components/panels/flat/elder-panel.component.html +2 -0
  397. package/src/lib/components/panels/flat/elder-panel.component.ts +30 -0
  398. package/{lib/components/public_api.d.ts → src/lib/components/public_api.ts} +0 -0
  399. package/src/lib/components/select/auto/elder-auto-select-first.directive.ts +87 -0
  400. package/src/lib/components/select/auto/elder-select-first-util.ts +98 -0
  401. package/src/lib/components/select/elder-select-base.ts +355 -0
  402. package/src/lib/components/select/elder-select-chip.directive.ts +32 -0
  403. package/src/lib/components/select/elder-select-on-tab.directive.ts +150 -0
  404. package/src/lib/components/select/elder-select-value.directive.ts +9 -0
  405. package/src/lib/components/select/elder-select.module.ts +94 -0
  406. package/src/lib/components/select/multi/elder-multi-select-base.ts +451 -0
  407. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.html +89 -0
  408. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.ts +316 -0
  409. package/src/lib/components/select/multi/elder-multi-select-form-field.ts +80 -0
  410. package/src/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.ts +102 -0
  411. package/src/lib/components/select/popup/selection-model-popup.directive.ts +145 -0
  412. package/src/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.html +18 -0
  413. package/src/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.ts +56 -0
  414. package/src/lib/components/select/public_api.ts +5 -0
  415. package/src/lib/components/select/single/elder-clear-select.directive.ts +64 -0
  416. package/src/lib/components/select/single/elder-select/elder-select.component.html +91 -0
  417. package/src/lib/components/select/single/elder-select/elder-select.component.ts +530 -0
  418. package/src/lib/components/select/single/elder-select-form-field.ts +57 -0
  419. package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.html +13 -0
  420. package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.ts +169 -0
  421. package/src/lib/components/select-chip-list/elder-chip-list-select.module.ts +31 -0
  422. package/src/lib/components/select-list/elder-select-list.module.ts +27 -0
  423. package/src/lib/components/select-list/select-list/elder-select-list.component.html +5 -0
  424. package/src/lib/components/select-list/select-list/elder-select-list.component.ts +91 -0
  425. package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.html +32 -0
  426. package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.ts +135 -0
  427. package/src/lib/components/shell/drawers/drawer-outlet-binding.ts +73 -0
  428. package/src/lib/components/shell/drawers/elder-route-outlet-drawer.service.ts +137 -0
  429. package/src/lib/components/shell/drawers/elder-router-outlet.service.ts +145 -0
  430. package/src/lib/components/shell/elder-shell-slot.directive.ts +61 -0
  431. package/src/lib/components/shell/elder-shell.module.ts +69 -0
  432. package/src/lib/components/shell/elder-shell.service.ts +176 -0
  433. package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.html +25 -0
  434. package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.ts +89 -0
  435. package/src/lib/components/shell/shell/elder-shell.component.html +86 -0
  436. package/src/lib/components/shell/shell/elder-shell.component.ts +243 -0
  437. package/src/lib/components/shell/shell-content-slot.ts +8 -0
  438. package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.html +4 -0
  439. package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.ts +153 -0
  440. package/src/lib/components/tabs/elder-tab/elder-tab.directive.ts +31 -0
  441. package/src/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.ts +320 -0
  442. package/src/lib/components/tabs/elder-tab.module.ts +27 -0
  443. package/src/lib/components/theme/elder-theme-applier.directive.ts +73 -0
  444. package/src/lib/components/theme/elder-theme-preference.service.ts +79 -0
  445. package/src/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.html +9 -0
  446. package/src/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.ts +86 -0
  447. package/src/lib/components/theme/elder-theme.directive.ts +65 -0
  448. package/src/lib/components/theme/elder-theme.module.ts +52 -0
  449. package/src/lib/components/theme/elder-theme.service.ts +151 -0
  450. package/src/lib/components/theme/known-elder-themes.ts +17 -0
  451. package/{lib/components/theme/public_api.d.ts → src/lib/components/theme/public_api.ts} +0 -0
  452. package/src/lib/components/theme/theme-spec.ts +32 -0
  453. package/src/lib/components/time/date-adapters/custom-date-adapter.ts +34 -0
  454. package/src/lib/components/time/duration/duration-bucket.ts +143 -0
  455. package/src/lib/components/time/duration/duration-format.ts +346 -0
  456. package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.html +51 -0
  457. package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.ts +132 -0
  458. package/src/lib/components/time/duration/iso-duration-str.ts +5 -0
  459. package/src/lib/components/time/elder-date-switcher/elder-date-switcher.component.html +29 -0
  460. package/src/lib/components/time/elder-date-switcher/elder-date-switcher.component.ts +120 -0
  461. package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.html +16 -0
  462. package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.ts +93 -0
  463. package/src/lib/components/time/elder-interval-input/elder-interval-input.component.html +92 -0
  464. package/src/lib/components/time/elder-interval-input/elder-interval-input.component.ts +222 -0
  465. package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.html +41 -0
  466. package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.ts +213 -0
  467. package/src/lib/components/time/elder-local-time-input/elder-local-time-input.component.html +19 -0
  468. package/src/lib/components/time/elder-local-time-input/elder-local-time-input.component.ts +98 -0
  469. package/src/lib/components/time/elder-time.module.ts +95 -0
  470. package/src/lib/components/time/period/elder-period-input/elder-period-input.component.html +40 -0
  471. package/src/lib/components/time/period/elder-period-input/elder-period-input.component.ts +148 -0
  472. package/src/lib/components/time/period/period-bucket.ts +51 -0
  473. package/src/lib/components/time/period/period-format.ts +127 -0
  474. package/src/lib/components/time/public_api.ts +8 -0
  475. package/src/lib/components/toasts/elder-toast.module.ts +22 -0
  476. package/src/lib/components/toasts/elder-toast.service.ts +244 -0
  477. package/src/lib/components/toasts/standard-toast/standard-toast.component.html +34 -0
  478. package/src/lib/components/toasts/standard-toast/standard-toast.component.ts +80 -0
  479. package/src/lib/components/toasts/toast-type.ts +5 -0
  480. package/src/lib/components/toasts/toast.ts +12 -0
  481. package/src/lib/components/url-fragment/elder-url-fragment.module.ts +36 -0
  482. package/src/lib/components/url-fragment/elder-url-fragment.ts +10 -0
  483. package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.html +25 -0
  484. package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.ts +107 -0
  485. package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.html +1 -0
  486. package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.ts +81 -0
  487. package/src/lib/components/viewers/elder-viewers.module.ts +18 -0
  488. package/src/lib/features/event-source/elder-event-source.service.ts +71 -0
  489. package/src/lib/features/event-source/public_api.ts +3 -0
  490. package/src/lib/features/event-source/reactive-event-source.ts +252 -0
  491. package/src/lib/features/kafent/access-token-provider.ts +21 -0
  492. package/src/lib/features/kafent/kafent-config.ts +42 -0
  493. package/src/lib/features/kafent/kafent-event-stream.ts +48 -0
  494. package/src/lib/features/kafent/kafent-event.service.ts +128 -0
  495. package/src/lib/features/kafent/kafent-event.ts +14 -0
  496. package/src/lib/features/kafent/kafent-live-event-request.ts +75 -0
  497. package/src/lib/features/kafent/kafent.module.ts +61 -0
  498. package/src/lib/features/kafent/sse/kafent-event-stream-sse.service.ts +167 -0
  499. package/src/lib/features/kafent/sse/kafent-topic-sse.ts +145 -0
  500. package/src/lib/features/public_api.ts +4 -0
  501. package/src/lib/i18n/elder-composite-translation-loader.ts +14 -0
  502. package/src/lib/i18n/elder-starter-translation-loader.ts +20 -0
  503. package/src/lib/pipes/bytes.pipe.ts +18 -0
  504. package/src/lib/pipes/elder-pipes.module.ts +51 -0
  505. package/src/lib/pipes/elder-repeat.pipe.ts +16 -0
  506. package/src/lib/pipes/elder-round.pipe.ts +37 -0
  507. package/src/lib/pipes/elder-safe-url.pipe.ts +12 -0
  508. package/src/lib/pipes/elder-truncate.pipe.ts +45 -0
  509. package/src/lib/pipes/iso-duration.pipe.ts +64 -0
  510. package/src/lib/pipes/iso-interval-parse.pipe.ts +61 -0
  511. package/src/lib/pipes/iso-interval.pipe.ts +146 -0
  512. package/src/lib/pipes/public_api.ts +3 -0
  513. package/src/lib/pipes/time-ago.pipe.ts +88 -0
  514. package/src/lib/pipes/time-duration.pipe.ts +81 -0
  515. package/src/lib/pipes/weight.pipe.ts +45 -0
  516. package/src/public_api.ts +8 -0
  517. package/src/test.ts +28 -0
  518. package/tsconfig.lib.json +33 -0
  519. package/tsconfig.lib.prod.json +10 -0
  520. package/tsconfig.spec.json +17 -0
  521. package/esm2020/elderbyte-ngx-starter.mjs +0 -5
  522. package/esm2020/lib/common/async/public_api.mjs +0 -2
  523. package/esm2020/lib/common/async/refreshing-entity.mjs +0 -86
  524. package/esm2020/lib/common/csv/csv-serializer.mjs +0 -55
  525. package/esm2020/lib/common/csv/csv-spec.mjs +0 -99
  526. package/esm2020/lib/common/csv/public_api.mjs +0 -3
  527. package/esm2020/lib/common/data/continuable-listing.mjs +0 -10
  528. package/esm2020/lib/common/data/data-context/data-context-active-page.mjs +0 -130
  529. package/esm2020/lib/common/data/data-context/data-context-auto-starter.mjs +0 -74
  530. package/esm2020/lib/common/data/data-context/data-context-base.mjs +0 -283
  531. package/esm2020/lib/common/data/data-context/data-context-builder.mjs +0 -246
  532. package/esm2020/lib/common/data/data-context/data-context-continuable-base.mjs +0 -69
  533. package/esm2020/lib/common/data/data-context/data-context-continuable-paged.mjs +0 -143
  534. package/esm2020/lib/common/data/data-context/data-context-continuable-token.mjs +0 -136
  535. package/esm2020/lib/common/data/data-context/data-context-life-cycle-binding.mjs +0 -30
  536. package/esm2020/lib/common/data/data-context/data-context-simple.mjs +0 -59
  537. package/esm2020/lib/common/data/data-context/data-context-source-auto-reloader.mjs +0 -12
  538. package/esm2020/lib/common/data/data-context/data-context-status.mjs +0 -46
  539. package/esm2020/lib/common/data/data-context/data-context.mjs +0 -30
  540. package/esm2020/lib/common/data/data-context/mat-table-data-context-binding.mjs +0 -139
  541. package/esm2020/lib/common/data/data-context/public_api.mjs +0 -14
  542. package/esm2020/lib/common/data/datasource/data-source-adapter.mjs +0 -55
  543. package/esm2020/lib/common/data/datasource/data-source-processor.mjs +0 -199
  544. package/esm2020/lib/common/data/datasource/data-source.mjs +0 -23
  545. package/esm2020/lib/common/data/datasource/entity-id-util.mjs +0 -11
  546. package/esm2020/lib/common/data/datasource/fetcher/delegate-data-source.mjs +0 -127
  547. package/esm2020/lib/common/data/datasource/local/local-list-data-source.mjs +0 -102
  548. package/esm2020/lib/common/data/datasource/local/local-paged-data-source.mjs +0 -73
  549. package/esm2020/lib/common/data/datasource/public_api.mjs +0 -8
  550. package/esm2020/lib/common/data/datasource/rest/public_api.mjs +0 -2
  551. package/esm2020/lib/common/data/datasource/rest/rest-client.mjs +0 -294
  552. package/esm2020/lib/common/data/entity-set-patch.mjs +0 -164
  553. package/esm2020/lib/common/data/field-comparator.mjs +0 -99
  554. package/esm2020/lib/common/data/filters/filter-context.mjs +0 -141
  555. package/esm2020/lib/common/data/filters/filter.mjs +0 -109
  556. package/esm2020/lib/common/data/http-params-builder.mjs +0 -110
  557. package/esm2020/lib/common/data/page.mjs +0 -58
  558. package/esm2020/lib/common/data/public_api.mjs +0 -12
  559. package/esm2020/lib/common/data/required-filter-evaluator.mjs +0 -70
  560. package/esm2020/lib/common/data/sort-context.mjs +0 -75
  561. package/esm2020/lib/common/data/sort.mjs +0 -11
  562. package/esm2020/lib/common/data/token-chunk-request.mjs +0 -8
  563. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +0 -81
  564. package/esm2020/lib/common/enums/public_api.mjs +0 -2
  565. package/esm2020/lib/common/errors/exception-detail.mjs +0 -2
  566. package/esm2020/lib/common/errors/public_api.mjs +0 -3
  567. package/esm2020/lib/common/errors/standard-error-detail.mjs +0 -2
  568. package/esm2020/lib/common/format/bytes-format.mjs +0 -22
  569. package/esm2020/lib/common/format/bytes-per-second-format.mjs +0 -41
  570. package/esm2020/lib/common/format/public_api.mjs +0 -3
  571. package/esm2020/lib/common/forms/elder-entity-value-accessor.mjs +0 -22
  572. package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +0 -178
  573. package/esm2020/lib/common/forms/elder-from-field-base.mjs +0 -94
  574. package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +0 -39
  575. package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +0 -47
  576. package/esm2020/lib/common/forms/elder-multi-entity-value-accessor.mjs +0 -22
  577. package/esm2020/lib/common/forms/form-field-base.component.mjs +0 -106
  578. package/esm2020/lib/common/forms/multi-model-base.component.mjs +0 -32
  579. package/esm2020/lib/common/forms/public_api.mjs +0 -12
  580. package/esm2020/lib/common/forms/template-composite-control.mjs +0 -133
  581. package/esm2020/lib/common/forms/value-accessor-base.mjs +0 -146
  582. package/esm2020/lib/common/forms/view-providers.mjs +0 -30
  583. package/esm2020/lib/common/http/http-client-builder.service.mjs +0 -14
  584. package/esm2020/lib/common/http/http-client-pristine.mjs +0 -21
  585. package/esm2020/lib/common/http/public_api.mjs +0 -5
  586. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +0 -95
  587. package/esm2020/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +0 -49
  588. package/esm2020/lib/common/http/transfer/data-transfer-progress.mjs +0 -17
  589. package/esm2020/lib/common/http/transfer/data-transfer-state.mjs +0 -82
  590. package/esm2020/lib/common/http/transfer/data-transfer-status.mjs +0 -24
  591. package/esm2020/lib/common/http/transfer/http-data-transfer.mjs +0 -180
  592. package/esm2020/lib/common/http/transfer/public_api.mjs +0 -7
  593. package/esm2020/lib/common/http/upload/file-upload-client.mjs +0 -42
  594. package/esm2020/lib/common/i18n/entity/impl/i18n-base.mjs +0 -6
  595. package/esm2020/lib/common/i18n/entity/impl/i18n-text.mjs +0 -16
  596. package/esm2020/lib/common/i18n/entity/language-tag.mjs +0 -12
  597. package/esm2020/lib/common/i18n/entity/locale.mjs +0 -12
  598. package/esm2020/lib/common/i18n/entity/localisation-picker.mjs +0 -30
  599. package/esm2020/lib/common/i18n/entity/localized.mjs +0 -2
  600. package/esm2020/lib/common/i18n/entity/public_api.mjs +0 -6
  601. package/esm2020/lib/common/i18n/public_api.mjs +0 -2
  602. package/esm2020/lib/common/json-map.mjs +0 -18
  603. package/esm2020/lib/common/objects.mjs +0 -41
  604. package/esm2020/lib/common/public_api.mjs +0 -19
  605. package/esm2020/lib/common/reactive-map.mjs +0 -69
  606. package/esm2020/lib/common/selection/public_api.mjs +0 -2
  607. package/esm2020/lib/common/selection/selection-model.mjs +0 -212
  608. package/esm2020/lib/common/sets.mjs +0 -44
  609. package/esm2020/lib/common/suggestion-provider.mjs +0 -12
  610. package/esm2020/lib/common/templates/template-slot-manager.mjs +0 -135
  611. package/esm2020/lib/common/time/date-util.mjs +0 -93
  612. package/esm2020/lib/common/time/interval.mjs +0 -419
  613. package/esm2020/lib/common/time/period-duration.mjs +0 -130
  614. package/esm2020/lib/common/time/public_api.mjs +0 -5
  615. package/esm2020/lib/common/time/time-util.mjs +0 -41
  616. package/esm2020/lib/common/url/elder-router.service.mjs +0 -54
  617. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +0 -119
  618. package/esm2020/lib/common/url/public_api.mjs +0 -4
  619. package/esm2020/lib/common/url/url-query-params.mjs +0 -133
  620. package/esm2020/lib/common/utils/batcher.mjs +0 -35
  621. package/esm2020/lib/common/utils/collection-util.mjs +0 -109
  622. package/esm2020/lib/common/utils/filter-util.mjs +0 -52
  623. package/esm2020/lib/common/utils/next-number-util.mjs +0 -88
  624. package/esm2020/lib/common/utils/ng-zone-utils.mjs +0 -16
  625. package/esm2020/lib/common/utils/parse-util.mjs +0 -16
  626. package/esm2020/lib/common/utils/property-path-util.mjs +0 -28
  627. package/esm2020/lib/common/utils/public_api.mjs +0 -12
  628. package/esm2020/lib/common/utils/query-list-binding.mjs +0 -67
  629. package/esm2020/lib/common/utils/sort-util.mjs +0 -30
  630. package/esm2020/lib/common/utils/url-builder.mjs +0 -275
  631. package/esm2020/lib/common/utils/uuid-util.mjs +0 -29
  632. package/esm2020/lib/common/utils/value-wrapper.mjs +0 -19
  633. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +0 -17
  634. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +0 -34
  635. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +0 -43
  636. package/esm2020/lib/components/auditing/elder-audit.module.mjs +0 -46
  637. package/esm2020/lib/components/auditing/i-audited-entity.mjs +0 -3
  638. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +0 -16
  639. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +0 -39
  640. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +0 -124
  641. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +0 -15
  642. package/esm2020/lib/components/card-organizer/card-organizer-data.mjs +0 -93
  643. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +0 -206
  644. package/esm2020/lib/components/card-organizer/card-stack.mjs +0 -176
  645. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +0 -50
  646. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +0 -19
  647. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +0 -158
  648. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +0 -66
  649. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +0 -57
  650. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +0 -63
  651. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +0 -46
  652. package/esm2020/lib/components/connectivity/public_api.mjs +0 -3
  653. package/esm2020/lib/components/containers/elder-containers.module.mjs +0 -29
  654. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +0 -25
  655. package/esm2020/lib/components/containers/public_api.mjs +0 -2
  656. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +0 -77
  657. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.mjs +0 -40
  658. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +0 -38
  659. package/esm2020/lib/components/csv/elder-csv-stream-exporter.mjs +0 -114
  660. package/esm2020/lib/components/csv/elder-csv.module.mjs +0 -37
  661. package/esm2020/lib/components/currency/elder-currency.module.mjs +0 -24
  662. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +0 -33
  663. package/esm2020/lib/components/currency/model/currency-code.mjs +0 -38
  664. package/esm2020/lib/components/currency/model/currency-unit-registry.mjs +0 -30
  665. package/esm2020/lib/components/currency/model/currency-unit.mjs +0 -10
  666. package/esm2020/lib/components/currency/model/currency.mjs +0 -15
  667. package/esm2020/lib/components/currency/public_api.mjs +0 -7
  668. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +0 -76
  669. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +0 -89
  670. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +0 -68
  671. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +0 -35
  672. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +0 -48
  673. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +0 -33
  674. package/esm2020/lib/components/data-view/base/data-view-options-provider-binding.mjs +0 -67
  675. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +0 -259
  676. package/esm2020/lib/components/data-view/base/elder-data-view-options-provider.mjs +0 -44
  677. package/esm2020/lib/components/data-view/base/elder-data-view-options.mjs +0 -45
  678. package/esm2020/lib/components/data-view/base/elder-data-view.mjs +0 -3
  679. package/esm2020/lib/components/data-view/base/public_api.mjs +0 -6
  680. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +0 -46
  681. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +0 -90
  682. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +0 -150
  683. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +0 -90
  684. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +0 -98
  685. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +0 -38
  686. package/esm2020/lib/components/data-view/common/selection/master-selection-state.mjs +0 -10
  687. package/esm2020/lib/components/data-view/elder-data-view-interaction-mode.mjs +0 -2
  688. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +0 -293
  689. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +0 -85
  690. package/esm2020/lib/components/data-view/public_api.mjs +0 -6
  691. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +0 -19
  692. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +0 -79
  693. package/esm2020/lib/components/data-view/table/activation/elder-item-activator.mjs +0 -2
  694. package/esm2020/lib/components/data-view/table/activation/elder-table-activation-options.mjs +0 -2
  695. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +0 -261
  696. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +0 -29
  697. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +0 -72
  698. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +0 -18
  699. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +0 -322
  700. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +0 -17
  701. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +0 -96
  702. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +0 -29
  703. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +0 -136
  704. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +0 -20
  705. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +0 -142
  706. package/esm2020/lib/components/data-view/table/model/elder-column-layout.mjs +0 -110
  707. package/esm2020/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +0 -81
  708. package/esm2020/lib/components/data-view/table/model/elder-table-model-provider.mjs +0 -40
  709. package/esm2020/lib/components/data-view/table/model/elder-table-model-query-group.mjs +0 -87
  710. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +0 -165
  711. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +0 -23
  712. package/esm2020/lib/components/dialogs/elder-dialog-config.mjs +0 -3
  713. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +0 -83
  714. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +0 -161
  715. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +0 -41
  716. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +0 -44
  717. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +0 -46
  718. package/esm2020/lib/components/errors/elder-error.module.mjs +0 -45
  719. package/esm2020/lib/components/errors/error-util.mjs +0 -94
  720. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +0 -67
  721. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +0 -56
  722. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +0 -28
  723. package/esm2020/lib/components/files/blob-url.mjs +0 -10
  724. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +0 -226
  725. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +0 -109
  726. package/esm2020/lib/components/files/elder-file-select.directive.mjs +0 -143
  727. package/esm2020/lib/components/files/elder-file.module.mjs +0 -68
  728. package/esm2020/lib/components/files/file-select/file-select.component.mjs +0 -55
  729. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +0 -75
  730. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +0 -51
  731. package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +0 -34
  732. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +0 -35
  733. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +0 -42
  734. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +0 -34
  735. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +0 -82
  736. package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +0 -34
  737. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +0 -34
  738. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +0 -159
  739. package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +0 -77
  740. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +0 -111
  741. package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +0 -39
  742. package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +0 -39
  743. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +0 -101
  744. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +0 -36
  745. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +0 -29
  746. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +0 -157
  747. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +0 -27
  748. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +0 -120
  749. package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +0 -57
  750. package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +0 -68
  751. package/esm2020/lib/components/forms/elder-forms.module.mjs +0 -22
  752. package/esm2020/lib/components/forms/public_api.mjs +0 -2
  753. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +0 -146
  754. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +0 -185
  755. package/esm2020/lib/components/forms/search/elder-search.module.mjs +0 -67
  756. package/esm2020/lib/components/forms/search/model/search-input-state.mjs +0 -78
  757. package/esm2020/lib/components/forms/search/model/search-input.mjs +0 -2
  758. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +0 -124
  759. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +0 -16
  760. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +0 -127
  761. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +0 -33
  762. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +0 -93
  763. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +0 -98
  764. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +0 -30
  765. package/esm2020/lib/components/graph/elder-progress-bar/sub-bar.mjs +0 -7
  766. package/esm2020/lib/components/graph/public_api.mjs +0 -2
  767. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +0 -29
  768. package/esm2020/lib/components/headers/elder-header.module.mjs +0 -44
  769. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +0 -68
  770. package/esm2020/lib/components/http-support/public_api.mjs +0 -2
  771. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +0 -123
  772. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +0 -136
  773. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +0 -29
  774. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +0 -30
  775. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +0 -152
  776. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +0 -28
  777. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +0 -56
  778. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +0 -39
  779. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +0 -30
  780. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +0 -74
  781. package/esm2020/lib/components/i18n/language/elder-language-config.mjs +0 -3
  782. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +0 -69
  783. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +0 -76
  784. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +0 -121
  785. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +0 -66
  786. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +0 -53
  787. package/esm2020/lib/components/i18n/public_api.mjs +0 -4
  788. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +0 -128
  789. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +0 -136
  790. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +0 -99
  791. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +0 -41
  792. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +0 -52
  793. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +0 -127
  794. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +0 -79
  795. package/esm2020/lib/components/iframes/iframe.service.mjs +0 -48
  796. package/esm2020/lib/components/iframes/typed-event-message.mjs +0 -42
  797. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +0 -61
  798. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +0 -157
  799. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +0 -40
  800. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +0 -9
  801. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +0 -187
  802. package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +0 -197
  803. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +0 -114
  804. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +0 -62
  805. package/esm2020/lib/components/input/autocomplete/many/word-position-finder.mjs +0 -58
  806. package/esm2020/lib/components/input/public_api.mjs +0 -2
  807. package/esm2020/lib/components/labels/elder-labels.module.mjs +0 -30
  808. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +0 -230
  809. package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +0 -240
  810. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +0 -64
  811. package/esm2020/lib/components/measures/elder-measures.module.mjs +0 -120
  812. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +0 -41
  813. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +0 -73
  814. package/esm2020/lib/components/measures/elder-unit.service.mjs +0 -115
  815. package/esm2020/lib/components/measures/model/dimensions.mjs +0 -17
  816. package/esm2020/lib/components/measures/model/quantity.mjs +0 -12
  817. package/esm2020/lib/components/measures/model/unit-dimension.mjs +0 -14
  818. package/esm2020/lib/components/measures/model/unit-registry.mjs +0 -81
  819. package/esm2020/lib/components/measures/model/unit.mjs +0 -143
  820. package/esm2020/lib/components/measures/public_api.mjs +0 -8
  821. package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +0 -190
  822. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +0 -237
  823. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +0 -165
  824. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +0 -56
  825. package/esm2020/lib/components/navigation/bread-crumbs/path/path.mjs +0 -37
  826. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +0 -52
  827. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +0 -94
  828. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +0 -65
  829. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +0 -14
  830. package/esm2020/lib/components/navigation/public_api.mjs +0 -4
  831. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +0 -46
  832. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +0 -77
  833. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +0 -68
  834. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +0 -67
  835. package/esm2020/lib/components/navigation/toolbar/toolbar-column-position.mjs +0 -2
  836. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +0 -39
  837. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +0 -85
  838. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +0 -43
  839. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +0 -72
  840. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +0 -204
  841. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +0 -41
  842. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +0 -13
  843. package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +0 -13
  844. package/esm2020/lib/components/panels/elder-panel.module.mjs +0 -42
  845. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +0 -26
  846. package/esm2020/lib/components/public_api.mjs +0 -40
  847. package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +0 -77
  848. package/esm2020/lib/components/select/auto/elder-select-first-util.mjs +0 -62
  849. package/esm2020/lib/components/select/elder-select-base.mjs +0 -284
  850. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +0 -45
  851. package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +0 -133
  852. package/esm2020/lib/components/select/elder-select-value.directive.mjs +0 -15
  853. package/esm2020/lib/components/select/elder-select.module.mjs +0 -134
  854. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +0 -356
  855. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +0 -238
  856. package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +0 -67
  857. package/esm2020/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +0 -86
  858. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +0 -126
  859. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +0 -48
  860. package/esm2020/lib/components/select/public_api.mjs +0 -6
  861. package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +0 -57
  862. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +0 -443
  863. package/esm2020/lib/components/select/single/elder-select-form-field.mjs +0 -45
  864. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +0 -154
  865. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +0 -49
  866. package/esm2020/lib/components/select-list/elder-select-list.module.mjs +0 -37
  867. package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +0 -76
  868. package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +0 -119
  869. package/esm2020/lib/components/shell/drawers/drawer-outlet-binding.mjs +0 -60
  870. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +0 -117
  871. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +0 -128
  872. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +0 -46
  873. package/esm2020/lib/components/shell/elder-shell.module.mjs +0 -91
  874. package/esm2020/lib/components/shell/elder-shell.service.mjs +0 -145
  875. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +0 -74
  876. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +0 -207
  877. package/esm2020/lib/components/shell/shell-content-slot.mjs +0 -2
  878. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +0 -137
  879. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +0 -25
  880. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +0 -256
  881. package/esm2020/lib/components/tabs/elder-tab.module.mjs +0 -36
  882. package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +0 -62
  883. package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +0 -74
  884. package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +0 -72
  885. package/esm2020/lib/components/theme/elder-theme.directive.mjs +0 -61
  886. package/esm2020/lib/components/theme/elder-theme.module.mjs +0 -74
  887. package/esm2020/lib/components/theme/elder-theme.service.mjs +0 -123
  888. package/esm2020/lib/components/theme/known-elder-themes.mjs +0 -6
  889. package/esm2020/lib/components/theme/public_api.mjs +0 -2
  890. package/esm2020/lib/components/theme/theme-spec.mjs +0 -15
  891. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +0 -23
  892. package/esm2020/lib/components/time/duration/duration-bucket.mjs +0 -67
  893. package/esm2020/lib/components/time/duration/duration-format.mjs +0 -271
  894. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +0 -110
  895. package/esm2020/lib/components/time/duration/iso-duration-str.mjs +0 -2
  896. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +0 -101
  897. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +0 -80
  898. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +0 -127
  899. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +0 -190
  900. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +0 -85
  901. package/esm2020/lib/components/time/elder-time.module.mjs +0 -143
  902. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +0 -120
  903. package/esm2020/lib/components/time/period/period-bucket.mjs +0 -31
  904. package/esm2020/lib/components/time/period/period-format.mjs +0 -89
  905. package/esm2020/lib/components/time/public_api.mjs +0 -8
  906. package/esm2020/lib/components/toasts/elder-toast.module.mjs +0 -23
  907. package/esm2020/lib/components/toasts/elder-toast.service.mjs +0 -197
  908. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +0 -74
  909. package/esm2020/lib/components/toasts/toast-type.mjs +0 -7
  910. package/esm2020/lib/components/toasts/toast.mjs +0 -2
  911. package/esm2020/lib/components/url-fragment/elder-url-fragment.mjs +0 -9
  912. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +0 -58
  913. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +0 -85
  914. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +0 -65
  915. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +0 -25
  916. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +0 -56
  917. package/esm2020/lib/features/event-source/public_api.mjs +0 -3
  918. package/esm2020/lib/features/event-source/reactive-event-source.mjs +0 -198
  919. package/esm2020/lib/features/kafent/access-token-provider.mjs +0 -20
  920. package/esm2020/lib/features/kafent/kafent-config.mjs +0 -24
  921. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +0 -25
  922. package/esm2020/lib/features/kafent/kafent-event.mjs +0 -3
  923. package/esm2020/lib/features/kafent/kafent-event.service.mjs +0 -107
  924. package/esm2020/lib/features/kafent/kafent-live-event-request.mjs +0 -2
  925. package/esm2020/lib/features/kafent/kafent.module.mjs +0 -61
  926. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +0 -128
  927. package/esm2020/lib/features/kafent/sse/kafent-topic-sse.mjs +0 -98
  928. package/esm2020/lib/features/public_api.mjs +0 -3
  929. package/esm2020/lib/pipes/bytes.pipe.mjs +0 -24
  930. package/esm2020/lib/pipes/elder-pipes.module.mjs +0 -67
  931. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +0 -21
  932. package/esm2020/lib/pipes/elder-round.pipe.mjs +0 -35
  933. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +0 -20
  934. package/esm2020/lib/pipes/elder-truncate.pipe.mjs +0 -40
  935. package/esm2020/lib/pipes/iso-duration.pipe.mjs +0 -58
  936. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +0 -49
  937. package/esm2020/lib/pipes/iso-interval.pipe.mjs +0 -109
  938. package/esm2020/lib/pipes/public_api.mjs +0 -2
  939. package/esm2020/lib/pipes/time-ago.pipe.mjs +0 -104
  940. package/esm2020/lib/pipes/time-duration.pipe.mjs +0 -98
  941. package/esm2020/lib/pipes/weight.pipe.mjs +0 -56
  942. package/esm2020/public_api.mjs +0 -8
  943. package/fesm2015/elderbyte-ngx-starter.mjs +0 -27541
  944. package/fesm2015/elderbyte-ngx-starter.mjs.map +0 -1
  945. package/fesm2020/elderbyte-ngx-starter.mjs +0 -27428
  946. package/fesm2020/elderbyte-ngx-starter.mjs.map +0 -1
  947. package/index.d.ts +0 -5
  948. package/lib/common/async/public_api.d.ts +0 -1
  949. package/lib/common/async/refreshing-entity.d.ts +0 -55
  950. package/lib/common/csv/csv-serializer.d.ts +0 -33
  951. package/lib/common/csv/csv-spec.d.ts +0 -71
  952. package/lib/common/csv/public_api.d.ts +0 -2
  953. package/lib/common/data/continuable-listing.d.ts +0 -28
  954. package/lib/common/data/data-context/data-context-active-page.d.ts +0 -75
  955. package/lib/common/data/data-context/data-context-auto-starter.d.ts +0 -41
  956. package/lib/common/data/data-context/data-context-base.d.ts +0 -149
  957. package/lib/common/data/data-context/data-context-builder.d.ts +0 -142
  958. package/lib/common/data/data-context/data-context-continuable-base.d.ts +0 -43
  959. package/lib/common/data/data-context/data-context-continuable-paged.d.ts +0 -58
  960. package/lib/common/data/data-context/data-context-continuable-token.d.ts +0 -48
  961. package/lib/common/data/data-context/data-context-life-cycle-binding.d.ts +0 -33
  962. package/lib/common/data/data-context/data-context-simple.d.ts +0 -30
  963. package/lib/common/data/data-context/data-context-source-auto-reloader.d.ts +0 -8
  964. package/lib/common/data/data-context/data-context-status.d.ts +0 -30
  965. package/lib/common/data/data-context/data-context.d.ts +0 -154
  966. package/lib/common/data/data-context/mat-table-data-context-binding.d.ts +0 -60
  967. package/lib/common/data/data-context/public_api.d.ts +0 -13
  968. package/lib/common/data/datasource/data-source-adapter.d.ts +0 -39
  969. package/lib/common/data/datasource/data-source-processor.d.ts +0 -106
  970. package/lib/common/data/datasource/data-source.d.ts +0 -58
  971. package/lib/common/data/datasource/entity-id-util.d.ts +0 -3
  972. package/lib/common/data/datasource/fetcher/delegate-data-source.d.ts +0 -84
  973. package/lib/common/data/datasource/local/local-list-data-source.d.ts +0 -61
  974. package/lib/common/data/datasource/local/local-paged-data-source.d.ts +0 -49
  975. package/lib/common/data/datasource/public_api.d.ts +0 -7
  976. package/lib/common/data/datasource/rest/public_api.d.ts +0 -1
  977. package/lib/common/data/datasource/rest/rest-client.d.ts +0 -162
  978. package/lib/common/data/entity-set-patch.d.ts +0 -74
  979. package/lib/common/data/field-comparator.d.ts +0 -43
  980. package/lib/common/data/filters/filter-context.d.ts +0 -63
  981. package/lib/common/data/filters/filter.d.ts +0 -52
  982. package/lib/common/data/http-params-builder.d.ts +0 -45
  983. package/lib/common/data/page.d.ts +0 -41
  984. package/lib/common/data/public_api.d.ts +0 -11
  985. package/lib/common/data/required-filter-evaluator.d.ts +0 -46
  986. package/lib/common/data/sort-context.d.ts +0 -42
  987. package/lib/common/data/sort.d.ts +0 -8
  988. package/lib/common/data/token-chunk-request.d.ts +0 -8
  989. package/lib/common/enums/elder-enum-translation.service.d.ts +0 -52
  990. package/lib/common/enums/public_api.d.ts +0 -1
  991. package/lib/common/errors/exception-detail.d.ts +0 -5
  992. package/lib/common/errors/standard-error-detail.d.ts +0 -22
  993. package/lib/common/format/bytes-format.d.ts +0 -4
  994. package/lib/common/format/bytes-per-second-format.d.ts +0 -5
  995. package/lib/common/forms/elder-entity-value-accessor.d.ts +0 -42
  996. package/lib/common/forms/elder-form-field-control-base.directive.d.ts +0 -103
  997. package/lib/common/forms/elder-from-field-base.d.ts +0 -52
  998. package/lib/common/forms/elder-from-field-entity-base.d.ts +0 -31
  999. package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +0 -35
  1000. package/lib/common/forms/elder-multi-entity-value-accessor.d.ts +0 -52
  1001. package/lib/common/forms/form-field-base.component.d.ts +0 -74
  1002. package/lib/common/forms/multi-model-base.component.d.ts +0 -23
  1003. package/lib/common/forms/public_api.d.ts +0 -11
  1004. package/lib/common/forms/template-composite-control.d.ts +0 -64
  1005. package/lib/common/forms/value-accessor-base.d.ts +0 -98
  1006. package/lib/common/forms/view-providers.d.ts +0 -23
  1007. package/lib/common/http/http-client-builder.service.d.ts +0 -6
  1008. package/lib/common/http/http-client-pristine.d.ts +0 -10
  1009. package/lib/common/http/public_api.d.ts +0 -4
  1010. package/lib/common/http/transfer/data-transfer-factory.d.ts +0 -70
  1011. package/lib/common/http/transfer/data-transfer-progress-aggregate.d.ts +0 -27
  1012. package/lib/common/http/transfer/data-transfer-progress.d.ts +0 -13
  1013. package/lib/common/http/transfer/data-transfer-state.d.ts +0 -52
  1014. package/lib/common/http/transfer/data-transfer-status.d.ts +0 -22
  1015. package/lib/common/http/transfer/http-data-transfer.d.ts +0 -96
  1016. package/lib/common/http/transfer/public_api.d.ts +0 -6
  1017. package/lib/common/http/upload/file-upload-client.d.ts +0 -38
  1018. package/lib/common/i18n/entity/impl/i18n-base.d.ts +0 -6
  1019. package/lib/common/i18n/entity/impl/i18n-text.d.ts +0 -11
  1020. package/lib/common/i18n/entity/language-tag.d.ts +0 -15
  1021. package/lib/common/i18n/entity/locale.d.ts +0 -8
  1022. package/lib/common/i18n/entity/localisation-picker.d.ts +0 -14
  1023. package/lib/common/i18n/entity/localized.d.ts +0 -10
  1024. package/lib/common/i18n/entity/public_api.d.ts +0 -5
  1025. package/lib/common/i18n/public_api.d.ts +0 -1
  1026. package/lib/common/json-map.d.ts +0 -7
  1027. package/lib/common/objects.d.ts +0 -19
  1028. package/lib/common/public_api.d.ts +0 -18
  1029. package/lib/common/reactive-map.d.ts +0 -40
  1030. package/lib/common/selection/selection-model.d.ts +0 -82
  1031. package/lib/common/sets.d.ts +0 -20
  1032. package/lib/common/suggestion-provider.d.ts +0 -13
  1033. package/lib/common/templates/template-slot-manager.d.ts +0 -70
  1034. package/lib/common/time/date-util.d.ts +0 -54
  1035. package/lib/common/time/interval.d.ts +0 -287
  1036. package/lib/common/time/period-duration.d.ts +0 -84
  1037. package/lib/common/time/public_api.d.ts +0 -4
  1038. package/lib/common/time/time-util.d.ts +0 -15
  1039. package/lib/common/url/elder-router.service.d.ts +0 -36
  1040. package/lib/common/url/elder-url-fragment-params.service.d.ts +0 -62
  1041. package/lib/common/url/public_api.d.ts +0 -3
  1042. package/lib/common/url/url-query-params.d.ts +0 -96
  1043. package/lib/common/utils/batcher.d.ts +0 -14
  1044. package/lib/common/utils/collection-util.d.ts +0 -35
  1045. package/lib/common/utils/filter-util.d.ts +0 -7
  1046. package/lib/common/utils/next-number-util.d.ts +0 -39
  1047. package/lib/common/utils/ng-zone-utils.d.ts +0 -7
  1048. package/lib/common/utils/parse-util.d.ts +0 -8
  1049. package/lib/common/utils/property-path-util.d.ts +0 -8
  1050. package/lib/common/utils/query-list-binding.d.ts +0 -57
  1051. package/lib/common/utils/sort-util.d.ts +0 -10
  1052. package/lib/common/utils/url-builder.d.ts +0 -160
  1053. package/lib/common/utils/uuid-util.d.ts +0 -18
  1054. package/lib/common/utils/value-wrapper.d.ts +0 -15
  1055. package/lib/components/access-denied/elder-access-denied.component.d.ts +0 -8
  1056. package/lib/components/access-denied/elder-access-denied.module.d.ts +0 -12
  1057. package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +0 -21
  1058. package/lib/components/auditing/elder-audit.module.d.ts +0 -15
  1059. package/lib/components/auditing/i-audited-entity.d.ts +0 -13
  1060. package/lib/components/button-group/elder-button-group/elder-button-group.component.d.ts +0 -8
  1061. package/lib/components/button-group/elder-button-group.module.d.ts +0 -13
  1062. package/lib/components/card-organizer/card-organizer/elder-card-organizer.component.d.ts +0 -64
  1063. package/lib/components/card-organizer/card-organizer/elder-stack-card.directive.d.ts +0 -9
  1064. package/lib/components/card-organizer/card-organizer-data.d.ts +0 -57
  1065. package/lib/components/card-organizer/card-stack/elder-card-stack.component.d.ts +0 -89
  1066. package/lib/components/card-organizer/card-stack.d.ts +0 -146
  1067. package/lib/components/card-organizer/elder-card-organizer.module.d.ts +0 -23
  1068. package/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.d.ts +0 -6
  1069. package/lib/components/cards/elder-card/elder-card.component.d.ts +0 -68
  1070. package/lib/components/cards/elder-card/elder-card.module.d.ts +0 -14
  1071. package/lib/components/connectivity/elder-connectivity.module.d.ts +0 -15
  1072. package/lib/components/connectivity/elder-connectivity.service.d.ts +0 -36
  1073. package/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.d.ts +0 -33
  1074. package/lib/components/connectivity/public_api.d.ts +0 -2
  1075. package/lib/components/containers/elder-containers.module.d.ts +0 -10
  1076. package/lib/components/containers/elder-scroll-container/elder-scroll-container.component.d.ts +0 -12
  1077. package/lib/components/containers/public_api.d.ts +0 -1
  1078. package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +0 -51
  1079. package/lib/components/csv/elder-csv-stream-exporter-builder.d.ts +0 -35
  1080. package/lib/components/csv/elder-csv-stream-exporter-builder.service.d.ts +0 -28
  1081. package/lib/components/csv/elder-csv-stream-exporter.d.ts +0 -58
  1082. package/lib/components/csv/elder-csv.module.d.ts +0 -14
  1083. package/lib/components/currency/elder-currency.module.d.ts +0 -8
  1084. package/lib/components/currency/elder-currency.pipe.d.ts +0 -21
  1085. package/lib/components/currency/model/currency-code.d.ts +0 -36
  1086. package/lib/components/currency/model/currency-unit-registry.d.ts +0 -23
  1087. package/lib/components/currency/model/currency-unit.d.ts +0 -7
  1088. package/lib/components/currency/model/currency.d.ts +0 -10
  1089. package/lib/components/currency/public_api.d.ts +0 -6
  1090. package/lib/components/data-transfer/elder-data-transfer.module.d.ts +0 -27
  1091. package/lib/components/data-transfer/elder-data-transfer.service.d.ts +0 -55
  1092. package/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.d.ts +0 -30
  1093. package/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.d.ts +0 -29
  1094. package/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.d.ts +0 -31
  1095. package/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.d.ts +0 -28
  1096. package/lib/components/data-view/base/data-view-options-provider-binding.d.ts +0 -39
  1097. package/lib/components/data-view/base/elder-data-view-base.d.ts +0 -129
  1098. package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +0 -38
  1099. package/lib/components/data-view/base/elder-data-view-options.d.ts +0 -34
  1100. package/lib/components/data-view/base/elder-data-view.d.ts +0 -7
  1101. package/lib/components/data-view/base/public_api.d.ts +0 -5
  1102. package/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.d.ts +0 -32
  1103. package/lib/components/data-view/common/elder-data-common.module.d.ts +0 -30
  1104. package/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.d.ts +0 -66
  1105. package/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.d.ts +0 -45
  1106. package/lib/components/data-view/common/selection/data-context-selection.directive.d.ts +0 -48
  1107. package/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.d.ts +0 -26
  1108. package/lib/components/data-view/common/selection/master-selection-state.d.ts +0 -8
  1109. package/lib/components/data-view/elder-data-view-interaction-mode.d.ts +0 -21
  1110. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +0 -112
  1111. package/lib/components/data-view/grid/elder-grid.module.d.ts +0 -25
  1112. package/lib/components/data-view/public_api.d.ts +0 -5
  1113. package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.d.ts +0 -9
  1114. package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.d.ts +0 -29
  1115. package/lib/components/data-view/table/activation/elder-item-activator.d.ts +0 -3
  1116. package/lib/components/data-view/table/activation/elder-table-activation-options.d.ts +0 -16
  1117. package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +0 -78
  1118. package/lib/components/data-view/table/elder-number-cell.directive.d.ts +0 -12
  1119. package/lib/components/data-view/table/elder-paginator-intl.d.ts +0 -38
  1120. package/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.d.ts +0 -12
  1121. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +0 -129
  1122. package/lib/components/data-view/table/elder-table-column.directive.d.ts +0 -9
  1123. package/lib/components/data-view/table/elder-table-extension.directive.d.ts +0 -53
  1124. package/lib/components/data-view/table/elder-table-root.directive.d.ts +0 -15
  1125. package/lib/components/data-view/table/elder-table-row.directive.d.ts +0 -63
  1126. package/lib/components/data-view/table/elder-table-sort.directive.d.ts +0 -11
  1127. package/lib/components/data-view/table/elder-table.module.d.ts +0 -48
  1128. package/lib/components/data-view/table/model/elder-column-layout.d.ts +0 -44
  1129. package/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.d.ts +0 -44
  1130. package/lib/components/data-view/table/model/elder-table-model-provider.d.ts +0 -25
  1131. package/lib/components/data-view/table/model/elder-table-model-query-group.d.ts +0 -53
  1132. package/lib/components/data-view/table/model/elder-table-model.d.ts +0 -83
  1133. package/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.d.ts +0 -22
  1134. package/lib/components/dialogs/elder-dialog-config.d.ts +0 -16
  1135. package/lib/components/dialogs/elder-dialog.module.d.ts +0 -36
  1136. package/lib/components/dialogs/elder-dialog.service.d.ts +0 -71
  1137. package/lib/components/dialogs/question-dialog/elder-question-dialog.component.d.ts +0 -22
  1138. package/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.d.ts +0 -29
  1139. package/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.d.ts +0 -24
  1140. package/lib/components/errors/elder-error.module.d.ts +0 -17
  1141. package/lib/components/errors/error-util.d.ts +0 -23
  1142. package/lib/components/errors/exception-detail/elder-exception-detail.component.d.ts +0 -42
  1143. package/lib/components/expand-toggle-button/elder-expand-toggle-button.component.d.ts +0 -33
  1144. package/lib/components/expand-toggle-button/elder-expand-toggle-button.module.d.ts +0 -12
  1145. package/lib/components/files/blob-url.d.ts +0 -6
  1146. package/lib/components/files/blob-viewer/elder-blob-viewer.component.d.ts +0 -107
  1147. package/lib/components/files/elder-file-drop-zone.directive.d.ts +0 -45
  1148. package/lib/components/files/elder-file-select.directive.d.ts +0 -66
  1149. package/lib/components/files/elder-file.module.d.ts +0 -24
  1150. package/lib/components/files/file-select/file-select.component.d.ts +0 -34
  1151. package/lib/components/files/file-upload/file-upload.component.d.ts +0 -45
  1152. package/lib/components/forms/clipboard/elder-clipboard.service.d.ts +0 -26
  1153. package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +0 -32
  1154. package/lib/components/forms/directives/elder-clipboard-put.directive.d.ts +0 -22
  1155. package/lib/components/forms/directives/elder-delayed-focus.directive.d.ts +0 -21
  1156. package/lib/components/forms/directives/elder-form-field-dense.directive.d.ts +0 -19
  1157. package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +0 -58
  1158. package/lib/components/forms/directives/elder-form-field-no-hint.directive.d.ts +0 -19
  1159. package/lib/components/forms/directives/elder-form-field-no-spinner.directive.d.ts +0 -19
  1160. package/lib/components/forms/directives/elder-forms-directives.module.d.ts +0 -68
  1161. package/lib/components/forms/directives/elder-input-pattern.directive.d.ts +0 -41
  1162. package/lib/components/forms/directives/elder-key-event.directive.d.ts +0 -58
  1163. package/lib/components/forms/directives/elder-max.directive.d.ts +0 -11
  1164. package/lib/components/forms/directives/elder-min.directive.d.ts +0 -11
  1165. package/lib/components/forms/directives/elder-next-focusable.directive.d.ts +0 -48
  1166. package/lib/components/forms/directives/elder-plug-parent-form.directive.d.ts +0 -13
  1167. package/lib/components/forms/directives/elder-stop-event-propagation.directive.d.ts +0 -16
  1168. package/lib/components/forms/directives/elder-tab-focus-trap.directive.d.ts +0 -63
  1169. package/lib/components/forms/directives/elder-touched.directive.d.ts +0 -14
  1170. package/lib/components/forms/directives/elder-triple-state-checkbox.directive.d.ts +0 -51
  1171. package/lib/components/forms/directives/validation/elder-multiple-of.validator.d.ts +0 -20
  1172. package/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.d.ts +0 -33
  1173. package/lib/components/forms/elder-forms.module.d.ts +0 -12
  1174. package/lib/components/forms/public_api.d.ts +0 -1
  1175. package/lib/components/forms/search/elder-search-context.directive.d.ts +0 -79
  1176. package/lib/components/forms/search/elder-search-input.directive.d.ts +0 -85
  1177. package/lib/components/forms/search/elder-search.module.d.ts +0 -26
  1178. package/lib/components/forms/search/model/search-input-state.d.ts +0 -67
  1179. package/lib/components/forms/search/model/search-input.d.ts +0 -21
  1180. package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +0 -72
  1181. package/lib/components/forms/search/search-box/elder-search-panel.component.d.ts +0 -6
  1182. package/lib/components/global-search/elder-global-search.component.d.ts +0 -39
  1183. package/lib/components/global-search/elder-global-search.module.d.ts +0 -19
  1184. package/lib/components/global-search/elder-global-search.service.d.ts +0 -54
  1185. package/lib/components/graph/elder-progress-bar/elder-progress-bar.component.d.ts +0 -54
  1186. package/lib/components/graph/elder-progress-bar/elder-progress-bar.module.d.ts +0 -11
  1187. package/lib/components/graph/elder-progress-bar/sub-bar.d.ts +0 -5
  1188. package/lib/components/headers/elder-header/elder-header.component.d.ts +0 -25
  1189. package/lib/components/headers/elder-header.module.d.ts +0 -12
  1190. package/lib/components/http-support/elder-http-client.service.d.ts +0 -48
  1191. package/lib/components/http-support/public_api.d.ts +0 -1
  1192. package/lib/components/i18n/entities/elder-i18n-entities.module.d.ts +0 -38
  1193. package/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.d.ts +0 -62
  1194. package/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.d.ts +0 -22
  1195. package/lib/components/i18n/entities/elder-localized-input-dialog.service.d.ts +0 -13
  1196. package/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.d.ts +0 -67
  1197. package/lib/components/i18n/entities/elder-localized-text-column.directive.d.ts +0 -17
  1198. package/lib/components/i18n/entities/elder-localized-texts.directive.d.ts +0 -37
  1199. package/lib/components/i18n/entities/picker/i18n-pick-async.pipe.d.ts +0 -23
  1200. package/lib/components/i18n/entities/picker/i18n-pick.pipe.d.ts +0 -22
  1201. package/lib/components/i18n/entities/picker/localisation-picker.service.d.ts +0 -44
  1202. package/lib/components/i18n/language/elder-language-config.d.ts +0 -14
  1203. package/lib/components/i18n/language/elder-language-interceptor.d.ts +0 -41
  1204. package/lib/components/i18n/language/elder-language.module.d.ts +0 -27
  1205. package/lib/components/i18n/language/elder-language.service.d.ts +0 -77
  1206. package/lib/components/i18n/language/language-switcher/elder-language-switcher.component.d.ts +0 -37
  1207. package/lib/components/i18n/locales/elder-locales-de-ch.module.d.ts +0 -10
  1208. package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +0 -68
  1209. package/lib/components/iframes/data-view/data-view-iframe-adapter.directive.d.ts +0 -62
  1210. package/lib/components/iframes/elder-iframe.module.d.ts +0 -28
  1211. package/lib/components/iframes/iframe-close.directive.d.ts +0 -24
  1212. package/lib/components/iframes/iframe-dialog/iframe-dialog.component.d.ts +0 -36
  1213. package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +0 -92
  1214. package/lib/components/iframes/iframe-side-content/iframe-side-content.component.d.ts +0 -48
  1215. package/lib/components/iframes/iframe.service.d.ts +0 -25
  1216. package/lib/components/iframes/typed-event-message.d.ts +0 -26
  1217. package/lib/components/infinitescroll/elder-infinite-autocomplete.directive.d.ts +0 -30
  1218. package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +0 -63
  1219. package/lib/components/infinitescroll/elder-infinite-scroll.module.d.ts +0 -19
  1220. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.d.ts +0 -8
  1221. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +0 -87
  1222. package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +0 -78
  1223. package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +0 -60
  1224. package/lib/components/input/autocomplete/elder-autocomplete.module.d.ts +0 -20
  1225. package/lib/components/input/autocomplete/many/word-position-finder.d.ts +0 -15
  1226. package/lib/components/input/public_api.d.ts +0 -1
  1227. package/lib/components/labels/elder-labels.module.d.ts +0 -15
  1228. package/lib/components/labels/labels-input/labels-input.component.d.ts +0 -91
  1229. package/lib/components/measures/dimensions-input/elder-dimensions-input.component.d.ts +0 -111
  1230. package/lib/components/measures/directives/elder-unit-select.directive.d.ts +0 -30
  1231. package/lib/components/measures/elder-measures.module.d.ts +0 -33
  1232. package/lib/components/measures/elder-quantity-transform.pipe.d.ts +0 -22
  1233. package/lib/components/measures/elder-quantity.pipe.d.ts +0 -40
  1234. package/lib/components/measures/elder-unit.service.d.ts +0 -39
  1235. package/lib/components/measures/model/dimensions.d.ts +0 -11
  1236. package/lib/components/measures/model/quantity.d.ts +0 -7
  1237. package/lib/components/measures/model/unit-dimension.d.ts +0 -12
  1238. package/lib/components/measures/model/unit-registry.d.ts +0 -46
  1239. package/lib/components/measures/model/unit.d.ts +0 -111
  1240. package/lib/components/measures/public_api.d.ts +0 -7
  1241. package/lib/components/measures/quantity-input/elder-quantity-input.component.d.ts +0 -94
  1242. package/lib/components/measures/util/elder-quantity.service.d.ts +0 -116
  1243. package/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.d.ts +0 -69
  1244. package/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.d.ts +0 -19
  1245. package/lib/components/navigation/bread-crumbs/path/path.d.ts +0 -31
  1246. package/lib/components/navigation/nav/elder-nav.module.d.ts +0 -19
  1247. package/lib/components/navigation/nav/nav-group/elder-nav-group.component.d.ts +0 -45
  1248. package/lib/components/navigation/nav/nav-link/elder-nav-link.component.d.ts +0 -27
  1249. package/lib/components/navigation/nav/nav-list/elder-nav-list.component.d.ts +0 -8
  1250. package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +0 -34
  1251. package/lib/components/navigation/toolbar/elder-toolbar.module.d.ts +0 -24
  1252. package/lib/components/navigation/toolbar/elder-toolbar.service.d.ts +0 -46
  1253. package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +0 -42
  1254. package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +0 -9
  1255. package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.d.ts +0 -30
  1256. package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.d.ts +0 -47
  1257. package/lib/components/overlays/elder-overlay-origin.directive.d.ts +0 -28
  1258. package/lib/components/overlays/elder-overlay-trigger.directive.d.ts +0 -36
  1259. package/lib/components/overlays/elder-overlay.component.d.ts +0 -88
  1260. package/lib/components/overlays/elder-overlay.module.d.ts +0 -14
  1261. package/lib/components/panels/card-panel/elder-card-panel.component.d.ts +0 -6
  1262. package/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.d.ts +0 -6
  1263. package/lib/components/panels/elder-panel.module.d.ts +0 -15
  1264. package/lib/components/panels/flat/elder-panel.component.d.ts +0 -15
  1265. package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +0 -45
  1266. package/lib/components/select/auto/elder-select-first-util.d.ts +0 -22
  1267. package/lib/components/select/elder-select-base.d.ts +0 -149
  1268. package/lib/components/select/elder-select-chip.directive.d.ts +0 -23
  1269. package/lib/components/select/elder-select-on-tab.directive.d.ts +0 -55
  1270. package/lib/components/select/elder-select-value.directive.d.ts +0 -9
  1271. package/lib/components/select/elder-select.module.d.ts +0 -49
  1272. package/lib/components/select/multi/elder-multi-select-base.d.ts +0 -120
  1273. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +0 -105
  1274. package/lib/components/select/multi/elder-multi-select-form-field.d.ts +0 -34
  1275. package/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.d.ts +0 -42
  1276. package/lib/components/select/popup/selection-model-popup.directive.d.ts +0 -49
  1277. package/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.d.ts +0 -32
  1278. package/lib/components/select/public_api.d.ts +0 -5
  1279. package/lib/components/select/single/elder-clear-select.directive.d.ts +0 -34
  1280. package/lib/components/select/single/elder-select/elder-select.component.d.ts +0 -155
  1281. package/lib/components/select/single/elder-select-form-field.d.ts +0 -30
  1282. package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +0 -78
  1283. package/lib/components/select-chip-list/elder-chip-list-select.module.d.ts +0 -13
  1284. package/lib/components/select-list/elder-select-list.module.d.ts +0 -16
  1285. package/lib/components/select-list/select-list/elder-select-list.component.d.ts +0 -53
  1286. package/lib/components/select-list/select-list-item/elder-select-list-item.component.d.ts +0 -57
  1287. package/lib/components/shell/drawers/drawer-outlet-binding.d.ts +0 -36
  1288. package/lib/components/shell/drawers/elder-route-outlet-drawer.service.d.ts +0 -55
  1289. package/lib/components/shell/drawers/elder-router-outlet.service.d.ts +0 -64
  1290. package/lib/components/shell/elder-shell-slot.directive.d.ts +0 -34
  1291. package/lib/components/shell/elder-shell.module.d.ts +0 -31
  1292. package/lib/components/shell/elder-shell.service.d.ts +0 -98
  1293. package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +0 -43
  1294. package/lib/components/shell/shell/elder-shell.component.d.ts +0 -99
  1295. package/lib/components/shell/shell-content-slot.d.ts +0 -4
  1296. package/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.d.ts +0 -66
  1297. package/lib/components/tabs/elder-tab/elder-tab.directive.d.ts +0 -19
  1298. package/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.d.ts +0 -100
  1299. package/lib/components/tabs/elder-tab.module.d.ts +0 -13
  1300. package/lib/components/theme/elder-theme-applier.directive.d.ts +0 -36
  1301. package/lib/components/theme/elder-theme-preference.service.d.ts +0 -35
  1302. package/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.d.ts +0 -37
  1303. package/lib/components/theme/elder-theme.directive.d.ts +0 -38
  1304. package/lib/components/theme/elder-theme.module.d.ts +0 -22
  1305. package/lib/components/theme/elder-theme.service.d.ts +0 -51
  1306. package/lib/components/theme/known-elder-themes.d.ts +0 -5
  1307. package/lib/components/theme/theme-spec.d.ts +0 -18
  1308. package/lib/components/time/date-adapters/custom-date-adapter.d.ts +0 -12
  1309. package/lib/components/time/duration/duration-bucket.d.ts +0 -37
  1310. package/lib/components/time/duration/duration-format.d.ts +0 -62
  1311. package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +0 -58
  1312. package/lib/components/time/duration/iso-duration-str.d.ts +0 -5
  1313. package/lib/components/time/elder-date-switcher/elder-date-switcher.component.d.ts +0 -60
  1314. package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +0 -42
  1315. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +0 -84
  1316. package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +0 -78
  1317. package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +0 -47
  1318. package/lib/components/time/elder-time.module.d.ts +0 -39
  1319. package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +0 -71
  1320. package/lib/components/time/period/period-bucket.d.ts +0 -21
  1321. package/lib/components/time/period/period-format.d.ts +0 -43
  1322. package/lib/components/time/public_api.d.ts +0 -7
  1323. package/lib/components/toasts/elder-toast.module.d.ts +0 -13
  1324. package/lib/components/toasts/elder-toast.service.d.ts +0 -96
  1325. package/lib/components/toasts/standard-toast/standard-toast.component.d.ts +0 -38
  1326. package/lib/components/toasts/toast-type.d.ts +0 -5
  1327. package/lib/components/toasts/toast.d.ts +0 -7
  1328. package/lib/components/url-fragment/elder-url-fragment.d.ts +0 -7
  1329. package/lib/components/url-fragment/elder-url-fragment.module.d.ts +0 -18
  1330. package/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.d.ts +0 -38
  1331. package/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.d.ts +0 -41
  1332. package/lib/components/viewers/elder-viewers.module.d.ts +0 -9
  1333. package/lib/features/event-source/elder-event-source.service.d.ts +0 -43
  1334. package/lib/features/event-source/public_api.d.ts +0 -2
  1335. package/lib/features/event-source/reactive-event-source.d.ts +0 -97
  1336. package/lib/features/kafent/access-token-provider.d.ts +0 -12
  1337. package/lib/features/kafent/kafent-config.d.ts +0 -32
  1338. package/lib/features/kafent/kafent-event-stream.d.ts +0 -28
  1339. package/lib/features/kafent/kafent-event.d.ts +0 -11
  1340. package/lib/features/kafent/kafent-event.service.d.ts +0 -77
  1341. package/lib/features/kafent/kafent-live-event-request.d.ts +0 -58
  1342. package/lib/features/kafent/kafent.module.d.ts +0 -30
  1343. package/lib/features/kafent/sse/kafent-event-stream-sse.service.d.ts +0 -56
  1344. package/lib/features/kafent/sse/kafent-topic-sse.d.ts +0 -70
  1345. package/lib/features/public_api.d.ts +0 -2
  1346. package/lib/pipes/bytes.pipe.d.ts +0 -7
  1347. package/lib/pipes/elder-pipes.module.d.ts +0 -46
  1348. package/lib/pipes/elder-repeat.pipe.d.ts +0 -7
  1349. package/lib/pipes/elder-round.pipe.d.ts +0 -23
  1350. package/lib/pipes/elder-safe-url.pipe.d.ts +0 -10
  1351. package/lib/pipes/elder-truncate.pipe.d.ts +0 -17
  1352. package/lib/pipes/iso-duration.pipe.d.ts +0 -26
  1353. package/lib/pipes/iso-interval-parse.pipe.d.ts +0 -30
  1354. package/lib/pipes/iso-interval.pipe.d.ts +0 -43
  1355. package/lib/pipes/public_api.d.ts +0 -1
  1356. package/lib/pipes/time-ago.pipe.d.ts +0 -18
  1357. package/lib/pipes/time-duration.pipe.d.ts +0 -13
  1358. package/lib/pipes/weight.pipe.d.ts +0 -7
  1359. package/public_api.d.ts +0 -4
@@ -1,187 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChild, Input, Output, TemplateRef, ViewChild } from '@angular/core';
2
- import { LoggerFactory } from '@elderbyte/ts-logger';
3
- import { BehaviorSubject, of, Subject } from 'rxjs';
4
- import { isContinuableDataContext } from '../../../../common/data/data-context/data-context';
5
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
6
- import { filter, switchMap } from 'rxjs/operators';
7
- import { runInZone } from '../../../../common/utils/ng-zone-utils';
8
- import { ElderSelectValueDirective } from '../../../select/elder-select-value.directive';
9
- import { ElderAutocompleteOptionSelected } from './elder-autocomplete-option-selected';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common";
12
- import * as i2 from "@angular/material/autocomplete";
13
- import * as i3 from "@angular/material/core";
14
- import * as i4 from "../../../infinitescroll/elder-infinite-scroll.directive";
15
- import * as i5 from "../../../infinitescroll/elder-infinite-autocomplete.directive";
16
- import * as i6 from "@angular/material/icon";
17
- import * as i7 from "@angular/flex-layout/flex";
18
- import * as i8 from "@angular/material/progress-bar";
19
- export class ElderAutocompleteComponent {
20
- /***************************************************************************
21
- * *
22
- * Constructor *
23
- * *
24
- **************************************************************************/
25
- constructor(zone) {
26
- this.zone = zone;
27
- /***************************************************************************
28
- * *
29
- * Fields *
30
- * *
31
- **************************************************************************/
32
- this.logger = LoggerFactory.getLogger(this.constructor.name);
33
- /**
34
- * Is this auto-complete enabled?
35
- */
36
- this._enabled = true;
37
- /**
38
- * The underlying Material Autocomplete
39
- */
40
- this.matAutocomplete$ = new BehaviorSubject(null);
41
- /**
42
- * The DataContext which holds the autocomplete suggestions.
43
- */
44
- this.dataContext$ = new BehaviorSubject(null);
45
- this.triggerReload$ = new Subject();
46
- this.displayPropertyResolver$ = new BehaviorSubject((value) => this.propertyStringValue(value, null));
47
- this.optionSelected = new Subject();
48
- this.dataState$ = this.dataContext$.pipe(filter(dc => !!dc), switchMap(dc => dc.status), runInZone(this.zone));
49
- this.availableSuggestions$ = this.dataContext$.pipe(switchMap(dc => dc ? dc.data : of([])), runInZone(this.zone));
50
- }
51
- set matAutocomplete(auto) {
52
- this.matAutocomplete$.next(auto);
53
- }
54
- /***************************************************************************
55
- * *
56
- * Properties *
57
- * *
58
- **************************************************************************/
59
- set enabled(value) {
60
- this._enabled = coerceBooleanProperty(value);
61
- }
62
- get enabled() {
63
- return this._enabled;
64
- }
65
- set valueTemplate(template) {
66
- this._valueTemplate = template;
67
- }
68
- get valueTemplate() {
69
- return this._valueTemplate || this.valueTemplateQuery;
70
- }
71
- set dataContext(data) {
72
- this.dataContext$.next(data);
73
- }
74
- get dataContext() {
75
- return this.dataContext$.getValue();
76
- }
77
- set displayPropertyResolver(resolver) {
78
- this.displayPropertyResolver$.next(resolver);
79
- }
80
- /***************************************************************************
81
- * *
82
- * Public API *
83
- * *
84
- **************************************************************************/
85
- onOptionSelected(event) {
86
- const option = event.option;
87
- const id = option.id;
88
- this.optionSelected.next(new ElderAutocompleteOptionSelected(this, id, this.getEntityById(id), option.value));
89
- }
90
- getEntityById(id) {
91
- const dc = this.dataContext;
92
- if (dc) {
93
- return dc.snapshot.data.find(e => this.getId(e) == id);
94
- }
95
- return undefined;
96
- }
97
- onAutocompleteOpened(event) {
98
- this.logger.debug('Autocomplete opened:', event);
99
- if (this.enabled) {
100
- this.triggerReload$.next(null);
101
- }
102
- }
103
- onAutoCompleteCloseToEnd(event) {
104
- // this.logger.debug('Autocomplete is close to end!');
105
- if (isContinuableDataContext(this.dataContext)) {
106
- if (!this.dataContext.snapshot.isLoading) {
107
- this.dataContext.loadMore();
108
- }
109
- }
110
- }
111
- getIdAsString(value) {
112
- return String(this.getId(value));
113
- }
114
- getId(value) {
115
- return this.dataContext?.dataSource?.getId(value) || value;
116
- }
117
- isOptionAvailable(option) {
118
- if (this.isOptionDisabledFn) {
119
- return !this.isOptionDisabledFn(option);
120
- }
121
- else {
122
- return true;
123
- }
124
- }
125
- isOptionVisible(option) {
126
- if (this.isOptionHiddenFn) {
127
- return !this.isOptionHiddenFn(option);
128
- }
129
- else {
130
- return true;
131
- }
132
- }
133
- toOptionValue(option) {
134
- if (this.optionValueConverterFn) {
135
- return this.optionValueConverterFn(option);
136
- }
137
- else {
138
- return option;
139
- }
140
- }
141
- /***************************************************************************
142
- * *
143
- * Private methods *
144
- * *
145
- **************************************************************************/
146
- /**
147
- * TODO Duplicate in elder-select
148
- */
149
- propertyStringValue(value, property) {
150
- if (value === null || value === undefined) {
151
- return null;
152
- }
153
- if (property) {
154
- return value[property];
155
- }
156
- return String(value);
157
- }
158
- }
159
- ElderAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderAutocompleteComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
160
- ElderAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ElderAutocompleteComponent, selector: "elder-autocomplete", inputs: { isOptionDisabledFn: "isOptionDisabledFn", isOptionHiddenFn: "isOptionHiddenFn", optionValueConverterFn: "optionValueConverterFn", enabled: "enabled", valueTemplate: "valueTemplate", dataContext: "dataContext", displayPropertyResolver: "displayPropertyResolver" }, outputs: { optionSelected: "optionSelected" }, queries: [{ propertyName: "valueTemplateQuery", first: true, predicate: ElderSelectValueDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "matAutocomplete", first: true, predicate: ["auto"], descendants: true }], exportAs: ["elderAutocomplete"], ngImport: i0, template: "<mat-autocomplete\n #auto=\"matAutocomplete\"\n [autoActiveFirstOption]=\"true\"\n (opened)=\"onAutocompleteOpened($event)\"\n (optionSelected)=\"onOptionSelected($event)\"\n elderInfiniteScroll elderElderInfiniteAutocomplete (closeToEnd)=\"onAutoCompleteCloseToEnd($event)\"\n>\n <!--\n <mat-option *ngIf=\"allowNull\" [value]=\"null\">{{nullDisplay | translate}}</mat-option>\n -->\n\n <mat-option disabled *ngIf=\"!(dataContext$ | async)\">\n <span class=\"mat-caption\">No DataSource / DataContext!</span>\n </mat-option>\n\n <ng-container *ngIf=\"dataContext$ | async as dc\">\n\n <mat-option disabled *ngIf=\"dc.isClosed\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"8px\">\n <mat-icon color=\"warn\">warning</mat-icon>\n <span class=\"mat-caption\">DataContext Closed!</span>\n </div>\n </mat-option>\n\n <ng-container *ngIf=\"availableSuggestions$ | async as suggestions\">\n\n <mat-option *ngIf=\"suggestions.length === 0\" disabled>\n No Data.\n </mat-option>\n\n <ng-container *ngFor=\"let suggestion of suggestions\">\n <mat-option\n *ngIf=\"isOptionVisible(suggestion)\"\n [value]=\"toOptionValue(suggestion)\"\n [id]=\"getIdAsString(suggestion)\"\n [disabled]=\"!isOptionAvailable(suggestion)\"\n >\n <ng-container\n *ngTemplateOutlet=\"valueTemplate || simpleValueTemplate; context: {$implicit: suggestion}\">\n </ng-container>\n <!--\n <span class=\"mat-caption\">value: {{toOptionValue(suggestion)}}</span>\n -->\n </mat-option>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"dataState$ | async as state\">\n\n <mat-option disabled *ngIf=\"!state.idle || state.loading\">\n <mat-progress-bar\n [value]=\"100\"\n [mode]=\"state.loading ? 'query' : 'determinate'\"\n [color]=\"state.error ? 'warn' : 'primary'\"\n ></mat-progress-bar>\n </mat-option>\n\n </ng-container>\n</mat-autocomplete>\n\n<ng-template #simpleValueTemplate let-value>\n <ng-container *ngIf=\"displayPropertyResolver$ | async as propertyResolver\">\n <span class=\"noselect\">{{propertyResolver(value)}}</span>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: ["listenToHost", "eventThrottle", "offsetFactor", "ignoreScrollEvent", "containerId", "scrollContainer"], outputs: ["closeToEnd", "scrolling"] }, { kind: "directive", type: i5.ElderInfiniteAutocompleteDirective, selector: "mat-autocomplete[elderElderInfiniteAutocomplete]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i8.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderAutocompleteComponent, decorators: [{
162
- type: Component,
163
- args: [{ selector: 'elder-autocomplete', exportAs: 'elderAutocomplete', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-autocomplete\n #auto=\"matAutocomplete\"\n [autoActiveFirstOption]=\"true\"\n (opened)=\"onAutocompleteOpened($event)\"\n (optionSelected)=\"onOptionSelected($event)\"\n elderInfiniteScroll elderElderInfiniteAutocomplete (closeToEnd)=\"onAutoCompleteCloseToEnd($event)\"\n>\n <!--\n <mat-option *ngIf=\"allowNull\" [value]=\"null\">{{nullDisplay | translate}}</mat-option>\n -->\n\n <mat-option disabled *ngIf=\"!(dataContext$ | async)\">\n <span class=\"mat-caption\">No DataSource / DataContext!</span>\n </mat-option>\n\n <ng-container *ngIf=\"dataContext$ | async as dc\">\n\n <mat-option disabled *ngIf=\"dc.isClosed\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"8px\">\n <mat-icon color=\"warn\">warning</mat-icon>\n <span class=\"mat-caption\">DataContext Closed!</span>\n </div>\n </mat-option>\n\n <ng-container *ngIf=\"availableSuggestions$ | async as suggestions\">\n\n <mat-option *ngIf=\"suggestions.length === 0\" disabled>\n No Data.\n </mat-option>\n\n <ng-container *ngFor=\"let suggestion of suggestions\">\n <mat-option\n *ngIf=\"isOptionVisible(suggestion)\"\n [value]=\"toOptionValue(suggestion)\"\n [id]=\"getIdAsString(suggestion)\"\n [disabled]=\"!isOptionAvailable(suggestion)\"\n >\n <ng-container\n *ngTemplateOutlet=\"valueTemplate || simpleValueTemplate; context: {$implicit: suggestion}\">\n </ng-container>\n <!--\n <span class=\"mat-caption\">value: {{toOptionValue(suggestion)}}</span>\n -->\n </mat-option>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"dataState$ | async as state\">\n\n <mat-option disabled *ngIf=\"!state.idle || state.loading\">\n <mat-progress-bar\n [value]=\"100\"\n [mode]=\"state.loading ? 'query' : 'determinate'\"\n [color]=\"state.error ? 'warn' : 'primary'\"\n ></mat-progress-bar>\n </mat-option>\n\n </ng-container>\n</mat-autocomplete>\n\n<ng-template #simpleValueTemplate let-value>\n <ng-container *ngIf=\"displayPropertyResolver$ | async as propertyResolver\">\n <span class=\"noselect\">{{propertyResolver(value)}}</span>\n </ng-container>\n</ng-template>\n" }]
164
- }], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { valueTemplateQuery: [{
165
- type: ContentChild,
166
- args: [ElderSelectValueDirective, { read: TemplateRef, static: true }]
167
- }], matAutocomplete: [{
168
- type: ViewChild,
169
- args: ['auto']
170
- }], isOptionDisabledFn: [{
171
- type: Input
172
- }], isOptionHiddenFn: [{
173
- type: Input
174
- }], optionValueConverterFn: [{
175
- type: Input
176
- }], optionSelected: [{
177
- type: Output
178
- }], enabled: [{
179
- type: Input
180
- }], valueTemplate: [{
181
- type: Input
182
- }], dataContext: [{
183
- type: Input
184
- }], displayPropertyResolver: [{
185
- type: Input
186
- }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS9lbGRlci1hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWtCLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFlLHdCQUF3QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDekcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFHakUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFX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VyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBVS9ELGVBQWU7c0JBRHpCLFNBQVM7dUJBQUMsTUFBTTtnQkFNVixrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLHNCQUFzQjtzQkFENUIsS0FBSztnQkFpQlUsY0FBYztzQkFEN0IsTUFBTTtnQkErQkksT0FBTztzQkFEakIsS0FBSztnQkFVSyxhQUFhO3NCQUR2QixLQUFLO2dCQVVLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBVUssdUJBQXVCO3NCQURqQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIElucHV0LCBOZ1pvbmUsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7SURhdGFDb250ZXh0LCBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge2ZpbHRlciwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge3J1bkluWm9uZX0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3V0aWxzL25nLXpvbmUtdXRpbHMnO1xuaW1wb3J0IHtEYXRhQ29udGV4dFN0YXR1c30gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1zdGF0dXMnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGUsIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge0VsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uL3NlbGVjdC9lbGRlci1zZWxlY3QtdmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZH0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUtb3B0aW9uLXNlbGVjdGVkJztcblxudHlwZSBUZXh0UmVzb2x2ZXJGbiA9ICh2YWx1ZTogYW55KSA9PiBzdHJpbmc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWF1dG9jb21wbGV0ZScsXG4gIGV4cG9ydEFzOiAnZWxkZXJBdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQXV0b2NvbXBsZXRlQ29tcG9uZW50PFQgPSBhbnksIFRJZCA9IGFueT4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAvKipcbiAgICogSXMgdGhpcyBhdXRvLWNvbXBsZXRlIGVuYWJsZWQ/XG4gICAqL1xuICBwcml2YXRlIF9lbmFibGVkID0gdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIHRlbXBsYXRlIHRvIGN1c3RvbWl6ZSB0aGUgdWkgbG9vay5cbiAgICovXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTZWxlY3RWYWx1ZURpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgdmFsdWVUZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIF92YWx1ZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiBUaGUgdW5kZXJseWluZyBNYXRlcmlhbCBBdXRvY29tcGxldGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtYXRBdXRvY29tcGxldGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXRBdXRvY29tcGxldGU+KG51bGwpO1xuXG4gIEBWaWV3Q2hpbGQoJ2F1dG8nKVxuICBwdWJsaWMgc2V0IG1hdEF1dG9jb21wbGV0ZShhdXRvOiBNYXRBdXRvY29tcGxldGUpIHtcbiAgICB0aGlzLm1hdEF1dG9jb21wbGV0ZSQubmV4dChhdXRvKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc09wdGlvbkRpc2FibGVkRm46IChvcHRpb246IFQpID0+IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzT3B0aW9uSGlkZGVuRm46IChvcHRpb246IFQpID0+IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIG9wdGlvblZhbHVlQ29udmVydGVyRm46IChvcHRpb246IFQpID0+IGFueTtcblxuICAvKipcbiAgICogVGhlIERhdGFDb250ZXh0IHdoaWNoIGhvbGRzIHRoZSBhdXRvY29tcGxldGUgc3VnZ2VzdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0YUNvbnRleHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJRGF0YUNvbnRleHQ8VD4+KG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSB0cmlnZ2VyUmVsb2FkJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZXh0UmVzb2x2ZXJGbj4oKHZhbHVlOiBUKSA9PiB0aGlzLnByb3BlcnR5U3RyaW5nVmFsdWUodmFsdWUsIG51bGwpKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YVN0YXRlJDogT2JzZXJ2YWJsZTxEYXRhQ29udGV4dFN0YXR1cz47XG5cbiAgcHVibGljIHJlYWRvbmx5IGF2YWlsYWJsZVN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxUW10+O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uU2VsZWN0ZWQgPSBuZXcgU3ViamVjdDxFbGRlckF1dG9jb21wbGV0ZU9wdGlvblNlbGVjdGVkPigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lLFxuICApIHtcbiAgICB0aGlzLmRhdGFTdGF0ZSQgPSB0aGlzLmRhdGFDb250ZXh0JC5waXBlKFxuICAgICAgZmlsdGVyKGRjID0+ICEhZGMpLFxuICAgICAgc3dpdGNoTWFwKGRjID0+IGRjLnN0YXR1cyksXG4gICAgICBydW5JblpvbmUodGhpcy56b25lKVxuICAgICk7XG5cbiAgICB0aGlzLmF2YWlsYWJsZVN1Z2dlc3Rpb25zJCA9IHRoaXMuZGF0YUNvbnRleHQkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoZGMgPT4gZGMgPyBkYy5kYXRhIDogb2YoW10pKSxcbiAgICAgIHJ1bkluWm9uZSh0aGlzLnpvbmUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2VuYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZVRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5fdmFsdWVUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZVRlbXBsYXRlIHx8IHRoaXMudmFsdWVUZW1wbGF0ZVF1ZXJ5O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhQ29udGV4dChkYXRhOiBJRGF0YUNvbnRleHQ8VD4pIHtcbiAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhQ29udGV4dCgpOiBJRGF0YUNvbnRleHQ8VD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5UHJvcGVydHlSZXNvbHZlcihyZXNvbHZlcjogVGV4dFJlc29sdmVyRm4pIHtcbiAgICB0aGlzLmRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJC5uZXh0KHJlc29sdmVyKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBvbk9wdGlvblNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9uID0gZXZlbnQub3B0aW9uO1xuICAgIGNvbnN0IGlkID0gb3B0aW9uLmlkIGFzIHVua25vd24gYXMgVElkO1xuICAgIHRoaXMub3B0aW9uU2VsZWN0ZWQubmV4dChcbiAgICAgIG5ldyBFbGRlckF1dG9jb21wbGV0ZU9wdGlvblNlbGVjdGVkKFxuICAgICAgICB0aGlzLFxuICAgICAgICBpZCxcbiAgICAgICAgdGhpcy5nZXRFbnRpdHlCeUlkKGlkKSxcbiAgICAgICAgb3B0aW9uLnZhbHVlXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RW50aXR5QnlJZChpZDogVElkKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZGMgPSB0aGlzLmRhdGFDb250ZXh0O1xuICAgIGlmKGRjKXtcbiAgICAgIHJldHVybiBkYy5zbmFwc2hvdC5kYXRhLmZpbmQoZSA9PiB0aGlzLmdldElkKGUpID09IGlkKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBvbkF1dG9jb21wbGV0ZU9wZW5lZChldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0F1dG9jb21wbGV0ZSBvcGVuZWQ6JywgZXZlbnQpO1xuICAgIGlmICh0aGlzLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMudHJpZ2dlclJlbG9hZCQubmV4dChudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25BdXRvQ29tcGxldGVDbG9zZVRvRW5kKGV2ZW50OiBVSUV2ZW50KTogdm9pZCB7XG4gICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ0F1dG9jb21wbGV0ZSBpcyBjbG9zZSB0byBlbmQhJyk7XG4gICAgaWYgKGlzQ29udGludWFibGVEYXRhQ29udGV4dCh0aGlzLmRhdGFDb250ZXh0KSkge1xuICAgICAgaWYgKCF0aGlzLmRhdGFDb250ZXh0LnNuYXBzaG90LmlzTG9hZGluZykge1xuICAgICAgICB0aGlzLmRhdGFDb250ZXh0LmxvYWRNb3JlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldElkQXNTdHJpbmcodmFsdWU6IFQpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmcodGhpcy5nZXRJZCh2YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldElkKHZhbHVlOiBUKTogVElkIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dD8uZGF0YVNvdXJjZT8uZ2V0SWQodmFsdWUpIHx8IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGlzT3B0aW9uQXZhaWxhYmxlKG9wdGlvbjogVCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmlzT3B0aW9uRGlzYWJsZWRGbikge1xuICAgICAgcmV0dXJuICF0aGlzLmlzT3B0aW9uRGlzYWJsZWRGbihvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNPcHRpb25WaXNpYmxlKG9wdGlvbjogVCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmlzT3B0aW9uSGlkZGVuRm4pIHtcbiAgICAgIHJldHVybiAhdGhpcy5pc09wdGlvbkhpZGRlbkZuKG9wdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0b09wdGlvblZhbHVlKG9wdGlvbjogVCk6IGFueSB7XG4gICAgaWYgKHRoaXMub3B0aW9uVmFsdWVDb252ZXJ0ZXJGbikge1xuICAgICAgcmV0dXJuIHRoaXMub3B0aW9uVmFsdWVDb252ZXJ0ZXJGbihvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBUT0RPIER1cGxpY2F0ZSBpbiBlbGRlci1zZWxlY3RcbiAgICovXG4gIHByaXZhdGUgcHJvcGVydHlTdHJpbmdWYWx1ZSh2YWx1ZTogVCwgcHJvcGVydHk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAocHJvcGVydHkpIHtcbiAgICAgIHJldHVybiAoPGFueT52YWx1ZSlbcHJvcGVydHldO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICB9XG59XG4iLCI8bWF0LWF1dG9jb21wbGV0ZVxuICAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gIFthdXRvQWN0aXZlRmlyc3RPcHRpb25dPVwidHJ1ZVwiXG4gIChvcGVuZWQpPVwib25BdXRvY29tcGxldGVPcGVuZWQoJGV2ZW50KVwiXG4gIChvcHRpb25TZWxlY3RlZCk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudClcIlxuICBlbGRlckluZmluaXRlU2Nyb2xsIGVsZGVyRWxkZXJJbmZpbml0ZUF1dG9jb21wbGV0ZSAoY2xvc2VUb0VuZCk9XCJvbkF1dG9Db21wbGV0ZUNsb3NlVG9FbmQoJGV2ZW50KVwiXG4+XG4gIDwhLS1cbiAgPG1hdC1vcHRpb24gKm5nSWY9XCJhbGxvd051bGxcIiBbdmFsdWVdPVwibnVsbFwiPnt7bnVsbERpc3BsYXkgfCB0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cbiAgLS0+XG5cbiAgPG1hdC1vcHRpb24gZGlzYWJsZWQgICpuZ0lmPVwiIShkYXRhQ29udGV4dCQgfCBhc3luYylcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+Tm8gRGF0YVNvdXJjZSAvIERhdGFDb250ZXh0ITwvc3Bhbj5cbiAgPC9tYXQtb3B0aW9uPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhQ29udGV4dCQgfCBhc3luYyBhcyBkY1wiPlxuXG4gICAgPG1hdC1vcHRpb24gZGlzYWJsZWQgICpuZ0lmPVwiZGMuaXNDbG9zZWRcIj5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCI4cHhcIj5cbiAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwid2FyblwiPndhcm5pbmc8L21hdC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uXCI+RGF0YUNvbnRleHQgQ2xvc2VkITwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdmFpbGFibGVTdWdnZXN0aW9ucyQgfCBhc3luYyBhcyBzdWdnZXN0aW9uc1wiPlxuXG4gICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cInN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMFwiIGRpc2FibGVkPlxuICAgICAgICBObyBEYXRhLlxuICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIHN1Z2dlc3Rpb25zXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJpc09wdGlvblZpc2libGUoc3VnZ2VzdGlvbilcIlxuICAgICAgICAgIFt2YWx1ZV09XCJ0b09wdGlvblZhbHVlKHN1Z2dlc3Rpb24pXCJcbiAgICAgICAgICBbaWRdPVwiZ2V0SWRBc1N0cmluZyhzdWdnZXN0aW9uKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc09wdGlvbkF2YWlsYWJsZShzdWdnZXN0aW9uKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlVGVtcGxhdGUgfHwgc2ltcGxlVmFsdWVUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogc3VnZ2VzdGlvbn1cIj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8IS0tXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtY2FwdGlvblwiPnZhbHVlOiB7e3RvT3B0aW9uVmFsdWUoc3VnZ2VzdGlvbil9fTwvc3Bhbj5cbiAgICAgICAgICAtLT5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhU3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cblxuICAgIDxtYXQtb3B0aW9uIGRpc2FibGVkICpuZ0lmPVwiIXN0YXRlLmlkbGUgfHwgc3RhdGUubG9hZGluZ1wiPlxuICAgICAgPG1hdC1wcm9ncmVzcy1iYXJcbiAgICAgICAgW3ZhbHVlXT1cIjEwMFwiXG4gICAgICAgIFttb2RlXT1cInN0YXRlLmxvYWRpbmcgPyAncXVlcnknIDogJ2RldGVybWluYXRlJ1wiXG4gICAgICAgIFtjb2xvcl09XCJzdGF0ZS5lcnJvciA/ICd3YXJuJyA6ICdwcmltYXJ5J1wiXG4gICAgICA+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvbWF0LW9wdGlvbj5cblxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWF1dG9jb21wbGV0ZT5cblxuPG5nLXRlbXBsYXRlICNzaW1wbGVWYWx1ZVRlbXBsYXRlIGxldC12YWx1ZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCB8IGFzeW5jIGFzIHByb3BlcnR5UmVzb2x2ZXJcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm5vc2VsZWN0XCI+e3twcm9wZXJ0eVJlc29sdmVyKHZhbHVlKX19PC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,197 +0,0 @@
1
- import { Directive, HostListener, Input } from '@angular/core';
2
- import { LoggerFactory } from '@elderbyte/ts-logger';
3
- import { merge, Subject } from 'rxjs';
4
- import { debounceTime, filter, map, skipWhile, takeUntil } from 'rxjs/operators';
5
- import { Filter } from '../../../common/data/filters/filter';
6
- import { WordPositionFinder } from './many/word-position-finder';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/material/autocomplete";
9
- export class ElderAutocompleteManyDirective {
10
- /***************************************************************************
11
- * *
12
- * Constructor *
13
- * *
14
- **************************************************************************/
15
- constructor(autoCompleteTrigger, inputRef) {
16
- this.autoCompleteTrigger = autoCompleteTrigger;
17
- this.inputRef = inputRef;
18
- /***************************************************************************
19
- * *
20
- * Fields *
21
- * *
22
- **************************************************************************/
23
- this.queryFilter = 'query';
24
- this.filters = [];
25
- this.sorts = [];
26
- this.textPropertyResolverFn = (option) => {
27
- if (!option) {
28
- return option;
29
- }
30
- else if (typeof option === 'string') {
31
- return option;
32
- }
33
- else if (this.textProperty) {
34
- return option[this.textProperty];
35
- }
36
- else {
37
- return undefined;
38
- }
39
- };
40
- this.inputKeyup$ = new Subject();
41
- this.ignoreKeys = ['ArrowRight', 'ArrowUp', 'ArrowDown', 'ArrowLeft'];
42
- this.log = LoggerFactory.getLogger(this.constructor.name);
43
- this.destroy$ = new Subject();
44
- this.destroyAutocompleteBinding$ = new Subject();
45
- this.wordFinder = new WordPositionFinder();
46
- }
47
- /***************************************************************************
48
- * *
49
- * Properties *
50
- * *
51
- **************************************************************************/
52
- set autocomplete(auto) {
53
- this._elderAutocomplete = auto;
54
- this.destroyAutocompleteBinding$.next();
55
- if (auto) {
56
- auto.matAutocomplete$
57
- .pipe(takeUntil(this.destroyAutocompleteBinding$), filter(matAuto => !!matAuto))
58
- .subscribe(matAuto => this.autoCompleteTrigger.autocomplete = matAuto);
59
- auto.optionSelected.pipe(takeUntil(this.destroyAutocompleteBinding$)).subscribe(event => this.onOptionSelected(event));
60
- }
61
- }
62
- get autocomplete() {
63
- return this._elderAutocomplete;
64
- }
65
- get cursorPosition() {
66
- if (this.inputRef?.nativeElement) {
67
- return this.inputRef.nativeElement.selectionStart;
68
- }
69
- return null;
70
- }
71
- set cursorPosition(position) {
72
- if (this.inputRef?.nativeElement) {
73
- this.inputRef.nativeElement.selectionStart = position;
74
- this.inputRef.nativeElement.selectionEnd = position;
75
- }
76
- }
77
- get dataContext() {
78
- return this._elderAutocomplete.dataContext;
79
- }
80
- /***************************************************************************
81
- * *
82
- * Host Listener *
83
- * *
84
- **************************************************************************/
85
- onKeyUp(event) {
86
- if (this.ignoreKeys.some(k => k === event.key)) {
87
- return;
88
- }
89
- this.inputKeyup$.next(event);
90
- }
91
- /***************************************************************************
92
- * *
93
- * Life Cycle *
94
- * *
95
- **************************************************************************/
96
- ngOnInit() {
97
- this._elderAutocomplete.displayPropertyResolver = this.textPropertyResolverFn;
98
- this._elderAutocomplete.optionValueConverterFn = (option) => {
99
- const suggestion = this.resolveSuggestionText(option);
100
- return this.insertSuggestion(suggestion);
101
- };
102
- merge(this.inputKeyup$.pipe(skipWhile(e => !this._elderAutocomplete.enabled), debounceTime(150), map(e => e?.target?.value), map(value => this.extractWordAtCursor(value))), this.autocomplete.triggerReload$).pipe(takeUntil(this.destroy$), filter(value => !value || typeof (value) === 'string' || typeof (value) === 'number')).subscribe(value => this.updateSuggestions(value));
103
- }
104
- ngOnDestroy() {
105
- this.destroy$.next();
106
- this.destroy$.complete();
107
- this.destroyAutocompleteBinding$.next();
108
- this.destroyAutocompleteBinding$.complete();
109
- }
110
- /***************************************************************************
111
- * *
112
- * Private methods *
113
- * *
114
- **************************************************************************/
115
- extractWordAtCursor(value) {
116
- if (this.cursorPosition) {
117
- const cursor = this.cursorPosition;
118
- return this.extractWordFrom(value, cursor);
119
- }
120
- else {
121
- return null;
122
- }
123
- }
124
- rememberCursorPosition() {
125
- this.cursorBeforeAutocomplete = this.cursorPosition;
126
- }
127
- extractWordFrom(text, position) {
128
- const word = this.wordFinder.findWord(text, position);
129
- return word.value;
130
- }
131
- updateSuggestions(value) {
132
- const filters = [...this.filters, new Filter(this.queryFilter, value)];
133
- const sorts = this.sorts;
134
- if (this.dataContext) {
135
- try {
136
- this.rememberCursorPosition();
137
- this.dataContext.start(sorts, filters);
138
- }
139
- catch (err) {
140
- this.log.error('Failed to start DataContext!', err);
141
- }
142
- }
143
- }
144
- insertSuggestion(suggestion) {
145
- const currentValue = this.currentInputValue();
146
- if (!suggestion) {
147
- return currentValue;
148
- }
149
- if (this.cursorPosition !== undefined) {
150
- const cursor = this.cursorPosition;
151
- const replacement = this.wordFinder.replaceWord(currentValue, cursor, suggestion);
152
- return replacement.newText;
153
- }
154
- else {
155
- this.log.warn('Insert not possible as no cursor-position was available!');
156
- return currentValue;
157
- }
158
- }
159
- currentInputValue() {
160
- const input = this.inputRef?.nativeElement;
161
- return input?.value ?? '';
162
- }
163
- resolveSuggestionText(option) {
164
- return this.textPropertyResolverFn(option);
165
- }
166
- onOptionSelected(event) {
167
- const wordAtCursor = this.wordFinder.findWord(this.currentInputValue(), this.cursorBeforeAutocomplete);
168
- const autocompletedPhrase = this.resolveSuggestionText(event.entity);
169
- // The wordAtCursor might not be the full autocompleted phrase (if there are multiple words)
170
- this.cursorPosition = wordAtCursor.start + autocompletedPhrase.length;
171
- }
172
- }
173
- ElderAutocompleteManyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderAutocompleteManyDirective, deps: [{ token: i1.MatAutocompleteTrigger }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
174
- ElderAutocompleteManyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ElderAutocompleteManyDirective, selector: "[elderAutocompleteMany]", inputs: { queryFilter: "queryFilter", filters: "filters", sorts: "sorts", textProperty: "textProperty", textPropertyResolverFn: "textPropertyResolverFn", autocomplete: ["elderAutocompleteMany", "autocomplete"] }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 });
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderAutocompleteManyDirective, decorators: [{
176
- type: Directive,
177
- args: [{
178
- selector: '[elderAutocompleteMany]'
179
- }]
180
- }], ctorParameters: function () { return [{ type: i1.MatAutocompleteTrigger }, { type: i0.ElementRef }]; }, propDecorators: { queryFilter: [{
181
- type: Input
182
- }], filters: [{
183
- type: Input
184
- }], sorts: [{
185
- type: Input
186
- }], textProperty: [{
187
- type: Input
188
- }], textPropertyResolverFn: [{
189
- type: Input
190
- }], autocomplete: [{
191
- type: Input,
192
- args: ['elderAutocompleteMany']
193
- }], onKeyUp: [{
194
- type: HostListener,
195
- args: ['keyup', ['$event']]
196
- }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLW1hbnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBUSxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBSTNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7QUFNL0QsTUFBTSxPQUFPLDhCQUE4QjtJQStDekM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLG1CQUEyQyxFQUMzQyxRQUFzQztRQUR0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLGFBQVEsR0FBUixRQUFRLENBQThCO1FBdER6RDs7OztvRkFJNEU7UUFHckUsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFHdEIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUd2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBVW5CLDJCQUFzQixHQUFtQixDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsT0FBTyxNQUFNLENBQUM7YUFDZjtpQkFBTSxJQUFJLE9B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QkFBOEI7Z0hBQTlCLDhCQUE4Qjs0RkFBOUIsOEJBQThCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7aUJBQ3BDO3NJQVNRLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFRQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLHNCQUFzQjtzQkFENUIsS0FBSztnQkE0Q0ssWUFBWTtzQkFEdEIsS0FBSzt1QkFBQyx1QkFBdUI7Z0JBK0N2QixPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtFTVBUWSwgbWVyZ2UsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBza2lwV2hpbGUsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZVRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9zb3J0JztcbmltcG9ydCB7SURhdGFDb250ZXh0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0JztcbmltcG9ydCB7VGV4dFJlc29sdmVyRm59IGZyb20gJy4uLy4uL3NlbGVjdC9lbGRlci1zZWxlY3QtYmFzZSc7XG5pbXBvcnQge1dvcmRQb3NpdGlvbkZpbmRlcn0gZnJvbSAnLi9tYW55L3dvcmQtcG9zaXRpb24tZmluZGVyJztcbmltcG9ydCB7RWxkZXJBdXRvY29tcGxldGVPcHRpb25TZWxlY3RlZH0gZnJvbSAnLi9lbGRlci1hdXRvY29tcGxldGUvZWxkZXItYXV0b2NvbXBsZXRlLW9wdGlvbi1zZWxlY3RlZCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlckF1dG9jb21wbGV0ZU1hbnldJ1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlckF1dG9jb21wbGV0ZU1hbnlEaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeUZpbHRlciA9ICdxdWVyeSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlcnM6IEZpbHRlcltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNvcnRzOiBTb3J0W10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIHByb3BlcnR5IG9uIGEgc3VnZ2VzdGlvbiBvYmplY3Qgd2hpY2ggaXMgdXNlZFxuICAgKiBhcyB0aGUgZGlzcGxheSBhbmQgaW5zZXJ0IHZhbHVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRleHRQcm9wZXJ0eTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0ZXh0UHJvcGVydHlSZXNvbHZlckZuOiBUZXh0UmVzb2x2ZXJGbiA9IChvcHRpb246IGFueSkgPT4ge1xuICAgIGlmICghb3B0aW9uKSB7XG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBvcHRpb24gYXMgc3RyaW5nO1xuICAgIH0gZWxzZSBpZiAodGhpcy50ZXh0UHJvcGVydHkpIHtcbiAgICAgIHJldHVybiBvcHRpb25bdGhpcy50ZXh0UHJvcGVydHldIGFzIHN0cmluZztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IGlucHV0S2V5dXAkID0gbmV3IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlnbm9yZUtleXMgPSBbJ0Fycm93UmlnaHQnLCAnQXJyb3dVcCcsICdBcnJvd0Rvd24nLCAnQXJyb3dMZWZ0J107XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgcHJpdmF0ZSByZWFkb25seSB3b3JkRmluZGVyOiBXb3JkUG9zaXRpb25GaW5kZXI7XG5cbiAgcHJpdmF0ZSBfZWxkZXJBdXRvY29tcGxldGU6IEVsZGVyQXV0b2NvbXBsZXRlQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lBdXRvY29tcGxldGVCaW5kaW5nJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRvQ29tcGxldGVUcmlnZ2VyOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cbiAgKSB7XG4gICAgdGhpcy53b3JkRmluZGVyID0gbmV3IFdvcmRQb3NpdGlvbkZpbmRlcigpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KCdlbGRlckF1dG9jb21wbGV0ZU1hbnknKVxuICBwdWJsaWMgc2V0IGF1dG9jb21wbGV0ZShhdXRvOiBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlID0gYXV0bztcbiAgICB0aGlzLmRlc3Ryb3lBdXRvY29tcGxldGVCaW5kaW5nJC5uZXh0KCk7XG4gICAgaWYgKGF1dG8pIHtcbiAgICAgIGF1dG8ubWF0QXV0b2NvbXBsZXRlJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95QXV0b2NvbXBsZXRlQmluZGluZyQpLFxuICAgICAgICAgIGZpbHRlcihtYXRBdXRvID0+ICEhbWF0QXV0bylcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKG1hdEF1dG8gPT4gdGhpcy5hdXRvQ29tcGxldGVUcmlnZ2VyLmF1dG9jb21wbGV0ZSA9IG1hdEF1dG8pO1xuXG4gICAgICBhdXRvLm9wdGlvblNlbGVjdGVkLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3lBdXRvY29tcGxldGVCaW5kaW5nJClcbiAgICAgICkuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMub25PcHRpb25TZWxlY3RlZChldmVudCkpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBhdXRvY29tcGxldGUoKTogRWxkZXJBdXRvY29tcGxldGVDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGN1cnNvclBvc2l0aW9uKCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICh0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0IGN1cnNvclBvc2l0aW9uKHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID0gcG9zaXRpb247XG4gICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kID0gcG9zaXRpb247XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZGF0YUNvbnRleHQoKTogSURhdGFDb250ZXh0PGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZS5kYXRhQ29udGV4dDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBIb3N0IExpc3RlbmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXVwJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pZ25vcmVLZXlzLnNvbWUoayA9PiBrID09PSBldmVudC5rZXkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW5wdXRLZXl1cCQubmV4dChldmVudCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZWxkZXJBdXRvY29tcGxldGUuZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIgPSB0aGlzLnRleHRQcm9wZXJ0eVJlc29sdmVyRm47XG4gICAgdGhpcy5fZWxkZXJBdXRvY29tcGxldGUub3B0aW9uVmFsdWVDb252ZXJ0ZXJGbiA9IChvcHRpb246IFQpID0+IHtcbiAgICAgIGNvbnN0IHN1Z2dlc3Rpb24gPSB0aGlzLnJlc29sdmVTdWdnZXN0aW9uVGV4dChvcHRpb24pO1xuICAgICAgcmV0dXJuIHRoaXMuaW5zZXJ0U3VnZ2VzdGlvbihzdWdnZXN0aW9uKTtcbiAgICB9O1xuXG4gICAgbWVyZ2UoXG4gICAgICB0aGlzLmlucHV0S2V5dXAkLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShlID0+ICF0aGlzLl9lbGRlckF1dG9jb21wbGV0ZS5lbmFibGVkKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDE1MCksXG4gICAgICAgIG1hcChlID0+IChlPy50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlKSxcbiAgICAgICAgbWFwKHZhbHVlID0+IHRoaXMuZXh0cmFjdFdvcmRBdEN1cnNvcih2YWx1ZSkpXG4gICAgICApLFxuICAgICAgdGhpcy5hdXRvY29tcGxldGUudHJpZ2dlclJlbG9hZCRcbiAgICApLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBmaWx0ZXIodmFsdWUgPT4gIXZhbHVlIHx8IHR5cGVvZiAodmFsdWUpID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgKHZhbHVlKSA9PT0gJ251bWJlcicpXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiB0aGlzLnVwZGF0ZVN1Z2dlc3Rpb25zKHZhbHVlKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZGVzdHJveUF1dG9jb21wbGV0ZUJpbmRpbmckLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3lBdXRvY29tcGxldGVCaW5kaW5nJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICBwcml2YXRlIGV4dHJhY3RXb3JkQXRDdXJzb3IodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24pIHtcbiAgICAgIGNvbnN0IGN1cnNvciA9IHRoaXMuY3Vyc29yUG9zaXRpb247XG4gICAgICByZXR1cm4gdGhpcy5leHRyYWN0V29yZEZyb20odmFsdWUsIGN1cnNvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3Vyc29yQmVmb3JlQXV0b2NvbXBsZXRlOiBudW1iZXI7XG4gIHByaXZhdGUgcmVtZW1iZXJDdXJzb3JQb3NpdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnNvckJlZm9yZUF1dG9jb21wbGV0ZSA9IHRoaXMuY3Vyc29yUG9zaXRpb247XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RXb3JkRnJvbSh0ZXh0OiBzdHJpbmcsIHBvc2l0aW9uOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHdvcmQgPSB0aGlzLndvcmRGaW5kZXIuZmluZFdvcmQodGV4dCwgcG9zaXRpb24pO1xuICAgIHJldHVybiB3b3JkLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTdWdnZXN0aW9ucyh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBbLi4udGhpcy5maWx0ZXJzLCBuZXcgRmlsdGVyKHRoaXMucXVlcnlGaWx0ZXIsIDxhbnk+dmFsdWUpXTtcbiAgICBjb25zdCBzb3J0cyA9IHRoaXMuc29ydHM7XG4gICAgaWYgKHRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMucmVtZW1iZXJDdXJzb3JQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLmRhdGFDb250ZXh0LnN0YXJ0KHNvcnRzLCBmaWx0ZXJzKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB0aGlzLmxvZy5lcnJvcignRmFpbGVkIHRvIHN0YXJ0IERhdGFDb250ZXh0IScsIGVycik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbnNlcnRTdWdnZXN0aW9uKHN1Z2dlc3Rpb246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5jdXJyZW50SW5wdXRWYWx1ZSgpO1xuICAgIGlmKCFzdWdnZXN0aW9uKXtcbiAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7XG4gICAgfVxuICAgIGlmICh0aGlzLmN1cnNvclBvc2l0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGN1cnNvciA9IHRoaXMuY3Vyc29yUG9zaXRpb247XG4gICAgICBjb25zdCByZXBsYWNlbWVudCA9IHRoaXMud29yZEZpbmRlci5yZXBsYWNlV29yZChjdXJyZW50VmFsdWUsIGN1cnNvciwgc3VnZ2VzdGlvbik7XG4gICAgICByZXR1cm4gcmVwbGFjZW1lbnQubmV3VGV4dDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cud2FybignSW5zZXJ0IG5vdCBwb3NzaWJsZSBhcyBubyBjdXJzb3ItcG9zaXRpb24gd2FzIGF2YWlsYWJsZSEnKTtcbiAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50SW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICByZXR1cm4gaW5wdXQ/LnZhbHVlID8/ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlU3VnZ2VzdGlvblRleHQob3B0aW9uOiBUKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50ZXh0UHJvcGVydHlSZXNvbHZlckZuKG9wdGlvbik7XG4gIH1cblxuICBwcml2YXRlIG9uT3B0aW9uU2VsZWN0ZWQoXG4gICAgZXZlbnQ6IEVsZGVyQXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWRcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgd29yZEF0Q3Vyc29yID0gdGhpcy53b3JkRmluZGVyLmZpbmRXb3JkKHRoaXMuY3VycmVudElucHV0VmFsdWUoKSwgdGhpcy5jdXJzb3JCZWZvcmVBdXRvY29tcGxldGUpO1xuICAgIGNvbnN0IGF1dG9jb21wbGV0ZWRQaHJhc2UgPSB0aGlzLnJlc29sdmVTdWdnZXN0aW9uVGV4dChldmVudC5lbnRpdHkpO1xuICAgIC8vIFRoZSB3b3JkQXRDdXJzb3IgbWlnaHQgbm90IGJlIHRoZSBmdWxsIGF1dG9jb21wbGV0ZWQgcGhyYXNlIChpZiB0aGVyZSBhcmUgbXVsdGlwbGUgd29yZHMpXG4gICAgdGhpcy5jdXJzb3JQb3NpdGlvbiA9IHdvcmRBdEN1cnNvci5zdGFydCArIGF1dG9jb21wbGV0ZWRQaHJhc2UubGVuZ3RoO1xuICB9XG59XG4iXX0=
@@ -1,114 +0,0 @@
1
- import { Directive, HostListener, Input } from '@angular/core';
2
- import { LoggerFactory } from '@elderbyte/ts-logger';
3
- import { merge, Subject } from 'rxjs';
4
- import { debounceTime, filter, map, skipWhile, takeUntil } from 'rxjs/operators';
5
- import { Filter } from '../../../common/data/filters/filter';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/material/autocomplete";
8
- export class ElderAutocompleteDirective {
9
- /***************************************************************************
10
- * *
11
- * Constructor *
12
- * *
13
- **************************************************************************/
14
- constructor(autoCompleteTrigger) {
15
- this.autoCompleteTrigger = autoCompleteTrigger;
16
- /***************************************************************************
17
- * *
18
- * Fields *
19
- * *
20
- **************************************************************************/
21
- this.logger = LoggerFactory.getLogger(this.constructor.name);
22
- this.ignoreKeys = ['ArrowRight', 'ArrowUp', 'ArrowDown', 'ArrowLeft'];
23
- this.inputKeyup$ = new Subject();
24
- this.queryFilter = 'query';
25
- this.filters = [];
26
- this.sorts = [];
27
- this.destroyMatAutoBinding$ = new Subject();
28
- this.destroy$ = new Subject();
29
- }
30
- /***************************************************************************
31
- * *
32
- * Host Listener *
33
- * *
34
- **************************************************************************/
35
- onKeyUp(event) {
36
- if (this.ignoreKeys.some(k => k === event.key)) {
37
- return;
38
- }
39
- this.inputKeyup$.next(event);
40
- }
41
- /***************************************************************************
42
- * *
43
- * Life Cycle *
44
- * *
45
- **************************************************************************/
46
- ngOnInit() {
47
- merge(this.inputKeyup$.pipe(skipWhile(e => !this._elderAutocomplete.enabled), debounceTime(150), map(e => e?.target?.value)), this.autocomplete.triggerReload$).pipe(takeUntil(this.destroy$), filter(value => !value || typeof (value) === 'string' || typeof (value) === 'number')).subscribe(value => this.updateSuggestions(value));
48
- }
49
- ngOnDestroy() {
50
- this.destroy$.next();
51
- this.destroy$.complete();
52
- this.destroyMatAutoBinding$.next();
53
- this.destroyMatAutoBinding$.complete();
54
- }
55
- /***************************************************************************
56
- * *
57
- * Properties *
58
- * *
59
- **************************************************************************/
60
- set autocomplete(auto) {
61
- this._elderAutocomplete = auto;
62
- this.destroyMatAutoBinding$.next();
63
- if (auto) {
64
- auto.matAutocomplete$
65
- .pipe(takeUntil(this.destroyMatAutoBinding$), filter(matAuto => !!matAuto))
66
- .subscribe(matAuto => this.autoCompleteTrigger.autocomplete = matAuto);
67
- }
68
- }
69
- get autocomplete() {
70
- return this._elderAutocomplete;
71
- }
72
- get dataContext() {
73
- return this._elderAutocomplete.dataContext;
74
- }
75
- /***************************************************************************
76
- * *
77
- * Private methods *
78
- * *
79
- **************************************************************************/
80
- updateSuggestions(value) {
81
- const filters = [...this.filters, new Filter(this.queryFilter, value)];
82
- const sorts = this.sorts;
83
- if (this.dataContext) {
84
- try {
85
- this.dataContext.start(sorts, filters);
86
- }
87
- catch (err) {
88
- this.logger.error('Failed to start DC!', err);
89
- // this.updateState(ElderSelectComponentState.error(err));
90
- }
91
- }
92
- }
93
- }
94
- ElderAutocompleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderAutocompleteDirective, deps: [{ token: i1.MatAutocompleteTrigger }], target: i0.ɵɵFactoryTarget.Directive });
95
- ElderAutocompleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ElderAutocompleteDirective, selector: "[elderAutocomplete]", inputs: { queryFilter: "queryFilter", filters: "filters", sorts: "sorts", autocomplete: ["elderAutocomplete", "autocomplete"] }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 });
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderAutocompleteDirective, decorators: [{
97
- type: Directive,
98
- args: [{
99
- selector: '[elderAutocomplete]'
100
- }]
101
- }], ctorParameters: function () { return [{ type: i1.MatAutocompleteTrigger }]; }, propDecorators: { queryFilter: [{
102
- type: Input
103
- }], filters: [{
104
- type: Input
105
- }], sorts: [{
106
- type: Input
107
- }], onKeyUp: [{
108
- type: HostListener,
109
- args: ['keyup', ['$event']]
110
- }], autocomplete: [{
111
- type: Input,
112
- args: ['elderAutocomplete']
113
- }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7QUFPM0QsTUFBTSxPQUFPLDBCQUEwQjtJQTJCckM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLG1CQUEyQztRQUEzQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBaEM5RDs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RCxlQUFVLEdBQUcsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsRSxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBR3BELGdCQUFXLEdBQUcsT0FBTyxDQUFDO1FBR3RCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFHdkIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUlULDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDN0MsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFXaEQsQ0FBQztJQUlEOzs7O2dGQUk0RTtJQUdyRSxPQUFPLENBQUMsS0FBb0I7UUFDakMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsS0FBSyxDQUNILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNuQixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFDaEQsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLEVBQUUsTUFBMkIsRUFBRSxLQUFLLENBQUMsQ0FDakQsRUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FDakMsQ0FBQyxJQUFJLENBQ0osU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDeEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQ3RGLENBQUMsU0FBUyxDQUNULEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUN2QyxDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUNXLFlBQVksQ0FBQyxJQUFnQztRQUN0RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxnQkFBZ0I7aUJBQ2xCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDN0I7aUJBQ0EsU0FBUyxDQUNSLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksR0FBRyxPQUFPLENBQzNELENBQUM7U0FDTDtJQUNILENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxpQkFBaUIsQ0FBQyxLQUF5QztRQUNqRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFPLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDNUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSTtnQkFDRixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDeEM7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDOUMsMERBQTBEO2FBQzNEO1NBQ0Y7SUFDSCxDQUFDOzt3SEFsSVUsMEJBQTBCOzRHQUExQiwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQzs2R0FlUSxXQUFXO3NCQURqQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBNEJDLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBNEN0QixZQUFZO3NCQUR0QixLQUFLO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlVHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7RWxkZXJBdXRvY29tcGxldGVDb21wb25lbnR9IGZyb20gJy4vZWxkZXItYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHttZXJnZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHNraXBXaGlsZSwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtJRGF0YUNvbnRleHR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9zb3J0JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyQXV0b2NvbXBsZXRlXSdcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJBdXRvY29tcGxldGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaWdub3JlS2V5cyA9IFsnQXJyb3dSaWdodCcsICdBcnJvd1VwJywgJ0Fycm93RG93bicsICdBcnJvd0xlZnQnXTtcbiAgcHVibGljIHJlYWRvbmx5IGlucHV0S2V5dXAkID0gbmV3IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlGaWx0ZXIgPSAncXVlcnknO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJzOiBGaWx0ZXJbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzb3J0czogU29ydFtdID0gW107XG5cbiAgcHJpdmF0ZSBfZWxkZXJBdXRvY29tcGxldGU6IEVsZGVyQXV0b2NvbXBsZXRlQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveU1hdEF1dG9CaW5kaW5nJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0b0NvbXBsZXRlVHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlclxuICApIHtcbiAgfVxuXG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogSG9zdCBMaXN0ZW5lciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaWdub3JlS2V5cy5zb21lKGsgPT4gayA9PT0gZXZlbnQua2V5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlucHV0S2V5dXAkLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIG1lcmdlKFxuICAgICAgdGhpcy5pbnB1dEtleXVwJC5waXBlKFxuICAgICAgICBza2lwV2hpbGUoZSA9PiAhdGhpcy5fZWxkZXJBdXRvY29tcGxldGUuZW5hYmxlZCksXG4gICAgICAgIGRlYm91bmNlVGltZSgxNTApLFxuICAgICAgICBtYXAoZSA9PiAoZT8udGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZSksXG4gICAgICApLFxuICAgICAgdGhpcy5hdXRvY29tcGxldGUudHJpZ2dlclJlbG9hZCRcbiAgICApLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBmaWx0ZXIodmFsdWUgPT4gIXZhbHVlIHx8IHR5cGVvZiAodmFsdWUpID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgKHZhbHVlKSA9PT0gJ251bWJlcicpXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiB0aGlzLnVwZGF0ZVN1Z2dlc3Rpb25zKHZhbHVlKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZGVzdHJveU1hdEF1dG9CaW5kaW5nJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95TWF0QXV0b0JpbmRpbmckLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoJ2VsZGVyQXV0b2NvbXBsZXRlJylcbiAgcHVibGljIHNldCBhdXRvY29tcGxldGUoYXV0bzogRWxkZXJBdXRvY29tcGxldGVDb21wb25lbnQpIHtcbiAgICB0aGlzLl9lbGRlckF1dG9jb21wbGV0ZSA9IGF1dG87XG4gICAgdGhpcy5kZXN0cm95TWF0QXV0b0JpbmRpbmckLm5leHQoKTtcbiAgICBpZiAoYXV0bykge1xuICAgICAgYXV0by5tYXRBdXRvY29tcGxldGUkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3lNYXRBdXRvQmluZGluZyQpLFxuICAgICAgICAgIGZpbHRlcihtYXRBdXRvID0+ICEhbWF0QXV0bylcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIG1hdEF1dG8gPT4gdGhpcy5hdXRvQ29tcGxldGVUcmlnZ2VyLmF1dG9jb21wbGV0ZSA9IG1hdEF1dG9cbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZSgpOiBFbGRlckF1dG9jb21wbGV0ZUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhQ29udGV4dCgpOiBJRGF0YUNvbnRleHQ8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZGVyQXV0b2NvbXBsZXRlLmRhdGFDb250ZXh0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSB1cGRhdGVTdWdnZXN0aW9ucyh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBbLi4udGhpcy5maWx0ZXJzLCBuZXcgRmlsdGVyKHRoaXMucXVlcnlGaWx0ZXIsIDxhbnk+dmFsdWUpXTtcbiAgICBjb25zdCBzb3J0cyA9IHRoaXMuc29ydHM7XG4gICAgaWYgKHRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuZGF0YUNvbnRleHQuc3RhcnQoc29ydHMsIGZpbHRlcnMpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gc3RhcnQgREMhJywgZXJyKTtcbiAgICAgICAgLy8gdGhpcy51cGRhdGVTdGF0ZShFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmVycm9yKGVycikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19