@elderbyte/ngx-starter 14.12.0-beta6 → 14.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1360) hide show
  1. package/esm2020/elderbyte-ngx-starter.mjs +5 -0
  2. package/esm2020/lib/common/async/public_api.mjs +2 -0
  3. package/esm2020/lib/common/async/refreshing-entity.mjs +86 -0
  4. package/esm2020/lib/common/csv/csv-serializer.mjs +55 -0
  5. package/esm2020/lib/common/csv/csv-spec.mjs +99 -0
  6. package/esm2020/lib/common/csv/public_api.mjs +3 -0
  7. package/esm2020/lib/common/data/continuable-listing.mjs +10 -0
  8. package/esm2020/lib/common/data/data-context/data-context-active-page.mjs +130 -0
  9. package/esm2020/lib/common/data/data-context/data-context-auto-starter.mjs +74 -0
  10. package/esm2020/lib/common/data/data-context/data-context-base.mjs +283 -0
  11. package/esm2020/lib/common/data/data-context/data-context-builder.mjs +246 -0
  12. package/esm2020/lib/common/data/data-context/data-context-continuable-base.mjs +69 -0
  13. package/esm2020/lib/common/data/data-context/data-context-continuable-paged.mjs +143 -0
  14. package/esm2020/lib/common/data/data-context/data-context-continuable-token.mjs +136 -0
  15. package/esm2020/lib/common/data/data-context/data-context-life-cycle-binding.mjs +30 -0
  16. package/esm2020/lib/common/data/data-context/data-context-simple.mjs +59 -0
  17. package/esm2020/lib/common/data/data-context/data-context-source-auto-reloader.mjs +12 -0
  18. package/esm2020/lib/common/data/data-context/data-context-status.mjs +46 -0
  19. package/esm2020/lib/common/data/data-context/data-context.mjs +30 -0
  20. package/esm2020/lib/common/data/data-context/mat-table-data-context-binding.mjs +139 -0
  21. package/esm2020/lib/common/data/data-context/public_api.mjs +14 -0
  22. package/esm2020/lib/common/data/datasource/data-source-adapter.mjs +55 -0
  23. package/esm2020/lib/common/data/datasource/data-source-processor.mjs +199 -0
  24. package/esm2020/lib/common/data/datasource/data-source.mjs +23 -0
  25. package/esm2020/lib/common/data/datasource/entity-id-util.mjs +11 -0
  26. package/esm2020/lib/common/data/datasource/fetcher/delegate-data-source.mjs +127 -0
  27. package/esm2020/lib/common/data/datasource/local/local-list-data-source.mjs +102 -0
  28. package/esm2020/lib/common/data/datasource/local/local-paged-data-source.mjs +73 -0
  29. package/esm2020/lib/common/data/datasource/public_api.mjs +8 -0
  30. package/esm2020/lib/common/data/datasource/rest/public_api.mjs +2 -0
  31. package/esm2020/lib/common/data/datasource/rest/rest-client.mjs +294 -0
  32. package/esm2020/lib/common/data/entity-set-patch.mjs +164 -0
  33. package/esm2020/lib/common/data/field-comparator.mjs +99 -0
  34. package/esm2020/lib/common/data/filters/filter-context.mjs +141 -0
  35. package/esm2020/lib/common/data/filters/filter.mjs +109 -0
  36. package/esm2020/lib/common/data/http-params-builder.mjs +110 -0
  37. package/esm2020/lib/common/data/page.mjs +58 -0
  38. package/esm2020/lib/common/data/public_api.mjs +12 -0
  39. package/esm2020/lib/common/data/required-filter-evaluator.mjs +70 -0
  40. package/esm2020/lib/common/data/sort-context.mjs +75 -0
  41. package/esm2020/lib/common/data/sort.mjs +11 -0
  42. package/esm2020/lib/common/data/token-chunk-request.mjs +8 -0
  43. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +81 -0
  44. package/esm2020/lib/common/enums/public_api.mjs +2 -0
  45. package/esm2020/lib/common/errors/exception-detail.mjs +2 -0
  46. package/esm2020/lib/common/errors/public_api.mjs +3 -0
  47. package/esm2020/lib/common/errors/standard-error-detail.mjs +2 -0
  48. package/esm2020/lib/common/format/bytes-format.mjs +22 -0
  49. package/esm2020/lib/common/format/bytes-per-second-format.mjs +41 -0
  50. package/esm2020/lib/common/format/public_api.mjs +3 -0
  51. package/esm2020/lib/common/forms/elder-entity-value-accessor.mjs +22 -0
  52. package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +178 -0
  53. package/esm2020/lib/common/forms/elder-from-field-base.mjs +94 -0
  54. package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +39 -0
  55. package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +47 -0
  56. package/esm2020/lib/common/forms/elder-multi-entity-value-accessor.mjs +22 -0
  57. package/esm2020/lib/common/forms/form-field-base.component.mjs +106 -0
  58. package/esm2020/lib/common/forms/multi-model-base.component.mjs +32 -0
  59. package/esm2020/lib/common/forms/public_api.mjs +12 -0
  60. package/esm2020/lib/common/forms/template-composite-control.mjs +133 -0
  61. package/esm2020/lib/common/forms/value-accessor-base.mjs +146 -0
  62. package/esm2020/lib/common/forms/view-providers.mjs +30 -0
  63. package/esm2020/lib/common/http/http-client-builder.service.mjs +14 -0
  64. package/esm2020/lib/common/http/http-client-pristine.mjs +21 -0
  65. package/esm2020/lib/common/http/public_api.mjs +5 -0
  66. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +95 -0
  67. package/esm2020/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +49 -0
  68. package/esm2020/lib/common/http/transfer/data-transfer-progress.mjs +17 -0
  69. package/esm2020/lib/common/http/transfer/data-transfer-state.mjs +82 -0
  70. package/esm2020/lib/common/http/transfer/data-transfer-status.mjs +24 -0
  71. package/esm2020/lib/common/http/transfer/http-data-transfer.mjs +180 -0
  72. package/esm2020/lib/common/http/transfer/public_api.mjs +7 -0
  73. package/esm2020/lib/common/http/upload/file-upload-client.mjs +42 -0
  74. package/esm2020/lib/common/i18n/entity/impl/i18n-base.mjs +6 -0
  75. package/esm2020/lib/common/i18n/entity/impl/i18n-text.mjs +16 -0
  76. package/esm2020/lib/common/i18n/entity/language-tag.mjs +12 -0
  77. package/esm2020/lib/common/i18n/entity/locale.mjs +12 -0
  78. package/esm2020/lib/common/i18n/entity/localisation-picker.mjs +30 -0
  79. package/esm2020/lib/common/i18n/entity/localized.mjs +2 -0
  80. package/esm2020/lib/common/i18n/entity/public_api.mjs +6 -0
  81. package/esm2020/lib/common/i18n/public_api.mjs +2 -0
  82. package/esm2020/lib/common/json-map.mjs +18 -0
  83. package/esm2020/lib/common/objects.mjs +41 -0
  84. package/esm2020/lib/common/public_api.mjs +19 -0
  85. package/esm2020/lib/common/reactive-map.mjs +69 -0
  86. package/esm2020/lib/common/selection/public_api.mjs +2 -0
  87. package/esm2020/lib/common/selection/selection-model.mjs +212 -0
  88. package/esm2020/lib/common/sets.mjs +44 -0
  89. package/esm2020/lib/common/suggestion-provider.mjs +12 -0
  90. package/esm2020/lib/common/templates/template-slot-manager.mjs +135 -0
  91. package/esm2020/lib/common/time/date-util.mjs +93 -0
  92. package/esm2020/lib/common/time/interval.mjs +419 -0
  93. package/esm2020/lib/common/time/period-duration.mjs +130 -0
  94. package/esm2020/lib/common/time/public_api.mjs +5 -0
  95. package/esm2020/lib/common/time/time-util.mjs +41 -0
  96. package/esm2020/lib/common/url/elder-router.service.mjs +54 -0
  97. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +119 -0
  98. package/esm2020/lib/common/url/public_api.mjs +4 -0
  99. package/esm2020/lib/common/url/url-query-params.mjs +133 -0
  100. package/esm2020/lib/common/utils/batcher.mjs +35 -0
  101. package/esm2020/lib/common/utils/collection-util.mjs +109 -0
  102. package/esm2020/lib/common/utils/filter-util.mjs +52 -0
  103. package/esm2020/lib/common/utils/next-number-util.mjs +88 -0
  104. package/esm2020/lib/common/utils/ng-zone-utils.mjs +16 -0
  105. package/esm2020/lib/common/utils/parse-util.mjs +16 -0
  106. package/esm2020/lib/common/utils/property-path-util.mjs +28 -0
  107. package/esm2020/lib/common/utils/public_api.mjs +12 -0
  108. package/esm2020/lib/common/utils/query-list-binding.mjs +67 -0
  109. package/esm2020/lib/common/utils/sort-util.mjs +30 -0
  110. package/esm2020/lib/common/utils/url-builder.mjs +275 -0
  111. package/esm2020/lib/common/utils/uuid-util.mjs +29 -0
  112. package/esm2020/lib/common/utils/value-wrapper.mjs +19 -0
  113. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +16 -0
  114. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +30 -0
  115. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +39 -0
  116. package/esm2020/lib/components/auditing/elder-audit.module.mjs +42 -0
  117. package/esm2020/lib/components/auditing/i-audited-entity.mjs +3 -0
  118. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +15 -0
  119. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +35 -0
  120. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +123 -0
  121. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +15 -0
  122. package/esm2020/lib/components/card-organizer/card-organizer-data.mjs +93 -0
  123. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +205 -0
  124. package/esm2020/lib/components/card-organizer/card-stack.mjs +176 -0
  125. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +49 -0
  126. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +17 -0
  127. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +156 -0
  128. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +65 -0
  129. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +56 -0
  130. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +63 -0
  131. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +46 -0
  132. package/esm2020/lib/components/connectivity/public_api.mjs +3 -0
  133. package/esm2020/lib/components/containers/elder-containers.module.mjs +25 -0
  134. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +24 -0
  135. package/esm2020/lib/components/containers/public_api.mjs +2 -0
  136. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +77 -0
  137. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.mjs +40 -0
  138. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +38 -0
  139. package/esm2020/lib/components/csv/elder-csv-stream-exporter.mjs +114 -0
  140. package/esm2020/lib/components/csv/elder-csv.module.mjs +37 -0
  141. package/esm2020/lib/components/currency/elder-currency.module.mjs +24 -0
  142. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +33 -0
  143. package/esm2020/lib/components/currency/model/currency-code.mjs +38 -0
  144. package/esm2020/lib/components/currency/model/currency-unit-registry.mjs +30 -0
  145. package/esm2020/lib/components/currency/model/currency-unit.mjs +10 -0
  146. package/esm2020/lib/components/currency/model/currency.mjs +15 -0
  147. package/esm2020/lib/components/currency/public_api.mjs +7 -0
  148. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +75 -0
  149. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +89 -0
  150. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +67 -0
  151. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +34 -0
  152. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +47 -0
  153. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +32 -0
  154. package/esm2020/lib/components/data-view/base/data-view-options-provider-binding.mjs +67 -0
  155. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +259 -0
  156. package/esm2020/lib/components/data-view/base/elder-data-view-options-provider.mjs +44 -0
  157. package/esm2020/lib/components/data-view/base/elder-data-view-options.mjs +45 -0
  158. package/esm2020/lib/components/data-view/base/elder-data-view.mjs +3 -0
  159. package/esm2020/lib/components/data-view/base/public_api.mjs +6 -0
  160. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +45 -0
  161. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +89 -0
  162. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +149 -0
  163. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +89 -0
  164. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +98 -0
  165. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +37 -0
  166. package/esm2020/lib/components/data-view/common/selection/master-selection-state.mjs +10 -0
  167. package/esm2020/lib/components/data-view/elder-data-view-interaction-mode.mjs +2 -0
  168. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +306 -0
  169. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +81 -0
  170. package/esm2020/lib/components/data-view/public_api.mjs +6 -0
  171. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +19 -0
  172. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +78 -0
  173. package/esm2020/lib/components/data-view/table/activation/elder-item-activator.mjs +2 -0
  174. package/esm2020/lib/components/data-view/table/activation/elder-table-activation-options.mjs +2 -0
  175. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +261 -0
  176. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +29 -0
  177. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +72 -0
  178. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +18 -0
  179. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +321 -0
  180. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +17 -0
  181. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +96 -0
  182. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +29 -0
  183. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +136 -0
  184. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +20 -0
  185. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +141 -0
  186. package/esm2020/lib/components/data-view/table/model/elder-column-layout.mjs +110 -0
  187. package/esm2020/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +81 -0
  188. package/esm2020/lib/components/data-view/table/model/elder-table-model-provider.mjs +40 -0
  189. package/esm2020/lib/components/data-view/table/model/elder-table-model-query-group.mjs +87 -0
  190. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +165 -0
  191. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +25 -0
  192. package/esm2020/lib/components/dialogs/elder-dialog-config.mjs +3 -0
  193. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +84 -0
  194. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +168 -0
  195. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +43 -0
  196. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +43 -0
  197. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +46 -0
  198. package/esm2020/lib/components/errors/elder-error.module.mjs +41 -0
  199. package/esm2020/lib/components/errors/error-util.mjs +94 -0
  200. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +66 -0
  201. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +55 -0
  202. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +27 -0
  203. package/esm2020/lib/components/files/blob-url.mjs +10 -0
  204. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +225 -0
  205. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +109 -0
  206. package/esm2020/lib/components/files/elder-file-select.directive.mjs +143 -0
  207. package/esm2020/lib/components/files/elder-file.module.mjs +67 -0
  208. package/esm2020/lib/components/files/file-select/file-select.component.mjs +55 -0
  209. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +74 -0
  210. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +51 -0
  211. package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +34 -0
  212. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +35 -0
  213. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +42 -0
  214. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +34 -0
  215. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +82 -0
  216. package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +34 -0
  217. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +34 -0
  218. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +159 -0
  219. package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +77 -0
  220. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +111 -0
  221. package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +39 -0
  222. package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +39 -0
  223. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +101 -0
  224. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +36 -0
  225. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +29 -0
  226. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +157 -0
  227. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +27 -0
  228. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +120 -0
  229. package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +57 -0
  230. package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +68 -0
  231. package/esm2020/lib/components/forms/elder-forms.module.mjs +22 -0
  232. package/esm2020/lib/components/forms/public_api.mjs +2 -0
  233. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +146 -0
  234. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +185 -0
  235. package/esm2020/lib/components/forms/search/elder-search.module.mjs +66 -0
  236. package/esm2020/lib/components/forms/search/model/search-input-state.mjs +78 -0
  237. package/esm2020/lib/components/forms/search/model/search-input.mjs +2 -0
  238. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +123 -0
  239. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +16 -0
  240. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +126 -0
  241. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +32 -0
  242. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +93 -0
  243. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +90 -0
  244. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +26 -0
  245. package/esm2020/lib/components/graph/elder-progress-bar/sub-bar.mjs +7 -0
  246. package/esm2020/lib/components/graph/public_api.mjs +2 -0
  247. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +28 -0
  248. package/esm2020/lib/components/headers/elder-header.module.mjs +43 -0
  249. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +68 -0
  250. package/esm2020/lib/components/http-support/public_api.mjs +2 -0
  251. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +119 -0
  252. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +135 -0
  253. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +28 -0
  254. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +30 -0
  255. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +151 -0
  256. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +28 -0
  257. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +56 -0
  258. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +39 -0
  259. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +30 -0
  260. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +74 -0
  261. package/esm2020/lib/components/i18n/language/elder-language-config.mjs +3 -0
  262. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +69 -0
  263. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +72 -0
  264. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +121 -0
  265. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +65 -0
  266. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +53 -0
  267. package/esm2020/lib/components/i18n/public_api.mjs +4 -0
  268. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +127 -0
  269. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +136 -0
  270. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +95 -0
  271. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +41 -0
  272. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +51 -0
  273. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +126 -0
  274. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +78 -0
  275. package/esm2020/lib/components/iframes/iframe.service.mjs +48 -0
  276. package/esm2020/lib/components/iframes/typed-event-message.mjs +42 -0
  277. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +61 -0
  278. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +157 -0
  279. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +40 -0
  280. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +9 -0
  281. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +186 -0
  282. package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +197 -0
  283. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +114 -0
  284. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +58 -0
  285. package/esm2020/lib/components/input/autocomplete/many/word-position-finder.mjs +58 -0
  286. package/esm2020/lib/components/input/public_api.mjs +2 -0
  287. package/esm2020/lib/components/labels/elder-labels.module.mjs +30 -0
  288. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +230 -0
  289. package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +229 -0
  290. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +64 -0
  291. package/esm2020/lib/components/measures/elder-measures.module.mjs +116 -0
  292. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +41 -0
  293. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +73 -0
  294. package/esm2020/lib/components/measures/elder-unit.service.mjs +115 -0
  295. package/esm2020/lib/components/measures/model/dimensions.mjs +17 -0
  296. package/esm2020/lib/components/measures/model/quantity.mjs +12 -0
  297. package/esm2020/lib/components/measures/model/unit-dimension.mjs +14 -0
  298. package/esm2020/lib/components/measures/model/unit-registry.mjs +81 -0
  299. package/esm2020/lib/components/measures/model/unit.mjs +143 -0
  300. package/esm2020/lib/components/measures/public_api.mjs +8 -0
  301. package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +189 -0
  302. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +237 -0
  303. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +164 -0
  304. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +55 -0
  305. package/esm2020/lib/components/navigation/bread-crumbs/path/path.mjs +37 -0
  306. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +51 -0
  307. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +93 -0
  308. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +64 -0
  309. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +12 -0
  310. package/esm2020/lib/components/navigation/public_api.mjs +4 -0
  311. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +46 -0
  312. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +76 -0
  313. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +68 -0
  314. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +66 -0
  315. package/esm2020/lib/components/navigation/toolbar/toolbar-column-position.mjs +2 -0
  316. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +39 -0
  317. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +85 -0
  318. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +43 -0
  319. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +72 -0
  320. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +204 -0
  321. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +41 -0
  322. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +12 -0
  323. package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +12 -0
  324. package/esm2020/lib/components/panels/elder-panel.module.mjs +38 -0
  325. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +26 -0
  326. package/esm2020/lib/components/public_api.mjs +40 -0
  327. package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +77 -0
  328. package/esm2020/lib/components/select/auto/elder-select-first-util.mjs +62 -0
  329. package/esm2020/lib/components/select/elder-select-base.mjs +284 -0
  330. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +45 -0
  331. package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +133 -0
  332. package/esm2020/lib/components/select/elder-select-value.directive.mjs +15 -0
  333. package/esm2020/lib/components/select/elder-select.module.mjs +133 -0
  334. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +356 -0
  335. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +237 -0
  336. package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +67 -0
  337. package/esm2020/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +86 -0
  338. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +126 -0
  339. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +47 -0
  340. package/esm2020/lib/components/select/public_api.mjs +6 -0
  341. package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +57 -0
  342. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +442 -0
  343. package/esm2020/lib/components/select/single/elder-select-form-field.mjs +45 -0
  344. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +152 -0
  345. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +48 -0
  346. package/esm2020/lib/components/select-list/elder-select-list.module.mjs +36 -0
  347. package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +75 -0
  348. package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +118 -0
  349. package/esm2020/lib/components/shell/drawers/drawer-outlet-binding.mjs +60 -0
  350. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +117 -0
  351. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +128 -0
  352. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +46 -0
  353. package/esm2020/lib/components/shell/elder-shell.module.mjs +90 -0
  354. package/esm2020/lib/components/shell/elder-shell.service.mjs +145 -0
  355. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +73 -0
  356. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +206 -0
  357. package/esm2020/lib/components/shell/shell-content-slot.mjs +2 -0
  358. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +137 -0
  359. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +25 -0
  360. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +256 -0
  361. package/esm2020/lib/components/tabs/elder-tab.module.mjs +32 -0
  362. package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +62 -0
  363. package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +74 -0
  364. package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +72 -0
  365. package/esm2020/lib/components/theme/elder-theme.directive.mjs +61 -0
  366. package/esm2020/lib/components/theme/elder-theme.module.mjs +74 -0
  367. package/esm2020/lib/components/theme/elder-theme.service.mjs +123 -0
  368. package/esm2020/lib/components/theme/known-elder-themes.mjs +6 -0
  369. package/esm2020/lib/components/theme/public_api.mjs +2 -0
  370. package/esm2020/lib/components/theme/theme-spec.mjs +15 -0
  371. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +23 -0
  372. package/esm2020/lib/components/time/duration/duration-bucket.mjs +67 -0
  373. package/esm2020/lib/components/time/duration/duration-format.mjs +271 -0
  374. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +109 -0
  375. package/esm2020/lib/components/time/duration/iso-duration-str.mjs +2 -0
  376. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +100 -0
  377. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +79 -0
  378. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +126 -0
  379. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +189 -0
  380. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +84 -0
  381. package/esm2020/lib/components/time/elder-time.module.mjs +133 -0
  382. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +119 -0
  383. package/esm2020/lib/components/time/period/period-bucket.mjs +31 -0
  384. package/esm2020/lib/components/time/period/period-format.mjs +89 -0
  385. package/esm2020/lib/components/time/public_api.mjs +8 -0
  386. package/esm2020/lib/components/toasts/elder-toast.module.mjs +22 -0
  387. package/esm2020/lib/components/toasts/elder-toast.service.mjs +197 -0
  388. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +73 -0
  389. package/esm2020/lib/components/toasts/toast-type.mjs +7 -0
  390. package/esm2020/lib/components/toasts/toast.mjs +2 -0
  391. package/esm2020/lib/components/url-fragment/elder-url-fragment.mjs +9 -0
  392. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +54 -0
  393. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +84 -0
  394. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +65 -0
  395. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +25 -0
  396. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +56 -0
  397. package/esm2020/lib/features/event-source/public_api.mjs +3 -0
  398. package/esm2020/lib/features/event-source/reactive-event-source.mjs +198 -0
  399. package/esm2020/lib/features/kafent/access-token-provider.mjs +20 -0
  400. package/esm2020/lib/features/kafent/kafent-config.mjs +24 -0
  401. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +25 -0
  402. package/esm2020/lib/features/kafent/kafent-event.mjs +3 -0
  403. package/esm2020/lib/features/kafent/kafent-event.service.mjs +107 -0
  404. package/esm2020/lib/features/kafent/kafent-live-event-request.mjs +2 -0
  405. package/esm2020/lib/features/kafent/kafent.module.mjs +61 -0
  406. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +128 -0
  407. package/esm2020/lib/features/kafent/sse/kafent-topic-sse.mjs +98 -0
  408. package/esm2020/lib/features/public_api.mjs +3 -0
  409. package/esm2020/lib/pipes/bytes.pipe.mjs +24 -0
  410. package/esm2020/lib/pipes/elder-pipes.module.mjs +67 -0
  411. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +21 -0
  412. package/esm2020/lib/pipes/elder-round.pipe.mjs +35 -0
  413. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +20 -0
  414. package/esm2020/lib/pipes/elder-truncate.pipe.mjs +40 -0
  415. package/esm2020/lib/pipes/iso-duration.pipe.mjs +58 -0
  416. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +49 -0
  417. package/esm2020/lib/pipes/iso-interval.pipe.mjs +109 -0
  418. package/esm2020/lib/pipes/public_api.mjs +2 -0
  419. package/esm2020/lib/pipes/time-ago.pipe.mjs +104 -0
  420. package/esm2020/lib/pipes/time-duration.pipe.mjs +98 -0
  421. package/esm2020/lib/pipes/weight.pipe.mjs +56 -0
  422. package/esm2020/public_api.mjs +8 -0
  423. package/fesm2015/elderbyte-ngx-starter.mjs +27485 -0
  424. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -0
  425. package/fesm2020/elderbyte-ngx-starter.mjs +27371 -0
  426. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -0
  427. package/index.d.ts +5 -0
  428. package/lib/common/async/public_api.d.ts +1 -0
  429. package/lib/common/async/refreshing-entity.d.ts +55 -0
  430. package/lib/common/csv/csv-serializer.d.ts +33 -0
  431. package/lib/common/csv/csv-spec.d.ts +71 -0
  432. package/lib/common/csv/public_api.d.ts +2 -0
  433. package/lib/common/data/continuable-listing.d.ts +28 -0
  434. package/lib/common/data/data-context/data-context-active-page.d.ts +75 -0
  435. package/lib/common/data/data-context/data-context-auto-starter.d.ts +41 -0
  436. package/lib/common/data/data-context/data-context-base.d.ts +149 -0
  437. package/lib/common/data/data-context/data-context-builder.d.ts +142 -0
  438. package/lib/common/data/data-context/data-context-continuable-base.d.ts +43 -0
  439. package/lib/common/data/data-context/data-context-continuable-paged.d.ts +58 -0
  440. package/lib/common/data/data-context/data-context-continuable-token.d.ts +48 -0
  441. package/lib/common/data/data-context/data-context-life-cycle-binding.d.ts +33 -0
  442. package/lib/common/data/data-context/data-context-simple.d.ts +30 -0
  443. package/lib/common/data/data-context/data-context-source-auto-reloader.d.ts +8 -0
  444. package/lib/common/data/data-context/data-context-status.d.ts +30 -0
  445. package/lib/common/data/data-context/data-context.d.ts +154 -0
  446. package/lib/common/data/data-context/mat-table-data-context-binding.d.ts +60 -0
  447. package/lib/common/data/data-context/public_api.d.ts +13 -0
  448. package/lib/common/data/datasource/data-source-adapter.d.ts +39 -0
  449. package/lib/common/data/datasource/data-source-processor.d.ts +106 -0
  450. package/lib/common/data/datasource/data-source.d.ts +58 -0
  451. package/lib/common/data/datasource/entity-id-util.d.ts +3 -0
  452. package/lib/common/data/datasource/fetcher/delegate-data-source.d.ts +84 -0
  453. package/lib/common/data/datasource/local/local-list-data-source.d.ts +61 -0
  454. package/lib/common/data/datasource/local/local-paged-data-source.d.ts +49 -0
  455. package/lib/common/data/datasource/public_api.d.ts +7 -0
  456. package/lib/common/data/datasource/rest/public_api.d.ts +1 -0
  457. package/lib/common/data/datasource/rest/rest-client.d.ts +162 -0
  458. package/lib/common/data/entity-set-patch.d.ts +74 -0
  459. package/lib/common/data/field-comparator.d.ts +43 -0
  460. package/lib/common/data/filters/filter-context.d.ts +63 -0
  461. package/lib/common/data/filters/filter.d.ts +52 -0
  462. package/lib/common/data/http-params-builder.d.ts +45 -0
  463. package/lib/common/data/page.d.ts +41 -0
  464. package/lib/common/data/public_api.d.ts +11 -0
  465. package/lib/common/data/required-filter-evaluator.d.ts +46 -0
  466. package/lib/common/data/sort-context.d.ts +42 -0
  467. package/lib/common/data/sort.d.ts +8 -0
  468. package/lib/common/data/token-chunk-request.d.ts +8 -0
  469. package/lib/common/enums/elder-enum-translation.service.d.ts +52 -0
  470. package/lib/common/enums/public_api.d.ts +1 -0
  471. package/lib/common/errors/exception-detail.d.ts +5 -0
  472. package/{src/lib/common/errors/public_api.ts → lib/common/errors/public_api.d.ts} +0 -0
  473. package/lib/common/errors/standard-error-detail.d.ts +22 -0
  474. package/lib/common/format/bytes-format.d.ts +4 -0
  475. package/lib/common/format/bytes-per-second-format.d.ts +5 -0
  476. package/{src/lib/common/format/public_api.ts → lib/common/format/public_api.d.ts} +0 -0
  477. package/lib/common/forms/elder-entity-value-accessor.d.ts +42 -0
  478. package/lib/common/forms/elder-form-field-control-base.directive.d.ts +103 -0
  479. package/lib/common/forms/elder-from-field-base.d.ts +52 -0
  480. package/lib/common/forms/elder-from-field-entity-base.d.ts +31 -0
  481. package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +35 -0
  482. package/lib/common/forms/elder-multi-entity-value-accessor.d.ts +52 -0
  483. package/lib/common/forms/form-field-base.component.d.ts +74 -0
  484. package/lib/common/forms/multi-model-base.component.d.ts +23 -0
  485. package/lib/common/forms/public_api.d.ts +11 -0
  486. package/lib/common/forms/template-composite-control.d.ts +64 -0
  487. package/lib/common/forms/value-accessor-base.d.ts +98 -0
  488. package/lib/common/forms/view-providers.d.ts +23 -0
  489. package/lib/common/http/http-client-builder.service.d.ts +6 -0
  490. package/lib/common/http/http-client-pristine.d.ts +10 -0
  491. package/lib/common/http/public_api.d.ts +4 -0
  492. package/lib/common/http/transfer/data-transfer-factory.d.ts +70 -0
  493. package/lib/common/http/transfer/data-transfer-progress-aggregate.d.ts +27 -0
  494. package/lib/common/http/transfer/data-transfer-progress.d.ts +13 -0
  495. package/lib/common/http/transfer/data-transfer-state.d.ts +52 -0
  496. package/lib/common/http/transfer/data-transfer-status.d.ts +22 -0
  497. package/lib/common/http/transfer/http-data-transfer.d.ts +96 -0
  498. package/lib/common/http/transfer/public_api.d.ts +6 -0
  499. package/lib/common/http/upload/file-upload-client.d.ts +38 -0
  500. package/lib/common/i18n/entity/impl/i18n-base.d.ts +6 -0
  501. package/lib/common/i18n/entity/impl/i18n-text.d.ts +11 -0
  502. package/lib/common/i18n/entity/language-tag.d.ts +15 -0
  503. package/lib/common/i18n/entity/locale.d.ts +8 -0
  504. package/lib/common/i18n/entity/localisation-picker.d.ts +14 -0
  505. package/lib/common/i18n/entity/localized.d.ts +10 -0
  506. package/lib/common/i18n/entity/public_api.d.ts +5 -0
  507. package/lib/common/i18n/public_api.d.ts +1 -0
  508. package/lib/common/json-map.d.ts +7 -0
  509. package/lib/common/objects.d.ts +19 -0
  510. package/lib/common/public_api.d.ts +18 -0
  511. package/lib/common/reactive-map.d.ts +40 -0
  512. package/{src/lib/common/selection/public_api.ts → lib/common/selection/public_api.d.ts} +0 -0
  513. package/lib/common/selection/selection-model.d.ts +82 -0
  514. package/lib/common/sets.d.ts +20 -0
  515. package/lib/common/suggestion-provider.d.ts +13 -0
  516. package/lib/common/templates/template-slot-manager.d.ts +70 -0
  517. package/lib/common/time/date-util.d.ts +54 -0
  518. package/lib/common/time/interval.d.ts +287 -0
  519. package/lib/common/time/period-duration.d.ts +84 -0
  520. package/lib/common/time/public_api.d.ts +4 -0
  521. package/lib/common/time/time-util.d.ts +15 -0
  522. package/lib/common/url/elder-router.service.d.ts +36 -0
  523. package/lib/common/url/elder-url-fragment-params.service.d.ts +62 -0
  524. package/lib/common/url/public_api.d.ts +3 -0
  525. package/lib/common/url/url-query-params.d.ts +96 -0
  526. package/lib/common/utils/batcher.d.ts +14 -0
  527. package/lib/common/utils/collection-util.d.ts +35 -0
  528. package/lib/common/utils/filter-util.d.ts +7 -0
  529. package/lib/common/utils/next-number-util.d.ts +39 -0
  530. package/lib/common/utils/ng-zone-utils.d.ts +7 -0
  531. package/lib/common/utils/parse-util.d.ts +8 -0
  532. package/lib/common/utils/property-path-util.d.ts +8 -0
  533. package/{src/lib/common/utils/public_api.ts → lib/common/utils/public_api.d.ts} +0 -0
  534. package/lib/common/utils/query-list-binding.d.ts +57 -0
  535. package/lib/common/utils/sort-util.d.ts +10 -0
  536. package/lib/common/utils/url-builder.d.ts +160 -0
  537. package/lib/common/utils/uuid-util.d.ts +18 -0
  538. package/lib/common/utils/value-wrapper.d.ts +15 -0
  539. package/lib/components/access-denied/elder-access-denied.component.d.ts +8 -0
  540. package/lib/components/access-denied/elder-access-denied.module.d.ts +11 -0
  541. package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +20 -0
  542. package/lib/components/auditing/elder-audit.module.d.ts +14 -0
  543. package/lib/components/auditing/i-audited-entity.d.ts +13 -0
  544. package/lib/components/button-group/elder-button-group/elder-button-group.component.d.ts +8 -0
  545. package/lib/components/button-group/elder-button-group.module.d.ts +12 -0
  546. package/lib/components/card-organizer/card-organizer/elder-card-organizer.component.d.ts +64 -0
  547. package/lib/components/card-organizer/card-organizer/elder-stack-card.directive.d.ts +9 -0
  548. package/lib/components/card-organizer/card-organizer-data.d.ts +57 -0
  549. package/lib/components/card-organizer/card-stack/elder-card-stack.component.d.ts +89 -0
  550. package/lib/components/card-organizer/card-stack.d.ts +146 -0
  551. package/lib/components/card-organizer/elder-card-organizer.module.d.ts +22 -0
  552. package/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.d.ts +6 -0
  553. package/lib/components/cards/elder-card/elder-card.component.d.ts +68 -0
  554. package/lib/components/cards/elder-card/elder-card.module.d.ts +13 -0
  555. package/lib/components/connectivity/elder-connectivity.module.d.ts +14 -0
  556. package/lib/components/connectivity/elder-connectivity.service.d.ts +36 -0
  557. package/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.d.ts +33 -0
  558. package/lib/components/connectivity/public_api.d.ts +2 -0
  559. package/lib/components/containers/elder-containers.module.d.ts +9 -0
  560. package/lib/components/containers/elder-scroll-container/elder-scroll-container.component.d.ts +12 -0
  561. package/lib/components/containers/public_api.d.ts +1 -0
  562. package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +51 -0
  563. package/lib/components/csv/elder-csv-stream-exporter-builder.d.ts +35 -0
  564. package/lib/components/csv/elder-csv-stream-exporter-builder.service.d.ts +28 -0
  565. package/lib/components/csv/elder-csv-stream-exporter.d.ts +58 -0
  566. package/lib/components/csv/elder-csv.module.d.ts +14 -0
  567. package/lib/components/currency/elder-currency.module.d.ts +8 -0
  568. package/lib/components/currency/elder-currency.pipe.d.ts +21 -0
  569. package/lib/components/currency/model/currency-code.d.ts +36 -0
  570. package/lib/components/currency/model/currency-unit-registry.d.ts +23 -0
  571. package/lib/components/currency/model/currency-unit.d.ts +7 -0
  572. package/lib/components/currency/model/currency.d.ts +10 -0
  573. package/lib/components/currency/public_api.d.ts +6 -0
  574. package/lib/components/data-transfer/elder-data-transfer.module.d.ts +26 -0
  575. package/lib/components/data-transfer/elder-data-transfer.service.d.ts +55 -0
  576. package/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.d.ts +30 -0
  577. package/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.d.ts +29 -0
  578. package/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.d.ts +31 -0
  579. package/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.d.ts +28 -0
  580. package/lib/components/data-view/base/data-view-options-provider-binding.d.ts +39 -0
  581. package/lib/components/data-view/base/elder-data-view-base.d.ts +129 -0
  582. package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +38 -0
  583. package/lib/components/data-view/base/elder-data-view-options.d.ts +34 -0
  584. package/lib/components/data-view/base/elder-data-view.d.ts +7 -0
  585. package/lib/components/data-view/base/public_api.d.ts +5 -0
  586. package/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.d.ts +32 -0
  587. package/lib/components/data-view/common/elder-data-common.module.d.ts +29 -0
  588. package/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.d.ts +66 -0
  589. package/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.d.ts +45 -0
  590. package/lib/components/data-view/common/selection/data-context-selection.directive.d.ts +48 -0
  591. package/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.d.ts +26 -0
  592. package/lib/components/data-view/common/selection/master-selection-state.d.ts +8 -0
  593. package/lib/components/data-view/elder-data-view-interaction-mode.d.ts +21 -0
  594. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +113 -0
  595. package/lib/components/data-view/grid/elder-grid.module.d.ts +24 -0
  596. package/lib/components/data-view/public_api.d.ts +5 -0
  597. package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.d.ts +9 -0
  598. package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.d.ts +28 -0
  599. package/lib/components/data-view/table/activation/elder-item-activator.d.ts +3 -0
  600. package/lib/components/data-view/table/activation/elder-table-activation-options.d.ts +16 -0
  601. package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +78 -0
  602. package/lib/components/data-view/table/elder-number-cell.directive.d.ts +12 -0
  603. package/lib/components/data-view/table/elder-paginator-intl.d.ts +38 -0
  604. package/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.d.ts +12 -0
  605. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +129 -0
  606. package/lib/components/data-view/table/elder-table-column.directive.d.ts +9 -0
  607. package/lib/components/data-view/table/elder-table-extension.directive.d.ts +53 -0
  608. package/lib/components/data-view/table/elder-table-root.directive.d.ts +15 -0
  609. package/lib/components/data-view/table/elder-table-row.directive.d.ts +63 -0
  610. package/lib/components/data-view/table/elder-table-sort.directive.d.ts +11 -0
  611. package/lib/components/data-view/table/elder-table.module.d.ts +47 -0
  612. package/lib/components/data-view/table/model/elder-column-layout.d.ts +44 -0
  613. package/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.d.ts +44 -0
  614. package/lib/components/data-view/table/model/elder-table-model-provider.d.ts +25 -0
  615. package/lib/components/data-view/table/model/elder-table-model-query-group.d.ts +53 -0
  616. package/lib/components/data-view/table/model/elder-table-model.d.ts +83 -0
  617. package/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.d.ts +22 -0
  618. package/lib/components/dialogs/elder-dialog-config.d.ts +16 -0
  619. package/lib/components/dialogs/elder-dialog.module.d.ts +37 -0
  620. package/lib/components/dialogs/elder-dialog.service.d.ts +72 -0
  621. package/lib/components/dialogs/question-dialog/elder-question-dialog.component.d.ts +22 -0
  622. package/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.d.ts +29 -0
  623. package/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.d.ts +24 -0
  624. package/lib/components/errors/elder-error.module.d.ts +16 -0
  625. package/lib/components/errors/error-util.d.ts +23 -0
  626. package/lib/components/errors/exception-detail/elder-exception-detail.component.d.ts +42 -0
  627. package/lib/components/expand-toggle-button/elder-expand-toggle-button.component.d.ts +33 -0
  628. package/lib/components/expand-toggle-button/elder-expand-toggle-button.module.d.ts +11 -0
  629. package/lib/components/files/blob-url.d.ts +6 -0
  630. package/lib/components/files/blob-viewer/elder-blob-viewer.component.d.ts +107 -0
  631. package/lib/components/files/elder-file-drop-zone.directive.d.ts +45 -0
  632. package/lib/components/files/elder-file-select.directive.d.ts +66 -0
  633. package/lib/components/files/elder-file.module.d.ts +23 -0
  634. package/lib/components/files/file-select/file-select.component.d.ts +34 -0
  635. package/lib/components/files/file-upload/file-upload.component.d.ts +45 -0
  636. package/lib/components/forms/clipboard/elder-clipboard.service.d.ts +26 -0
  637. package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +32 -0
  638. package/lib/components/forms/directives/elder-clipboard-put.directive.d.ts +22 -0
  639. package/lib/components/forms/directives/elder-delayed-focus.directive.d.ts +21 -0
  640. package/lib/components/forms/directives/elder-form-field-dense.directive.d.ts +19 -0
  641. package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +58 -0
  642. package/lib/components/forms/directives/elder-form-field-no-hint.directive.d.ts +19 -0
  643. package/lib/components/forms/directives/elder-form-field-no-spinner.directive.d.ts +19 -0
  644. package/lib/components/forms/directives/elder-forms-directives.module.d.ts +68 -0
  645. package/lib/components/forms/directives/elder-input-pattern.directive.d.ts +41 -0
  646. package/lib/components/forms/directives/elder-key-event.directive.d.ts +58 -0
  647. package/lib/components/forms/directives/elder-max.directive.d.ts +11 -0
  648. package/lib/components/forms/directives/elder-min.directive.d.ts +11 -0
  649. package/lib/components/forms/directives/elder-next-focusable.directive.d.ts +48 -0
  650. package/lib/components/forms/directives/elder-plug-parent-form.directive.d.ts +13 -0
  651. package/lib/components/forms/directives/elder-stop-event-propagation.directive.d.ts +16 -0
  652. package/lib/components/forms/directives/elder-tab-focus-trap.directive.d.ts +63 -0
  653. package/lib/components/forms/directives/elder-touched.directive.d.ts +14 -0
  654. package/lib/components/forms/directives/elder-triple-state-checkbox.directive.d.ts +51 -0
  655. package/lib/components/forms/directives/validation/elder-multiple-of.validator.d.ts +20 -0
  656. package/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.d.ts +33 -0
  657. package/lib/components/forms/elder-forms.module.d.ts +12 -0
  658. package/lib/components/forms/public_api.d.ts +1 -0
  659. package/lib/components/forms/search/elder-search-context.directive.d.ts +79 -0
  660. package/lib/components/forms/search/elder-search-input.directive.d.ts +85 -0
  661. package/lib/components/forms/search/elder-search.module.d.ts +25 -0
  662. package/lib/components/forms/search/model/search-input-state.d.ts +67 -0
  663. package/lib/components/forms/search/model/search-input.d.ts +21 -0
  664. package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +72 -0
  665. package/lib/components/forms/search/search-box/elder-search-panel.component.d.ts +6 -0
  666. package/lib/components/global-search/elder-global-search.component.d.ts +39 -0
  667. package/lib/components/global-search/elder-global-search.module.d.ts +18 -0
  668. package/lib/components/global-search/elder-global-search.service.d.ts +54 -0
  669. package/lib/components/graph/elder-progress-bar/elder-progress-bar.component.d.ts +47 -0
  670. package/lib/components/graph/elder-progress-bar/elder-progress-bar.module.d.ts +10 -0
  671. package/lib/components/graph/elder-progress-bar/sub-bar.d.ts +5 -0
  672. package/{src/lib/components/graph/public_api.ts → lib/components/graph/public_api.d.ts} +0 -0
  673. package/lib/components/headers/elder-header/elder-header.component.d.ts +25 -0
  674. package/lib/components/headers/elder-header.module.d.ts +11 -0
  675. package/lib/components/http-support/elder-http-client.service.d.ts +48 -0
  676. package/lib/components/http-support/public_api.d.ts +1 -0
  677. package/lib/components/i18n/entities/elder-i18n-entities.module.d.ts +37 -0
  678. package/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.d.ts +62 -0
  679. package/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.d.ts +22 -0
  680. package/lib/components/i18n/entities/elder-localized-input-dialog.service.d.ts +13 -0
  681. package/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.d.ts +67 -0
  682. package/lib/components/i18n/entities/elder-localized-text-column.directive.d.ts +17 -0
  683. package/lib/components/i18n/entities/elder-localized-texts.directive.d.ts +37 -0
  684. package/lib/components/i18n/entities/picker/i18n-pick-async.pipe.d.ts +23 -0
  685. package/lib/components/i18n/entities/picker/i18n-pick.pipe.d.ts +22 -0
  686. package/lib/components/i18n/entities/picker/localisation-picker.service.d.ts +44 -0
  687. package/lib/components/i18n/language/elder-language-config.d.ts +14 -0
  688. package/lib/components/i18n/language/elder-language-interceptor.d.ts +41 -0
  689. package/lib/components/i18n/language/elder-language.module.d.ts +26 -0
  690. package/lib/components/i18n/language/elder-language.service.d.ts +77 -0
  691. package/lib/components/i18n/language/language-switcher/elder-language-switcher.component.d.ts +37 -0
  692. package/lib/components/i18n/locales/elder-locales-de-ch.module.d.ts +10 -0
  693. package/{src/lib/components/i18n/public_api.ts → lib/components/i18n/public_api.d.ts} +0 -0
  694. package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +68 -0
  695. package/lib/components/iframes/data-view/data-view-iframe-adapter.directive.d.ts +62 -0
  696. package/lib/components/iframes/elder-iframe.module.d.ts +27 -0
  697. package/lib/components/iframes/iframe-close.directive.d.ts +24 -0
  698. package/lib/components/iframes/iframe-dialog/iframe-dialog.component.d.ts +36 -0
  699. package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +92 -0
  700. package/lib/components/iframes/iframe-side-content/iframe-side-content.component.d.ts +48 -0
  701. package/lib/components/iframes/iframe.service.d.ts +25 -0
  702. package/lib/components/iframes/typed-event-message.d.ts +26 -0
  703. package/lib/components/infinitescroll/elder-infinite-autocomplete.directive.d.ts +30 -0
  704. package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +63 -0
  705. package/lib/components/infinitescroll/elder-infinite-scroll.module.d.ts +19 -0
  706. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.d.ts +8 -0
  707. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +87 -0
  708. package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +78 -0
  709. package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +60 -0
  710. package/lib/components/input/autocomplete/elder-autocomplete.module.d.ts +19 -0
  711. package/lib/components/input/autocomplete/many/word-position-finder.d.ts +15 -0
  712. package/lib/components/input/public_api.d.ts +1 -0
  713. package/lib/components/labels/elder-labels.module.d.ts +15 -0
  714. package/lib/components/labels/labels-input/labels-input.component.d.ts +91 -0
  715. package/lib/components/measures/dimensions-input/elder-dimensions-input.component.d.ts +109 -0
  716. package/lib/components/measures/directives/elder-unit-select.directive.d.ts +30 -0
  717. package/lib/components/measures/elder-measures.module.d.ts +32 -0
  718. package/lib/components/measures/elder-quantity-transform.pipe.d.ts +22 -0
  719. package/lib/components/measures/elder-quantity.pipe.d.ts +40 -0
  720. package/lib/components/measures/elder-unit.service.d.ts +39 -0
  721. package/lib/components/measures/model/dimensions.d.ts +11 -0
  722. package/lib/components/measures/model/quantity.d.ts +7 -0
  723. package/lib/components/measures/model/unit-dimension.d.ts +12 -0
  724. package/lib/components/measures/model/unit-registry.d.ts +46 -0
  725. package/lib/components/measures/model/unit.d.ts +111 -0
  726. package/lib/components/measures/public_api.d.ts +7 -0
  727. package/lib/components/measures/quantity-input/elder-quantity-input.component.d.ts +94 -0
  728. package/lib/components/measures/util/elder-quantity.service.d.ts +116 -0
  729. package/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.d.ts +69 -0
  730. package/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.d.ts +18 -0
  731. package/lib/components/navigation/bread-crumbs/path/path.d.ts +31 -0
  732. package/lib/components/navigation/nav/elder-nav.module.d.ts +18 -0
  733. package/lib/components/navigation/nav/nav-group/elder-nav-group.component.d.ts +45 -0
  734. package/lib/components/navigation/nav/nav-link/elder-nav-link.component.d.ts +27 -0
  735. package/lib/components/navigation/nav/nav-list/elder-nav-list.component.d.ts +6 -0
  736. package/{src/lib/components/navigation/public_api.ts → lib/components/navigation/public_api.d.ts} +0 -0
  737. package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +34 -0
  738. package/lib/components/navigation/toolbar/elder-toolbar.module.d.ts +23 -0
  739. package/lib/components/navigation/toolbar/elder-toolbar.service.d.ts +46 -0
  740. package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +42 -0
  741. package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +9 -0
  742. package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.d.ts +30 -0
  743. package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.d.ts +47 -0
  744. package/lib/components/overlays/elder-overlay-origin.directive.d.ts +28 -0
  745. package/lib/components/overlays/elder-overlay-trigger.directive.d.ts +36 -0
  746. package/lib/components/overlays/elder-overlay.component.d.ts +88 -0
  747. package/lib/components/overlays/elder-overlay.module.d.ts +14 -0
  748. package/lib/components/panels/card-panel/elder-card-panel.component.d.ts +6 -0
  749. package/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.d.ts +6 -0
  750. package/lib/components/panels/elder-panel.module.d.ts +14 -0
  751. package/lib/components/panels/flat/elder-panel.component.d.ts +15 -0
  752. package/{src/lib/components/public_api.ts → lib/components/public_api.d.ts} +0 -0
  753. package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +45 -0
  754. package/lib/components/select/auto/elder-select-first-util.d.ts +22 -0
  755. package/lib/components/select/elder-select-base.d.ts +149 -0
  756. package/lib/components/select/elder-select-chip.directive.d.ts +23 -0
  757. package/lib/components/select/elder-select-on-tab.directive.d.ts +55 -0
  758. package/lib/components/select/elder-select-value.directive.d.ts +9 -0
  759. package/lib/components/select/elder-select.module.d.ts +48 -0
  760. package/lib/components/select/multi/elder-multi-select-base.d.ts +120 -0
  761. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +105 -0
  762. package/lib/components/select/multi/elder-multi-select-form-field.d.ts +34 -0
  763. package/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.d.ts +42 -0
  764. package/lib/components/select/popup/selection-model-popup.directive.d.ts +49 -0
  765. package/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.d.ts +32 -0
  766. package/lib/components/select/public_api.d.ts +5 -0
  767. package/lib/components/select/single/elder-clear-select.directive.d.ts +34 -0
  768. package/lib/components/select/single/elder-select/elder-select.component.d.ts +155 -0
  769. package/lib/components/select/single/elder-select-form-field.d.ts +30 -0
  770. package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +78 -0
  771. package/lib/components/select-chip-list/elder-chip-list-select.module.d.ts +12 -0
  772. package/lib/components/select-list/elder-select-list.module.d.ts +15 -0
  773. package/lib/components/select-list/select-list/elder-select-list.component.d.ts +53 -0
  774. package/lib/components/select-list/select-list-item/elder-select-list-item.component.d.ts +57 -0
  775. package/lib/components/shell/drawers/drawer-outlet-binding.d.ts +36 -0
  776. package/lib/components/shell/drawers/elder-route-outlet-drawer.service.d.ts +55 -0
  777. package/lib/components/shell/drawers/elder-router-outlet.service.d.ts +64 -0
  778. package/lib/components/shell/elder-shell-slot.directive.d.ts +34 -0
  779. package/lib/components/shell/elder-shell.module.d.ts +30 -0
  780. package/lib/components/shell/elder-shell.service.d.ts +98 -0
  781. package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +43 -0
  782. package/lib/components/shell/shell/elder-shell.component.d.ts +99 -0
  783. package/lib/components/shell/shell-content-slot.d.ts +4 -0
  784. package/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.d.ts +66 -0
  785. package/lib/components/tabs/elder-tab/elder-tab.directive.d.ts +19 -0
  786. package/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.d.ts +100 -0
  787. package/lib/components/tabs/elder-tab.module.d.ts +12 -0
  788. package/lib/components/theme/elder-theme-applier.directive.d.ts +36 -0
  789. package/lib/components/theme/elder-theme-preference.service.d.ts +35 -0
  790. package/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.d.ts +37 -0
  791. package/lib/components/theme/elder-theme.directive.d.ts +38 -0
  792. package/lib/components/theme/elder-theme.module.d.ts +22 -0
  793. package/lib/components/theme/elder-theme.service.d.ts +51 -0
  794. package/lib/components/theme/known-elder-themes.d.ts +5 -0
  795. package/{src/lib/components/theme/public_api.ts → lib/components/theme/public_api.d.ts} +0 -0
  796. package/lib/components/theme/theme-spec.d.ts +18 -0
  797. package/lib/components/time/date-adapters/custom-date-adapter.d.ts +12 -0
  798. package/lib/components/time/duration/duration-bucket.d.ts +37 -0
  799. package/lib/components/time/duration/duration-format.d.ts +62 -0
  800. package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +58 -0
  801. package/lib/components/time/duration/iso-duration-str.d.ts +5 -0
  802. package/lib/components/time/elder-date-switcher/elder-date-switcher.component.d.ts +60 -0
  803. package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +42 -0
  804. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +84 -0
  805. package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +78 -0
  806. package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +47 -0
  807. package/lib/components/time/elder-time.module.d.ts +38 -0
  808. package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +71 -0
  809. package/lib/components/time/period/period-bucket.d.ts +21 -0
  810. package/lib/components/time/period/period-format.d.ts +43 -0
  811. package/lib/components/time/public_api.d.ts +7 -0
  812. package/lib/components/toasts/elder-toast.module.d.ts +12 -0
  813. package/lib/components/toasts/elder-toast.service.d.ts +96 -0
  814. package/lib/components/toasts/standard-toast/standard-toast.component.d.ts +38 -0
  815. package/lib/components/toasts/toast-type.d.ts +5 -0
  816. package/lib/components/toasts/toast.d.ts +7 -0
  817. package/lib/components/url-fragment/elder-url-fragment.d.ts +7 -0
  818. package/lib/components/url-fragment/elder-url-fragment.module.d.ts +17 -0
  819. package/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.d.ts +38 -0
  820. package/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.d.ts +41 -0
  821. package/lib/components/viewers/elder-viewers.module.d.ts +9 -0
  822. package/lib/features/event-source/elder-event-source.service.d.ts +43 -0
  823. package/lib/features/event-source/public_api.d.ts +2 -0
  824. package/lib/features/event-source/reactive-event-source.d.ts +97 -0
  825. package/lib/features/kafent/access-token-provider.d.ts +12 -0
  826. package/lib/features/kafent/kafent-config.d.ts +32 -0
  827. package/lib/features/kafent/kafent-event-stream.d.ts +28 -0
  828. package/lib/features/kafent/kafent-event.d.ts +11 -0
  829. package/lib/features/kafent/kafent-event.service.d.ts +77 -0
  830. package/lib/features/kafent/kafent-live-event-request.d.ts +58 -0
  831. package/lib/features/kafent/kafent.module.d.ts +30 -0
  832. package/lib/features/kafent/sse/kafent-event-stream-sse.service.d.ts +56 -0
  833. package/lib/features/kafent/sse/kafent-topic-sse.d.ts +70 -0
  834. package/lib/features/public_api.d.ts +2 -0
  835. package/lib/pipes/bytes.pipe.d.ts +7 -0
  836. package/lib/pipes/elder-pipes.module.d.ts +46 -0
  837. package/lib/pipes/elder-repeat.pipe.d.ts +7 -0
  838. package/lib/pipes/elder-round.pipe.d.ts +23 -0
  839. package/lib/pipes/elder-safe-url.pipe.d.ts +10 -0
  840. package/lib/pipes/elder-truncate.pipe.d.ts +17 -0
  841. package/lib/pipes/iso-duration.pipe.d.ts +26 -0
  842. package/lib/pipes/iso-interval-parse.pipe.d.ts +30 -0
  843. package/lib/pipes/iso-interval.pipe.d.ts +43 -0
  844. package/lib/pipes/public_api.d.ts +1 -0
  845. package/lib/pipes/time-ago.pipe.d.ts +18 -0
  846. package/lib/pipes/time-duration.pipe.d.ts +13 -0
  847. package/lib/pipes/weight.pipe.d.ts +7 -0
  848. package/package.json +22 -6
  849. package/public_api.d.ts +4 -0
  850. package/theming/_elder-flex-layout.scss +28 -0
  851. package/.eslintrc.json +0 -44
  852. package/karma-ci.conf.js +0 -46
  853. package/karma.conf.js +0 -44
  854. package/ng-package.json +0 -15
  855. package/ng-package.prod.json +0 -14
  856. package/src/lib/common/async/public_api.ts +0 -3
  857. package/src/lib/common/async/refreshing-entity.ts +0 -128
  858. package/src/lib/common/csv/csv-serializer.ts +0 -82
  859. package/src/lib/common/csv/csv-spec.ts +0 -148
  860. package/src/lib/common/csv/public_api.ts +0 -3
  861. package/src/lib/common/data/continuable-listing.ts +0 -35
  862. package/src/lib/common/data/data-context/data-context-active-page.ts +0 -184
  863. package/src/lib/common/data/data-context/data-context-auto-starter.ts +0 -108
  864. package/src/lib/common/data/data-context/data-context-base.ts +0 -406
  865. package/src/lib/common/data/data-context/data-context-builder.ts +0 -354
  866. package/src/lib/common/data/data-context/data-context-continuable-base.ts +0 -100
  867. package/src/lib/common/data/data-context/data-context-continuable-paged.ts +0 -191
  868. package/src/lib/common/data/data-context/data-context-continuable-token.ts +0 -177
  869. package/src/lib/common/data/data-context/data-context-life-cycle-binding.ts +0 -59
  870. package/src/lib/common/data/data-context/data-context-simple.ts +0 -80
  871. package/src/lib/common/data/data-context/data-context-source-auto-reloader.ts +0 -21
  872. package/src/lib/common/data/data-context/data-context-status.ts +0 -56
  873. package/src/lib/common/data/data-context/data-context.ts +0 -204
  874. package/src/lib/common/data/data-context/mat-table-data-context-binding.ts +0 -209
  875. package/src/lib/common/data/data-context/public_api.ts +0 -19
  876. package/src/lib/common/data/datasource/data-source-adapter.ts +0 -96
  877. package/src/lib/common/data/datasource/data-source-processor.ts +0 -318
  878. package/src/lib/common/data/datasource/data-source.ts +0 -87
  879. package/src/lib/common/data/datasource/entity-id-util.ts +0 -11
  880. package/src/lib/common/data/datasource/fetcher/delegate-data-source.ts +0 -230
  881. package/src/lib/common/data/datasource/local/local-list-data-source.ts +0 -161
  882. package/src/lib/common/data/datasource/local/local-paged-data-source.ts +0 -129
  883. package/src/lib/common/data/datasource/public_api.ts +0 -14
  884. package/src/lib/common/data/datasource/rest/public_api.ts +0 -2
  885. package/src/lib/common/data/datasource/rest/rest-client.ts +0 -474
  886. package/src/lib/common/data/entity-set-patch.ts +0 -210
  887. package/src/lib/common/data/field-comparator.ts +0 -122
  888. package/src/lib/common/data/filters/filter-context.spec.ts +0 -150
  889. package/src/lib/common/data/filters/filter-context.ts +0 -163
  890. package/src/lib/common/data/filters/filter.spec.ts +0 -136
  891. package/src/lib/common/data/filters/filter.ts +0 -137
  892. package/src/lib/common/data/http-params-builder.ts +0 -138
  893. package/src/lib/common/data/page.ts +0 -92
  894. package/src/lib/common/data/public_api.ts +0 -12
  895. package/src/lib/common/data/required-filter-evaluator.ts +0 -122
  896. package/src/lib/common/data/sort-context.ts +0 -90
  897. package/src/lib/common/data/sort.ts +0 -16
  898. package/src/lib/common/data/token-chunk-request.ts +0 -10
  899. package/src/lib/common/enums/elder-enum-translation.service.ts +0 -116
  900. package/src/lib/common/enums/public_api.ts +0 -3
  901. package/src/lib/common/errors/exception-detail.ts +0 -6
  902. package/src/lib/common/errors/standard-error-detail.ts +0 -27
  903. package/src/lib/common/format/bytes-format.ts +0 -25
  904. package/src/lib/common/format/bytes-per-second-format.ts +0 -44
  905. package/src/lib/common/forms/elder-entity-value-accessor.ts +0 -70
  906. package/src/lib/common/forms/elder-form-field-control-base.directive.ts +0 -240
  907. package/src/lib/common/forms/elder-from-field-base.ts +0 -113
  908. package/src/lib/common/forms/elder-from-field-entity-base.ts +0 -63
  909. package/src/lib/common/forms/elder-from-field-multi-entity-base.ts +0 -86
  910. package/src/lib/common/forms/elder-multi-entity-value-accessor.ts +0 -84
  911. package/src/lib/common/forms/form-field-base.component.ts +0 -152
  912. package/src/lib/common/forms/multi-model-base.component.ts +0 -40
  913. package/src/lib/common/forms/public_api.ts +0 -12
  914. package/src/lib/common/forms/template-composite-control.ts +0 -158
  915. package/src/lib/common/forms/value-accessor-base.ts +0 -165
  916. package/src/lib/common/forms/view-providers.ts +0 -34
  917. package/src/lib/common/http/http-client-builder.service.ts +0 -55
  918. package/src/lib/common/http/http-client-pristine.ts +0 -15
  919. package/src/lib/common/http/public_api.ts +0 -5
  920. package/src/lib/common/http/transfer/data-transfer-factory.ts +0 -145
  921. package/src/lib/common/http/transfer/data-transfer-progress-aggregate.ts +0 -74
  922. package/src/lib/common/http/transfer/data-transfer-progress.ts +0 -18
  923. package/src/lib/common/http/transfer/data-transfer-state.ts +0 -129
  924. package/src/lib/common/http/transfer/data-transfer-status.ts +0 -28
  925. package/src/lib/common/http/transfer/http-data-transfer.ts +0 -276
  926. package/src/lib/common/http/transfer/public_api.ts +0 -9
  927. package/src/lib/common/http/upload/file-upload-client.ts +0 -74
  928. package/src/lib/common/i18n/entity/impl/i18n-base.ts +0 -9
  929. package/src/lib/common/i18n/entity/impl/i18n-text.ts +0 -25
  930. package/src/lib/common/i18n/entity/language-tag.ts +0 -19
  931. package/src/lib/common/i18n/entity/locale.ts +0 -20
  932. package/src/lib/common/i18n/entity/localisation-picker.ts +0 -51
  933. package/src/lib/common/i18n/entity/localized.ts +0 -11
  934. package/src/lib/common/i18n/entity/public_api.ts +0 -7
  935. package/src/lib/common/i18n/public_api.ts +0 -3
  936. package/src/lib/common/json-map.ts +0 -26
  937. package/src/lib/common/objects.ts +0 -46
  938. package/src/lib/common/public_api.ts +0 -20
  939. package/src/lib/common/reactive-map.ts +0 -113
  940. package/src/lib/common/selection/selection-model.ts +0 -274
  941. package/src/lib/common/sets.ts +0 -48
  942. package/src/lib/common/suggestion-provider.ts +0 -28
  943. package/src/lib/common/templates/public_api.ts +0 -1
  944. package/src/lib/common/templates/template-slot-manager.ts +0 -153
  945. package/src/lib/common/time/date-util.ts +0 -120
  946. package/src/lib/common/time/interval.spec.ts +0 -53
  947. package/src/lib/common/time/interval.ts +0 -539
  948. package/src/lib/common/time/period-duration.ts +0 -147
  949. package/src/lib/common/time/public_api.ts +0 -6
  950. package/src/lib/common/time/time-util.ts +0 -54
  951. package/src/lib/common/url/elder-router.service.ts +0 -55
  952. package/src/lib/common/url/elder-url-fragment-params.service.ts +0 -139
  953. package/src/lib/common/url/public_api.ts +0 -5
  954. package/src/lib/common/url/url-query-params.ts +0 -169
  955. package/src/lib/common/utils/batcher.spec.ts +0 -39
  956. package/src/lib/common/utils/batcher.ts +0 -55
  957. package/src/lib/common/utils/collection-util.ts +0 -125
  958. package/src/lib/common/utils/filter-util.ts +0 -67
  959. package/src/lib/common/utils/next-number-util.ts +0 -102
  960. package/src/lib/common/utils/ng-zone-utils.ts +0 -18
  961. package/src/lib/common/utils/parse-util.ts +0 -17
  962. package/src/lib/common/utils/property-path-util.ts +0 -29
  963. package/src/lib/common/utils/query-list-binding.ts +0 -105
  964. package/src/lib/common/utils/sort-util.spec.ts +0 -41
  965. package/src/lib/common/utils/sort-util.ts +0 -38
  966. package/src/lib/common/utils/url-builder.spec.ts +0 -83
  967. package/src/lib/common/utils/url-builder.ts +0 -363
  968. package/src/lib/common/utils/uuid-util.ts +0 -34
  969. package/src/lib/common/utils/value-wrapper.ts +0 -25
  970. package/src/lib/components/access-denied/elder-access-denied.component.html +0 -12
  971. package/src/lib/components/access-denied/elder-access-denied.component.ts +0 -16
  972. package/src/lib/components/access-denied/elder-access-denied.module.ts +0 -23
  973. package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.html +0 -23
  974. package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.ts +0 -39
  975. package/src/lib/components/auditing/elder-audit.module.ts +0 -28
  976. package/src/lib/components/auditing/i-audited-entity.ts +0 -17
  977. package/src/lib/components/button-group/elder-button-group/elder-button-group.component.html +0 -3
  978. package/src/lib/components/button-group/elder-button-group/elder-button-group.component.ts +0 -21
  979. package/src/lib/components/button-group/elder-button-group.module.ts +0 -23
  980. package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.html +0 -26
  981. package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.ts +0 -148
  982. package/src/lib/components/card-organizer/card-organizer/elder-stack-card.directive.ts +0 -9
  983. package/src/lib/components/card-organizer/card-organizer-data.ts +0 -124
  984. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.html +0 -70
  985. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.ts +0 -250
  986. package/src/lib/components/card-organizer/card-stack.ts +0 -231
  987. package/src/lib/components/card-organizer/elder-card-organizer.module.ts +0 -37
  988. package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.css +0 -5
  989. package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.html +0 -16
  990. package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.ts +0 -14
  991. package/src/lib/components/cards/elder-card/elder-card.component.html +0 -21
  992. package/src/lib/components/cards/elder-card/elder-card.component.ts +0 -141
  993. package/src/lib/components/cards/elder-card/elder-card.module.ts +0 -47
  994. package/src/lib/components/connectivity/elder-connectivity.module.ts +0 -37
  995. package/src/lib/components/connectivity/elder-connectivity.service.ts +0 -83
  996. package/src/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.html +0 -11
  997. package/src/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.ts +0 -51
  998. package/src/lib/components/connectivity/public_api.ts +0 -3
  999. package/src/lib/components/containers/elder-containers.module.ts +0 -18
  1000. package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.html +0 -14
  1001. package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.ts +0 -30
  1002. package/src/lib/components/containers/public_api.ts +0 -3
  1003. package/src/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.html +0 -5
  1004. package/src/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.ts +0 -105
  1005. package/src/lib/components/csv/elder-csv-stream-exporter-builder.service.ts +0 -56
  1006. package/src/lib/components/csv/elder-csv-stream-exporter-builder.ts +0 -68
  1007. package/src/lib/components/csv/elder-csv-stream-exporter.ts +0 -192
  1008. package/src/lib/components/csv/elder-csv.module.ts +0 -27
  1009. package/src/lib/components/currency/elder-currency.module.ts +0 -18
  1010. package/src/lib/components/currency/elder-currency.pipe.ts +0 -44
  1011. package/src/lib/components/currency/elder-currency.service.ts +0 -83
  1012. package/src/lib/components/currency/model/currency-code.ts +0 -37
  1013. package/src/lib/components/currency/model/currency-unit-registry.ts +0 -39
  1014. package/src/lib/components/currency/model/currency-unit.ts +0 -18
  1015. package/src/lib/components/currency/model/currency.ts +0 -22
  1016. package/src/lib/components/currency/public_api.ts +0 -7
  1017. package/src/lib/components/data-transfer/elder-data-transfer.module.ts +0 -52
  1018. package/src/lib/components/data-transfer/elder-data-transfer.service.ts +0 -120
  1019. package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.html +0 -47
  1020. package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.ts +0 -82
  1021. package/src/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.html +0 -26
  1022. package/src/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.ts +0 -46
  1023. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.html +0 -31
  1024. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.ts +0 -61
  1025. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.html +0 -24
  1026. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.ts +0 -41
  1027. package/src/lib/components/data-view/base/data-view-options-provider-binding.ts +0 -99
  1028. package/src/lib/components/data-view/base/elder-data-view-base.ts +0 -322
  1029. package/src/lib/components/data-view/base/elder-data-view-options-provider.ts +0 -55
  1030. package/src/lib/components/data-view/base/elder-data-view-options.ts +0 -89
  1031. package/src/lib/components/data-view/base/elder-data-view.ts +0 -14
  1032. package/src/lib/components/data-view/base/public_api.ts +0 -5
  1033. package/src/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.html +0 -50
  1034. package/src/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.ts +0 -51
  1035. package/src/lib/components/data-view/common/elder-data-common.module.ts +0 -62
  1036. package/src/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.html +0 -113
  1037. package/src/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.ts +0 -181
  1038. package/src/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.html +0 -25
  1039. package/src/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.ts +0 -99
  1040. package/src/lib/components/data-view/common/selection/data-context-selection.directive.ts +0 -127
  1041. package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.html +0 -22
  1042. package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.ts +0 -53
  1043. package/src/lib/components/data-view/common/selection/master-selection-state.ts +0 -10
  1044. package/src/lib/components/data-view/elder-data-view-interaction-mode.ts +0 -26
  1045. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.html +0 -158
  1046. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.ts +0 -359
  1047. package/src/lib/components/data-view/grid/elder-grid.module.ts +0 -54
  1048. package/src/lib/components/data-view/public_api.ts +0 -5
  1049. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.css +0 -0
  1050. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.html +0 -3
  1051. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.ts +0 -22
  1052. package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.ts +0 -50
  1053. package/src/lib/components/data-view/table/activation/elder-item-activator.ts +0 -6
  1054. package/src/lib/components/data-view/table/activation/elder-table-activation-options.ts +0 -19
  1055. package/src/lib/components/data-view/table/activation/elder-table-activation.directive.ts +0 -308
  1056. package/src/lib/components/data-view/table/elder-number-cell.directive.ts +0 -26
  1057. package/src/lib/components/data-view/table/elder-paginator-intl.ts +0 -92
  1058. package/src/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.ts +0 -14
  1059. package/src/lib/components/data-view/table/elder-table/elder-table.component.html +0 -99
  1060. package/src/lib/components/data-view/table/elder-table/elder-table.component.ts +0 -388
  1061. package/src/lib/components/data-view/table/elder-table-column.directive.ts +0 -29
  1062. package/src/lib/components/data-view/table/elder-table-extension.directive.ts +0 -107
  1063. package/src/lib/components/data-view/table/elder-table-root.directive.ts +0 -24
  1064. package/src/lib/components/data-view/table/elder-table-row.directive.ts +0 -154
  1065. package/src/lib/components/data-view/table/elder-table-sort.directive.ts +0 -16
  1066. package/src/lib/components/data-view/table/elder-table.module.ts +0 -94
  1067. package/src/lib/components/data-view/table/model/elder-column-layout.ts +0 -164
  1068. package/src/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.ts +0 -115
  1069. package/src/lib/components/data-view/table/model/elder-table-model-provider.ts +0 -49
  1070. package/src/lib/components/data-view/table/model/elder-table-model-query-group.ts +0 -153
  1071. package/src/lib/components/data-view/table/model/elder-table-model.ts +0 -221
  1072. package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.html +0 -34
  1073. package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.ts +0 -34
  1074. package/src/lib/components/dialogs/elder-dialog-config.ts +0 -21
  1075. package/src/lib/components/dialogs/elder-dialog.module.ts +0 -66
  1076. package/src/lib/components/dialogs/elder-dialog.service.ts +0 -204
  1077. package/src/lib/components/dialogs/question-dialog/elder-question-dialog.component.html +0 -36
  1078. package/src/lib/components/dialogs/question-dialog/elder-question-dialog.component.ts +0 -44
  1079. package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.html +0 -27
  1080. package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.ts +0 -55
  1081. package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.ts +0 -54
  1082. package/src/lib/components/errors/elder-error.module.ts +0 -28
  1083. package/src/lib/components/errors/error-util.ts +0 -107
  1084. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.html +0 -33
  1085. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.ts +0 -77
  1086. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.html +0 -14
  1087. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.ts +0 -57
  1088. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.module.ts +0 -23
  1089. package/src/lib/components/files/blob-url.ts +0 -13
  1090. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.html +0 -62
  1091. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.ts +0 -304
  1092. package/src/lib/components/files/elder-file-drop-zone.directive.ts +0 -116
  1093. package/src/lib/components/files/elder-file-select.directive.ts +0 -184
  1094. package/src/lib/components/files/elder-file.module.ts +0 -49
  1095. package/src/lib/components/files/file-select/file-select.component.html +0 -9
  1096. package/src/lib/components/files/file-select/file-select.component.ts +0 -61
  1097. package/src/lib/components/files/file-upload/file-upload.component.html +0 -36
  1098. package/src/lib/components/files/file-upload/file-upload.component.ts +0 -81
  1099. package/src/lib/components/forms/clipboard/elder-clipboard.service.ts +0 -57
  1100. package/src/lib/components/forms/directives/base/elder-class-hostbinding-base.ts +0 -55
  1101. package/src/lib/components/forms/directives/elder-clipboard-put.directive.ts +0 -44
  1102. package/src/lib/components/forms/directives/elder-delayed-focus.directive.ts +0 -44
  1103. package/src/lib/components/forms/directives/elder-form-field-dense.directive.ts +0 -31
  1104. package/src/lib/components/forms/directives/elder-form-field-label.directive.ts +0 -92
  1105. package/src/lib/components/forms/directives/elder-form-field-no-hint.directive.ts +0 -28
  1106. package/src/lib/components/forms/directives/elder-form-field-no-spinner.directive.ts +0 -32
  1107. package/src/lib/components/forms/directives/elder-forms-directives.module.ts +0 -115
  1108. package/src/lib/components/forms/directives/elder-input-pattern.directive.ts +0 -76
  1109. package/src/lib/components/forms/directives/elder-key-event.directive.ts +0 -126
  1110. package/src/lib/components/forms/directives/elder-max.directive.ts +0 -38
  1111. package/src/lib/components/forms/directives/elder-min.directive.ts +0 -38
  1112. package/src/lib/components/forms/directives/elder-next-focusable.directive.ts +0 -101
  1113. package/src/lib/components/forms/directives/elder-plug-parent-form.directive.ts +0 -28
  1114. package/src/lib/components/forms/directives/elder-stop-event-propagation.directive.ts +0 -22
  1115. package/src/lib/components/forms/directives/elder-tab-focus-trap.directive.ts +0 -188
  1116. package/src/lib/components/forms/directives/elder-touched.directive.ts +0 -25
  1117. package/src/lib/components/forms/directives/elder-triple-state-checkbox.directive.ts +0 -132
  1118. package/src/lib/components/forms/directives/validation/elder-multiple-of.validator.ts +0 -59
  1119. package/src/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.ts +0 -80
  1120. package/src/lib/components/forms/elder-forms.module.ts +0 -17
  1121. package/src/lib/components/forms/public_api.ts +0 -3
  1122. package/src/lib/components/forms/search/elder-search-context.directive.ts +0 -181
  1123. package/src/lib/components/forms/search/elder-search-input.directive.ts +0 -244
  1124. package/src/lib/components/forms/search/elder-search.module.ts +0 -48
  1125. package/src/lib/components/forms/search/model/search-input-state.ts +0 -95
  1126. package/src/lib/components/forms/search/model/search-input.ts +0 -30
  1127. package/src/lib/components/forms/search/model/simple-search-input.ts +0 -69
  1128. package/src/lib/components/forms/search/search-box/elder-search-box.component.html +0 -66
  1129. package/src/lib/components/forms/search/search-box/elder-search-box.component.ts +0 -149
  1130. package/src/lib/components/forms/search/search-box/elder-search-panel.component.ts +0 -10
  1131. package/src/lib/components/global-search/elder-global-search.component.html +0 -51
  1132. package/src/lib/components/global-search/elder-global-search.component.ts +0 -158
  1133. package/src/lib/components/global-search/elder-global-search.module.ts +0 -27
  1134. package/src/lib/components/global-search/elder-global-search.service.ts +0 -118
  1135. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.html +0 -19
  1136. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.ts +0 -102
  1137. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.module.ts +0 -20
  1138. package/src/lib/components/graph/elder-progress-bar/sub-bar.ts +0 -6
  1139. package/src/lib/components/headers/elder-header/elder-header.component.css +0 -0
  1140. package/src/lib/components/headers/elder-header/elder-header.component.html +0 -4
  1141. package/src/lib/components/headers/elder-header/elder-header.component.ts +0 -38
  1142. package/src/lib/components/headers/elder-header.module.ts +0 -28
  1143. package/src/lib/components/http-support/elder-http-client.service.ts +0 -82
  1144. package/src/lib/components/http-support/public_api.ts +0 -3
  1145. package/src/lib/components/i18n/entities/elder-i18n-entities.module.ts +0 -74
  1146. package/src/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.html +0 -40
  1147. package/src/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.ts +0 -176
  1148. package/src/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.html +0 -36
  1149. package/src/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.ts +0 -33
  1150. package/src/lib/components/i18n/entities/elder-localized-input-dialog.service.ts +0 -35
  1151. package/src/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.html +0 -56
  1152. package/src/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.ts +0 -200
  1153. package/src/lib/components/i18n/entities/elder-localized-text-column.directive.ts +0 -34
  1154. package/src/lib/components/i18n/entities/elder-localized-texts.directive.ts +0 -62
  1155. package/src/lib/components/i18n/entities/picker/i18n-pick-async.pipe.ts +0 -49
  1156. package/src/lib/components/i18n/entities/picker/i18n-pick.pipe.ts +0 -36
  1157. package/src/lib/components/i18n/entities/picker/localisation-picker.service.ts +0 -104
  1158. package/src/lib/components/i18n/language/elder-language-config.ts +0 -18
  1159. package/src/lib/components/i18n/language/elder-language-interceptor.ts +0 -94
  1160. package/src/lib/components/i18n/language/elder-language.module.ts +0 -57
  1161. package/src/lib/components/i18n/language/elder-language.service.ts +0 -139
  1162. package/src/lib/components/i18n/language/language-switcher/elder-language-switcher.component.html +0 -24
  1163. package/src/lib/components/i18n/language/language-switcher/elder-language-switcher.component.ts +0 -71
  1164. package/src/lib/components/i18n/locales/elder-locales-de-ch.module.ts +0 -46
  1165. package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.html +0 -6
  1166. package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.ts +0 -173
  1167. package/src/lib/components/iframes/data-view/data-view-iframe-adapter.directive.ts +0 -150
  1168. package/src/lib/components/iframes/elder-iframe.module.ts +0 -61
  1169. package/src/lib/components/iframes/iframe-close.directive.ts +0 -49
  1170. package/src/lib/components/iframes/iframe-dialog/iframe-dialog.component.html +0 -9
  1171. package/src/lib/components/iframes/iframe-dialog/iframe-dialog.component.ts +0 -63
  1172. package/src/lib/components/iframes/iframe-host/iframe-host.component.html +0 -41
  1173. package/src/lib/components/iframes/iframe-host/iframe-host.component.ts +0 -172
  1174. package/src/lib/components/iframes/iframe-side-content/iframe-side-content.component.html +0 -8
  1175. package/src/lib/components/iframes/iframe-side-content/iframe-side-content.component.ts +0 -102
  1176. package/src/lib/components/iframes/iframe.service.ts +0 -59
  1177. package/src/lib/components/iframes/typed-event-message.ts +0 -66
  1178. package/src/lib/components/infinitescroll/elder-infinite-autocomplete.directive.ts +0 -79
  1179. package/src/lib/components/infinitescroll/elder-infinite-scroll.directive.ts +0 -187
  1180. package/src/lib/components/infinitescroll/elder-infinite-scroll.module.ts +0 -32
  1181. package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.ts +0 -11
  1182. package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.html +0 -66
  1183. package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.ts +0 -233
  1184. package/src/lib/components/input/autocomplete/elder-autocomplete-many.directive.ts +0 -244
  1185. package/src/lib/components/input/autocomplete/elder-autocomplete.directive.ts +0 -145
  1186. package/src/lib/components/input/autocomplete/elder-autocomplete.module.ts +0 -39
  1187. package/src/lib/components/input/autocomplete/many/word-position-finder.spec.ts +0 -74
  1188. package/src/lib/components/input/autocomplete/many/word-position-finder.ts +0 -76
  1189. package/src/lib/components/input/public_api.ts +0 -3
  1190. package/src/lib/components/labels/elder-labels.module.ts +0 -22
  1191. package/src/lib/components/labels/labels-input/labels-input.component.html +0 -44
  1192. package/src/lib/components/labels/labels-input/labels-input.component.ts +0 -255
  1193. package/src/lib/components/measures/dimensions-input/elder-dimensions-input.component.html +0 -64
  1194. package/src/lib/components/measures/dimensions-input/elder-dimensions-input.component.ts +0 -293
  1195. package/src/lib/components/measures/directives/elder-unit-select.directive.ts +0 -70
  1196. package/src/lib/components/measures/elder-measures.module.ts +0 -76
  1197. package/src/lib/components/measures/elder-quantity-transform.pipe.ts +0 -46
  1198. package/src/lib/components/measures/elder-quantity.pipe.ts +0 -102
  1199. package/src/lib/components/measures/elder-unit.service.ts +0 -135
  1200. package/src/lib/components/measures/model/dimensions.ts +0 -40
  1201. package/src/lib/components/measures/model/quantity.ts +0 -19
  1202. package/src/lib/components/measures/model/unit-dimension.ts +0 -16
  1203. package/src/lib/components/measures/model/unit-registry.ts +0 -110
  1204. package/src/lib/components/measures/model/unit.ts +0 -192
  1205. package/src/lib/components/measures/public_api.ts +0 -9
  1206. package/src/lib/components/measures/quantity-input/elder-quantity-input.component.html +0 -63
  1207. package/src/lib/components/measures/quantity-input/elder-quantity-input.component.ts +0 -221
  1208. package/src/lib/components/measures/util/elder-quantity.service.ts +0 -313
  1209. package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.html +0 -82
  1210. package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.ts +0 -221
  1211. package/src/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.ts +0 -37
  1212. package/src/lib/components/navigation/bread-crumbs/path/path.ts +0 -49
  1213. package/src/lib/components/navigation/nav/elder-nav.module.ts +0 -35
  1214. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.html +0 -30
  1215. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.ts +0 -94
  1216. package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.html +0 -86
  1217. package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.ts +0 -78
  1218. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.html +0 -5
  1219. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.ts +0 -11
  1220. package/src/lib/components/navigation/toolbar/elder-toolbar-column.directive.ts +0 -53
  1221. package/src/lib/components/navigation/toolbar/elder-toolbar.module.ts +0 -51
  1222. package/src/lib/components/navigation/toolbar/elder-toolbar.service.ts +0 -77
  1223. package/src/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.html +0 -47
  1224. package/src/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.ts +0 -78
  1225. package/src/lib/components/navigation/toolbar/toolbar-column-position.ts +0 -20
  1226. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.html +0 -1
  1227. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.ts +0 -54
  1228. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.ts +0 -107
  1229. package/src/lib/components/overlays/elder-overlay-origin.directive.ts +0 -45
  1230. package/src/lib/components/overlays/elder-overlay-trigger.directive.ts +0 -71
  1231. package/src/lib/components/overlays/elder-overlay.component.ts +0 -262
  1232. package/src/lib/components/overlays/elder-overlay.module.ts +0 -29
  1233. package/src/lib/components/panels/card-panel/elder-card-panel.component.html +0 -4
  1234. package/src/lib/components/panels/card-panel/elder-card-panel.component.ts +0 -11
  1235. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.html +0 -4
  1236. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.ts +0 -11
  1237. package/src/lib/components/panels/elder-panel.module.ts +0 -28
  1238. package/src/lib/components/panels/flat/elder-panel.component.html +0 -2
  1239. package/src/lib/components/panels/flat/elder-panel.component.ts +0 -30
  1240. package/src/lib/components/select/auto/elder-auto-select-first.directive.ts +0 -87
  1241. package/src/lib/components/select/auto/elder-select-first-util.ts +0 -98
  1242. package/src/lib/components/select/elder-select-base.ts +0 -355
  1243. package/src/lib/components/select/elder-select-chip.directive.ts +0 -32
  1244. package/src/lib/components/select/elder-select-on-tab.directive.ts +0 -150
  1245. package/src/lib/components/select/elder-select-value.directive.ts +0 -9
  1246. package/src/lib/components/select/elder-select.module.ts +0 -93
  1247. package/src/lib/components/select/multi/elder-multi-select-base.ts +0 -451
  1248. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.html +0 -89
  1249. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.ts +0 -316
  1250. package/src/lib/components/select/multi/elder-multi-select-form-field.ts +0 -80
  1251. package/src/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.ts +0 -102
  1252. package/src/lib/components/select/popup/selection-model-popup.directive.ts +0 -145
  1253. package/src/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.html +0 -18
  1254. package/src/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.ts +0 -56
  1255. package/src/lib/components/select/public_api.ts +0 -5
  1256. package/src/lib/components/select/single/elder-clear-select.directive.ts +0 -64
  1257. package/src/lib/components/select/single/elder-select/elder-select.component.html +0 -90
  1258. package/src/lib/components/select/single/elder-select/elder-select.component.ts +0 -530
  1259. package/src/lib/components/select/single/elder-select-form-field.ts +0 -57
  1260. package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.html +0 -13
  1261. package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.ts +0 -169
  1262. package/src/lib/components/select-chip-list/elder-chip-list-select.module.ts +0 -30
  1263. package/src/lib/components/select-list/elder-select-list.module.ts +0 -26
  1264. package/src/lib/components/select-list/select-list/elder-select-list.component.html +0 -5
  1265. package/src/lib/components/select-list/select-list/elder-select-list.component.ts +0 -91
  1266. package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.html +0 -29
  1267. package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.ts +0 -135
  1268. package/src/lib/components/shell/drawers/drawer-outlet-binding.ts +0 -73
  1269. package/src/lib/components/shell/drawers/elder-route-outlet-drawer.service.ts +0 -137
  1270. package/src/lib/components/shell/drawers/elder-router-outlet.service.ts +0 -145
  1271. package/src/lib/components/shell/elder-shell-slot.directive.ts +0 -61
  1272. package/src/lib/components/shell/elder-shell.module.ts +0 -68
  1273. package/src/lib/components/shell/elder-shell.service.ts +0 -176
  1274. package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.html +0 -25
  1275. package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.ts +0 -89
  1276. package/src/lib/components/shell/shell/elder-shell.component.html +0 -86
  1277. package/src/lib/components/shell/shell/elder-shell.component.ts +0 -243
  1278. package/src/lib/components/shell/shell-content-slot.ts +0 -8
  1279. package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.html +0 -4
  1280. package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.ts +0 -153
  1281. package/src/lib/components/tabs/elder-tab/elder-tab.directive.ts +0 -31
  1282. package/src/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.ts +0 -320
  1283. package/src/lib/components/tabs/elder-tab.module.ts +0 -24
  1284. package/src/lib/components/theme/elder-theme-applier.directive.ts +0 -73
  1285. package/src/lib/components/theme/elder-theme-preference.service.ts +0 -79
  1286. package/src/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.html +0 -9
  1287. package/src/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.ts +0 -86
  1288. package/src/lib/components/theme/elder-theme.directive.ts +0 -65
  1289. package/src/lib/components/theme/elder-theme.module.ts +0 -52
  1290. package/src/lib/components/theme/elder-theme.service.ts +0 -151
  1291. package/src/lib/components/theme/known-elder-themes.ts +0 -17
  1292. package/src/lib/components/theme/theme-spec.ts +0 -32
  1293. package/src/lib/components/time/date-adapters/custom-date-adapter.ts +0 -34
  1294. package/src/lib/components/time/duration/duration-bucket.ts +0 -143
  1295. package/src/lib/components/time/duration/duration-format.ts +0 -346
  1296. package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.html +0 -51
  1297. package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.ts +0 -132
  1298. package/src/lib/components/time/duration/iso-duration-str.ts +0 -5
  1299. package/src/lib/components/time/elder-date-switcher/elder-date-switcher.component.html +0 -29
  1300. package/src/lib/components/time/elder-date-switcher/elder-date-switcher.component.ts +0 -120
  1301. package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.html +0 -15
  1302. package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.ts +0 -93
  1303. package/src/lib/components/time/elder-interval-input/elder-interval-input.component.html +0 -92
  1304. package/src/lib/components/time/elder-interval-input/elder-interval-input.component.ts +0 -222
  1305. package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.html +0 -40
  1306. package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.ts +0 -213
  1307. package/src/lib/components/time/elder-local-time-input/elder-local-time-input.component.html +0 -18
  1308. package/src/lib/components/time/elder-local-time-input/elder-local-time-input.component.ts +0 -98
  1309. package/src/lib/components/time/elder-time.module.ts +0 -89
  1310. package/src/lib/components/time/period/elder-period-input/elder-period-input.component.html +0 -40
  1311. package/src/lib/components/time/period/elder-period-input/elder-period-input.component.ts +0 -148
  1312. package/src/lib/components/time/period/period-bucket.ts +0 -51
  1313. package/src/lib/components/time/period/period-format.ts +0 -127
  1314. package/src/lib/components/time/public_api.ts +0 -8
  1315. package/src/lib/components/toasts/elder-toast.module.ts +0 -21
  1316. package/src/lib/components/toasts/elder-toast.service.ts +0 -244
  1317. package/src/lib/components/toasts/standard-toast/standard-toast.component.html +0 -34
  1318. package/src/lib/components/toasts/standard-toast/standard-toast.component.ts +0 -80
  1319. package/src/lib/components/toasts/toast-type.ts +0 -5
  1320. package/src/lib/components/toasts/toast.ts +0 -12
  1321. package/src/lib/components/url-fragment/elder-url-fragment.module.ts +0 -34
  1322. package/src/lib/components/url-fragment/elder-url-fragment.ts +0 -10
  1323. package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.html +0 -25
  1324. package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.ts +0 -107
  1325. package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.html +0 -1
  1326. package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.ts +0 -81
  1327. package/src/lib/components/viewers/elder-viewers.module.ts +0 -18
  1328. package/src/lib/features/event-source/elder-event-source.service.ts +0 -71
  1329. package/src/lib/features/event-source/public_api.ts +0 -3
  1330. package/src/lib/features/event-source/reactive-event-source.ts +0 -252
  1331. package/src/lib/features/kafent/access-token-provider.ts +0 -21
  1332. package/src/lib/features/kafent/kafent-config.ts +0 -42
  1333. package/src/lib/features/kafent/kafent-event-stream.ts +0 -48
  1334. package/src/lib/features/kafent/kafent-event.service.ts +0 -128
  1335. package/src/lib/features/kafent/kafent-event.ts +0 -14
  1336. package/src/lib/features/kafent/kafent-live-event-request.ts +0 -75
  1337. package/src/lib/features/kafent/kafent.module.ts +0 -61
  1338. package/src/lib/features/kafent/sse/kafent-event-stream-sse.service.ts +0 -167
  1339. package/src/lib/features/kafent/sse/kafent-topic-sse.ts +0 -145
  1340. package/src/lib/features/public_api.ts +0 -4
  1341. package/src/lib/i18n/elder-composite-translation-loader.ts +0 -14
  1342. package/src/lib/i18n/elder-starter-translation-loader.ts +0 -20
  1343. package/src/lib/pipes/bytes.pipe.ts +0 -18
  1344. package/src/lib/pipes/elder-pipes.module.ts +0 -51
  1345. package/src/lib/pipes/elder-repeat.pipe.ts +0 -16
  1346. package/src/lib/pipes/elder-round.pipe.ts +0 -37
  1347. package/src/lib/pipes/elder-safe-url.pipe.ts +0 -12
  1348. package/src/lib/pipes/elder-truncate.pipe.ts +0 -45
  1349. package/src/lib/pipes/iso-duration.pipe.ts +0 -64
  1350. package/src/lib/pipes/iso-interval-parse.pipe.ts +0 -61
  1351. package/src/lib/pipes/iso-interval.pipe.ts +0 -146
  1352. package/src/lib/pipes/public_api.ts +0 -3
  1353. package/src/lib/pipes/time-ago.pipe.ts +0 -88
  1354. package/src/lib/pipes/time-duration.pipe.ts +0 -81
  1355. package/src/lib/pipes/weight.pipe.ts +0 -45
  1356. package/src/public_api.ts +0 -8
  1357. package/src/test.ts +0 -28
  1358. package/tsconfig.lib.json +0 -33
  1359. package/tsconfig.lib.prod.json +0 -10
  1360. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,256 @@
1
+ import { ContentChildren, Directive, Input } from '@angular/core';
2
+ import { takeUntil } from 'rxjs/operators';
3
+ import { Subject } from 'rxjs';
4
+ import { MatTab } from '@angular/material/tabs';
5
+ import { LoggerFactory } from '@elderbyte/ts-logger';
6
+ import { ElderTabDirective } from '../elder-tab/elder-tab.directive';
7
+ import { QueryListBinding } from '../../../common/utils/query-list-binding';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../common/url/elder-url-fragment-params.service";
10
+ import * as i2 from "@angular/material/tabs";
11
+ /**
12
+ * Adds out-of-the-box url-fragment based tab navigation
13
+ * within the mat-tab-group it is placed upon.
14
+ *
15
+ * Add elderTab directive to each tab of the group to
16
+ * support id-based tab navigation.
17
+ */
18
+ export class ElderTabGroupRoutingDirective {
19
+ /***************************************************************************
20
+ * *
21
+ * Constructor *
22
+ * *
23
+ **************************************************************************/
24
+ constructor(fragmentParamsService, tabGroup) {
25
+ this.fragmentParamsService = fragmentParamsService;
26
+ this.tabGroup = tabGroup;
27
+ /***************************************************************************
28
+ * *
29
+ * Fields *
30
+ * *
31
+ **************************************************************************/
32
+ this._log = LoggerFactory.getLogger(this.constructor.name);
33
+ this._destroy$ = new Subject();
34
+ this.tabGroup.selectedTabChange
35
+ .pipe(takeUntil(this._destroy$))
36
+ .subscribe(event => this.handleTabChangeEvent(event));
37
+ }
38
+ /***************************************************************************
39
+ * *
40
+ * Life Cycle *
41
+ * *
42
+ **************************************************************************/
43
+ ngAfterViewInit() {
44
+ this.fragmentParamsService.params$
45
+ .pipe(takeUntil(this._destroy$))
46
+ .subscribe(params => this.handleFragmentParamsChange(params));
47
+ QueryListBinding
48
+ .of(this.tabs)
49
+ .updated(() => this.retryLastFailedActivation())
50
+ .bindUntil(this._destroy$);
51
+ QueryListBinding
52
+ .of(this.elderTabs)
53
+ .updated(() => this.retryLastFailedActivation())
54
+ .bindUntil(this._destroy$);
55
+ }
56
+ ngOnDestroy() {
57
+ this.removeFragmentParam();
58
+ this._destroy$.next();
59
+ this._destroy$.complete();
60
+ }
61
+ /***************************************************************************
62
+ * *
63
+ * Properties *
64
+ * *
65
+ **************************************************************************/
66
+ get activeTabId() {
67
+ return this.activeElderTab?.id;
68
+ }
69
+ get activeTabIndex() {
70
+ return this.tabGroup.selectedIndex;
71
+ }
72
+ /***************************************************************************
73
+ * *
74
+ * Private Methods *
75
+ * *
76
+ **************************************************************************/
77
+ handleFragmentParamsChange(params) {
78
+ const tabMarker = this.getTabMarker(params);
79
+ if (tabMarker) {
80
+ this.activateTabByMarker(tabMarker);
81
+ }
82
+ }
83
+ activateTabByMarker(tabMarker) {
84
+ let success;
85
+ if (this.isIndexMarker(tabMarker)) {
86
+ const index = this.parseIndexMarker(tabMarker);
87
+ success = this.activateTabByIndex(index);
88
+ }
89
+ else {
90
+ // if no index is given we assume the marker is the id of the tab.
91
+ success = this.activateTabById(tabMarker);
92
+ }
93
+ // remember tab marker in case of failure to retry later.
94
+ this.lastFailedTabMarker = success ? null : tabMarker;
95
+ }
96
+ activateTabByIndex(indexToActivate) {
97
+ if (indexToActivate !== this.activeTabIndex) {
98
+ this._log.trace('Activating tab by index ', indexToActivate);
99
+ // First try to identify corresponding elder tab, so that we may work with its ID instead of index.
100
+ const elderTab = this.findElderTabByIndex(indexToActivate);
101
+ if (elderTab) {
102
+ return this.activateElderTab(elderTab);
103
+ }
104
+ else {
105
+ // If no elder tab found, clear active elder tab to ensure consistent state.
106
+ this.activeElderTab = null;
107
+ return this.setSelectedIndex(indexToActivate);
108
+ }
109
+ }
110
+ else {
111
+ return true;
112
+ }
113
+ }
114
+ activateTabById(tabId) {
115
+ const elderTab = this.findElderTabById(tabId);
116
+ if (elderTab) {
117
+ return this.activateElderTab(elderTab);
118
+ }
119
+ else {
120
+ // If no elder tab found, clear active elder tab to ensure consistent state.
121
+ this.activeElderTab = null;
122
+ this._log.warn('Could not find tab with ID "' + tabId + '". Ensure elderTab directive is added to corresponding tab.');
123
+ return false;
124
+ }
125
+ }
126
+ activateElderTab(elderTab) {
127
+ if (this.activeElderTab !== elderTab) {
128
+ this.activeElderTab = elderTab;
129
+ const indexToActivate = this.getIndexOfTab(elderTab.tab);
130
+ return this.setSelectedIndex(indexToActivate);
131
+ }
132
+ else {
133
+ return true;
134
+ }
135
+ }
136
+ handleTabChangeEvent(tabChangeEvent) {
137
+ this._log.trace('Handling tabChangeEvent: ', tabChangeEvent);
138
+ this.lastFailedTabMarker = null;
139
+ this.activeElderTab = this.findElderTabByTab(tabChangeEvent.tab);
140
+ this.updateFragmentParam();
141
+ }
142
+ retryLastFailedActivation() {
143
+ if (this.lastFailedTabMarker) {
144
+ this._log.trace('Retrying to activate tab by marker:', this.lastFailedTabMarker);
145
+ this.activateTabByMarker(this.lastFailedTabMarker);
146
+ }
147
+ }
148
+ setSelectedIndex(index) {
149
+ if (index !== this.activeTabIndex) {
150
+ if (this.isValidIndex(index)) {
151
+ this._log.trace('Activating tab by index ', index);
152
+ this.tabGroup.selectedIndex = index;
153
+ return true;
154
+ }
155
+ else {
156
+ this._log.warn('Could not find tab with index "' + index + '".');
157
+ return false;
158
+ }
159
+ }
160
+ else {
161
+ return true;
162
+ }
163
+ }
164
+ isValidIndex(index) {
165
+ return this.tabs.length > index;
166
+ }
167
+ findElderTabById(tabId) {
168
+ return this.elderTabs.find(t => t.id === tabId);
169
+ }
170
+ findElderTabByIndex(tabIndex) {
171
+ const tab = this.findTabByIndex(tabIndex);
172
+ if (tab) {
173
+ return this.findElderTabByTab(tab);
174
+ }
175
+ else {
176
+ return null;
177
+ }
178
+ }
179
+ findElderTabByTab(tab) {
180
+ return this.elderTabs.find(elderTab => elderTab.tab === tab);
181
+ }
182
+ findTabByIndex(tabIndex) {
183
+ if (this.tabs.length > tabIndex) {
184
+ return this.tabs.get(tabIndex);
185
+ }
186
+ else {
187
+ return null;
188
+ }
189
+ }
190
+ getIndexOfTab(tab) {
191
+ return this.tabs.toArray().indexOf(tab);
192
+ }
193
+ updateFragmentParam() {
194
+ const currentTabMarker = this.getTabMarker(this.fragmentParamsService.params);
195
+ // If possible, use tab ID as marker. If not, use tab index as fallback.
196
+ const newTabMarker = this.activeTabId
197
+ ? this.activeTabId
198
+ : this.serializeIndexMarker(this.activeTabIndex);
199
+ if (newTabMarker !== currentTabMarker) {
200
+ this.setFragmentParam(newTabMarker);
201
+ }
202
+ }
203
+ setFragmentParam(value) {
204
+ const params = this.fragmentParamsService.params;
205
+ params.set(this.tabGroupQueryParamKey, value);
206
+ this.fragmentParamsService.setParams(params);
207
+ }
208
+ removeFragmentParam() {
209
+ const params = this.fragmentParamsService.params;
210
+ params.remove(this.tabGroupQueryParamKey);
211
+ this.fragmentParamsService.setParams(params);
212
+ }
213
+ getTabMarker(queryParams) {
214
+ return queryParams.has(this.tabGroupQueryParamKey)
215
+ ? queryParams.get(this.tabGroupQueryParamKey)
216
+ : null;
217
+ }
218
+ isIndexMarker(marker) {
219
+ return marker && marker.startsWith(ElderTabGroupRoutingDirective.TAB_INDEX_PREFIX);
220
+ }
221
+ parseIndexMarker(marker) {
222
+ if (this.isIndexMarker(marker)) {
223
+ const indexStr = marker.replace(ElderTabGroupRoutingDirective.TAB_INDEX_PREFIX, '');
224
+ return Number(indexStr);
225
+ }
226
+ else {
227
+ throw new Error('Cannot parse index from marker "' + marker + '". Check with isIndexMarker first!');
228
+ }
229
+ }
230
+ serializeIndexMarker(index) {
231
+ return ElderTabGroupRoutingDirective.TAB_INDEX_PREFIX + String(index);
232
+ }
233
+ }
234
+ /**
235
+ * Prefix used to indicate and index-based tab marker.
236
+ */
237
+ ElderTabGroupRoutingDirective.TAB_INDEX_PREFIX = 'idx:';
238
+ ElderTabGroupRoutingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderTabGroupRoutingDirective, deps: [{ token: i1.ElderUrlFragmentParamsService }, { token: i2.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive });
239
+ ElderTabGroupRoutingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ElderTabGroupRoutingDirective, selector: "[elderTabGroupRouting]", inputs: { tabGroupQueryParamKey: ["elderTabGroupRouting", "tabGroupQueryParamKey"] }, queries: [{ propertyName: "tabs", predicate: MatTab }, { propertyName: "elderTabs", predicate: ElderTabDirective }], exportAs: ["elderTabGroupRouting"], ngImport: i0 });
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderTabGroupRoutingDirective, decorators: [{
241
+ type: Directive,
242
+ args: [{
243
+ selector: '[elderTabGroupRouting]',
244
+ exportAs: 'elderTabGroupRouting'
245
+ }]
246
+ }], ctorParameters: function () { return [{ type: i1.ElderUrlFragmentParamsService }, { type: i2.MatTabGroup }]; }, propDecorators: { tabGroupQueryParamKey: [{
247
+ type: Input,
248
+ args: ['elderTabGroupRouting']
249
+ }], tabs: [{
250
+ type: ContentChildren,
251
+ args: [MatTab]
252
+ }], elderTabs: [{
253
+ type: ContentChildren,
254
+ args: [ElderTabDirective]
255
+ }] } });
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGFiLWdyb3VwLXJvdXRpbmcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90YWJzL2VsZGVyLXRhYi1ncm91cC1yb3V0aW5nL2VsZGVyLXRhYi1ncm91cC1yb3V0aW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQVEsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsTUFBTSxFQUFpQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUduRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUUxRTs7Ozs7O0dBTUc7QUFLSCxNQUFNLE9BQU8sNkJBQTZCO0lBaUR4Qzs7OztnRkFJNEU7SUFFNUUsWUFDVSxxQkFBb0QsRUFDcEQsUUFBcUI7UUFEckIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUErQjtRQUNwRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBbEQvQjs7OztvRkFJNEU7UUFFM0QsU0FBSSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQTZDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7YUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPO2FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRWhFLGdCQUFnQjthQUNiLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2IsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO2FBQy9DLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0IsZ0JBQWdCO2FBQ2IsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDbEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO2FBQy9DLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsMEJBQTBCLENBQUMsTUFBc0I7UUFDdkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QyxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxTQUFpQjtRQUUzQyxJQUFJLE9BQWdCLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFDO2FBQU07WUFDTCxrRUFBa0U7WUFDbEUsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0M7UUFFRCx5REFBeUQ7UUFDekQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVPLGtCQUFrQixDQUFDLGVBQXVCO1FBRWhELElBQUksZUFBZSxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFFN0QsbUdBQW1HO1lBQ25HLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUUzRCxJQUFJLFFBQVEsRUFBRTtnQkFDWixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN4QztpQkFBTTtnQkFDTCw0RUFBNEU7Z0JBQzVFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUMvQztTQUNGO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBRUgsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFhO1FBQ25DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxJQUFJLFFBQVEsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3hDO2FBQU07WUFDTCw0RUFBNEU7WUFDNUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsOEJBQThCLEdBQUcsS0FBSyxHQUFHLDZEQUE2RCxDQUFDLENBQUM7WUFDdkgsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxRQUEyQjtRQUVsRCxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssUUFBUSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDO1lBQy9CLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQy9DO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBRUgsQ0FBQztJQUVPLG9CQUFvQixDQUFDLGNBQWlDO1FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWE7UUFDcEMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUVqQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQ3BDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUNBQWlDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUNqRSxPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWE7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWE7UUFDcEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFFBQWdCO1FBQzFDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsSUFBSSxHQUFHLEVBQUU7WUFDUCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxjQUFjLENBQUMsUUFBZ0I7UUFDckMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNoQzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsR0FBVztRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyxtQkFBbUI7UUFFekIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5RSx3RUFBd0U7UUFDeEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVc7WUFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQ2xCLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRW5ELElBQUksWUFBWSxLQUFLLGdCQUFnQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFhO1FBRXBDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFDakQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sbUJBQW1CO1FBRXpCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFDakQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxZQUFZLENBQUMsV0FBMkI7UUFDOUMsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztZQUNoRCxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBYztRQUNsQyxPQUFPLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BQWM7UUFFckMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEYsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekI7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLEdBQUcsTUFBTSxHQUFHLG9DQUFvQyxDQUFDLENBQUM7U0FDdEc7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsS0FBYTtRQUN4QyxPQUFPLDZCQUE2QixDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RSxDQUFDOztBQXZTRDs7R0FFRztBQUNxQiw4Q0FBZ0IsR0FBRyxNQUFPLENBQUE7MkhBTHZDLDZCQUE2QjsrR0FBN0IsNkJBQTZCLHlLQWdDdkIsTUFBTSw0Q0FPTixpQkFBaUI7NEZBdkN2Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLHNCQUFzQjtpQkFDakM7OElBNEJRLHFCQUFxQjtzQkFEM0IsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBT3RCLElBQUk7c0JBRFYsZUFBZTt1QkFBQyxNQUFNO2dCQVFoQixTQUFTO3NCQURmLGVBQWU7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Zmlyc3QsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TWF0VGFiLCBNYXRUYWJDaGFuZ2VFdmVudCwgTWF0VGFiR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VsZGVyVGFiRGlyZWN0aXZlfSBmcm9tICcuLi9lbGRlci10YWIvZWxkZXItdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyVXJsRnJhZ21lbnRQYXJhbXNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXJsL2VsZGVyLXVybC1mcmFnbWVudC1wYXJhbXMuc2VydmljZSc7XG5pbXBvcnQge1VybFF1ZXJ5UGFyYW1zfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXJsL3VybC1xdWVyeS1wYXJhbXMnO1xuaW1wb3J0IHtRdWVyeUxpc3RCaW5kaW5nfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvcXVlcnktbGlzdC1iaW5kaW5nJztcblxuLyoqXG4gKiBBZGRzIG91dC1vZi10aGUtYm94IHVybC1mcmFnbWVudCBiYXNlZCB0YWIgbmF2aWdhdGlvblxuICogd2l0aGluIHRoZSBtYXQtdGFiLWdyb3VwIGl0IGlzIHBsYWNlZCB1cG9uLlxuICpcbiAqIEFkZCBlbGRlclRhYiBkaXJlY3RpdmUgdG8gZWFjaCB0YWIgb2YgdGhlIGdyb3VwIHRvXG4gKiBzdXBwb3J0IGlkLWJhc2VkIHRhYiBuYXZpZ2F0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJUYWJHcm91cFJvdXRpbmddJyxcbiAgZXhwb3J0QXM6ICdlbGRlclRhYkdyb3VwUm91dGluZydcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUYWJHcm91cFJvdXRpbmdEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBQcmVmaXggdXNlZCB0byBpbmRpY2F0ZSBhbmQgaW5kZXgtYmFzZWQgdGFiIG1hcmtlci5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFRBQl9JTkRFWF9QUkVGSVggPSAnaWR4Oic7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIGxhc3QgdGFiIG1hcmtlciAoZWl0aGVyIElEIG9yIGluZGV4KVxuICAgKiB3aGljaCBjb3VsZCBub3QgYmUgYWN0aXZhdGVkLiBUaGlzIGlzIHVzZWQgdG8gcmV0cnlcbiAgICogYWN0aXZhdGlvbiBvbmNlIGNoYW5nZXMgb24gdGFiIHN0cnVjdHVyZSBvY2N1ci5cbiAgICovXG4gIHByaXZhdGUgbGFzdEZhaWxlZFRhYk1hcmtlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdHJpbmcgdG8gdXNlIGFzIHF1ZXJ5IHBhcmFtIGtleS5cbiAgICovXG4gIEBJbnB1dCgnZWxkZXJUYWJHcm91cFJvdXRpbmcnKVxuICBwdWJsaWMgdGFiR3JvdXBRdWVyeVBhcmFtS2V5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjaGlsZCB0YWJzIHdpdGhpbiB0aGlzIG5hdmlnYXRpb24gY29udGV4dC5cbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oTWF0VGFiKVxuICBwdWJsaWMgdGFiczogUXVlcnlMaXN0PE1hdFRhYj47XG5cbiAgLyoqXG4gICAqIFRoZSBjaGlsZCB0YWJzIHdpdGhpbiB0aGlzIG5hdmlnYXRpb24gY29udGV4dFxuICAgKiBtYXJrZWQgd2l0aCB0aGUgZWxkZXJUYWJzIGRpcmVjdGl2ZS5cbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oRWxkZXJUYWJEaXJlY3RpdmUpXG4gIHB1YmxpYyBlbGRlclRhYnM6IFF1ZXJ5TGlzdDxFbGRlclRhYkRpcmVjdGl2ZT47XG5cbiAgLyoqXG4gICAqIFRoZSB0YWIgbWFya2VkIHdpdGggZWxkZXJUYWIgZGlyZWN0aXZlIHdoaWNoXG4gICAqIGlzIGN1cnJlbnRseSBhY3RpdmUuIE1heSBiZSBudWxsIGlmXG4gICAqIGVsZGVyVGFiIG1hcmtlcnMgYXJlIG5vdCB1c2VkLlxuICAgKi9cbiAgcHVibGljIGFjdGl2ZUVsZGVyVGFiOiBFbGRlclRhYkRpcmVjdGl2ZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZyYWdtZW50UGFyYW1zU2VydmljZTogRWxkZXJVcmxGcmFnbWVudFBhcmFtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0YWJHcm91cDogTWF0VGFiR3JvdXBcbiAgKSB7XG4gICAgdGhpcy50YWJHcm91cC5zZWxlY3RlZFRhYkNoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5oYW5kbGVUYWJDaGFuZ2VFdmVudChldmVudCkpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZyYWdtZW50UGFyYW1zU2VydmljZS5wYXJhbXMkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShwYXJhbXMgPT4gdGhpcy5oYW5kbGVGcmFnbWVudFBhcmFtc0NoYW5nZShwYXJhbXMpKTtcblxuICAgIFF1ZXJ5TGlzdEJpbmRpbmdcbiAgICAgIC5vZih0aGlzLnRhYnMpXG4gICAgICAudXBkYXRlZCgoKSA9PiB0aGlzLnJldHJ5TGFzdEZhaWxlZEFjdGl2YXRpb24oKSlcbiAgICAgIC5iaW5kVW50aWwodGhpcy5fZGVzdHJveSQpO1xuXG4gICAgUXVlcnlMaXN0QmluZGluZ1xuICAgICAgLm9mKHRoaXMuZWxkZXJUYWJzKVxuICAgICAgLnVwZGF0ZWQoKCkgPT4gdGhpcy5yZXRyeUxhc3RGYWlsZWRBY3RpdmF0aW9uKCkpXG4gICAgICAuYmluZFVudGlsKHRoaXMuX2Rlc3Ryb3kkKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZUZyYWdtZW50UGFyYW0oKTtcblxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBhY3RpdmVUYWJJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUVsZGVyVGFiPy5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBoYW5kbGVGcmFnbWVudFBhcmFtc0NoYW5nZShwYXJhbXM6IFVybFF1ZXJ5UGFyYW1zKTogdm9pZCB7XG4gICAgY29uc3QgdGFiTWFya2VyID0gdGhpcy5nZXRUYWJNYXJrZXIocGFyYW1zKTtcblxuICAgIGlmICh0YWJNYXJrZXIpIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVUYWJCeU1hcmtlcih0YWJNYXJrZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVUYWJCeU1hcmtlcih0YWJNYXJrZXI6IHN0cmluZyk6IHZvaWQge1xuXG4gICAgbGV0IHN1Y2Nlc3M6IGJvb2xlYW47XG4gICAgaWYgKHRoaXMuaXNJbmRleE1hcmtlcih0YWJNYXJrZXIpKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMucGFyc2VJbmRleE1hcmtlcih0YWJNYXJrZXIpO1xuICAgICAgc3VjY2VzcyA9IHRoaXMuYWN0aXZhdGVUYWJCeUluZGV4KGluZGV4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgbm8gaW5kZXggaXMgZ2l2ZW4gd2UgYXNzdW1lIHRoZSBtYXJrZXIgaXMgdGhlIGlkIG9mIHRoZSB0YWIuXG4gICAgICBzdWNjZXNzID0gdGhpcy5hY3RpdmF0ZVRhYkJ5SWQodGFiTWFya2VyKTtcbiAgICB9XG5cbiAgICAvLyByZW1lbWJlciB0YWIgbWFya2VyIGluIGNhc2Ugb2YgZmFpbHVyZSB0byByZXRyeSBsYXRlci5cbiAgICB0aGlzLmxhc3RGYWlsZWRUYWJNYXJrZXIgPSBzdWNjZXNzID8gbnVsbCA6IHRhYk1hcmtlcjtcbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVUYWJCeUluZGV4KGluZGV4VG9BY3RpdmF0ZTogbnVtYmVyKTogYm9vbGVhbiB7XG5cbiAgICBpZiAoaW5kZXhUb0FjdGl2YXRlICE9PSB0aGlzLmFjdGl2ZVRhYkluZGV4KSB7XG4gICAgICB0aGlzLl9sb2cudHJhY2UoJ0FjdGl2YXRpbmcgdGFiIGJ5IGluZGV4ICcsIGluZGV4VG9BY3RpdmF0ZSk7XG5cbiAgICAgIC8vIEZpcnN0IHRyeSB0byBpZGVudGlmeSBjb3JyZXNwb25kaW5nIGVsZGVyIHRhYiwgc28gdGhhdCB3ZSBtYXkgd29yayB3aXRoIGl0cyBJRCBpbnN0ZWFkIG9mIGluZGV4LlxuICAgICAgY29uc3QgZWxkZXJUYWIgPSB0aGlzLmZpbmRFbGRlclRhYkJ5SW5kZXgoaW5kZXhUb0FjdGl2YXRlKTtcblxuICAgICAgaWYgKGVsZGVyVGFiKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2YXRlRWxkZXJUYWIoZWxkZXJUYWIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSWYgbm8gZWxkZXIgdGFiIGZvdW5kLCBjbGVhciBhY3RpdmUgZWxkZXIgdGFiIHRvIGVuc3VyZSBjb25zaXN0ZW50IHN0YXRlLlxuICAgICAgICB0aGlzLmFjdGl2ZUVsZGVyVGFiID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0U2VsZWN0ZWRJbmRleChpbmRleFRvQWN0aXZhdGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVUYWJCeUlkKHRhYklkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBlbGRlclRhYiA9IHRoaXMuZmluZEVsZGVyVGFiQnlJZCh0YWJJZCk7XG5cbiAgICBpZiAoZWxkZXJUYWIpIHtcbiAgICAgIHJldHVybiB0aGlzLmFjdGl2YXRlRWxkZXJUYWIoZWxkZXJUYWIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiBubyBlbGRlciB0YWIgZm91bmQsIGNsZWFyIGFjdGl2ZSBlbGRlciB0YWIgdG8gZW5zdXJlIGNvbnNpc3RlbnQgc3RhdGUuXG4gICAgICB0aGlzLmFjdGl2ZUVsZGVyVGFiID0gbnVsbDtcbiAgICAgIHRoaXMuX2xvZy53YXJuKCdDb3VsZCBub3QgZmluZCB0YWIgd2l0aCBJRCBcIicgKyB0YWJJZCArICdcIi4gRW5zdXJlIGVsZGVyVGFiIGRpcmVjdGl2ZSBpcyBhZGRlZCB0byBjb3JyZXNwb25kaW5nIHRhYi4nKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFjdGl2YXRlRWxkZXJUYWIoZWxkZXJUYWI6IEVsZGVyVGFiRGlyZWN0aXZlKTogYm9vbGVhbiB7XG5cbiAgICBpZiAodGhpcy5hY3RpdmVFbGRlclRhYiAhPT0gZWxkZXJUYWIpIHtcbiAgICAgIHRoaXMuYWN0aXZlRWxkZXJUYWIgPSBlbGRlclRhYjtcbiAgICAgIGNvbnN0IGluZGV4VG9BY3RpdmF0ZSA9IHRoaXMuZ2V0SW5kZXhPZlRhYihlbGRlclRhYi50YWIpO1xuICAgICAgcmV0dXJuIHRoaXMuc2V0U2VsZWN0ZWRJbmRleChpbmRleFRvQWN0aXZhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVGFiQ2hhbmdlRXZlbnQodGFiQ2hhbmdlRXZlbnQ6IE1hdFRhYkNoYW5nZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fbG9nLnRyYWNlKCdIYW5kbGluZyB0YWJDaGFuZ2VFdmVudDogJywgdGFiQ2hhbmdlRXZlbnQpO1xuICAgIHRoaXMubGFzdEZhaWxlZFRhYk1hcmtlciA9IG51bGw7XG4gICAgdGhpcy5hY3RpdmVFbGRlclRhYiA9IHRoaXMuZmluZEVsZGVyVGFiQnlUYWIodGFiQ2hhbmdlRXZlbnQudGFiKTtcbiAgICB0aGlzLnVwZGF0ZUZyYWdtZW50UGFyYW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgcmV0cnlMYXN0RmFpbGVkQWN0aXZhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sYXN0RmFpbGVkVGFiTWFya2VyKSB7XG4gICAgICB0aGlzLl9sb2cudHJhY2UoJ1JldHJ5aW5nIHRvIGFjdGl2YXRlIHRhYiBieSBtYXJrZXI6JywgdGhpcy5sYXN0RmFpbGVkVGFiTWFya2VyKTtcbiAgICAgIHRoaXMuYWN0aXZhdGVUYWJCeU1hcmtlcih0aGlzLmxhc3RGYWlsZWRUYWJNYXJrZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWRJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKGluZGV4ICE9PSB0aGlzLmFjdGl2ZVRhYkluZGV4KSB7XG5cbiAgICAgIGlmICh0aGlzLmlzVmFsaWRJbmRleChpbmRleCkpIHtcbiAgICAgICAgdGhpcy5fbG9nLnRyYWNlKCdBY3RpdmF0aW5nIHRhYiBieSBpbmRleCAnLCBpbmRleCk7XG4gICAgICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2xvZy53YXJuKCdDb3VsZCBub3QgZmluZCB0YWIgd2l0aCBpbmRleCBcIicgKyBpbmRleCArICdcIi4nKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWRJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGFicy5sZW5ndGggPiBpbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEVsZGVyVGFiQnlJZCh0YWJJZDogc3RyaW5nKTogRWxkZXJUYWJEaXJlY3RpdmUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5lbGRlclRhYnMuZmluZCh0ID0+IHQuaWQgPT09IHRhYklkKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEVsZGVyVGFiQnlJbmRleCh0YWJJbmRleDogbnVtYmVyKTogRWxkZXJUYWJEaXJlY3RpdmUgfCBudWxsIHtcbiAgICBjb25zdCB0YWIgPSB0aGlzLmZpbmRUYWJCeUluZGV4KHRhYkluZGV4KTtcbiAgICBpZiAodGFiKSB7XG4gICAgICByZXR1cm4gdGhpcy5maW5kRWxkZXJUYWJCeVRhYih0YWIpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmRFbGRlclRhYkJ5VGFiKHRhYjogTWF0VGFiKTogRWxkZXJUYWJEaXJlY3RpdmUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5lbGRlclRhYnMuZmluZChlbGRlclRhYiA9PiBlbGRlclRhYi50YWIgPT09IHRhYik7XG4gIH1cblxuICBwcml2YXRlIGZpbmRUYWJCeUluZGV4KHRhYkluZGV4OiBudW1iZXIpOiBNYXRUYWIgfCBudWxsIHtcbiAgICBpZiAodGhpcy50YWJzLmxlbmd0aCA+IHRhYkluZGV4KSB7XG4gICAgICByZXR1cm4gdGhpcy50YWJzLmdldCh0YWJJbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5kZXhPZlRhYih0YWI6IE1hdFRhYik6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnRhYnMudG9BcnJheSgpLmluZGV4T2YodGFiKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRnJhZ21lbnRQYXJhbSgpOiB2b2lkIHtcblxuICAgIGNvbnN0IGN1cnJlbnRUYWJNYXJrZXIgPSB0aGlzLmdldFRhYk1hcmtlcih0aGlzLmZyYWdtZW50UGFyYW1zU2VydmljZS5wYXJhbXMpO1xuXG4gICAgLy8gSWYgcG9zc2libGUsIHVzZSB0YWIgSUQgYXMgbWFya2VyLiBJZiBub3QsIHVzZSB0YWIgaW5kZXggYXMgZmFsbGJhY2suXG4gICAgY29uc3QgbmV3VGFiTWFya2VyID0gdGhpcy5hY3RpdmVUYWJJZFxuICAgICAgPyB0aGlzLmFjdGl2ZVRhYklkXG4gICAgICA6IHRoaXMuc2VyaWFsaXplSW5kZXhNYXJrZXIodGhpcy5hY3RpdmVUYWJJbmRleCk7XG5cbiAgICBpZiAobmV3VGFiTWFya2VyICE9PSBjdXJyZW50VGFiTWFya2VyKSB7XG4gICAgICB0aGlzLnNldEZyYWdtZW50UGFyYW0obmV3VGFiTWFya2VyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEZyYWdtZW50UGFyYW0odmFsdWU6IHN0cmluZyk6IHZvaWQge1xuXG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5mcmFnbWVudFBhcmFtc1NlcnZpY2UucGFyYW1zO1xuICAgIHBhcmFtcy5zZXQodGhpcy50YWJHcm91cFF1ZXJ5UGFyYW1LZXksIHZhbHVlKTtcblxuICAgIHRoaXMuZnJhZ21lbnRQYXJhbXNTZXJ2aWNlLnNldFBhcmFtcyhwYXJhbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVGcmFnbWVudFBhcmFtKCk6IHZvaWQge1xuXG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5mcmFnbWVudFBhcmFtc1NlcnZpY2UucGFyYW1zO1xuICAgIHBhcmFtcy5yZW1vdmUodGhpcy50YWJHcm91cFF1ZXJ5UGFyYW1LZXkpO1xuXG4gICAgdGhpcy5mcmFnbWVudFBhcmFtc1NlcnZpY2Uuc2V0UGFyYW1zKHBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIGdldFRhYk1hcmtlcihxdWVyeVBhcmFtczogVXJsUXVlcnlQYXJhbXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBxdWVyeVBhcmFtcy5oYXModGhpcy50YWJHcm91cFF1ZXJ5UGFyYW1LZXkpXG4gICAgICA/IHF1ZXJ5UGFyYW1zLmdldCh0aGlzLnRhYkdyb3VwUXVlcnlQYXJhbUtleSlcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgaXNJbmRleE1hcmtlcihtYXJrZXI6IHN0cmluZykge1xuICAgIHJldHVybiBtYXJrZXIgJiYgbWFya2VyLnN0YXJ0c1dpdGgoRWxkZXJUYWJHcm91cFJvdXRpbmdEaXJlY3RpdmUuVEFCX0lOREVYX1BSRUZJWCk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlSW5kZXhNYXJrZXIobWFya2VyOiBzdHJpbmcpOiBudW1iZXIge1xuXG4gICAgaWYgKHRoaXMuaXNJbmRleE1hcmtlcihtYXJrZXIpKSB7XG4gICAgICBjb25zdCBpbmRleFN0ciA9IG1hcmtlci5yZXBsYWNlKEVsZGVyVGFiR3JvdXBSb3V0aW5nRGlyZWN0aXZlLlRBQl9JTkRFWF9QUkVGSVgsICcnKTtcbiAgICAgIHJldHVybiBOdW1iZXIoaW5kZXhTdHIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBwYXJzZSBpbmRleCBmcm9tIG1hcmtlciAgXCInICsgbWFya2VyICsgJ1wiLiBDaGVjayB3aXRoIGlzSW5kZXhNYXJrZXIgZmlyc3QhJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXJpYWxpemVJbmRleE1hcmtlcihpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRWxkZXJUYWJHcm91cFJvdXRpbmdEaXJlY3RpdmUuVEFCX0lOREVYX1BSRUZJWCArIFN0cmluZyhpbmRleCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { MatCommonModule } from '@angular/material/core';
3
+ import { NgModule } from '@angular/core';
4
+ import { ElderTabDirective } from './elder-tab/elder-tab.directive';
5
+ import { ElderTabGroupRoutingDirective } from './elder-tab-group-routing/elder-tab-group-routing.directive';
6
+ import * as i0 from "@angular/core";
7
+ export * from './elder-tab/elder-tab.directive';
8
+ export * from './elder-tab-group-routing/elder-tab-group-routing.directive';
9
+ export class ElderTabModule {
10
+ }
11
+ ElderTabModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderTabModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ ElderTabModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.10", ngImport: i0, type: ElderTabModule, declarations: [ElderTabDirective,
13
+ ElderTabGroupRoutingDirective], imports: [CommonModule, MatCommonModule], exports: [ElderTabDirective,
14
+ ElderTabGroupRoutingDirective] });
15
+ ElderTabModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderTabModule, imports: [CommonModule, MatCommonModule] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderTabModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ imports: [
20
+ CommonModule, MatCommonModule
21
+ ],
22
+ declarations: [
23
+ ElderTabDirective,
24
+ ElderTabGroupRoutingDirective
25
+ ],
26
+ exports: [
27
+ ElderTabDirective,
28
+ ElderTabGroupRoutingDirective
29
+ ]
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGFiLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9lbGRlci10YWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQzs7QUFFMUcsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZEQUE2RCxDQUFDO0FBZTVFLE1BQU0sT0FBTyxjQUFjOzs0R0FBZCxjQUFjOzZHQUFkLGNBQWMsaUJBUnZCLGlCQUFpQjtRQUNqQiw2QkFBNkIsYUFKN0IsWUFBWSxFQUFFLGVBQWUsYUFPN0IsaUJBQWlCO1FBQ2pCLDZCQUE2Qjs2R0FHcEIsY0FBYyxZQVh2QixZQUFZLEVBQUUsZUFBZTs0RkFXcEIsY0FBYztrQkFiMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUc7d0JBQ1IsWUFBWSxFQUFFLGVBQWU7cUJBQzlCO29CQUNELFlBQVksRUFBRTt3QkFDWixpQkFBaUI7d0JBQ2pCLDZCQUE2QjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFHO3dCQUNSLGlCQUFpQjt3QkFDakIsNkJBQTZCO3FCQUM5QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01hdENvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RWxkZXJUYWJEaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItdGFiL2VsZGVyLXRhYi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlclRhYkdyb3VwUm91dGluZ0RpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci10YWItZ3JvdXAtcm91dGluZy9lbGRlci10YWItZ3JvdXAtcm91dGluZy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLXRhYi9lbGRlci10YWIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItdGFiLWdyb3VwLXJvdXRpbmcvZWxkZXItdGFiLWdyb3VwLXJvdXRpbmcuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0cyA6IFtcbiAgICBDb21tb25Nb2R1bGUsIE1hdENvbW1vbk1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBFbGRlclRhYkRpcmVjdGl2ZSxcbiAgICBFbGRlclRhYkdyb3VwUm91dGluZ0RpcmVjdGl2ZVxuICBdLFxuICBleHBvcnRzIDogW1xuICAgIEVsZGVyVGFiRGlyZWN0aXZlLFxuICAgIEVsZGVyVGFiR3JvdXBSb3V0aW5nRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUYWJNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,62 @@
1
+ import { Directive } from '@angular/core';
2
+ import { LoggerFactory } from '@elderbyte/ts-logger';
3
+ import { Subject } from 'rxjs';
4
+ import { filter, takeUntil } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./elder-theme.service";
7
+ export class ElderThemeApplierDirective {
8
+ /***************************************************************************
9
+ * *
10
+ * Constructor *
11
+ * *
12
+ **************************************************************************/
13
+ constructor(themeService, renderer) {
14
+ this.themeService = themeService;
15
+ this.renderer = renderer;
16
+ /***************************************************************************
17
+ * *
18
+ * Fields *
19
+ * *
20
+ **************************************************************************/
21
+ this.logger = LoggerFactory.getLogger(this.constructor.name);
22
+ this.destroy$ = new Subject();
23
+ }
24
+ /***************************************************************************
25
+ * *
26
+ * Life Cycle *
27
+ * *
28
+ **************************************************************************/
29
+ ngOnInit() {
30
+ this.themeService
31
+ .activeTheme$
32
+ .pipe(takeUntil(this.destroy$), filter(theme => !!theme))
33
+ .subscribe(activeTheme => this.activateTheme(activeTheme));
34
+ }
35
+ ngOnDestroy() {
36
+ this.destroy$.next();
37
+ this.destroy$.complete();
38
+ }
39
+ /***************************************************************************
40
+ * *
41
+ * Private methods *
42
+ * *
43
+ **************************************************************************/
44
+ activateTheme(theme) {
45
+ if (theme.cssClass != this.activeThemeCss) {
46
+ this.renderer.addClass(document.body, theme.cssClass);
47
+ if (this.activeThemeCss) {
48
+ this.renderer.removeClass(document.body, this.activeThemeCss);
49
+ }
50
+ this.activeThemeCss = theme.cssClass;
51
+ }
52
+ }
53
+ }
54
+ ElderThemeApplierDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderThemeApplierDirective, deps: [{ token: i1.ElderThemeService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
55
+ ElderThemeApplierDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ElderThemeApplierDirective, selector: "[elderThemeApplier]", ngImport: i0 });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderThemeApplierDirective, decorators: [{
57
+ type: Directive,
58
+ args: [{
59
+ selector: '[elderThemeApplier]'
60
+ }]
61
+ }], ctorParameters: function () { return [{ type: i1.ElderThemeService }, { type: i0.Renderer2 }]; } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGhlbWUtYXBwbGllci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RoZW1lL2VsZGVyLXRoZW1lLWFwcGxpZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQUtqRCxNQUFNLE9BQU8sMEJBQTBCO0lBY3JDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixZQUErQixFQUMvQixRQUFtQjtRQURuQixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXBCdEM7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFJeEQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFXNUMsQ0FBQztJQUVMOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ1QsSUFBSSxDQUFDLFlBQVk7YUFDZCxZQUFZO2FBQ1osSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsYUFBYSxDQUFDLEtBQWdCO1FBQ3BDLElBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDL0Q7WUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7U0FDdEM7SUFDSCxDQUFDOzt3SEE1RFUsMEJBQTBCOzRHQUExQiwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtFbGRlclRoZW1lU2VydmljZX0gZnJvbSAnLi9lbGRlci10aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RoZW1lU3BlY30gZnJvbSAnLi90aGVtZS1zcGVjJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyVGhlbWVBcHBsaWVyXSdcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUaGVtZUFwcGxpZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgYWN0aXZlVGhlbWVDc3M6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRoZW1lU2VydmljZTogRWxkZXJUaGVtZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoZW1lU2VydmljZVxuICAgICAgICAgIC5hY3RpdmVUaGVtZSRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIGZpbHRlcih0aGVtZSA9PiAhIXRoZW1lKVxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKGFjdGl2ZVRoZW1lID0+IHRoaXMuYWN0aXZhdGVUaGVtZShhY3RpdmVUaGVtZSkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgYWN0aXZhdGVUaGVtZSh0aGVtZTogVGhlbWVTcGVjKTogdm9pZCB7XG4gICAgaWYodGhlbWUuY3NzQ2xhc3MgIT0gdGhpcy5hY3RpdmVUaGVtZUNzcykge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCB0aGVtZS5jc3NDbGFzcyk7XG4gICAgICBpZiAodGhpcy5hY3RpdmVUaGVtZUNzcykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksIHRoaXMuYWN0aXZlVGhlbWVDc3MpO1xuICAgICAgfVxuICAgICAgdGhpcy5hY3RpdmVUaGVtZUNzcyA9IHRoZW1lLmNzc0NsYXNzO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,74 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./elder-theme.service";
4
+ import * as i2 from "@elderbyte/ngx-simple-webstorage";
5
+ export class ElderThemePreferenceService {
6
+ /***************************************************************************
7
+ * *
8
+ * Constructor *
9
+ * *
10
+ **************************************************************************/
11
+ constructor(themeService, localStorage) {
12
+ this.themeService = themeService;
13
+ this.localStorage = localStorage;
14
+ /***************************************************************************
15
+ * *
16
+ * Fields *
17
+ * *
18
+ **************************************************************************/
19
+ this.THEME_PREFERENCE_KEY = 'theme.preference';
20
+ let preferenceThemeId = localStorage.getItem(this.THEME_PREFERENCE_KEY);
21
+ if (preferenceThemeId) {
22
+ this.activateThemeAndSave(preferenceThemeId);
23
+ }
24
+ else {
25
+ this.activateDefaultThemeAndSave();
26
+ }
27
+ }
28
+ /***************************************************************************
29
+ * *
30
+ * Public API *
31
+ * *
32
+ **************************************************************************/
33
+ activateThemeAndSave(themeId) {
34
+ this.themeService.activateTheme(themeId);
35
+ this.localStorage.setItem(this.THEME_PREFERENCE_KEY, themeId);
36
+ }
37
+ activateDefaultThemeAndSave() {
38
+ const theme = this.themeService.defaultThemeSnapshot;
39
+ if (theme) {
40
+ this.activateThemeAndSave(theme.id);
41
+ }
42
+ }
43
+ activateThemeByBrowserAndSave() {
44
+ const theme = this.themeByBrowserPreference();
45
+ if (theme) {
46
+ this.activateThemeAndSave(theme.id);
47
+ }
48
+ }
49
+ /***************************************************************************
50
+ * *
51
+ * Private methods *
52
+ * *
53
+ **************************************************************************/
54
+ themeByBrowserPreference() {
55
+ let initialTheme;
56
+ if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
57
+ initialTheme = this.themeService.themesSnapshot
58
+ .find(t => t.dark);
59
+ }
60
+ if (!initialTheme) {
61
+ initialTheme = this.themeService.defaultThemeSnapshot;
62
+ }
63
+ return initialTheme;
64
+ }
65
+ }
66
+ ElderThemePreferenceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderThemePreferenceService, deps: [{ token: i1.ElderThemeService }, { token: i2.WebLocalStorage }], target: i0.ɵɵFactoryTarget.Injectable });
67
+ ElderThemePreferenceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderThemePreferenceService, providedIn: 'root' });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderThemePreferenceService, decorators: [{
69
+ type: Injectable,
70
+ args: [{
71
+ providedIn: 'root'
72
+ }]
73
+ }], ctorParameters: function () { return [{ type: i1.ElderThemeService }, { type: i2.WebLocalStorage }]; } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGhlbWUtcHJlZmVyZW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aGVtZS9lbGRlci10aGVtZS1wcmVmZXJlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEzQyxNQUFNLE9BQU8sMkJBQTJCO0lBVXRDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixZQUErQixFQUMvQixZQUE2QjtRQUQ3QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBaEJoRDs7OztvRkFJNEU7UUFFM0QseUJBQW9CLEdBQUcsa0JBQWtCLENBQUM7UUFZekQsSUFBSSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBVyxDQUFDO1FBQ2xGLElBQUksaUJBQWlCLEVBQUM7WUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDOUM7YUFBTTtZQUNMLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxvQkFBb0IsQ0FBQyxPQUFlO1FBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sMkJBQTJCO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUM7UUFDckQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVNLDZCQUE2QjtRQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUM5QyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLHdCQUF3QjtRQUM5QixJQUFJLFlBQXVCLENBQUM7UUFDNUIsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLENBQUMsT0FBTyxFQUFFO1lBQzdELFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWM7aUJBQzVDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUM7U0FDdkQ7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOzt5SEFyRVUsMkJBQTJCOzZIQUEzQiwyQkFBMkIsY0FGMUIsTUFBTTs0RkFFUCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFbGRlclRoZW1lU2VydmljZX0gZnJvbSAnLi9lbGRlci10aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7V2ViTG9jYWxTdG9yYWdlfSBmcm9tICdAZWxkZXJieXRlL25neC1zaW1wbGUtd2Vic3RvcmFnZSc7XG5pbXBvcnQge1RoZW1lU3BlY30gZnJvbSAnLi90aGVtZS1zcGVjJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUaGVtZVByZWZlcmVuY2VTZXJ2aWNlIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IFRIRU1FX1BSRUZFUkVOQ0VfS0VZID0gJ3RoZW1lLnByZWZlcmVuY2UnO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhlbWVTZXJ2aWNlOiBFbGRlclRoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZTogV2ViTG9jYWxTdG9yYWdlXG4gICkge1xuICAgIGxldCBwcmVmZXJlbmNlVGhlbWVJZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuVEhFTUVfUFJFRkVSRU5DRV9LRVkpIGFzIHN0cmluZztcbiAgICBpZiAocHJlZmVyZW5jZVRoZW1lSWQpe1xuICAgICAgdGhpcy5hY3RpdmF0ZVRoZW1lQW5kU2F2ZShwcmVmZXJlbmNlVGhlbWVJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVEZWZhdWx0VGhlbWVBbmRTYXZlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGFjdGl2YXRlVGhlbWVBbmRTYXZlKHRoZW1lSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGhlbWVTZXJ2aWNlLmFjdGl2YXRlVGhlbWUodGhlbWVJZCk7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLlRIRU1FX1BSRUZFUkVOQ0VfS0VZLCB0aGVtZUlkKTtcbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmF0ZURlZmF1bHRUaGVtZUFuZFNhdmUoKTogdm9pZCB7XG4gICAgY29uc3QgdGhlbWUgPSB0aGlzLnRoZW1lU2VydmljZS5kZWZhdWx0VGhlbWVTbmFwc2hvdDtcbiAgICBpZiAodGhlbWUpIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVUaGVtZUFuZFNhdmUodGhlbWUuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmF0ZVRoZW1lQnlCcm93c2VyQW5kU2F2ZSgpOiB2b2lkIHtcbiAgICBjb25zdCB0aGVtZSA9IHRoaXMudGhlbWVCeUJyb3dzZXJQcmVmZXJlbmNlKCk7XG4gICAgaWYgKHRoZW1lKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlVGhlbWVBbmRTYXZlKHRoZW1lLmlkKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHRoZW1lQnlCcm93c2VyUHJlZmVyZW5jZSgpOiBUaGVtZVNwZWMgfCBudWxsIHtcbiAgICBsZXQgaW5pdGlhbFRoZW1lOiBUaGVtZVNwZWM7XG4gICAgaWYgKHdpbmRvdy5tYXRjaE1lZGlhKFwiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKVwiKS5tYXRjaGVzKSB7XG4gICAgICBpbml0aWFsVGhlbWUgPSB0aGlzLnRoZW1lU2VydmljZS50aGVtZXNTbmFwc2hvdFxuICAgICAgICAuZmluZCh0ID0+IHQuZGFyayk7XG4gICAgfVxuICAgIGlmICghaW5pdGlhbFRoZW1lKSB7XG4gICAgICBpbml0aWFsVGhlbWUgPSB0aGlzLnRoZW1lU2VydmljZS5kZWZhdWx0VGhlbWVTbmFwc2hvdDtcbiAgICB9XG4gICAgcmV0dXJuIGluaXRpYWxUaGVtZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,72 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { LoggerFactory } from '@elderbyte/ts-logger';
3
+ import { combineLatest } from 'rxjs';
4
+ import { map, tap } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../elder-theme.service";
7
+ import * as i2 from "../elder-theme-preference.service";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "@angular/material/slide-toggle";
10
+ import * as i5 from "@angular/material/icon";
11
+ import * as i6 from "@angular/forms";
12
+ export class ElderThemeToggleComponent {
13
+ /***************************************************************************
14
+ * *
15
+ * Constructor *
16
+ * *
17
+ **************************************************************************/
18
+ constructor(themeService, themePreferenceService) {
19
+ this.themeService = themeService;
20
+ this.themePreferenceService = themePreferenceService;
21
+ /***************************************************************************
22
+ * *
23
+ * Fields *
24
+ * *
25
+ **************************************************************************/
26
+ this.logger = LoggerFactory.getLogger(this.constructor.name);
27
+ this.activeToggleTheme$ = combineLatest([
28
+ this.themeService.defaultTheme$,
29
+ this.themeService.activeTheme$
30
+ ]).pipe(map(([defaultTheme, activeTheme]) => this.decideToggleTheme(defaultTheme, activeTheme)), tap(tt => this.logger.info('Active toggle theme: ' + tt)));
31
+ }
32
+ /***************************************************************************
33
+ * *
34
+ * Public API *
35
+ * *
36
+ **************************************************************************/
37
+ onToggle(tggl) {
38
+ const themes = this.themeService.themesSnapshot;
39
+ const defaultTheme = this.themeService.defaultThemeSnapshot;
40
+ let theme;
41
+ if (tggl) {
42
+ theme = themes
43
+ .find(theme => theme.id !== defaultTheme?.id);
44
+ }
45
+ else {
46
+ theme = defaultTheme;
47
+ }
48
+ if (theme) {
49
+ this.themePreferenceService.activateThemeAndSave(theme.id);
50
+ }
51
+ }
52
+ /***************************************************************************
53
+ * *
54
+ * Private methods *
55
+ * *
56
+ **************************************************************************/
57
+ decideToggleTheme(defaultTheme, activeTheme) {
58
+ if (defaultTheme?.id === activeTheme?.id) {
59
+ return 'default';
60
+ }
61
+ else {
62
+ return 'secondary';
63
+ }
64
+ }
65
+ }
66
+ ElderThemeToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderThemeToggleComponent, deps: [{ token: i1.ElderThemeService }, { token: i2.ElderThemePreferenceService }], target: i0.ɵɵFactoryTarget.Component });
67
+ ElderThemeToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ElderThemeToggleComponent, selector: "elder-theme-toggle", ngImport: i0, template: "<mat-slide-toggle *ngIf=\"activeToggleTheme$ | async as activeToggleTheme\"\n [ngModel]=\"activeToggleTheme !== 'default'\"\n color=\"primary\"\n (ngModelChange)=\"onToggle($event)\"\n>\n <mat-icon color=\"primary\">\n brightness_2\n </mat-icon>\n</mat-slide-toggle>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderThemeToggleComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'elder-theme-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-slide-toggle *ngIf=\"activeToggleTheme$ | async as activeToggleTheme\"\n [ngModel]=\"activeToggleTheme !== 'default'\"\n color=\"primary\"\n (ngModelChange)=\"onToggle($event)\"\n>\n <mat-icon color=\"primary\">\n brightness_2\n </mat-icon>\n</mat-slide-toggle>\n" }]
71
+ }], ctorParameters: function () { return [{ type: i1.ElderThemeService }, { type: i2.ElderThemePreferenceService }]; } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGhlbWUtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGhlbWUvZWxkZXItdGhlbWUtdG9nZ2xlL2VsZGVyLXRoZW1lLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RoZW1lL2VsZGVyLXRoZW1lLXRvZ2dsZS9lbGRlci10aGVtZS10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVl4QyxNQUFNLE9BQU8seUJBQXlCO0lBWXBDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixZQUErQixFQUMvQixzQkFBbUQ7UUFEbkQsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBQy9CLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBNkI7UUFsQnRFOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBY3ZFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQ3JDO1lBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWTtTQUMvQixDQUFDLENBQUMsSUFBSSxDQUNQLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDLEVBQ3ZGLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQzFELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVEsQ0FBQyxJQUFhO1FBQzNCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUE7UUFDM0QsSUFBSSxLQUFnQixDQUFDO1FBQ3JCLElBQUcsSUFBSSxFQUFFO1lBQ1AsS0FBSyxHQUFHLE1BQU07aUJBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNMLEtBQUssR0FBRyxZQUFZLENBQUM7U0FDdEI7UUFDRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLGlCQUFpQixDQUN2QixZQUF1QixFQUN2QixXQUFzQjtRQUV0QixJQUFHLFlBQVksRUFBRSxFQUFFLEtBQUssV0FBVyxFQUFFLEVBQUUsRUFBQztZQUN0QyxPQUFPLFNBQVMsQ0FBQztTQUNsQjthQUFPO1lBQ04sT0FBTyxXQUFXLENBQUM7U0FDcEI7SUFDSCxDQUFDOzt1SEFwRVUseUJBQXlCOzJHQUF6Qix5QkFBeUIsMERDaEJ0QyxzUkFTQTs0RkRPYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VsZGVyVGhlbWVTZXJ2aWNlfSBmcm9tICcuLi9lbGRlci10aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1RoZW1lU3BlY30gZnJvbSAnLi4vdGhlbWUtc3BlYyc7XG5pbXBvcnQge0VsZGVyVGhlbWVQcmVmZXJlbmNlU2VydmljZX0gZnJvbSAnLi4vZWxkZXItdGhlbWUtcHJlZmVyZW5jZS5zZXJ2aWNlJztcblxudHlwZSBUb2dnbGVUaGVtZSA9ICdkZWZhdWx0JyB8ICdzZWNvbmRhcnknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci10aGVtZS10b2dnbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItdGhlbWUtdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItdGhlbWUtdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVGhlbWVUb2dnbGVDb21wb25lbnQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVG9nZ2xlVGhlbWUkOiBPYnNlcnZhYmxlPFRvZ2dsZVRoZW1lPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRoZW1lU2VydmljZTogRWxkZXJUaGVtZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aGVtZVByZWZlcmVuY2VTZXJ2aWNlOiBFbGRlclRoZW1lUHJlZmVyZW5jZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5hY3RpdmVUb2dnbGVUaGVtZSQgPSBjb21iaW5lTGF0ZXN0KFxuICAgICAgW1xuICAgICAgICB0aGlzLnRoZW1lU2VydmljZS5kZWZhdWx0VGhlbWUkLFxuICAgICAgICB0aGlzLnRoZW1lU2VydmljZS5hY3RpdmVUaGVtZSRcbiAgICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtkZWZhdWx0VGhlbWUsIGFjdGl2ZVRoZW1lXSkgPT4gdGhpcy5kZWNpZGVUb2dnbGVUaGVtZShkZWZhdWx0VGhlbWUsIGFjdGl2ZVRoZW1lKSksXG4gICAgICB0YXAodHQgPT4gdGhpcy5sb2dnZXIuaW5mbygnQWN0aXZlIHRvZ2dsZSB0aGVtZTogJyArIHR0KSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG9uVG9nZ2xlKHRnZ2w6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCB0aGVtZXMgPSB0aGlzLnRoZW1lU2VydmljZS50aGVtZXNTbmFwc2hvdDtcbiAgICBjb25zdCBkZWZhdWx0VGhlbWUgPSB0aGlzLnRoZW1lU2VydmljZS5kZWZhdWx0VGhlbWVTbmFwc2hvdFxuICAgIGxldCB0aGVtZTogVGhlbWVTcGVjO1xuICAgIGlmKHRnZ2wpIHtcbiAgICAgIHRoZW1lID0gdGhlbWVzXG4gICAgICAgIC5maW5kKHRoZW1lID0+IHRoZW1lLmlkICE9PSBkZWZhdWx0VGhlbWU/LmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhlbWUgPSBkZWZhdWx0VGhlbWU7XG4gICAgfVxuICAgIGlmICh0aGVtZSkge1xuICAgICAgdGhpcy50aGVtZVByZWZlcmVuY2VTZXJ2aWNlLmFjdGl2YXRlVGhlbWVBbmRTYXZlKHRoZW1lLmlkKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGRlY2lkZVRvZ2dsZVRoZW1lKFxuICAgIGRlZmF1bHRUaGVtZTogVGhlbWVTcGVjLFxuICAgIGFjdGl2ZVRoZW1lOiBUaGVtZVNwZWNcbiAgKTogVG9nZ2xlVGhlbWUge1xuICAgIGlmKGRlZmF1bHRUaGVtZT8uaWQgPT09IGFjdGl2ZVRoZW1lPy5pZCl7XG4gICAgICByZXR1cm4gJ2RlZmF1bHQnO1xuICAgIH0gZWxzZSAge1xuICAgICAgcmV0dXJuICdzZWNvbmRhcnknO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1zbGlkZS10b2dnbGUgKm5nSWY9XCJhY3RpdmVUb2dnbGVUaGVtZSQgfCBhc3luYyBhcyBhY3RpdmVUb2dnbGVUaGVtZVwiXG4gIFtuZ01vZGVsXT1cImFjdGl2ZVRvZ2dsZVRoZW1lICE9PSAnZGVmYXVsdCdcIlxuICBjb2xvcj1cInByaW1hcnlcIlxuICAobmdNb2RlbENoYW5nZSk9XCJvblRvZ2dsZSgkZXZlbnQpXCJcbj5cbiAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgIGJyaWdodG5lc3NfMlxuICA8L21hdC1pY29uPlxuPC9tYXQtc2xpZGUtdG9nZ2xlPlxuIl19