@elderbyte/ngx-starter 17.3.3 → 17.4.0

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 (295) hide show
  1. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +3 -3
  2. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +3 -3
  3. package/esm2022/lib/common/forms/elder-from-field-base.mjs +3 -3
  4. package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +3 -3
  5. package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +3 -3
  6. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +3 -3
  7. package/esm2022/lib/common/forms/form-field-base.component.mjs +4 -4
  8. package/esm2022/lib/common/forms/multi-model-base.component.mjs +3 -3
  9. package/esm2022/lib/common/forms/template-composite-control.mjs +3 -3
  10. package/esm2022/lib/common/forms/value-accessor-base.mjs +3 -3
  11. package/esm2022/lib/common/http/http-client-builder.service.mjs +3 -3
  12. package/esm2022/lib/common/http/http-client-pristine.mjs +3 -3
  13. package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +3 -3
  14. package/esm2022/lib/common/url/elder-router.service.mjs +3 -3
  15. package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +3 -3
  16. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
  17. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +4 -4
  18. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +3 -3
  19. package/esm2022/lib/components/auditing/elder-audit.module.mjs +4 -4
  20. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +9 -9
  21. package/esm2022/lib/components/badge/elder-badge.directive.mjs +3 -3
  22. package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
  23. package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -3
  24. package/esm2022/lib/components/button-group/elder-button-group.module.mjs +4 -4
  25. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +3 -3
  26. package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +3 -3
  27. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +3 -3
  28. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -4
  29. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
  30. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +18 -18
  31. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +4 -4
  32. package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +3 -3
  33. package/esm2022/lib/components/chips/elder-chips.module.mjs +4 -4
  34. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +4 -4
  35. package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +3 -3
  36. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
  37. package/esm2022/lib/components/containers/elder-containers.module.mjs +4 -4
  38. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -3
  39. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +3 -3
  40. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +3 -3
  41. package/esm2022/lib/components/csv/elder-csv.module.mjs +4 -4
  42. package/esm2022/lib/components/currency/elder-currency.module.mjs +4 -4
  43. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +3 -3
  44. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -4
  45. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +3 -3
  46. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +3 -3
  47. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
  48. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  49. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
  50. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +3 -3
  51. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +3 -3
  52. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +4 -4
  53. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +6 -6
  54. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +3 -3
  55. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +3 -3
  56. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -3
  57. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +9 -9
  58. package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +4 -4
  59. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +3 -3
  60. package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +3 -3
  61. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +3 -3
  62. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +3 -3
  63. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +4 -4
  64. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +3 -3
  65. package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +3 -3
  66. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +3 -3
  67. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -4
  68. package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +3 -3
  69. package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +3 -3
  70. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
  71. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +3 -3
  72. package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +3 -3
  73. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +3 -3
  74. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +3 -3
  75. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +3 -3
  76. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +3 -3
  77. package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +3 -3
  78. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +3 -3
  79. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +4 -4
  80. package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +3 -3
  81. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
  82. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +4 -4
  83. package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +3 -3
  84. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +3 -3
  85. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
  86. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +3 -3
  87. package/esm2022/lib/components/errors/elder-error.module.mjs +4 -4
  88. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -3
  89. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
  90. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -4
  91. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
  92. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +3 -3
  93. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +3 -3
  94. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +3 -3
  95. package/esm2022/lib/components/files/elder-file-select.directive.mjs +3 -3
  96. package/esm2022/lib/components/files/elder-file.module.mjs +4 -4
  97. package/esm2022/lib/components/files/file-select/file-select.component.mjs +3 -3
  98. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +3 -3
  99. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +3 -3
  100. package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +3 -3
  101. package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +3 -3
  102. package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +3 -3
  103. package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +3 -3
  104. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +3 -3
  105. package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +3 -3
  106. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +3 -3
  107. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +4 -4
  108. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +3 -3
  109. package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +3 -3
  110. package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +3 -3
  111. package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
  112. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +3 -3
  113. package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +3 -3
  114. package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +3 -3
  115. package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +3 -3
  116. package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +3 -3
  117. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +3 -3
  118. package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +3 -3
  119. package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +3 -3
  120. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +3 -3
  121. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +3 -3
  122. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +3 -3
  123. package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +3 -3
  124. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +3 -3
  125. package/esm2022/lib/components/forms/elder-forms.module.mjs +4 -4
  126. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +3 -3
  127. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +3 -3
  128. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +3 -3
  129. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +3 -3
  130. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +3 -3
  131. package/esm2022/lib/components/forms/search/elder-search.module.mjs +4 -4
  132. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +4 -4
  133. package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +3 -3
  134. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +3 -3
  135. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +4 -4
  136. package/esm2022/lib/components/global-search/elder-global-search.service.mjs +3 -3
  137. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
  138. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -4
  139. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  140. package/esm2022/lib/components/headers/elder-header.module.mjs +4 -4
  141. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +3 -3
  142. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +4 -4
  143. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +3 -3
  144. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +3 -3
  145. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +3 -3
  146. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +3 -3
  147. package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +3 -3
  148. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +3 -3
  149. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
  150. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +3 -3
  151. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +3 -3
  152. package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +3 -3
  153. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +4 -4
  154. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +3 -3
  155. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +3 -3
  156. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +4 -4
  157. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +3 -3
  158. package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +3 -3
  159. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +4 -4
  160. package/esm2022/lib/components/iframes/iframe-close.directive.mjs +3 -3
  161. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
  162. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +3 -3
  163. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +3 -3
  164. package/esm2022/lib/components/iframes/iframe.service.mjs +3 -3
  165. package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +3 -3
  166. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +3 -3
  167. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +4 -4
  168. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +3 -3
  169. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +3 -3
  170. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +3 -3
  171. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +4 -4
  172. package/esm2022/lib/components/labels/elder-labels.module.mjs +4 -4
  173. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +3 -3
  174. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +3 -3
  175. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +3 -3
  176. package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +3 -3
  177. package/esm2022/lib/components/measures/elder-measures.module.mjs +8 -8
  178. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +3 -3
  179. package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +3 -3
  180. package/esm2022/lib/components/measures/elder-unit.service.mjs +3 -3
  181. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +3 -3
  182. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +3 -3
  183. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +3 -3
  184. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +3 -3
  185. package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +3 -3
  186. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +3 -3
  187. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -4
  188. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +4 -4
  189. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -3
  190. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
  191. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
  192. package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +3 -3
  193. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -4
  194. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +3 -3
  195. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +3 -3
  196. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +3 -3
  197. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +3 -3
  198. package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +3 -3
  199. package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
  200. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +3 -3
  201. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +4 -4
  202. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
  203. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -3
  204. package/esm2022/lib/components/panels/elder-panel.module.mjs +4 -4
  205. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +3 -3
  206. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +3 -3
  207. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +9 -9
  208. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +3 -3
  209. package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +4 -4
  210. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +3 -3
  211. package/esm2022/lib/components/select/elder-select-base.mjs +3 -3
  212. package/esm2022/lib/components/select/elder-select-chip.directive.mjs +9 -9
  213. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +3 -3
  214. package/esm2022/lib/components/select/elder-select-value.directive.mjs +3 -3
  215. package/esm2022/lib/components/select/elder-select.module.mjs +18 -12
  216. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-chip-option.component.mjs +17 -0
  217. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +3 -3
  218. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +84 -0
  219. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +70 -82
  220. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +3 -3
  221. package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +3 -3
  222. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +3 -3
  223. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +3 -3
  224. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
  225. package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +3 -3
  226. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +3 -3
  227. package/esm2022/lib/components/select/single/elder-select-form-field.mjs +3 -3
  228. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +6 -6
  229. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -4
  230. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +3 -3
  231. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +3 -3
  232. package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +3 -3
  233. package/esm2022/lib/components/shell/elder-shell.module.mjs +4 -4
  234. package/esm2022/lib/components/shell/elder-shell.service.mjs +3 -3
  235. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
  236. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +12 -12
  237. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +3 -3
  238. package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +3 -3
  239. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +3 -3
  240. package/esm2022/lib/components/tabs/elder-tab.module.mjs +4 -4
  241. package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +3 -3
  242. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -3
  243. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +3 -3
  244. package/esm2022/lib/components/theme/elder-theme.directive.mjs +3 -3
  245. package/esm2022/lib/components/theme/elder-theme.module.mjs +4 -4
  246. package/esm2022/lib/components/theme/elder-theme.service.mjs +3 -3
  247. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +3 -3
  248. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +3 -3
  249. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +3 -3
  250. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +3 -3
  251. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +3 -3
  252. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +4 -4
  253. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +3 -3
  254. package/esm2022/lib/components/time/elder-time.module.mjs +4 -4
  255. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +3 -3
  256. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +3 -3
  257. package/esm2022/lib/components/toasts/elder-toast.module.mjs +4 -4
  258. package/esm2022/lib/components/toasts/elder-toast.service.mjs +3 -3
  259. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
  260. package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +4 -4
  261. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
  262. package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -3
  263. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +4 -4
  264. package/esm2022/lib/features/event-source/elder-event-source.service.mjs +3 -3
  265. package/esm2022/lib/features/kafent/access-token-provider.mjs +3 -3
  266. package/esm2022/lib/features/kafent/kafent-config.mjs +3 -3
  267. package/esm2022/lib/features/kafent/kafent-event-stream.mjs +3 -3
  268. package/esm2022/lib/features/kafent/kafent-event.service.mjs +3 -3
  269. package/esm2022/lib/features/kafent/kafent.module.mjs +4 -4
  270. package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +3 -3
  271. package/esm2022/lib/pipes/bytes.pipe.mjs +3 -3
  272. package/esm2022/lib/pipes/elder-pipes.module.mjs +10 -10
  273. package/esm2022/lib/pipes/elder-repeat.pipe.mjs +3 -3
  274. package/esm2022/lib/pipes/elder-round.pipe.mjs +3 -3
  275. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +3 -3
  276. package/esm2022/lib/pipes/elder-truncate.pipe.mjs +3 -3
  277. package/esm2022/lib/pipes/iso-duration.pipe.mjs +3 -3
  278. package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +3 -3
  279. package/esm2022/lib/pipes/iso-interval.pipe.mjs +3 -3
  280. package/esm2022/lib/pipes/time-ago.pipe.mjs +3 -3
  281. package/esm2022/lib/pipes/time-duration.pipe.mjs +3 -3
  282. package/esm2022/lib/pipes/weight.pipe.mjs +3 -3
  283. package/fesm2022/elderbyte-ngx-starter.mjs +1106 -1017
  284. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  285. package/lib/common/forms/form-field-base.component.d.ts +5 -4
  286. package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +2 -1
  287. package/lib/components/select/elder-select.module.d.ts +26 -24
  288. package/lib/components/select/multi/elder-chip-select-option/elder-select-chip-option.component.d.ts +8 -0
  289. package/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.d.ts +53 -0
  290. package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +31 -33
  291. package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +2 -2
  292. package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +1 -1
  293. package/package.json +1 -1
  294. package/src/lib/components/select/multi/elder-chip-select-option/elder-select-chip-option.component.scss +0 -0
  295. package/src/lib/components/select/multi/elder-select-chip/elder-select-chip.component.scss +0 -0
@@ -21,8 +21,8 @@ export function themeInit(thpref) {
21
21
  };
22
22
  }
23
23
  export class ElderThemeModule {
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ElderThemeModule, declarations: [ElderThemeApplierDirective,
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: ElderThemeModule, declarations: [ElderThemeApplierDirective,
26
26
  ElderThemeToggleComponent,
27
27
  ElderThemeDirective], imports: [CommonModule,
28
28
  MatSlideToggleModule,
@@ -30,7 +30,7 @@ export class ElderThemeModule {
30
30
  FormsModule], exports: [ElderThemeApplierDirective,
31
31
  ElderThemeToggleComponent,
32
32
  ElderThemeDirective] }); }
33
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderThemeModule, providers: [
33
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderThemeModule, providers: [
34
34
  {
35
35
  provide: APP_INITIALIZER,
36
36
  useFactory: themeInit,
@@ -42,7 +42,7 @@ export class ElderThemeModule {
42
42
  MatIconModule,
43
43
  FormsModule] }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderThemeModule, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderThemeModule, decorators: [{
46
46
  type: NgModule,
47
47
  args: [{
48
48
  imports: [
@@ -111,10 +111,10 @@ export class ElderThemeService {
111
111
  }
112
112
  }
113
113
  }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
115
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderThemeService, providedIn: 'root' }); }
114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
115
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderThemeService, providedIn: 'root' }); }
116
116
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderThemeService, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderThemeService, decorators: [{
118
118
  type: Injectable,
119
119
  args: [{
120
120
  providedIn: 'root'
@@ -31,10 +31,10 @@ export class CustomDateAdapter extends NativeDateAdapter {
31
31
  this.logger.trace('Could not parse "' + value + '" to date!');
32
32
  return null;
33
33
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CustomDateAdapter, deps: [{ token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CustomDateAdapter }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CustomDateAdapter, deps: [{ token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CustomDateAdapter }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CustomDateAdapter, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CustomDateAdapter, decorators: [{
38
38
  type: Injectable
39
39
  }], ctorParameters: () => [{ type: undefined, decorators: [{
40
40
  type: Inject,
@@ -96,12 +96,12 @@ export class ElderDurationInputComponent extends ElderFormFieldControlBase {
96
96
  ? a.equals(b)
97
97
  : a === b;
98
98
  }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderDurationInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ElderDurationInputComponent, selector: "elder-duration-input", inputs: { isoValue: "isoValue", format: "format", durationFormat: "durationFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderDurationInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ElderDurationInputComponent, selector: "elder-duration-input", inputs: { isoValue: "isoValue", format: "format", durationFormat: "durationFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
101
101
  { provide: MatFormFieldControl, useExisting: ElderDurationInputComponent },
102
102
  ], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center flex-none\" *ngIf=\"durationContext$ | async as durationCtx\">\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.days\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\" class=\"duration-input duration-input-days flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withDays($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.hours\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-hours'\"\n type=\"number\" class=\"duration-input duration-input-hours flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.hours)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withHours($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">h</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.minutes\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-minutes'\"\n type=\"number\" class=\"duration-input duration-input-minutes flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.minutes)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withMinutes($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">min</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.seconds\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-seconds'\"\n type=\"number\" class=\"duration-input duration-input-seconds flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.seconds)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withSeconds($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">sec</span>\n </div>\n\n</div>\n", styles: [".suffix{opacity:.7}.duration-input{text-align:right}.duration-input-days{min-width:26px}.duration-input-hours{min-width:20px}.duration-input-minutes,.duration-input-seconds{min-width:26px}input.duration-input::-webkit-outer-spin-button,input.duration-input::-webkit-inner-spin-button{display:none}input.duration-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderDurationInputComponent, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderDurationInputComponent, decorators: [{
105
105
  type: Component,
106
106
  args: [{ selector: 'elder-duration-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
107
107
  { provide: MatFormFieldControl, useExisting: ElderDurationInputComponent },
@@ -69,10 +69,10 @@ export class ElderDateSwitcherComponent extends FormFieldBaseComponent {
69
69
  ? a.equals(b)
70
70
  : a === b;
71
71
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderDateSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ElderDateSwitcherComponent, selector: "elder-date-switcher", inputs: { datePickerEnabled: "datePickerEnabled", datePickerTouchUi: "datePickerTouchUi", dense: "dense", date: "date" }, outputs: { dateChange: "dateChange" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderDateSwitcherComponent), usesInheritance: true, ngImport: i0, template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"flex full\" [elderDense]=\"dense\">\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n <elder-local-date-input\n arrows today autoDatePicker datePickerTouchUi\n [datePickerEnabled]=\"false\"\n [datePickerTouchUi]=\"datePickerTouchUi\"\n [value]=\"value$ | async\"\n (valueUpdated)=\"updateValue($event)\"\n >\n </elder-local-date-input>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: i4.ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: ["zone", "autoDatePicker", "arrows", "today", "center", "datePickerTouchUi", "allowNull", "datePickerEnabled", "isoValue", "dateValue", "isoDateValue"], outputs: ["blurred", "valueUpdatedBlur", "isoValueChange", "dateValueChange", "isoDateValueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], viewProviders: [ViewProviders.ParentControlContainer], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderDateSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ElderDateSwitcherComponent, selector: "elder-date-switcher", inputs: { datePickerEnabled: "datePickerEnabled", datePickerTouchUi: "datePickerTouchUi", dense: "dense", date: "date" }, outputs: { dateChange: "dateChange" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderDateSwitcherComponent), usesInheritance: true, ngImport: i0, template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"flex full\" [elderDense]=\"dense\">\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n <elder-local-date-input\n arrows today autoDatePicker datePickerTouchUi\n [datePickerEnabled]=\"false\"\n [datePickerTouchUi]=\"datePickerTouchUi\"\n [value]=\"value$ | async\"\n (valueUpdated)=\"updateValue($event)\"\n >\n </elder-local-date-input>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: i4.ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: ["zone", "autoDatePicker", "arrows", "today", "center", "datePickerTouchUi", "allowNull", "datePickerEnabled", "isoValue", "dateValue", "isoDateValue"], outputs: ["blurred", "valueUpdatedBlur", "isoValueChange", "dateValueChange", "isoDateValueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], viewProviders: [ViewProviders.ParentControlContainer], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderDateSwitcherComponent, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderDateSwitcherComponent, decorators: [{
76
76
  type: Component,
77
77
  args: [{ selector: 'elder-date-switcher', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'elder-form-field-host' }, providers: buildFormIntegrationProviders(ElderDateSwitcherComponent), viewProviders: [ViewProviders.ParentControlContainer], template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"flex full\" [elderDense]=\"dense\">\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n <elder-local-date-input\n arrows today autoDatePicker datePickerTouchUi\n [datePickerEnabled]=\"false\"\n [datePickerTouchUi]=\"datePickerTouchUi\"\n [value]=\"value$ | async\"\n (valueUpdated)=\"updateValue($event)\"\n >\n </elder-local-date-input>\n</mat-form-field>\n" }]
78
78
  }], ctorParameters: () => [], propDecorators: { datePickerEnabled: [{
@@ -81,12 +81,12 @@ export class ElderDateTimeInputComponent extends ElderFormFieldControlBase {
81
81
  ? a.equals(b)
82
82
  : a === b;
83
83
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderDateTimeInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ElderDateTimeInputComponent, selector: "elder-date-time-input", inputs: { center: "center", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderDateTimeInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ElderDateTimeInputComponent, selector: "elder-date-time-input", inputs: { center: "center", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
86
86
  { provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent },
87
87
  ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"layout-row place-start-baseline elder-flex-control\"\n>\n <input matInput class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\" #input\n [name]=\"ngControl?.name + '-inner-input'\"\n type=\"datetime-local\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"valueDate$ | async | date:'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n >\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
88
88
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderDateTimeInputComponent, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderDateTimeInputComponent, decorators: [{
90
90
  type: Component,
91
91
  args: [{ selector: 'elder-date-time-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
92
92
  { provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent },
@@ -151,12 +151,12 @@ export class ElderIntervalInputComponent extends ElderFormFieldControlBase {
151
151
  return of(null);
152
152
  }));
153
153
  }
154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderIntervalInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }, { token: i4.DateAdapter }, { token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Component }); }
155
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ElderIntervalInputComponent, selector: "elder-interval-input", inputs: { zone: "zone", mode: "mode", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderIntervalInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }, { token: i4.DateAdapter }, { token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Component }); }
155
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ElderIntervalInputComponent, selector: "elder-interval-input", inputs: { zone: "zone", mode: "mode", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
156
156
  { provide: MatFormFieldControl, useExisting: ElderIntervalInputComponent },
157
157
  ], usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"mode\">\n\n <!-- DATE_TIME_RANGE -->\n <div *ngSwitchCase=\"'date-time-range'\"\n class=\"layout-row\">\n <elder-date-time-input class=\"flex\" center\n [value]=\"(value$ | async)?.start\"\n (valueUpdated)=\"onStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeholder || '') + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n <span class=\"mat-date-range-input-separator flex-none\">\u2013</span>\n <elder-date-time-input class=\"flex\" center\n [value]=\"(value$ | async)?.end\"\n (valueUpdated)=\"onEndChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeholder || '') + ' ' + ('interval.to' | translate)\"\n ></elder-date-time-input>\n </div>\n\n <!-- DAY_TIME_RANGE -->\n <div *ngSwitchCase=\"'day-time-range'\"\n class=\"layout-row gap-xs elder-flex-interval-control\">\n\n <!-- [name]=\"name + '-day-start'\" -->\n <elder-date-time-input\n [value]=\"(value$ | async)?.start\"\n (valueUpdated)=\"onDayTimeStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeholder || '') + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n\n <!-- [name]=\"name + '-day-end'\" -->\n <elder-local-time-input\n [value]=\"endTime$ | async\"\n (valueUpdated)=\"onDayTimeEndTimeChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeholder || '') + ' ' + ('interval.to' | translate)\"\n ></elder-local-time-input>\n </div>\n\n <!-- DATE_RANGE -->\n <div *ngSwitchCase=\"'date-range'\"\n class=\"layout-row gap-xs elder-flex-interval-control\">\n\n <mat-date-range-input\n class=\"mdc-text-field__input\"\n [rangePicker]=\"picker\"\n [disabled]=\"!!disabled\"\n >\n <input matStartDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"startDate$ | async\" name=\"date-range.start\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur'}\"\n (ngModelChange)=\"onStartDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n >\n <input matEndDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"endDate$ | async\" name=\"date-range.end\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur'}\"\n (ngModelChange)=\"onEndDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n >\n </mat-date-range-input>\n <mat-datepicker-toggle class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n [for]=\"picker\">\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </div>\n\n <!-- SINGLE_DAY -->\n <div *ngSwitchCase=\"'single-day'\"\n class=\"layout-row elder-flex-control\">\n\n <!-- [name]=\"name\" -->\n <elder-local-date-input class=\"flex\" center\n [value]=\"startLocalDate$ | async\"\n (valueUpdated)=\"onSingleDayDateChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeholder || '')\"\n ></elder-local-date-input>\n </div>\n\n</ng-container>\n\n\n\n", styles: [".elder-flex-interval-control{flex:1 1 auto;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i6.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i6.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i6.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i6.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i6.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.ElderDateTimeInputComponent, selector: "elder-date-time-input", inputs: ["center", "isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: i9.ElderLocalTimeInputComponent, selector: "elder-local-time-input", inputs: ["isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: i10.ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: ["zone", "autoDatePicker", "arrows", "today", "center", "datePickerTouchUi", "allowNull", "datePickerEnabled", "isoValue", "dateValue", "isoDateValue"], outputs: ["blurred", "valueUpdatedBlur", "isoValueChange", "dateValueChange", "isoDateValueChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
158
158
  }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderIntervalInputComponent, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderIntervalInputComponent, decorators: [{
160
160
  type: Component,
161
161
  args: [{ selector: 'elder-interval-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
162
162
  { provide: MatFormFieldControl, useExisting: ElderIntervalInputComponent },
@@ -208,12 +208,12 @@ export class ElderLocalDateInputComponent extends ElderFormFieldControlBase {
208
208
  ? a.equals(b)
209
209
  : a === b;
210
210
  }
211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderLocalDateInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
212
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: { zone: "zone", autoDatePicker: "autoDatePicker", arrows: "arrows", today: "today", center: "center", datePickerTouchUi: "datePickerTouchUi", allowNull: "allowNull", datePickerEnabled: "datePickerEnabled", isoValue: "isoValue", dateValue: "dateValue", isoDateValue: "isoDateValue" }, outputs: { blurred: "blurred", valueUpdatedBlur: "valueUpdatedBlur", isoValueChange: "isoValueChange", dateValueChange: "dateValueChange", isoDateValueChange: "isoDateValueChange" }, providers: [
211
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderLocalDateInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
212
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: { zone: "zone", autoDatePicker: "autoDatePicker", arrows: "arrows", today: "today", center: "center", datePickerTouchUi: "datePickerTouchUi", allowNull: "allowNull", datePickerEnabled: "datePickerEnabled", isoValue: "isoValue", dateValue: "dateValue", isoDateValue: "isoDateValue" }, outputs: { blurred: "blurred", valueUpdatedBlur: "valueUpdatedBlur", isoValueChange: "isoValueChange", dateValueChange: "dateValueChange", isoDateValueChange: "isoDateValueChange" }, providers: [
213
213
  { provide: MatFormFieldControl, useExisting: ElderLocalDateInputComponent },
214
214
  ], viewQueries: [{ propertyName: "picker", first: true, predicate: MatDatepicker, descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"layout-row place-start-center elder-flex-control\"\n>\n\n <button mat-icon-button type=\"button\" *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"previousDay()\">\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <input matInput elderNoSpinner class=\"flex elder-mdc-input-fix elder-local-date-input\" #input\n type=\"date\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [required]=\"!!required\"\n [readonly]=\"readonly || autoDatePicker\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"date$ | async | date: 'yyyy-MM-dd'\"\n (ngModelChange)=\"onDateInputChanged($event)\"\n (blur)=\"blurred.next($event)\"\n [class.elder-auto-date-picker]=\"autoDatePicker\"\n [class.noselect]=\"autoDatePicker\"\n [class.center]=\"center || arrows\"\n (click)=\"onDateInputClicked($event)\"\n >\n <input style=\"display: none\" [matDatepicker]=\"picker\" (dateChange)=\"onDatepickerInputChange($event)\">\n\n <button mat-icon-button type=\"button\" *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"nextDay()\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n\n <button mat-icon-button type=\"button\" *ngIf=\"today\"\n class=\"elder-control-icon-button\" style=\"margin-left: 4px\"\n [disabled]=\"isLocked\"\n (click)=\"currentDay()\">\n <mat-icon>today</mat-icon>\n </button>\n\n <mat-datepicker-toggle class=\"elder-control-icon-button\"\n *ngIf=\"datePickerEnabled && (!allowNull || (value$ | async) === null)\"\n [disabled]=\"isLocked\"\n [for]=\"picker\">\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n\n <button mat-icon-button type=\"button\" class=\"elder-control-icon-button\"\n *ngIf=\"allowNull && (value$ | async)\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\" aria-label=\"Clear\"\n elderStopEventPropagation\n >\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-datepicker [touchUi]=\"datePickerTouchUi\" #picker></mat-datepicker>\n\n</div>\n\n\n\n", styles: ["input::-webkit-calendar-picker-indicator{display:none}.elder-auto-date-picker{cursor:pointer}.elder-local-date-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i6.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "directive", type: i10.ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.DatePipe, name: "date" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
215
215
  }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderLocalDateInputComponent, decorators: [{
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderLocalDateInputComponent, decorators: [{
217
217
  type: Component,
218
218
  args: [{ selector: 'elder-local-date-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
219
219
  { provide: MatFormFieldControl, useExisting: ElderLocalDateInputComponent },
@@ -261,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
261
261
  }], isoDateValue: [{
262
262
  type: Input
263
263
  }] } });
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1sb2NhbC1kYXRlLWlucHV0L2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBc0IsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2SSxPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHbkQsT0FBTyxFQUFDLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGFBQWEsRUFBMEIsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEQsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDeEcsT0FBTyxFQUFDLG1CQUFt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VSw0QkFBNEI7a0dBQTVCLDRCQUE0Qiw0Z0JBSjVCO1lBQ1QsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFDO1NBQzFFLGtFQTBCVSxhQUFhLHlLQ25EMUIsNHlFQWdFQTs7MkZEckNhLDRCQUE0QjtrQkFUeEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1QsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyw4QkFBOEIsRUFBQztxQkFDMUU7OzBCQXVERSxRQUFROzswQkFBSSxJQUFJO3lDQXZDWixJQUFJO3NCQURWLEtBQUs7Z0JBWUMsTUFBTTtzQkFEWixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSWpDLFFBQVE7c0JBRGQsU0FBUzt1QkFBQyxPQUFPO2dCQU1GLE9BQU87c0JBRHRCLE1BQU07Z0JBUVMsZ0JBQWdCO3NCQUQvQixNQUFNO2dCQW9DSSxjQUFjO3NCQUR4QixLQUFLO2dCQVVLLE1BQU07c0JBRGhCLEtBQUs7Z0JBVUssS0FBSztzQkFEZixLQUFLO2dCQVVLLE1BQU07c0JBRGhCLEtBQUs7Z0JBV0ssaUJBQWlCO3NCQUQzQixLQUFLO2dCQWFLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBVUssaUJBQWlCO3NCQUQzQixLQUFLO2dCQVVLLGNBQWM7c0JBRHhCLE1BQU07Z0JBTUksUUFBUTtzQkFEbEIsS0FBSztnQkFNSyxlQUFlO3NCQUR6QixNQUFNO2dCQU1JLFNBQVM7c0JBRG5CLEtBQUs7Z0JBTUssa0JBQWtCO3NCQUQ1QixNQUFNO2dCQU1JLFlBQVk7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT3V0cHV0LCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBOZ1pvbmUsIE9wdGlvbmFsLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUZpZWxkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2Zvcm0tZmllbGQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2NhbERhdGUsIExvY2FsVGltZSwgWm9uZUlkfSBmcm9tICdAanMtam9kYS9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVyc30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL3RlbXBsYXRlLWNvbXBvc2l0ZS1jb250cm9sJztcbmltcG9ydCB7Vmlld1Byb3ZpZGVyc30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL3ZpZXctcHJvdmlkZXJzJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TWF0RGF0ZXBpY2tlciwgTWF0RGF0ZXBpY2tlcklucHV0RXZlbnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHtUaW1lVXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvdGltZS11dGlsJztcbmltcG9ydCB7SXNvRGF0ZVN0cn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvZGF0ZS11dGlsJztcbmltcG9ydCB7Qm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge0VsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2V9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1mb3JtLWZpZWxkLWNvbnRyb2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRDb250cm9sfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7Rm9jdXNNb25pdG9yfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbG9jYWwtZGF0ZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge3Byb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBFbGRlckxvY2FsRGF0ZUlucHV0Q29tcG9uZW50fSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckxvY2FsRGF0ZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZTxMb2NhbERhdGU+IHtcblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIF9hbGxvd051bGwgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgem9uZSA9IFpvbmVJZC5zeXN0ZW1EZWZhdWx0KCk7XG5cbiAgLyoqIElmIHRydWUsIGRhdGUgcGlja2VyIGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZC4gKi9cbiAgcHJpdmF0ZSBfZGF0ZVBpY2tlckVuYWJsZWQgPSB0cnVlO1xuICBwcml2YXRlIF9hcnJvd3MgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfdG9kYXkgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfYXV0b0RhdGVQaWNrZXIgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfZGF0ZVBpY2tlclRvdWNoVWkgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY2VudGVyID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZChNYXREYXRlcGlja2VyLCB7c3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHBpY2tlcjogTWF0RGF0ZXBpY2tlcjxEYXRlPjtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gIHB1YmxpYyBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0ZSQ6IE9ic2VydmFibGU8RGF0ZT47XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBibHVycmVkID0gbmV3IFN1YmplY3Q8Rm9jdXNFdmVudD4oKTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHVwZGF0ZWQgdmFsdWUgYWZ0ZXIgdGhlIGNvbnRyb2wgYmx1cnJlZC5cbiAgICogKHVwZGF0ZSAmIGJsdXIpIGV2ZW50cyBtdXN0IGhhdmUgaGFwcGVuZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlVXBkYXRlZEJsdXI6IE9ic2VydmFibGU8TG9jYWxEYXRlPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBob3N0UmVmOiBFbGVtZW50UmVmLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIGhvc3RSZWYsXG4gICAgICAnbG9jYWwtZGF0ZS1pbnB1dCcsXG4gICAgICBmb2N1c01vbml0b3IsXG4gICAgICB0cmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgbmdDb250cm9sXG4gICAgKTtcbiAgICB0aGlzLmRhdGUkID0gdGhpcy5tYXBJZ25vcmVFcnJvck9ic2VydmFibGUodGhpcy52YWx1ZSQsICh2OiBMb2NhbERhdGUpID0+IFRpbWVVdGlsLmxvY2FsRGF0ZVRvRGF0ZSh2LCB0aGlzLnpvbmUpKTtcbiAgICB0aGlzLnZhbHVlVXBkYXRlZEJsdXIgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnZhbHVlVXBkYXRlZCwgdGhpcy5ibHVycmVkXSkucGlwZShcbiAgICAgIG1hcCgoW3ZhbHVlLCBmb2N1c0V2ZW50XSkgPT4gdmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXV0b0RhdGVQaWNrZXIodmFsOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9hdXRvRGF0ZVBpY2tlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRvRGF0ZVBpY2tlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b0RhdGVQaWNrZXI7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFycm93cyh2YWw6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2Fycm93cyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpO1xuICB9XG5cbiAgcHVibGljIGdldCBhcnJvd3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Fycm93cztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdG9kYXkodmFsOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl90b2RheSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpO1xuICB9XG5cbiAgcHVibGljIGdldCB0b2RheSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdG9kYXk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNlbnRlcihjZW50ZXI6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2NlbnRlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjZW50ZXIpO1xuICB9XG5cbiAgcHVibGljIGdldCBjZW50ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NlbnRlcjtcbiAgfVxuXG4gIC8qKiBJZiB0cnVlLCB0b3VjaCBvcHRpbWl6ZWQgbW9kZSBvZiBkYXRlIHBpY2tlciBpcyBlbmFibGVkLiAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRhdGVQaWNrZXJUb3VjaFVpKGVuYWJsZWQ6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2RhdGVQaWNrZXJUb3VjaFVpID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGVuYWJsZWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRlUGlja2VyVG91Y2hVaSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlclRvdWNoVWk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3dzIHRoZSB1c2VyIHRvIHNlbGVjdCAnbm90aGluZycgLyBudWxsLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhbGxvd051bGwodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYWxsb3dOdWxsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFsbG93TnVsbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWxsb3dOdWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRlUGlja2VyRW5hYmxlZChlbmFibGVkOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyRW5hYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShlbmFibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZVBpY2tlckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJFbmFibGVkO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgaXNvVmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMudmFsdWVDaGFuZ2UsIChkOiBMb2NhbERhdGUpID0+IGQudG9KU09OKCkpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpc29WYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm1hcElnbm9yZUVycm9yKHZhbHVlLCAoZDogc3RyaW5nKSA9PiBMb2NhbERhdGUucGFyc2UoZCkpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgZGF0ZVZhbHVlQ2hhbmdlKCk6IE9ic2VydmFibGU8RGF0ZSB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5tYXBJZ25vcmVFcnJvck9ic2VydmFibGUodGhpcy52YWx1ZUNoYW5nZSwgKGQ6IExvY2FsRGF0ZSkgPT4gVGltZVV0aWwubG9jYWxEYXRlVG9EYXRlKGQpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0ZVZhbHVlKHZhbHVlOiBEYXRlIHwgbnVsbCkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm1hcElnbm9yZUVycm9yKHZhbHVlLCAoZDogRGF0ZSkgPT4gVGltZVV0aWwuZGF0ZVRvTG9jYWxEYXRlKGQpKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGlzb0RhdGVWYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPElzb0RhdGVTdHIgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMudmFsdWVDaGFuZ2UsIChkOiBMb2NhbERhdGUpID0+IFRpbWVVdGlsLmxvY2FsRGF0ZVRvRGF0ZShkKS50b0lTT1N0cmluZygpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNvRGF0ZVZhbHVlKHZhbHVlOiBJc29EYXRlU3RyIHwgbnVsbCkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm1hcElnbm9yZUVycm9yKHZhbHVlLCAoZDogSXNvRGF0ZVN0cikgPT4gVGltZVV0aWwuZGF0ZVRvTG9jYWxEYXRlKG5ldyBEYXRlKGQpKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcHJldmlvdXNEYXkoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgIHRoaXMudmFsdWUubWludXNEYXlzKDEpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0RGF5KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICB0aGlzLnZhbHVlLnBsdXNEYXlzKDEpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjdXJyZW50RGF5KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICBMb2NhbERhdGUubm93KClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5mb2N1cyhvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBibHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICB9XG5cbiAgcHVibGljIG9wZW5EYXRlUGlja2VyKCk6IHZvaWQge1xuICAgIHRoaXMucGlja2VyLm9wZW4oKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVJbnB1dENoYW5nZWQobmV3RGF0ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcblxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ29uRGF0ZUlucHV0Q2hhbmdlZDogXCInICsgbmV3RGF0ZSArICdcIicpO1xuXG4gICAgICBpZiAobmV3RGF0ZSA9PT0gJycgfHwgbmV3RGF0ZS5zdGFydHNXaXRoKCcwJykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBJZ25vcmUgd2hpbGUgdXBkYXRpbmcgdGhlIHllYXJcbiAgICAgIHRoaXMuc2V0RGF0ZVN0ckludGVybmFsbHkobmV3RGF0ZSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHBhcnNlIGZyb20gZGF0ZS1pbnB1dC1jaGFuZ2VkIGV2ZW50OiAnICsgbmV3RGF0ZSwgZXJyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EYXRlcGlja2VySW5wdXRDaGFuZ2UoZXZlbnQ6IE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50PERhdGU+KTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0RhdGVwaWNrZXIgSW5wdXQgaGFzIGNoYW5nZWQ6ICcgKyBldmVudC52YWx1ZSk7XG4gICAgdGhpcy5zZXREYXRlSW50ZXJuYWxseShldmVudC52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25EYXRlSW5wdXRDbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0b0RhdGVQaWNrZXIpIHtcbiAgICAgIHRoaXMub3BlbkRhdGVQaWNrZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIG1hcElnbm9yZUVycm9yKHZhbHVlOiBEYXRlIHwgc3RyaW5nLCBjb252ZXJzaW9uRm46IChkOiBEYXRlIHwgc3RyaW5nKSA9PiBMb2NhbERhdGUpOiBMb2NhbERhdGUge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBsZCA9IHZhbHVlID8gY29udmVyc2lvbkZuKHZhbHVlKSA6IG51bGw7XG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdTZXR0aW5nIGxvY2FsIGRhdGU6ICcgKyBsZCk7XG4gICAgICByZXR1cm4gbGQ7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdGYWlsZWQgdG8gYXBwbHkgdmFsdWUgdG8gZGF0ZVZhbHVlOiAnICsgdmFsdWUsIGVycik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtYXBJZ25vcmVFcnJvck9ic2VydmFibGU8VD4oZGF0ZTogT2JzZXJ2YWJsZTxMb2NhbERhdGU+LCBjb252ZXJzaW9uRm46IChkOiBMb2NhbERhdGUpID0+IFQpOiBPYnNlcnZhYmxlPFQgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRhdGUucGlwZShcbiAgICAgIG1hcChsb2NhbERhdGUgPT4gbG9jYWxEYXRlID8gY29udmVyc2lvbkZuKGxvY2FsRGF0ZSkgOiBudWxsKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBjb252ZXJ0IGxvY2FsIGRhdGUhJywgZXJyKTtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREYXRlU3RySW50ZXJuYWxseShkYXRlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShMb2NhbERhdGUucGFyc2UoZGF0ZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RGF0ZUludGVybmFsbHkoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKFRpbWVVdGlsLmRhdGVUb0xvY2FsRGF0ZShkYXRlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHZhbHVlc0VxdWFscyhhOiBMb2NhbERhdGUsIGI6IExvY2FsRGF0ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoYSAmJiBiKVxuICAgICAgPyBhLmVxdWFscyhiKVxuICAgICAgOiBhID09PSBiO1xuICB9XG5cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBlbGRlci1mbGV4LWNvbnRyb2xcIlxuPlxuXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImFycm93c1wiXG4gICAgICAgICAgY2xhc3M9XCJlbGRlci1jb250cm9sLWljb24tYnV0dG9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWQgfHwgIXZhbHVlXCJcbiAgICAgICAgICAoY2xpY2spPVwicHJldmlvdXNEYXkoKVwiPlxuICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPGlucHV0IG1hdElucHV0IGVsZGVyTm9TcGlubmVyIGNsYXNzPVwiZmxleCBlbGRlci1tZGMtaW5wdXQtZml4IGVsZGVyLWxvY2FsLWRhdGUtaW5wdXRcIiAjaW5wdXRcbiAgICAgICAgIHR5cGU9XCJkYXRlXCJcbiAgICAgICAgIFtuYW1lXT1cIm5nQ29udHJvbD8ubmFtZSArICctaW5uZXItaW5wdXQnXCJcbiAgICAgICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSB8fCBhdXRvRGF0ZVBpY2tlclwiXG4gICAgICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgW25nTW9kZWxdPVwiZGF0ZSQgfCBhc3luYyB8IGRhdGU6ICd5eXl5LU1NLWRkJ1wiXG4gICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkRhdGVJbnB1dENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAoYmx1cik9XCJibHVycmVkLm5leHQoJGV2ZW50KVwiXG4gICAgICAgICBbY2xhc3MuZWxkZXItYXV0by1kYXRlLXBpY2tlcl09XCJhdXRvRGF0ZVBpY2tlclwiXG4gICAgICAgICBbY2xhc3Mubm9zZWxlY3RdPVwiYXV0b0RhdGVQaWNrZXJcIlxuICAgICAgICAgW2NsYXNzLmNlbnRlcl09XCJjZW50ZXIgfHwgYXJyb3dzXCJcbiAgICAgICAgIChjbGljayk9XCJvbkRhdGVJbnB1dENsaWNrZWQoJGV2ZW50KVwiXG4gID5cbiAgPGlucHV0IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiIChkYXRlQ2hhbmdlKT1cIm9uRGF0ZXBpY2tlcklucHV0Q2hhbmdlKCRldmVudClcIj5cblxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJhcnJvd3NcIlxuICAgICAgICAgIGNsYXNzPVwiZWxkZXItY29udHJvbC1pY29uLWJ1dHRvblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkIHx8ICF2YWx1ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm5leHREYXkoKVwiPlxuICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cInRvZGF5XCJcbiAgICAgICAgICBjbGFzcz1cImVsZGVyLWNvbnRyb2wtaWNvbi1idXR0b25cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA0cHhcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xvY2tlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImN1cnJlbnREYXkoKVwiPlxuICAgIDxtYXQtaWNvbj50b2RheTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgY2xhc3M9XCJlbGRlci1jb250cm9sLWljb24tYnV0dG9uXCJcbiAgICAqbmdJZj1cImRhdGVQaWNrZXJFbmFibGVkICYmICghYWxsb3dOdWxsIHx8ICh2YWx1ZSQgfCBhc3luYykgPT09IG51bGwpXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWRcIlxuICAgIFtmb3JdPVwicGlja2VyXCI+XG4gICAgPG1hdC1pY29uIG1hdERhdGVwaWNrZXJUb2dnbGVJY29uPmNhbGVuZGFyX21vbnRoPC9tYXQtaWNvbj5cbiAgPC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZWxkZXItY29udHJvbC1pY29uLWJ1dHRvblwiXG4gICAgICAgICAgKm5nSWY9XCJhbGxvd051bGwgJiYgKHZhbHVlJCB8IGFzeW5jKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoJGV2ZW50KVwiIGFyaWEtbGFiZWw9XCJDbGVhclwiXG4gICAgICAgICAgZWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvblxuICA+XG4gICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPG1hdC1kYXRlcGlja2VyIFt0b3VjaFVpXT1cImRhdGVQaWNrZXJUb3VjaFVpXCIgI3BpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuXG48L2Rpdj5cblxuXG5cbiJdfQ==
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1sb2NhbC1kYXRlLWlucHV0L2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBc0IsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2SSxPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHbkQsT0FBTyxFQUFDLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGFBQWEsRUFBMEIsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEQsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDeEcsT0FBTyxFQUFDLG1CQUFt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UlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsNGdCQUo1QjtZQUNULEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBQztTQUMxRSxrRUEwQlUsYUFBYSx5S0NuRDFCLDR5RUFnRUE7OzJGRHJDYSw0QkFBNEI7a0JBVHhDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsOEJBQThCLEVBQUM7cUJBQzFFOzswQkF1REUsUUFBUTs7MEJBQUksSUFBSTt5Q0F2Q1osSUFBSTtzQkFEVixLQUFLO2dCQVlDLE1BQU07c0JBRFosU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUlqQyxRQUFRO3NCQURkLFNBQVM7dUJBQUMsT0FBTztnQkFNRixPQUFPO3NCQUR0QixNQUFNO2dCQVFTLGdCQUFnQjtzQkFEL0IsTUFBTTtnQkFvQ0ksY0FBYztzQkFEeEIsS0FBSztnQkFVSyxNQUFNO3NCQURoQixLQUFLO2dCQVVLLEtBQUs7c0JBRGYsS0FBSztnQkFVSyxNQUFNO3NCQURoQixLQUFLO2dCQVdLLGlCQUFpQjtzQkFEM0IsS0FBSztnQkFhSyxTQUFTO3NCQURuQixLQUFLO2dCQVVLLGlCQUFpQjtzQkFEM0IsS0FBSztnQkFVSyxjQUFjO3NCQUR4QixNQUFNO2dCQU1JLFFBQVE7c0JBRGxCLEtBQUs7Z0JBTUssZUFBZTtzQkFEekIsTUFBTTtnQkFNSSxTQUFTO3NCQURuQixLQUFLO2dCQU1LLGtCQUFrQjtzQkFENUIsTUFBTTtnQkFNSSxZQUFZO3NCQUR0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE91dHB1dCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgTmdab25lLCBPcHRpb25hbCwgU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1GaWVsZEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy9mb3JtLWZpZWxkLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7TG9jYWxEYXRlLCBMb2NhbFRpbWUsIFpvbmVJZH0gZnJvbSAnQGpzLWpvZGEvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7YnVpbGRGb3JtSW50ZWdyYXRpb25Qcm92aWRlcnN9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy90ZW1wbGF0ZS1jb21wb3NpdGUtY29udHJvbCc7XG5pbXBvcnQge1ZpZXdQcm92aWRlcnN9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy92aWV3LXByb3ZpZGVycyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge01hdERhdGVwaWNrZXIsIE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7VGltZVV0aWx9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90aW1lL3RpbWUtdXRpbCc7XG5pbXBvcnQge0lzb0RhdGVTdHJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90aW1lL2RhdGUtdXRpbCc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvZWxkZXItZm9ybS1maWVsZC1jb250cm9sLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge0ZvY3VzTW9uaXRvcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCBleHRlbmRzIEVsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2U8TG9jYWxEYXRlPiB7XG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfYWxsb3dOdWxsID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHpvbmUgPSBab25lSWQuc3lzdGVtRGVmYXVsdCgpO1xuXG4gIC8qKiBJZiB0cnVlLCBkYXRlIHBpY2tlciBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQuICovXG4gIHByaXZhdGUgX2RhdGVQaWNrZXJFbmFibGVkID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfYXJyb3dzID0gZmFsc2U7XG4gIHByaXZhdGUgX3RvZGF5ID0gZmFsc2U7XG4gIHByaXZhdGUgX2F1dG9EYXRlUGlja2VyID0gZmFsc2U7XG4gIHByaXZhdGUgX2RhdGVQaWNrZXJUb3VjaFVpID0gZmFsc2U7XG4gIHByaXZhdGUgX2NlbnRlciA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoTWF0RGF0ZXBpY2tlciwge3N0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyBwaWNrZXI6IE1hdERhdGVwaWNrZXI8RGF0ZT47XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKVxuICBwdWJsaWMgaW5wdXRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGUkOiBPYnNlcnZhYmxlPERhdGU+O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgYmx1cnJlZCA9IG5ldyBTdWJqZWN0PEZvY3VzRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSB1cGRhdGVkIHZhbHVlIGFmdGVyIHRoZSBjb250cm9sIGJsdXJyZWQuXG4gICAqICh1cGRhdGUgJiBibHVyKSBldmVudHMgbXVzdCBoYXZlIGhhcHBlbmVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZVVwZGF0ZWRCbHVyOiBPYnNlcnZhYmxlPExvY2FsRGF0ZT47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgaG9zdFJlZjogRWxlbWVudFJlZixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBob3N0UmVmLFxuICAgICAgJ2xvY2FsLWRhdGUtaW5wdXQnLFxuICAgICAgZm9jdXNNb25pdG9yLFxuICAgICAgdHJhbnNsYXRlU2VydmljZSxcbiAgICAgIG5nQ29udHJvbFxuICAgICk7XG4gICAgdGhpcy5kYXRlJCA9IHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMudmFsdWUkLCAodjogTG9jYWxEYXRlKSA9PiBUaW1lVXRpbC5sb2NhbERhdGVUb0RhdGUodiwgdGhpcy56b25lKSk7XG4gICAgdGhpcy52YWx1ZVVwZGF0ZWRCbHVyID0gY29tYmluZUxhdGVzdChbdGhpcy52YWx1ZVVwZGF0ZWQsIHRoaXMuYmx1cnJlZF0pLnBpcGUoXG4gICAgICBtYXAoKFt2YWx1ZSwgZm9jdXNFdmVudF0pID0+IHZhbHVlKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGF1dG9EYXRlUGlja2VyKHZhbDogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fYXV0b0RhdGVQaWNrZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0b0RhdGVQaWNrZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9EYXRlUGlja2VyO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcnJvd3ModmFsOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9hcnJvd3MgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJyb3dzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hcnJvd3M7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRvZGF5KHZhbDogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fdG9kYXkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9kYXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RvZGF5O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjZW50ZXIoY2VudGVyOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9jZW50ZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2VudGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2VudGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jZW50ZXI7XG4gIH1cblxuICAvKiogSWYgdHJ1ZSwgdG91Y2ggb3B0aW1pemVkIG1vZGUgb2YgZGF0ZSBwaWNrZXIgaXMgZW5hYmxlZC4gKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRlUGlja2VyVG91Y2hVaShlbmFibGVkOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyVG91Y2hVaSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShlbmFibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZVBpY2tlclRvdWNoVWkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJUb3VjaFVpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgJ25vdGhpbmcnIC8gbnVsbC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYWxsb3dOdWxsKHZhbDogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fYWxsb3dOdWxsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFsbG93TnVsbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWxsb3dOdWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRlUGlja2VyRW5hYmxlZChlbmFibGVkOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyRW5hYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShlbmFibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZVBpY2tlckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJFbmFibGVkO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgaXNvVmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMudmFsdWVDaGFuZ2UsIChkOiBMb2NhbERhdGUpID0+IGQudG9KU09OKCkpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpc29WYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm1hcElnbm9yZUVycm9yKHZhbHVlLCAoZDogc3RyaW5nKSA9PiBMb2NhbERhdGUucGFyc2UoZCkpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgZGF0ZVZhbHVlQ2hhbmdlKCk6IE9ic2VydmFibGU8RGF0ZSB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5tYXBJZ25vcmVFcnJvck9ic2VydmFibGUodGhpcy52YWx1ZUNoYW5nZSwgKGQ6IExvY2FsRGF0ZSkgPT4gVGltZVV0aWwubG9jYWxEYXRlVG9EYXRlKGQpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0ZVZhbHVlKHZhbHVlOiBEYXRlIHwgbnVsbCkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm1hcElnbm9yZUVycm9yKHZhbHVlLCAoZDogRGF0ZSkgPT4gVGltZVV0aWwuZGF0ZVRvTG9jYWxEYXRlKGQpKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGlzb0RhdGVWYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPElzb0RhdGVTdHIgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMudmFsdWVDaGFuZ2UsIChkOiBMb2NhbERhdGUpID0+IFRpbWVVdGlsLmxvY2FsRGF0ZVRvRGF0ZShkKS50b0lTT1N0cmluZygpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNvRGF0ZVZhbHVlKHZhbHVlOiBJc29EYXRlU3RyIHwgbnVsbCkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm1hcElnbm9yZUVycm9yKHZhbHVlLCAoZDogSXNvRGF0ZVN0cikgPT4gVGltZVV0aWwuZGF0ZVRvTG9jYWxEYXRlKG5ldyBEYXRlKGQpKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcHJldmlvdXNEYXkoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgIHRoaXMudmFsdWUubWludXNEYXlzKDEpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0RGF5KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICB0aGlzLnZhbHVlLnBsdXNEYXlzKDEpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjdXJyZW50RGF5KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICBMb2NhbERhdGUubm93KClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5mb2N1cyhvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBibHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICB9XG5cbiAgcHVibGljIG9wZW5EYXRlUGlja2VyKCk6IHZvaWQge1xuICAgIHRoaXMucGlja2VyLm9wZW4oKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVJbnB1dENoYW5nZWQobmV3RGF0ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcblxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ29uRGF0ZUlucHV0Q2hhbmdlZDogXCInICsgbmV3RGF0ZSArICdcIicpO1xuXG4gICAgICBpZiAobmV3RGF0ZSA9PT0gJycgfHwgbmV3RGF0ZS5zdGFydHNXaXRoKCcwJykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBJZ25vcmUgd2hpbGUgdXBkYXRpbmcgdGhlIHllYXJcbiAgICAgIHRoaXMuc2V0RGF0ZVN0ckludGVybmFsbHkobmV3RGF0ZSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHBhcnNlIGZyb20gZGF0ZS1pbnB1dC1jaGFuZ2VkIGV2ZW50OiAnICsgbmV3RGF0ZSwgZXJyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EYXRlcGlja2VySW5wdXRDaGFuZ2UoZXZlbnQ6IE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50PERhdGU+KTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0RhdGVwaWNrZXIgSW5wdXQgaGFzIGNoYW5nZWQ6ICcgKyBldmVudC52YWx1ZSk7XG4gICAgdGhpcy5zZXREYXRlSW50ZXJuYWxseShldmVudC52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25EYXRlSW5wdXRDbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0b0RhdGVQaWNrZXIpIHtcbiAgICAgIHRoaXMub3BlbkRhdGVQaWNrZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIG1hcElnbm9yZUVycm9yKHZhbHVlOiBEYXRlIHwgc3RyaW5nLCBjb252ZXJzaW9uRm46IChkOiBEYXRlIHwgc3RyaW5nKSA9PiBMb2NhbERhdGUpOiBMb2NhbERhdGUge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBsZCA9IHZhbHVlID8gY29udmVyc2lvbkZuKHZhbHVlKSA6IG51bGw7XG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdTZXR0aW5nIGxvY2FsIGRhdGU6ICcgKyBsZCk7XG4gICAgICByZXR1cm4gbGQ7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdGYWlsZWQgdG8gYXBwbHkgdmFsdWUgdG8gZGF0ZVZhbHVlOiAnICsgdmFsdWUsIGVycik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtYXBJZ25vcmVFcnJvck9ic2VydmFibGU8VD4oZGF0ZTogT2JzZXJ2YWJsZTxMb2NhbERhdGU+LCBjb252ZXJzaW9uRm46IChkOiBMb2NhbERhdGUpID0+IFQpOiBPYnNlcnZhYmxlPFQgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRhdGUucGlwZShcbiAgICAgIG1hcChsb2NhbERhdGUgPT4gbG9jYWxEYXRlID8gY29udmVyc2lvbkZuKGxvY2FsRGF0ZSkgOiBudWxsKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBjb252ZXJ0IGxvY2FsIGRhdGUhJywgZXJyKTtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREYXRlU3RySW50ZXJuYWxseShkYXRlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShMb2NhbERhdGUucGFyc2UoZGF0ZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RGF0ZUludGVybmFsbHkoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKFRpbWVVdGlsLmRhdGVUb0xvY2FsRGF0ZShkYXRlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHZhbHVlc0VxdWFscyhhOiBMb2NhbERhdGUsIGI6IExvY2FsRGF0ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoYSAmJiBiKVxuICAgICAgPyBhLmVxdWFscyhiKVxuICAgICAgOiBhID09PSBiO1xuICB9XG5cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBlbGRlci1mbGV4LWNvbnRyb2xcIlxuPlxuXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImFycm93c1wiXG4gICAgICAgICAgY2xhc3M9XCJlbGRlci1jb250cm9sLWljb24tYnV0dG9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWQgfHwgIXZhbHVlXCJcbiAgICAgICAgICAoY2xpY2spPVwicHJldmlvdXNEYXkoKVwiPlxuICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPGlucHV0IG1hdElucHV0IGVsZGVyTm9TcGlubmVyIGNsYXNzPVwiZmxleCBlbGRlci1tZGMtaW5wdXQtZml4IGVsZGVyLWxvY2FsLWRhdGUtaW5wdXRcIiAjaW5wdXRcbiAgICAgICAgIHR5cGU9XCJkYXRlXCJcbiAgICAgICAgIFtuYW1lXT1cIm5nQ29udHJvbD8ubmFtZSArICctaW5uZXItaW5wdXQnXCJcbiAgICAgICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSB8fCBhdXRvRGF0ZVBpY2tlclwiXG4gICAgICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgW25nTW9kZWxdPVwiZGF0ZSQgfCBhc3luYyB8IGRhdGU6ICd5eXl5LU1NLWRkJ1wiXG4gICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkRhdGVJbnB1dENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAoYmx1cik9XCJibHVycmVkLm5leHQoJGV2ZW50KVwiXG4gICAgICAgICBbY2xhc3MuZWxkZXItYXV0by1kYXRlLXBpY2tlcl09XCJhdXRvRGF0ZVBpY2tlclwiXG4gICAgICAgICBbY2xhc3Mubm9zZWxlY3RdPVwiYXV0b0RhdGVQaWNrZXJcIlxuICAgICAgICAgW2NsYXNzLmNlbnRlcl09XCJjZW50ZXIgfHwgYXJyb3dzXCJcbiAgICAgICAgIChjbGljayk9XCJvbkRhdGVJbnB1dENsaWNrZWQoJGV2ZW50KVwiXG4gID5cbiAgPGlucHV0IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiIChkYXRlQ2hhbmdlKT1cIm9uRGF0ZXBpY2tlcklucHV0Q2hhbmdlKCRldmVudClcIj5cblxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJhcnJvd3NcIlxuICAgICAgICAgIGNsYXNzPVwiZWxkZXItY29udHJvbC1pY29uLWJ1dHRvblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkIHx8ICF2YWx1ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm5leHREYXkoKVwiPlxuICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cInRvZGF5XCJcbiAgICAgICAgICBjbGFzcz1cImVsZGVyLWNvbnRyb2wtaWNvbi1idXR0b25cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA0cHhcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xvY2tlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImN1cnJlbnREYXkoKVwiPlxuICAgIDxtYXQtaWNvbj50b2RheTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgY2xhc3M9XCJlbGRlci1jb250cm9sLWljb24tYnV0dG9uXCJcbiAgICAqbmdJZj1cImRhdGVQaWNrZXJFbmFibGVkICYmICghYWxsb3dOdWxsIHx8ICh2YWx1ZSQgfCBhc3luYykgPT09IG51bGwpXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWRcIlxuICAgIFtmb3JdPVwicGlja2VyXCI+XG4gICAgPG1hdC1pY29uIG1hdERhdGVwaWNrZXJUb2dnbGVJY29uPmNhbGVuZGFyX21vbnRoPC9tYXQtaWNvbj5cbiAgPC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZWxkZXItY29udHJvbC1pY29uLWJ1dHRvblwiXG4gICAgICAgICAgKm5nSWY9XCJhbGxvd051bGwgJiYgKHZhbHVlJCB8IGFzeW5jKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoJGV2ZW50KVwiIGFyaWEtbGFiZWw9XCJDbGVhclwiXG4gICAgICAgICAgZWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvblxuICA+XG4gICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPG1hdC1kYXRlcGlja2VyIFt0b3VjaFVpXT1cImRhdGVQaWNrZXJUb3VjaFVpXCIgI3BpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuXG48L2Rpdj5cblxuXG5cbiJdfQ==
@@ -70,12 +70,12 @@ export class ElderLocalTimeInputComponent extends ElderFormFieldControlBase {
70
70
  ? a.equals(b)
71
71
  : a === b;
72
72
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderLocalTimeInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ElderLocalTimeInputComponent, selector: "elder-local-time-input", inputs: { isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderLocalTimeInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ElderLocalTimeInputComponent, selector: "elder-local-time-input", inputs: { isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
75
75
  { provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent },
76
76
  ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"layout-row place-start-baseline elder-flex-control\"\n>\n <input matInput class=\"flex-grow elder-mdc-input-fix\" #input\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholder | translate\"\n type=\"time\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"hourMinuteStr$ | async\"\n (ngModelChange)=\"onHourMinuteChanged($event)\">\n</div>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderLocalTimeInputComponent, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderLocalTimeInputComponent, decorators: [{
79
79
  type: Component,
80
80
  args: [{ selector: 'elder-local-time-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
81
81
  { provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent },
@@ -28,8 +28,8 @@ export { ElderDurationInputComponent } from './duration/elder-duration-input/eld
28
28
  export { ElderPeriodInputComponent } from './period/elder-period-input/elder-period-input.component';
29
29
  export { ToIsoDateStringPipe } from './pipes/to-iso-date-string.pipe';
30
30
  export class ElderTimeModule {
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ElderTimeModule, declarations: [ElderDateSwitcherComponent,
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: ElderTimeModule, declarations: [ElderDateSwitcherComponent,
33
33
  ElderIntervalInputComponent,
34
34
  ElderDateTimeInputComponent,
35
35
  ElderLocalTimeInputComponent,
@@ -57,7 +57,7 @@ export class ElderTimeModule {
57
57
  ElderDurationInputComponent,
58
58
  ElderPeriodInputComponent,
59
59
  ToIsoDateStringPipe] }); }
60
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderTimeModule, providers: [
60
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderTimeModule, providers: [
61
61
  { provide: DateAdapter, useClass: CustomDateAdapter }
62
62
  ], imports: [
63
63
  // common
@@ -74,7 +74,7 @@ export class ElderTimeModule {
74
74
  // translations
75
75
  TranslateModule, ElderFormsDirectivesModule] }); }
76
76
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderTimeModule, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderTimeModule, decorators: [{
78
78
  type: NgModule,
79
79
  args: [{
80
80
  imports: [
@@ -105,12 +105,12 @@ export class ElderPeriodInputComponent extends ElderFormFieldControlBase {
105
105
  ? a.equals(b)
106
106
  : a === b;
107
107
  }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderPeriodInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ElderPeriodInputComponent, selector: "elder-period-input", inputs: { isoValue: "isoValue", format: "format", periodFormat: "periodFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderPeriodInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ElderPeriodInputComponent, selector: "elder-period-input", inputs: { isoValue: "isoValue", format: "format", periodFormat: "periodFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
110
110
  { provide: MatFormFieldControl, useExisting: ElderPeriodInputComponent },
111
111
  ], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center flex-none\" *ngIf=\"periodContext$ | async as periodCtx\">\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.days\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\" class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withDays($event))\">\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.months\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-months'\"\n type=\"number\" class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.months)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withMonths($event))\">\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">mnt</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.years\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-years'\"\n type=\"number\" class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.years)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withYears($event))\">\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">yrs</span>\n </div>\n\n\n</div>\n", styles: [".suffix{opacity:.7}.period-input{text-align:right}input.period-input::-webkit-outer-spin-button,input.period-input::-webkit-inner-spin-button{display:none}input.period-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i7.ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
112
112
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderPeriodInputComponent, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderPeriodInputComponent, decorators: [{
114
114
  type: Component,
115
115
  args: [{ selector: 'elder-period-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
116
116
  { provide: MatFormFieldControl, useExisting: ElderPeriodInputComponent },
@@ -26,10 +26,10 @@ export class ToIsoDateStringPipe {
26
26
  }
27
27
  return value;
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ToIsoDateStringPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
30
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ToIsoDateStringPipe, name: "toIsoDateString" }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ToIsoDateStringPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
30
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: ToIsoDateStringPipe, name: "toIsoDateString" }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ToIsoDateStringPipe, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ToIsoDateStringPipe, decorators: [{
33
33
  type: Pipe,
34
34
  args: [{
35
35
  name: 'toIsoDateString'
@@ -8,11 +8,11 @@ import * as i0 from "@angular/core";
8
8
  export * from './elder-toast.service';
9
9
  export { StandardToastComponent } from './standard-toast/standard-toast.component';
10
10
  export class ElderToastModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ElderToastModule, declarations: [StandardToastComponent], imports: [CommonModule, MatSnackBarModule, MatIconModule, MatButtonModule], exports: [StandardToastComponent] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderToastModule, imports: [CommonModule, MatSnackBarModule, MatIconModule, MatButtonModule] }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: ElderToastModule, declarations: [StandardToastComponent], imports: [CommonModule, MatSnackBarModule, MatIconModule, MatButtonModule], exports: [StandardToastComponent] }); }
13
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderToastModule, imports: [CommonModule, MatSnackBarModule, MatIconModule, MatButtonModule] }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderToastModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderToastModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [StandardToastComponent],
@@ -159,10 +159,10 @@ export class ElderToastService {
159
159
  .pipe(catchError(err => options.msg) // // no translation found, we use the translation key
160
160
  );
161
161
  }
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderToastService, deps: [{ token: i1.TranslateService }, { token: i2.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
163
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderToastService, providedIn: 'root' }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderToastService, deps: [{ token: i1.TranslateService }, { token: i2.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
163
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderToastService, providedIn: 'root' }); }
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderToastService, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderToastService, decorators: [{
166
166
  type: Injectable,
167
167
  args: [{
168
168
  providedIn: 'root'
@@ -60,10 +60,10 @@ export class StandardToastComponent {
60
60
  return text;
61
61
  }
62
62
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: StandardToastComponent, deps: [{ token: i1.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.3", type: StandardToastComponent, selector: "elder-standard-toast", ngImport: i0, template: "<div class=\"layout-col gap-xs mat-mdc-snack-bar-container\">\n\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\">{{ icon(toast.type) }}</mat-icon>\n <span\n class=\"toast-title mat-subtitle-2 noselect\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n >{{ toast.status }}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n @if (toast.message) {\n <span class=\"mat-body noselect\" matSnackBarLabel\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{ toast.message }}</span>\n }\n\n <span></span>\n\n <!-- Toast Detail -->\n @if (toast.detail) {\n <span class=\"mat-small noselect\" matSnackBarLabel\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{ trimDetailText(toast.detail, 200) }}</span>\n }\n\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button mat-button matSnackBarAction type=\"button\" [color]=\"iconColor(toast.type)\" (click)=\"close()\">Ok</button>\n </div>\n\n</div>\n", styles: [".toast-title{font-size:16px}\n"], dependencies: [{ kind: "directive", type: i1.MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: i1.MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "directive", type: i1.MatSnackBarAction, selector: "[matSnackBarAction]" }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: StandardToastComponent, deps: [{ token: i1.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: StandardToastComponent, selector: "elder-standard-toast", ngImport: i0, template: "<div class=\"layout-col gap-xs mat-mdc-snack-bar-container\">\n\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\">{{ icon(toast.type) }}</mat-icon>\n <span\n class=\"toast-title mat-subtitle-2 noselect\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n >{{ toast.status }}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n @if (toast.message) {\n <span class=\"mat-body noselect\" matSnackBarLabel\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{ toast.message }}</span>\n }\n\n <span></span>\n\n <!-- Toast Detail -->\n @if (toast.detail) {\n <span class=\"mat-small noselect\" matSnackBarLabel\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{ trimDetailText(toast.detail, 200) }}</span>\n }\n\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button mat-button matSnackBarAction type=\"button\" [color]=\"iconColor(toast.type)\" (click)=\"close()\">Ok</button>\n </div>\n\n</div>\n", styles: [".toast-title{font-size:16px}\n"], dependencies: [{ kind: "directive", type: i1.MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: i1.MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "directive", type: i1.MatSnackBarAction, selector: "[matSnackBarAction]" }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: StandardToastComponent, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: StandardToastComponent, decorators: [{
67
67
  type: Component,
68
68
  args: [{ selector: 'elder-standard-toast', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col gap-xs mat-mdc-snack-bar-container\">\n\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\">{{ icon(toast.type) }}</mat-icon>\n <span\n class=\"toast-title mat-subtitle-2 noselect\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n >{{ toast.status }}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n @if (toast.message) {\n <span class=\"mat-body noselect\" matSnackBarLabel\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{ toast.message }}</span>\n }\n\n <span></span>\n\n <!-- Toast Detail -->\n @if (toast.detail) {\n <span class=\"mat-small noselect\" matSnackBarLabel\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{ trimDetailText(toast.detail, 200) }}</span>\n }\n\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button mat-button matSnackBarAction type=\"button\" [color]=\"iconColor(toast.type)\" (click)=\"close()\">Ok</button>\n </div>\n\n</div>\n", styles: [".toast-title{font-size:16px}\n"] }]
69
69
  }], ctorParameters: () => [{ type: i1.MatSnackBarRef }, { type: undefined, decorators: [{
@@ -12,8 +12,8 @@ import * as i0 from "@angular/core";
12
12
  export * from './elder-url-fragment';
13
13
  export { ElderUrlFragmentSwitcherComponent } from './url-fragment-switcher/elder-url-fragment-switcher.component';
14
14
  export class ElderUrlFragmentModule {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderUrlFragmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: ElderUrlFragmentModule, declarations: [ElderUrlFragmentSwitcherComponent], imports: [CommonModule,
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderUrlFragmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: ElderUrlFragmentModule, declarations: [ElderUrlFragmentSwitcherComponent], imports: [CommonModule,
17
17
  MatIconModule,
18
18
  MatMenuModule,
19
19
  MatFormFieldModule,
@@ -21,7 +21,7 @@ export class ElderUrlFragmentModule {
21
21
  FormsModule,
22
22
  MatButtonModule,
23
23
  ElderButtonGroupModule], exports: [ElderUrlFragmentSwitcherComponent] }); }
24
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderUrlFragmentModule, imports: [CommonModule,
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderUrlFragmentModule, imports: [CommonModule,
25
25
  MatIconModule,
26
26
  MatMenuModule,
27
27
  MatFormFieldModule,
@@ -30,7 +30,7 @@ export class ElderUrlFragmentModule {
30
30
  MatButtonModule,
31
31
  ElderButtonGroupModule] }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderUrlFragmentModule, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderUrlFragmentModule, decorators: [{
34
34
  type: NgModule,
35
35
  args: [{
36
36
  declarations: [
@@ -62,10 +62,10 @@ export class ElderUrlFragmentSwitcherComponent {
62
62
  this.logger.debug(urlFragment);
63
63
  window.open(window.location.href.replace(this.urlRegex.exec(window.location.href)[this.regexArrayIndex], urlFragment), this.windowOpenIn);
64
64
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderUrlFragmentSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ElderUrlFragmentSwitcherComponent, selector: "elder-url-fragment-switcher", inputs: { disable: "disable", urlFragments: "urlFragments", urlRegex: "urlRegex", regexArrayIndex: "regexArrayIndex", windowOpenIn: "windowOpenIn" }, ngImport: i0, template: "<ng-container *ngIf=\"activeUrlFragment$ | async as activeUrlFragment\">\n <elder-button-group>\n <button mat-stroked-button type=\"button\" disabled [ngStyle]=\"{'background-color': activeUrlFragment.color}\">\n <div class=\"layout-col\">\n <span *ngIf=\"!disable\" class=\"caption\">{{activeUrlFragment.name}}</span>\n </div>\n </button>\n\n <button mat-stroked-button type=\"button\"\n *ngIf=\"!disable \" [matMenuTriggerFor]=\"fragmentMenu\"\n [ngStyle]=\"{'background-color': activeUrlFragment.color}\">\n <mat-icon>flip_camera_android</mat-icon>\n </button>\n </elder-button-group>\n</ng-container>\n\n<mat-menu #fragmentMenu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let urlFragment of urlFragments\"\n (click)=\"setActiveUrlFragment(urlFragment.fragment)\">\n <mat-icon [ngStyle]=\"{'color': urlFragment.color}\">flip_camera_android</mat-icon>\n <span>{{ urlFragment.name }}</span>\n </button>\n\n</mat-menu>\n", styles: [".activeURlFragment{padding-left:6px}.mat-body-strong{line-height:5px;padding-top:10px;padding-bottom:8px;color:#000}.caption{color:#fff}.mat-body-strong-no-caption{line-height:5px;padding-top:15px;padding-bottom:14px;color:#000}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.ElderButtonGroupComponent, selector: "elder-button-group" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderUrlFragmentSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ElderUrlFragmentSwitcherComponent, selector: "elder-url-fragment-switcher", inputs: { disable: "disable", urlFragments: "urlFragments", urlRegex: "urlRegex", regexArrayIndex: "regexArrayIndex", windowOpenIn: "windowOpenIn" }, ngImport: i0, template: "<ng-container *ngIf=\"activeUrlFragment$ | async as activeUrlFragment\">\n <elder-button-group>\n <button mat-stroked-button type=\"button\" disabled [ngStyle]=\"{'background-color': activeUrlFragment.color}\">\n <div class=\"layout-col\">\n <span *ngIf=\"!disable\" class=\"caption\">{{activeUrlFragment.name}}</span>\n </div>\n </button>\n\n <button mat-stroked-button type=\"button\"\n *ngIf=\"!disable \" [matMenuTriggerFor]=\"fragmentMenu\"\n [ngStyle]=\"{'background-color': activeUrlFragment.color}\">\n <mat-icon>flip_camera_android</mat-icon>\n </button>\n </elder-button-group>\n</ng-container>\n\n<mat-menu #fragmentMenu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let urlFragment of urlFragments\"\n (click)=\"setActiveUrlFragment(urlFragment.fragment)\">\n <mat-icon [ngStyle]=\"{'color': urlFragment.color}\">flip_camera_android</mat-icon>\n <span>{{ urlFragment.name }}</span>\n </button>\n\n</mat-menu>\n", styles: [".activeURlFragment{padding-left:6px}.mat-body-strong{line-height:5px;padding-top:10px;padding-bottom:8px;color:#000}.caption{color:#fff}.mat-body-strong-no-caption{line-height:5px;padding-top:15px;padding-bottom:14px;color:#000}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.ElderButtonGroupComponent, selector: "elder-button-group" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ElderUrlFragmentSwitcherComponent, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElderUrlFragmentSwitcherComponent, decorators: [{
69
69
  type: Component,
70
70
  args: [{ selector: 'elder-url-fragment-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"activeUrlFragment$ | async as activeUrlFragment\">\n <elder-button-group>\n <button mat-stroked-button type=\"button\" disabled [ngStyle]=\"{'background-color': activeUrlFragment.color}\">\n <div class=\"layout-col\">\n <span *ngIf=\"!disable\" class=\"caption\">{{activeUrlFragment.name}}</span>\n </div>\n </button>\n\n <button mat-stroked-button type=\"button\"\n *ngIf=\"!disable \" [matMenuTriggerFor]=\"fragmentMenu\"\n [ngStyle]=\"{'background-color': activeUrlFragment.color}\">\n <mat-icon>flip_camera_android</mat-icon>\n </button>\n </elder-button-group>\n</ng-container>\n\n<mat-menu #fragmentMenu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let urlFragment of urlFragments\"\n (click)=\"setActiveUrlFragment(urlFragment.fragment)\">\n <mat-icon [ngStyle]=\"{'color': urlFragment.color}\">flip_camera_android</mat-icon>\n <span>{{ urlFragment.name }}</span>\n </button>\n\n</mat-menu>\n", styles: [".activeURlFragment{padding-left:6px}.mat-body-strong{line-height:5px;padding-top:10px;padding-bottom:8px;color:#000}.caption{color:#fff}.mat-body-strong-no-caption{line-height:5px;padding-top:15px;padding-bottom:14px;color:#000}\n"] }]
71
71
  }], ctorParameters: () => [], propDecorators: { disable: [{