@elderbyte/ngx-starter 16.0.1 → 16.0.3

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 (287) 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 +3 -3
  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/time/interval.mjs +23 -3
  15. package/esm2022/lib/common/time/period-duration.mjs +5 -2
  16. package/esm2022/lib/common/url/elder-router.service.mjs +3 -3
  17. package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +3 -3
  18. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
  19. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +4 -4
  20. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +3 -3
  21. package/esm2022/lib/components/auditing/elder-audit.module.mjs +4 -4
  22. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +5 -5
  23. package/esm2022/lib/components/badge/elder-badge.directive.mjs +3 -3
  24. package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
  25. package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -3
  26. package/esm2022/lib/components/button-group/elder-button-group.module.mjs +4 -4
  27. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +3 -3
  28. package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +3 -3
  29. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +3 -3
  30. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -4
  31. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
  32. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +18 -18
  33. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +4 -4
  34. package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +3 -3
  35. package/esm2022/lib/components/chips/elder-chips.module.mjs +4 -4
  36. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +4 -4
  37. package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +3 -3
  38. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
  39. package/esm2022/lib/components/containers/elder-containers.module.mjs +4 -4
  40. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -3
  41. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +3 -3
  42. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +3 -3
  43. package/esm2022/lib/components/csv/elder-csv.module.mjs +4 -4
  44. package/esm2022/lib/components/currency/elder-currency.module.mjs +4 -4
  45. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +3 -3
  46. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -4
  47. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +3 -3
  48. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +3 -3
  49. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
  50. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  51. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
  52. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +3 -3
  53. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +3 -3
  54. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +4 -4
  55. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +6 -6
  56. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +3 -3
  57. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +3 -3
  58. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -3
  59. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +9 -9
  60. package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +4 -4
  61. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +3 -3
  62. package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +3 -3
  63. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +3 -3
  64. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +3 -3
  65. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +4 -4
  66. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +3 -3
  67. package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +3 -3
  68. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +3 -3
  69. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -4
  70. package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +3 -3
  71. package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +3 -3
  72. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
  73. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +3 -3
  74. package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +3 -3
  75. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +3 -3
  76. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +3 -3
  77. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +3 -3
  78. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +3 -3
  79. package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +3 -3
  80. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +3 -3
  81. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +4 -4
  82. package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +3 -3
  83. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
  84. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +4 -4
  85. package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +3 -3
  86. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +3 -3
  87. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
  88. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +3 -3
  89. package/esm2022/lib/components/errors/elder-error.module.mjs +4 -4
  90. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -3
  91. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
  92. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -4
  93. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
  94. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +3 -3
  95. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +3 -3
  96. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +3 -3
  97. package/esm2022/lib/components/files/elder-file-select.directive.mjs +3 -3
  98. package/esm2022/lib/components/files/elder-file.module.mjs +4 -4
  99. package/esm2022/lib/components/files/file-select/file-select.component.mjs +3 -3
  100. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +3 -3
  101. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +3 -3
  102. package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +3 -3
  103. package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +3 -3
  104. package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +3 -3
  105. package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +3 -3
  106. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +3 -3
  107. package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +3 -3
  108. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +3 -3
  109. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +4 -4
  110. package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +3 -3
  111. package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +3 -3
  112. package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
  113. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +3 -3
  114. package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +3 -3
  115. package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +3 -3
  116. package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +3 -3
  117. package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +3 -3
  118. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +3 -3
  119. package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +3 -3
  120. package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +3 -3
  121. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +3 -3
  122. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +3 -3
  123. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +3 -3
  124. package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +3 -3
  125. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +3 -3
  126. package/esm2022/lib/components/forms/elder-forms.module.mjs +4 -4
  127. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +3 -3
  128. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +3 -3
  129. package/esm2022/lib/components/forms/search/elder-search.module.mjs +4 -4
  130. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +3 -3
  131. package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +3 -3
  132. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +3 -3
  133. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +4 -4
  134. package/esm2022/lib/components/global-search/elder-global-search.service.mjs +3 -3
  135. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
  136. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -4
  137. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  138. package/esm2022/lib/components/headers/elder-header.module.mjs +4 -4
  139. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +3 -3
  140. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +4 -4
  141. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +3 -3
  142. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +3 -3
  143. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +3 -3
  144. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +3 -3
  145. package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +3 -3
  146. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +3 -3
  147. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
  148. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +3 -3
  149. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +3 -3
  150. package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +3 -3
  151. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +4 -4
  152. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +3 -3
  153. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +3 -3
  154. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +4 -4
  155. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +3 -3
  156. package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +3 -3
  157. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +4 -4
  158. package/esm2022/lib/components/iframes/iframe-close.directive.mjs +3 -3
  159. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
  160. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +3 -3
  161. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +3 -3
  162. package/esm2022/lib/components/iframes/iframe.service.mjs +3 -3
  163. package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +3 -3
  164. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +3 -3
  165. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +4 -4
  166. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +3 -3
  167. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +3 -3
  168. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +3 -3
  169. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +4 -4
  170. package/esm2022/lib/components/labels/elder-labels.module.mjs +4 -4
  171. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +3 -3
  172. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +3 -3
  173. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +3 -3
  174. package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +3 -3
  175. package/esm2022/lib/components/measures/elder-measures.module.mjs +8 -8
  176. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +3 -3
  177. package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +3 -3
  178. package/esm2022/lib/components/measures/elder-unit.service.mjs +3 -3
  179. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +3 -3
  180. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +3 -3
  181. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +3 -3
  182. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +3 -3
  183. package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +3 -3
  184. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +3 -3
  185. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -4
  186. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +4 -4
  187. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -3
  188. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
  189. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
  190. package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +3 -3
  191. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -4
  192. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +3 -3
  193. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +3 -3
  194. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +3 -3
  195. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +3 -3
  196. package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +3 -3
  197. package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
  198. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +3 -3
  199. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +4 -4
  200. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
  201. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -3
  202. package/esm2022/lib/components/panels/elder-panel.module.mjs +4 -4
  203. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +3 -3
  204. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +3 -3
  205. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +9 -9
  206. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +3 -3
  207. package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +4 -4
  208. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +3 -3
  209. package/esm2022/lib/components/select/elder-select-base.mjs +3 -3
  210. package/esm2022/lib/components/select/elder-select-chip.directive.mjs +9 -9
  211. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +3 -3
  212. package/esm2022/lib/components/select/elder-select-value.directive.mjs +3 -3
  213. package/esm2022/lib/components/select/elder-select.module.mjs +4 -4
  214. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +3 -3
  215. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +3 -3
  216. package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +3 -3
  217. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +3 -3
  218. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +3 -3
  219. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
  220. package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +3 -3
  221. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +3 -3
  222. package/esm2022/lib/components/select/single/elder-select-form-field.mjs +3 -3
  223. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +3 -3
  224. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -4
  225. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +3 -3
  226. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +3 -3
  227. package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +3 -3
  228. package/esm2022/lib/components/shell/elder-shell.module.mjs +4 -4
  229. package/esm2022/lib/components/shell/elder-shell.service.mjs +3 -3
  230. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
  231. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +12 -12
  232. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +3 -3
  233. package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +3 -3
  234. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +3 -3
  235. package/esm2022/lib/components/tabs/elder-tab.module.mjs +4 -4
  236. package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +3 -3
  237. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -3
  238. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +3 -3
  239. package/esm2022/lib/components/theme/elder-theme.directive.mjs +3 -3
  240. package/esm2022/lib/components/theme/elder-theme.module.mjs +4 -4
  241. package/esm2022/lib/components/theme/elder-theme.service.mjs +3 -3
  242. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +7 -21
  243. package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +28 -0
  244. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +3 -3
  245. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +3 -3
  246. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +3 -3
  247. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +21 -14
  248. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +3 -3
  249. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +3 -3
  250. package/esm2022/lib/components/time/elder-time.module.mjs +4 -4
  251. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +3 -3
  252. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +3 -3
  253. package/esm2022/lib/components/toasts/elder-toast.module.mjs +4 -4
  254. package/esm2022/lib/components/toasts/elder-toast.service.mjs +3 -3
  255. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
  256. package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +4 -4
  257. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
  258. package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -3
  259. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +4 -4
  260. package/esm2022/lib/features/event-source/elder-event-source.service.mjs +3 -3
  261. package/esm2022/lib/features/kafent/access-token-provider.mjs +3 -3
  262. package/esm2022/lib/features/kafent/kafent-config.mjs +3 -3
  263. package/esm2022/lib/features/kafent/kafent-event-stream.mjs +3 -3
  264. package/esm2022/lib/features/kafent/kafent-event.service.mjs +3 -3
  265. package/esm2022/lib/features/kafent/kafent.module.mjs +4 -4
  266. package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +3 -3
  267. package/esm2022/lib/pipes/bytes.pipe.mjs +3 -3
  268. package/esm2022/lib/pipes/elder-pipes.module.mjs +10 -10
  269. package/esm2022/lib/pipes/elder-repeat.pipe.mjs +3 -3
  270. package/esm2022/lib/pipes/elder-round.pipe.mjs +3 -3
  271. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +3 -3
  272. package/esm2022/lib/pipes/elder-truncate.pipe.mjs +3 -3
  273. package/esm2022/lib/pipes/iso-duration.pipe.mjs +3 -3
  274. package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +3 -3
  275. package/esm2022/lib/pipes/iso-interval.pipe.mjs +3 -3
  276. package/esm2022/lib/pipes/time-ago.pipe.mjs +3 -3
  277. package/esm2022/lib/pipes/time-duration.pipe.mjs +3 -3
  278. package/esm2022/lib/pipes/weight.pipe.mjs +3 -3
  279. package/fesm2022/elderbyte-ngx-starter.mjs +1019 -980
  280. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  281. package/lib/common/time/interval.d.ts +1 -0
  282. package/lib/common/time/period-duration.d.ts +1 -0
  283. package/lib/components/time/date-adapters/custom-date-adapter.d.ts +0 -3
  284. package/lib/components/time/date-formats/locale-date-formats.d.ts +15 -0
  285. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +4 -2
  286. package/package.json +1 -1
  287. package/theming/_elder-mdc-support.scss +0 -3
@@ -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: "16.1.5", 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: "16.1.5", 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: "16.2.5", 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: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderDurationInputComponent, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderDateSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", 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: "16.2.5", ngImport: i0, type: ElderDateSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderDateSwitcherComponent, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", 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: function () { return []; }, 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: "16.1.5", 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: "16.1.5", 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: "16.2.5", 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: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderDateTimeInputComponent, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", 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 },
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input, Optional, Output, Self } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Inject, Input, Optional, Output, Self } from '@angular/core';
2
2
  import { LoggerFactory } from '@elderbyte/ts-logger';
3
3
  import { Interval } from '../../../common/time/interval';
4
4
  import { of } from 'rxjs';
@@ -7,23 +7,26 @@ import { LocalDate, LocalTime, ZoneId } from '@js-joda/core';
7
7
  import { ElderFormFieldControlBase } from '../../../common/forms/elder-form-field-control-base.directive';
8
8
  import { MatFormFieldControl } from '@angular/material/form-field';
9
9
  import { TimeUtil } from '../../../common/time/time-util';
10
+ import { MAT_DATE_LOCALE } from '@angular/material/core';
11
+ import { LocaleDateFormats } from '../date-formats/locale-date-formats';
10
12
  import * as i0 from "@angular/core";
11
13
  import * as i1 from "@angular/cdk/a11y";
12
14
  import * as i2 from "@ngx-translate/core";
13
15
  import * as i3 from "@angular/forms";
14
- import * as i4 from "@angular/common";
15
- import * as i5 from "@angular/material/datepicker";
16
- import * as i6 from "@angular/material/icon";
17
- import * as i7 from "../elder-date-time-input/elder-date-time-input.component";
18
- import * as i8 from "../elder-local-time-input/elder-local-time-input.component";
19
- import * as i9 from "../elder-local-date-input/elder-local-date-input.component";
16
+ import * as i4 from "@angular/material/core";
17
+ import * as i5 from "@angular/common";
18
+ import * as i6 from "@angular/material/datepicker";
19
+ import * as i7 from "@angular/material/icon";
20
+ import * as i8 from "../elder-date-time-input/elder-date-time-input.component";
21
+ import * as i9 from "../elder-local-time-input/elder-local-time-input.component";
22
+ import * as i10 from "../elder-local-date-input/elder-local-date-input.component";
20
23
  export class ElderIntervalInputComponent extends ElderFormFieldControlBase {
21
24
  /***************************************************************************
22
25
  * *
23
26
  * Constructor *
24
27
  * *
25
28
  **************************************************************************/
26
- constructor(hostRef, zone, focusMonitor, translateService, ngControl) {
29
+ constructor(hostRef, zone, focusMonitor, translateService, ngControl, customDateAdapter, matDateLocale) {
27
30
  super(hostRef, 'interval-input', // => mat-mdc-form-field-type-interval-input
28
31
  focusMonitor, translateService, ngControl);
29
32
  this.ngControl = ngControl;
@@ -41,6 +44,7 @@ export class ElderIntervalInputComponent extends ElderFormFieldControlBase {
41
44
  this.endLocalDate$ = this.value$.pipe(map(interval => interval?.end ? LocalDate.from(interval.end.atZone(this.zone)) : null));
42
45
  this.startDate$ = this.mapIgnoreErrorObservable(this.startLocalDate$, (d) => TimeUtil.localDateToDate(d));
43
46
  this.endDate$ = this.mapIgnoreErrorObservable(this.endLocalDate$, (d) => TimeUtil.localDateToDate(d));
47
+ this.dateformat = LocaleDateFormats.getFormatsOfLocale(matDateLocale)[0].toLowerCase();
44
48
  }
45
49
  /***************************************************************************
46
50
  * *
@@ -147,20 +151,23 @@ export class ElderIntervalInputComponent extends ElderFormFieldControlBase {
147
151
  return of(null);
148
152
  }));
149
153
  }
150
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderIntervalInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
151
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", 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: "16.2.5", 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: "16.2.5", type: ElderIntervalInputComponent, selector: "elder-interval-input", inputs: { zone: "zone", mode: "mode", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
152
156
  { provide: MatFormFieldControl, useExisting: ElderIntervalInputComponent },
153
- ], 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=\"dd.mm.yyyy\"\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=\"dd.mm.yyyy\"\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: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.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: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i5.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i5.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i5.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i5.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i5.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.ElderDateTimeInputComponent, selector: "elder-date-time-input", inputs: ["center", "isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: i8.ElderLocalTimeInputComponent, selector: "elder-local-time-input", inputs: ["isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: i9.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: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i6.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], 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 }); }
154
158
  }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderIntervalInputComponent, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ElderIntervalInputComponent, decorators: [{
156
160
  type: Component,
157
161
  args: [{ selector: 'elder-interval-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
158
162
  { provide: MatFormFieldControl, useExisting: ElderIntervalInputComponent },
159
- ], 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=\"dd.mm.yyyy\"\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=\"dd.mm.yyyy\"\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"] }]
163
+ ], 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"] }]
160
164
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.FocusMonitor }, { type: i2.TranslateService }, { type: i3.NgControl, decorators: [{
161
165
  type: Optional
162
166
  }, {
163
167
  type: Self
168
+ }] }, { type: i4.DateAdapter }, { type: undefined, decorators: [{
169
+ type: Inject,
170
+ args: [MAT_DATE_LOCALE]
164
171
  }] }]; }, propDecorators: { zone: [{
165
172
  type: Input
166
173
  }], mode: [{
@@ -170,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
170
177
  }], isoValue: [{
171
178
  type: Input
172
179
  }] } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW50ZXJ2YWwtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aW1lL2VsZGVyLWludGVydmFsLWlucHV0L2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1pbnRlcnZhbC1pbnB1dC9lbGRlci1pbnRlcnZhbC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3ZELE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQVUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFJeEcsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7OztBQXVDeEQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHlCQUFtQztJQXVCbEY7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Q2QsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUM1RCxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN4RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0F0T1UsMkJBQTJCO2tHQUEzQiwyQkFBMkIsNEpBSjNCO1lBQ1QsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFDO1NBQ3pFLGlEQ2hESCxvbEhBc0dBOzsyRkRwRGEsMkJBQTJCO2tCQVR2QyxTQUFTOytCQUNFLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsNkJBQTZCLEVBQUM7cUJBQ3pFOzswQkFvQ0UsUUFBUTs7MEJBQUksSUFBSTs0Q0FyQlosSUFBSTtzQkFEVixLQUFLO2dCQXlESyxJQUFJO3NCQURkLEtBQUs7Z0JBV0ssY0FBYztzQkFEeEIsTUFBTTtnQkFRSSxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgTmdab25lLCBPcHRpb25hbCwgT3V0cHV0LCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtJbnRlcnZhbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvaW50ZXJ2YWwnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbnN0YW50LCBMb2NhbERhdGUsIExvY2FsVGltZSwgWm9uZUlkfSBmcm9tICdAanMtam9kYS9jb3JlJztcbmltcG9ydCB7RWxkZXJGb3JtRmllbGRDb250cm9sQmFzZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2VsZGVyLWZvcm0tZmllbGQtY29udHJvbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0ZvY3VzTW9uaXRvcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdEZvcm1GaWVsZENvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtUaW1lVXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvdGltZS11dGlsJztcblxuZXhwb3J0IHR5cGUgSW50ZXJ2YWxJbnB1dE1vZGUgPVxuXG4vKipcbiAqIFN1cHBvcnRzIHRoZSBzZWxlY3Rpb24gb2YgYSBzaW5nbGUgKGZ1bGwpIGRheTpcbiAqIDEyLjEyLjIwMjBcbiAqL1xuICAnc2luZ2xlLWRheScgfFxuXG4gIC8qKlxuICAgKiBTdXBwb3J0cyBhIHRpbWUgaW50ZXJ2YWwgaW4gYSBkYXk6XG4gICAqIDEyLjEyLjIwMjAgMTM6MDAgLSAxODowMFxuICAgKi9cbiAgJ2RheS10aW1lLXJhbmdlJyB8XG5cbiAgLyoqXG4gICAqIFN1cHBvcnRzIGEgZGF0ZSBpbnRlcnZhbCB3aXRob3V0IHRpbWVcbiAgICogMTIuMTIuMjAyMCAtIDIyLjA2LjIwMjFcbiAgICovXG4gICdkYXRlLXJhbmdlJyB8XG5cbiAgLyoqXG4gICAqIFN1cHBvcnRzIGEgZGF0ZS10aW1lIHRvIGRhdGUtdGltZSBpbnRlcnZhbFxuICAgKiAxMi4xMi4yMDIwIDg6MDAgLSAyMi4wNi4yMDIxIDE3OjAwXG4gICAqIFRoaXMgaXMgdGhlIGRlZmF1bHQgYXMgaXQgc3VwcG9ydHMgdGhlIG1vc3QgZGV0YWlsZWQgaW5wdXQuXG4gICAqL1xuICAnZGF0ZS10aW1lLXJhbmdlJ1xuICA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWludGVydmFsLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItaW50ZXJ2YWwtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogRWxkZXJJbnRlcnZhbElucHV0Q29tcG9uZW50fSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlPEludGVydmFsPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX21vZGU6IEludGVydmFsSW5wdXRNb2RlID0gJ2RhdGUtdGltZS1yYW5nZSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHpvbmUgPSBab25lSWQuc3lzdGVtRGVmYXVsdCgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbmRUaW1lJDogT2JzZXJ2YWJsZTxMb2NhbFRpbWU+O1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGFydExvY2FsRGF0ZSQ6IE9ic2VydmFibGU8TG9jYWxEYXRlPjtcbiAgcHVibGljIHJlYWRvbmx5IGVuZExvY2FsRGF0ZSQ6IE9ic2VydmFibGU8TG9jYWxEYXRlPjtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhcnREYXRlJDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgcHVibGljIHJlYWRvbmx5IGVuZERhdGUkOiBPYnNlcnZhYmxlPERhdGU+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgem9uZTogTmdab25lLFxuICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgaG9zdFJlZixcbiAgICAgICdpbnRlcnZhbC1pbnB1dCcsIC8vID0+IG1hdC1tZGMtZm9ybS1maWVsZC10eXBlLWludGVydmFsLWlucHV0XG4gICAgICBmb2N1c01vbml0b3IsXG4gICAgICB0cmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgbmdDb250cm9sXG4gICAgKTtcblxuICAgIHRoaXMuY29udHJvbFR5cGUgPSB0aGlzLl9tb2RlO1xuXG4gICAgdGhpcy5lbmRUaW1lJCA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICBtYXAoaW50ZXJ2YWwgPT4gaW50ZXJ2YWw/LmVuZCA/IExvY2FsVGltZS5mcm9tKGludGVydmFsLmVuZC5hdFpvbmUodGhpcy56b25lKSkgOiBudWxsKVxuICAgICk7XG5cbiAgICB0aGlzLnN0YXJ0TG9jYWxEYXRlJCA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICBtYXAoaW50ZXJ2YWwgPT4gaW50ZXJ2YWw/LnN0YXJ0ID8gTG9jYWxEYXRlLmZyb20oaW50ZXJ2YWwuc3RhcnQuYXRab25lKHRoaXMuem9uZSkpIDogbnVsbClcbiAgICApO1xuXG4gICAgdGhpcy5lbmRMb2NhbERhdGUkID0gdGhpcy52YWx1ZSQucGlwZShcbiAgICAgIG1hcChpbnRlcnZhbCA9PiBpbnRlcnZhbD8uZW5kID8gTG9jYWxEYXRlLmZyb20oaW50ZXJ2YWwuZW5kLmF0Wm9uZSh0aGlzLnpvbmUpKSA6IG51bGwpXG4gICAgKTtcblxuICAgIHRoaXMuc3RhcnREYXRlJCA9IHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMuc3RhcnRMb2NhbERhdGUkLCAoZDogTG9jYWxEYXRlKSA9PiBUaW1lVXRpbC5sb2NhbERhdGVUb0RhdGUoZCkpO1xuICAgIHRoaXMuZW5kRGF0ZSQgPSB0aGlzLm1hcElnbm9yZUVycm9yT2JzZXJ2YWJsZSh0aGlzLmVuZExvY2FsRGF0ZSQsIChkOiBMb2NhbERhdGUpID0+IFRpbWVVdGlsLmxvY2FsRGF0ZVRvRGF0ZShkKSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1vZGUobW9kZTogSW50ZXJ2YWxJbnB1dE1vZGUpIHtcbiAgICB0aGlzLl9tb2RlID0gbW9kZTtcbiAgICB0aGlzLmNvbnRyb2xUeXBlID0gbW9kZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kZSgpOiBJbnRlcnZhbElucHV0TW9kZSB7XG4gICAgcmV0dXJuIHRoaXMuX21vZGU7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBpc29WYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgbWFwKGludGVydmFsID0+IGludGVydmFsID8gaW50ZXJ2YWwudG9JbnN0YW50U3RyaW5nKCkgOiBudWxsKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzb1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlID8gSW50ZXJ2YWwucGFyc2UodmFsdWUpIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlci53YXJuKCdmb2N1cygpIG5vdCB5ZXQgc3VwcG9ydGVkIScpXG4gICAgLy8gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMob3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlci53YXJuKCdibHVyKCkgbm90IHlldCBzdXBwb3J0ZWQhJylcbiAgICAvLyB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5ibHVyKCk7XG4gIH1cblxuICBwdWJsaWMgb25EYXlUaW1lU3RhcnRDaGFuZ2VkKHN0YXJ0OiBJbnN0YW50KSB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgIEludGVydmFsLm9mKFxuICAgICAgICBzdGFydCxcbiAgICAgICAgdGhpcy5pbnN0YW50QXRFbmRPZkRheShzdGFydClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uRGF5VGltZUVuZFRpbWVDaGFuZ2VkKGVuZFRpbWU6IExvY2FsVGltZSk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy52YWx1ZS5zdGFydDtcbiAgICBjb25zdCBlbmQgPSB0aGlzLmluc3RhbnRXaXRoVGltZShzdGFydCwgZW5kVGltZSk7XG5cbiAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgSW50ZXJ2YWwub2YoXG4gICAgICAgIHN0YXJ0LFxuICAgICAgICAhZW5kLmlzQWZ0ZXIoc3RhcnQpID8gdGhpcy5pbnN0YW50QXRFbmRPZkRheShzdGFydCkgOiBlbmRcbiAgICAgIClcbiAgICApO1xuXG4gIH1cblxuICBwdWJsaWMgb25TdGFydENoYW5nZWQoc3RhcnQ6IEluc3RhbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgSW50ZXJ2YWwub2YoXG4gICAgICAgIHN0YXJ0LFxuICAgICAgICB0aGlzLnZhbHVlLmVuZFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25FbmRDaGFuZ2VkKGVuZDogSW5zdGFudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICBJbnRlcnZhbC5vZihcbiAgICAgICAgdGhpcy52YWx1ZS5zdGFydCxcbiAgICAgICAgZW5kXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN0YXJ0RGF0ZUNoYW5nZWQodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMudG9Mb2NhbERhdGUodmFsdWUpO1xuICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICBJbnRlcnZhbC5vZihcbiAgICAgICAgdGhpcy5sb2NhbERhdGVUb0luc3RhbnQoZGF0ZSksXG4gICAgICAgIHRoaXMudmFsdWU/LmVuZFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25FbmREYXRlQ2hhbmdlZCh2YWx1ZTogRGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy50b0xvY2FsRGF0ZSh2YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgIEludGVydmFsLm9mKFxuICAgICAgICB0aGlzLnZhbHVlPy5zdGFydCxcbiAgICAgICAgdGhpcy5sb2NhbERhdGVUb0luc3RhbnQoZGF0ZSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uU2luZ2xlRGF5RGF0ZUNoYW5nZWQoZGF0ZTogTG9jYWxEYXRlKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgIEludGVydmFsLm9mRGF5KGRhdGUsIHRoaXMuem9uZSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBpbnN0YW50QXRTdGFydE9mRGF5Tm93KCk6IEluc3RhbnQge1xuICAgIHJldHVybiBMb2NhbERhdGUubm93KCkuYXRTdGFydE9mRGF5KCkuYXRab25lKHRoaXMuem9uZSkudG9JbnN0YW50KCk7XG4gIH1cblxuICBwcml2YXRlIGluc3RhbnRBdEVuZE9mRGF5KGluc3RhbnQ6IEluc3RhbnQpOiBJbnN0YW50IHtcbiAgICByZXR1cm4gTG9jYWxEYXRlLm9mSW5zdGFudChpbnN0YW50KS5hdFN0YXJ0T2ZEYXkoKS5wbHVzRGF5cygxKS5hdFpvbmUodGhpcy56b25lKS50b0luc3RhbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9jYWxEYXRlVG9JbnN0YW50KGRhdGU6IExvY2FsRGF0ZSk6IEluc3RhbnQgfCB1bmRlZmluZWQge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICByZXR1cm4gZGF0ZS5hdFN0YXJ0T2ZEYXkoKS5hdFpvbmUodGhpcy56b25lKS50b0luc3RhbnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdmFsdWVzRXF1YWxzKGE6IEludGVydmFsLCBiOiBJbnRlcnZhbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoYSAmJiBiKVxuICAgICAgPyBhLmVxdWFscyhiKVxuICAgICAgOiBhID09PSBiO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YW50V2l0aFRpbWUoaW5zdGFudDogSW5zdGFudCwgdGltZTogTG9jYWxUaW1lKTogSW5zdGFudCB7XG4gICAgcmV0dXJuIGluc3RhbnRcbiAgICAgIC5hdFpvbmUodGhpcy56b25lKVxuICAgICAgLndpdGhIb3VyKHRpbWUuaG91cigpKVxuICAgICAgLndpdGhNaW51dGUodGltZS5taW51dGUoKSlcbiAgICAgIC50b0luc3RhbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9Mb2NhbERhdGUodmFsdWU6IERhdGUpOiBMb2NhbERhdGUgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHZhbHVlID8gVGltZVV0aWwuZGF0ZVRvTG9jYWxEYXRlKHZhbHVlKSA6IG51bGw7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdGYWlsZWQgdG8gYXBwbHkgdmFsdWUgdG8gZGF0ZVZhbHVlOiAnICsgdmFsdWUsIGVycik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1hcElnbm9yZUVycm9yT2JzZXJ2YWJsZTxUPihkYXRlOiBPYnNlcnZhYmxlPExvY2FsRGF0ZT4sIGNvbnZlcnNpb25GbjogKGQ6IExvY2FsRGF0ZSkgPT4gVCk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcbiAgICByZXR1cm4gZGF0ZS5waXBlKFxuICAgICAgbWFwKGxvY2FsRGF0ZSA9PiBsb2NhbERhdGUgPyBjb252ZXJzaW9uRm4obG9jYWxEYXRlKSA6IG51bGwpLFxuICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIGNvbnZlcnQgbG9jYWwgZGF0ZSEnLCBlcnIpO1xuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm1vZGVcIj5cblxuICA8IS0tIERBVEVfVElNRV9SQU5HRSAtLT5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUtdGltZS1yYW5nZSdcIlxuICAgICAgIGNsYXNzPVwibGF5b3V0LXJvd1wiPlxuICAgIDxlbGRlci1kYXRlLXRpbWUtaW5wdXQgY2xhc3M9XCJmbGV4XCIgY2VudGVyXG4gICAgICBbdmFsdWVdPVwiKHZhbHVlJCB8IGFzeW5jKT8uc3RhcnRcIlxuICAgICAgKHZhbHVlVXBkYXRlZCk9XCJvblN0YXJ0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJycpICsgJyAnICsgKCdpbnRlcnZhbC5mcm9tJyB8IHRyYW5zbGF0ZSlcIlxuICAgID48L2VsZGVyLWRhdGUtdGltZS1pbnB1dD5cbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvciBmbGV4LW5vbmVcIj7igJM8L3NwYW4+XG4gICAgPGVsZGVyLWRhdGUtdGltZS1pbnB1dCBjbGFzcz1cImZsZXhcIiBjZW50ZXJcbiAgICAgIFt2YWx1ZV09XCIodmFsdWUkIHwgYXN5bmMpPy5lbmRcIlxuICAgICAgKHZhbHVlVXBkYXRlZCk9XCJvbkVuZENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiKHBsYWNlaG9sZGVyIHx8ICcnKSArICcgJyArICgnaW50ZXJ2YWwudG8nIHwgdHJhbnNsYXRlKVwiXG4gICAgPjwvZWxkZXItZGF0ZS10aW1lLWlucHV0PlxuICA8L2Rpdj5cblxuICA8IS0tIERBWV9USU1FX1JBTkdFIC0tPlxuICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInZGF5LXRpbWUtcmFuZ2UnXCJcbiAgICAgICBjbGFzcz1cImxheW91dC1yb3cgZ2FwLXhzIGVsZGVyLWZsZXgtaW50ZXJ2YWwtY29udHJvbFwiPlxuXG4gICAgPCEtLSAgW25hbWVdPVwibmFtZSArICctZGF5LXN0YXJ0J1wiIC0tPlxuICAgIDxlbGRlci1kYXRlLXRpbWUtaW5wdXRcbiAgICAgIFt2YWx1ZV09XCIodmFsdWUkIHwgYXN5bmMpPy5zdGFydFwiXG4gICAgICAodmFsdWVVcGRhdGVkKT1cIm9uRGF5VGltZVN0YXJ0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJycpICsgJyAnICsgKCdpbnRlcnZhbC5mcm9tJyB8IHRyYW5zbGF0ZSlcIlxuICAgID48L2VsZGVyLWRhdGUtdGltZS1pbnB1dD5cblxuICAgIDwhLS0gW25hbWVdPVwibmFtZSArICctZGF5LWVuZCdcIiAtLT5cbiAgICA8ZWxkZXItbG9jYWwtdGltZS1pbnB1dFxuICAgICAgW3ZhbHVlXT1cImVuZFRpbWUkIHwgYXN5bmNcIlxuICAgICAgKHZhbHVlVXBkYXRlZCk9XCJvbkRheVRpbWVFbmRUaW1lQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJycpICsgJyAnICsgKCdpbnRlcnZhbC50bycgfCB0cmFuc2xhdGUpXCJcbiAgICA+PC9lbGRlci1sb2NhbC10aW1lLWlucHV0PlxuICA8L2Rpdj5cblxuICA8IS0tIERBVEVfUkFOR0UgLS0+XG4gIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidkYXRlLXJhbmdlJ1wiXG4gICAgICAgY2xhc3M9XCJsYXlvdXQtcm93IGdhcC14cyBlbGRlci1mbGV4LWludGVydmFsLWNvbnRyb2xcIj5cblxuICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dFxuICAgICAgY2xhc3M9XCJtZGMtdGV4dC1maWVsZF9faW5wdXRcIlxuICAgICAgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiXG4gICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgPlxuICAgICAgPGlucHV0IG1hdFN0YXJ0RGF0ZVxuICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiZGQubW0ueXl5eVwiXG4gICAgICAgICAgICAgW25nTW9kZWxdPVwic3RhcnREYXRlJCB8IGFzeW5jXCIgbmFtZT1cImRhdGUtcmFuZ2Uuc3RhcnRcIlxuICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUsIHVwZGF0ZU9uOiAnYmx1cid9XCJcbiAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblN0YXJ0RGF0ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICA+XG4gICAgICA8aW5wdXQgbWF0RW5kRGF0ZVxuICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiZGQubW0ueXl5eVwiXG4gICAgICAgICAgICAgW25nTW9kZWxdPVwiZW5kRGF0ZSQgfCBhc3luY1wiIG5hbWU9XCJkYXRlLXJhbmdlLmVuZFwiXG4gICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSwgdXBkYXRlT246ICdibHVyJ31cIlxuICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRW5kRGF0ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICA+XG4gICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cbiAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIGNsYXNzPVwiZWxkZXItY29udHJvbC1pY29uLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcl09XCJwaWNrZXJcIj5cbiAgICAgIDxtYXQtaWNvbiBtYXREYXRlcGlja2VyVG9nZ2xlSWNvbj5jYWxlbmRhcl9tb250aDwvbWF0LWljb24+XG4gICAgPC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxuICA8L2Rpdj5cblxuICA8IS0tIFNJTkdMRV9EQVkgLS0+XG4gIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidzaW5nbGUtZGF5J1wiXG4gICAgICAgY2xhc3M9XCJsYXlvdXQtcm93IGVsZGVyLWZsZXgtY29udHJvbFwiPlxuXG4gICAgPCEtLSBbbmFtZV09XCJuYW1lXCIgLS0+XG4gICAgPGVsZGVyLWxvY2FsLWRhdGUtaW5wdXQgY2xhc3M9XCJmbGV4XCIgY2VudGVyXG4gICAgICBbdmFsdWVdPVwic3RhcnRMb2NhbERhdGUkIHwgYXN5bmNcIlxuICAgICAgKHZhbHVlVXBkYXRlZCk9XCJvblNpbmdsZURheURhdGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIihwbGFjZWhvbGRlciB8fCAnJylcIlxuICAgID48L2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQ+XG4gIDwvZGl2PlxuXG48L25nLWNvbnRhaW5lcj5cblxuXG5cbiJdfQ==
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW50ZXJ2YWwtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aW1lL2VsZGVyLWludGVydmFsLWlucHV0L2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1pbnRlcnZhbC1pbnB1dC9lbGRlci1pbnRlcnZhbC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxFQUFhLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBVSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUl4RyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEQsT0FBTyxFQUFjLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFD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e1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNlbGZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7SW50ZXJ2YWx9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90aW1lL2ludGVydmFsJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5zdGFudCwgTG9jYWxEYXRlLCBMb2NhbFRpbWUsIFpvbmVJZH0gZnJvbSAnQGpzLWpvZGEvY29yZSc7XG5pbXBvcnQge0VsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2V9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1mb3JtLWZpZWxkLWNvbnRyb2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtGb2N1c01vbml0b3J9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRDb250cm9sfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7VGltZVV0aWx9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90aW1lL3RpbWUtdXRpbCc7XG5pbXBvcnQge0N1c3RvbURhdGVBZGFwdGVyfSBmcm9tICcuLi9kYXRlLWFkYXB0ZXJzL2N1c3RvbS1kYXRlLWFkYXB0ZXInO1xuaW1wb3J0IHtEYXRlQWRhcHRlciwgTUFUX0RBVEVfTE9DQUxFfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7TG9jYWxlRGF0ZUZvcm1hdHN9IGZyb20gJy4uL2RhdGUtZm9ybWF0cy9sb2NhbGUtZGF0ZS1mb3JtYXRzJztcblxuZXhwb3J0IHR5cGUgSW50ZXJ2YWxJbnB1dE1vZGUgPVxuXG4vKipcbiAqIFN1cHBvcnRzIHRoZSBzZWxlY3Rpb24gb2YgYSBzaW5nbGUgKGZ1bGwpIGRheTpcbiAqIDEyLjEyLjIwMjBcbiAqL1xuICAnc2luZ2xlLWRheScgfFxuXG4gIC8qKlxuICAgKiBTdXBwb3J0cyBhIHRpbWUgaW50ZXJ2YWwgaW4gYSBkYXk6XG4gICAqIDEyLjEyLjIwMjAgMTM6MDAgLSAxODowMFxuICAgKi9cbiAgJ2RheS10aW1lLXJhbmdlJyB8XG5cbiAgLyoqXG4gICAqIFN1cHBvcnRzIGEgZGF0ZSBpbnRlcnZhbCB3aXRob3V0IHRpbWVcbiAgICogMTIuMTIuMjAyMCAtIDIyLjA2LjIwMjFcbiAgICovXG4gICdkYXRlLXJhbmdlJyB8XG5cbiAgLyoqXG4gICAqIFN1cHBvcnRzIGEgZGF0ZS10aW1lIHRvIGRhdGUtdGltZSBpbnRlcnZhbFxuICAgKiAxMi4xMi4yMDIwIDg6MDAgLSAyMi4wNi4yMDIxIDE3OjAwXG4gICAqIFRoaXMgaXMgdGhlIGRlZmF1bHQgYXMgaXQgc3VwcG9ydHMgdGhlIG1vc3QgZGV0YWlsZWQgaW5wdXQuXG4gICAqL1xuICAnZGF0ZS10aW1lLXJhbmdlJ1xuICA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWludGVydmFsLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItaW50ZXJ2YWwtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogRWxkZXJJbnRlcnZhbElucHV0Q29tcG9uZW50fSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlPEludGVydmFsPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX21vZGU6IEludGVydmFsSW5wdXRNb2RlID0gJ2RhdGUtdGltZS1yYW5nZSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHpvbmUgPSBab25lSWQuc3lzdGVtRGVmYXVsdCgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbmRUaW1lJDogT2JzZXJ2YWJsZTxMb2NhbFRpbWU+O1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGFydExvY2FsRGF0ZSQ6IE9ic2VydmFibGU8TG9jYWxEYXRlPjtcbiAgcHVibGljIHJlYWRvbmx5IGVuZExvY2FsRGF0ZSQ6IE9ic2VydmFibGU8TG9jYWxEYXRlPjtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhcnREYXRlJDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgcHVibGljIHJlYWRvbmx5IGVuZERhdGUkOiBPYnNlcnZhYmxlPERhdGU+O1xuXG4gIHB1YmxpYyByZWFkb25seSBkYXRlZm9ybWF0OiBzdHJpbmc7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgaG9zdFJlZjogRWxlbWVudFJlZixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBjdXN0b21EYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG4gICAgQEluamVjdChNQVRfREFURV9MT0NBTEUpIG1hdERhdGVMb2NhbGU6IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihcbiAgICAgIGhvc3RSZWYsXG4gICAgICAnaW50ZXJ2YWwtaW5wdXQnLCAvLyA9PiBtYXQtbWRjLWZvcm0tZmllbGQtdHlwZS1pbnRlcnZhbC1pbnB1dFxuICAgICAgZm9jdXNNb25pdG9yLFxuICAgICAgdHJhbnNsYXRlU2VydmljZSxcbiAgICAgIG5nQ29udHJvbFxuICAgICk7XG5cbiAgICB0aGlzLmNvbnRyb2xUeXBlID0gdGhpcy5fbW9kZTtcblxuICAgIHRoaXMuZW5kVGltZSQgPSB0aGlzLnZhbHVlJC5waXBlKFxuICAgICAgbWFwKGludGVydmFsID0+IGludGVydmFsPy5lbmQgPyBMb2NhbFRpbWUuZnJvbShpbnRlcnZhbC5lbmQuYXRab25lKHRoaXMuem9uZSkpIDogbnVsbClcbiAgICApO1xuXG4gICAgdGhpcy5zdGFydExvY2FsRGF0ZSQgPSB0aGlzLnZhbHVlJC5waXBlKFxuICAgICAgbWFwKGludGVydmFsID0+IGludGVydmFsPy5zdGFydCA/IExvY2FsRGF0ZS5mcm9tKGludGVydmFsLnN0YXJ0LmF0Wm9uZSh0aGlzLnpvbmUpKSA6IG51bGwpXG4gICAgKTtcblxuICAgIHRoaXMuZW5kTG9jYWxEYXRlJCA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICBtYXAoaW50ZXJ2YWwgPT4gaW50ZXJ2YWw/LmVuZCA/IExvY2FsRGF0ZS5mcm9tKGludGVydmFsLmVuZC5hdFpvbmUodGhpcy56b25lKSkgOiBudWxsKVxuICAgICk7XG5cbiAgICB0aGlzLnN0YXJ0RGF0ZSQgPSB0aGlzLm1hcElnbm9yZUVycm9yT2JzZXJ2YWJsZSh0aGlzLnN0YXJ0TG9jYWxEYXRlJCwgKGQ6IExvY2FsRGF0ZSkgPT4gVGltZVV0aWwubG9jYWxEYXRlVG9EYXRlKGQpKTtcbiAgICB0aGlzLmVuZERhdGUkID0gdGhpcy5tYXBJZ25vcmVFcnJvck9ic2VydmFibGUodGhpcy5lbmRMb2NhbERhdGUkLCAoZDogTG9jYWxEYXRlKSA9PiBUaW1lVXRpbC5sb2NhbERhdGVUb0RhdGUoZCkpO1xuXG4gICAgdGhpcy5kYXRlZm9ybWF0ID0gTG9jYWxlRGF0ZUZvcm1hdHMuZ2V0Rm9ybWF0c09mTG9jYWxlKG1hdERhdGVMb2NhbGUpWzBdLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1vZGUobW9kZTogSW50ZXJ2YWxJbnB1dE1vZGUpIHtcbiAgICB0aGlzLl9tb2RlID0gbW9kZTtcbiAgICB0aGlzLmNvbnRyb2xUeXBlID0gbW9kZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kZSgpOiBJbnRlcnZhbElucHV0TW9kZSB7XG4gICAgcmV0dXJuIHRoaXMuX21vZGU7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBpc29WYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgbWFwKGludGVydmFsID0+IGludGVydmFsID8gaW50ZXJ2YWwudG9JbnN0YW50U3RyaW5nKCkgOiBudWxsKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzb1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlID8gSW50ZXJ2YWwucGFyc2UodmFsdWUpIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlci53YXJuKCdmb2N1cygpIG5vdCB5ZXQgc3VwcG9ydGVkIScpXG4gICAgLy8gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMob3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlci53YXJuKCdibHVyKCkgbm90IHlldCBzdXBwb3J0ZWQhJylcbiAgICAvLyB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5ibHVyKCk7XG4gIH1cblxuICBwdWJsaWMgb25EYXlUaW1lU3RhcnRDaGFuZ2VkKHN0YXJ0OiBJbnN0YW50KSB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgIEludGVydmFsLm9mKFxuICAgICAgICBzdGFydCxcbiAgICAgICAgdGhpcy5pbnN0YW50QXRFbmRPZkRheShzdGFydClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uRGF5VGltZUVuZFRpbWVDaGFuZ2VkKGVuZFRpbWU6IExvY2FsVGltZSk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy52YWx1ZS5zdGFydDtcbiAgICBjb25zdCBlbmQgPSB0aGlzLmluc3RhbnRXaXRoVGltZShzdGFydCwgZW5kVGltZSk7XG5cbiAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgSW50ZXJ2YWwub2YoXG4gICAgICAgIHN0YXJ0LFxuICAgICAgICAhZW5kLmlzQWZ0ZXIoc3RhcnQpID8gdGhpcy5pbnN0YW50QXRFbmRPZkRheShzdGFydCkgOiBlbmRcbiAgICAgIClcbiAgICApO1xuXG4gIH1cblxuICBwdWJsaWMgb25TdGFydENoYW5nZWQoc3RhcnQ6IEluc3RhbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgSW50ZXJ2YWwub2YoXG4gICAgICAgIHN0YXJ0LFxuICAgICAgICB0aGlzLnZhbHVlLmVuZFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25FbmRDaGFuZ2VkKGVuZDogSW5zdGFudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICBJbnRlcnZhbC5vZihcbiAgICAgICAgdGhpcy52YWx1ZS5zdGFydCxcbiAgICAgICAgZW5kXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN0YXJ0RGF0ZUNoYW5nZWQodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMudG9Mb2NhbERhdGUodmFsdWUpO1xuICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICBJbnRlcnZhbC5vZihcbiAgICAgICAgdGhpcy5sb2NhbERhdGVUb0luc3RhbnQoZGF0ZSksXG4gICAgICAgIHRoaXMudmFsdWU/LmVuZFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25FbmREYXRlQ2hhbmdlZCh2YWx1ZTogRGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy50b0xvY2FsRGF0ZSh2YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgIEludGVydmFsLm9mKFxuICAgICAgICB0aGlzLnZhbHVlPy5zdGFydCxcbiAgICAgICAgdGhpcy5sb2NhbERhdGVUb0luc3RhbnQoZGF0ZSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uU2luZ2xlRGF5RGF0ZUNoYW5nZWQoZGF0ZTogTG9jYWxEYXRlKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgIEludGVydmFsLm9mRGF5KGRhdGUsIHRoaXMuem9uZSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBpbnN0YW50QXRTdGFydE9mRGF5Tm93KCk6IEluc3RhbnQge1xuICAgIHJldHVybiBMb2NhbERhdGUubm93KCkuYXRTdGFydE9mRGF5KCkuYXRab25lKHRoaXMuem9uZSkudG9JbnN0YW50KCk7XG4gIH1cblxuICBwcml2YXRlIGluc3RhbnRBdEVuZE9mRGF5KGluc3RhbnQ6IEluc3RhbnQpOiBJbnN0YW50IHtcbiAgICByZXR1cm4gTG9jYWxEYXRlLm9mSW5zdGFudChpbnN0YW50KS5hdFN0YXJ0T2ZEYXkoKS5wbHVzRGF5cygxKS5hdFpvbmUodGhpcy56b25lKS50b0luc3RhbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9jYWxEYXRlVG9JbnN0YW50KGRhdGU6IExvY2FsRGF0ZSk6IEluc3RhbnQgfCB1bmRlZmluZWQge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICByZXR1cm4gZGF0ZS5hdFN0YXJ0T2ZEYXkoKS5hdFpvbmUodGhpcy56b25lKS50b0luc3RhbnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdmFsdWVzRXF1YWxzKGE6IEludGVydmFsLCBiOiBJbnRlcnZhbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoYSAmJiBiKVxuICAgICAgPyBhLmVxdWFscyhiKVxuICAgICAgOiBhID09PSBiO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YW50V2l0aFRpbWUoaW5zdGFudDogSW5zdGFudCwgdGltZTogTG9jYWxUaW1lKTogSW5zdGFudCB7XG4gICAgcmV0dXJuIGluc3RhbnRcbiAgICAgIC5hdFpvbmUodGhpcy56b25lKVxuICAgICAgLndpdGhIb3VyKHRpbWUuaG91cigpKVxuICAgICAgLndpdGhNaW51dGUodGltZS5taW51dGUoKSlcbiAgICAgIC50b0luc3RhbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9Mb2NhbERhdGUodmFsdWU6IERhdGUpOiBMb2NhbERhdGUgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHZhbHVlID8gVGltZVV0aWwuZGF0ZVRvTG9jYWxEYXRlKHZhbHVlKSA6IG51bGw7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdGYWlsZWQgdG8gYXBwbHkgdmFsdWUgdG8gZGF0ZVZhbHVlOiAnICsgdmFsdWUsIGVycik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1hcElnbm9yZUVycm9yT2JzZXJ2YWJsZTxUPihkYXRlOiBPYnNlcnZhYmxlPExvY2FsRGF0ZT4sIGNvbnZlcnNpb25GbjogKGQ6IExvY2FsRGF0ZSkgPT4gVCk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcbiAgICByZXR1cm4gZGF0ZS5waXBlKFxuICAgICAgbWFwKGxvY2FsRGF0ZSA9PiBsb2NhbERhdGUgPyBjb252ZXJzaW9uRm4obG9jYWxEYXRlKSA6IG51bGwpLFxuICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIGNvbnZlcnQgbG9jYWwgZGF0ZSEnLCBlcnIpO1xuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm1vZGVcIj5cblxuICA8IS0tIERBVEVfVElNRV9SQU5HRSAtLT5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUtdGltZS1yYW5nZSdcIlxuICAgICAgIGNsYXNzPVwibGF5b3V0LXJvd1wiPlxuICAgIDxlbGRlci1kYXRlLXRpbWUtaW5wdXQgY2xhc3M9XCJmbGV4XCIgY2VudGVyXG4gICAgICBbdmFsdWVdPVwiKHZhbHVlJCB8IGFzeW5jKT8uc3RhcnRcIlxuICAgICAgKHZhbHVlVXBkYXRlZCk9XCJvblN0YXJ0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJycpICsgJyAnICsgKCdpbnRlcnZhbC5mcm9tJyB8IHRyYW5zbGF0ZSlcIlxuICAgID48L2VsZGVyLWRhdGUtdGltZS1pbnB1dD5cbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvciBmbGV4LW5vbmVcIj7igJM8L3NwYW4+XG4gICAgPGVsZGVyLWRhdGUtdGltZS1pbnB1dCBjbGFzcz1cImZsZXhcIiBjZW50ZXJcbiAgICAgIFt2YWx1ZV09XCIodmFsdWUkIHwgYXN5bmMpPy5lbmRcIlxuICAgICAgKHZhbHVlVXBkYXRlZCk9XCJvbkVuZENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiKHBsYWNlaG9sZGVyIHx8ICcnKSArICcgJyArICgnaW50ZXJ2YWwudG8nIHwgdHJhbnNsYXRlKVwiXG4gICAgPjwvZWxkZXItZGF0ZS10aW1lLWlucHV0PlxuICA8L2Rpdj5cblxuICA8IS0tIERBWV9USU1FX1JBTkdFIC0tPlxuICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInZGF5LXRpbWUtcmFuZ2UnXCJcbiAgICAgICBjbGFzcz1cImxheW91dC1yb3cgZ2FwLXhzIGVsZGVyLWZsZXgtaW50ZXJ2YWwtY29udHJvbFwiPlxuXG4gICAgPCEtLSAgW25hbWVdPVwibmFtZSArICctZGF5LXN0YXJ0J1wiIC0tPlxuICAgIDxlbGRlci1kYXRlLXRpbWUtaW5wdXRcbiAgICAgIFt2YWx1ZV09XCIodmFsdWUkIHwgYXN5bmMpPy5zdGFydFwiXG4gICAgICAodmFsdWVVcGRhdGVkKT1cIm9uRGF5VGltZVN0YXJ0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJycpICsgJyAnICsgKCdpbnRlcnZhbC5mcm9tJyB8IHRyYW5zbGF0ZSlcIlxuICAgID48L2VsZGVyLWRhdGUtdGltZS1pbnB1dD5cblxuICAgIDwhLS0gW25hbWVdPVwibmFtZSArICctZGF5LWVuZCdcIiAtLT5cbiAgICA8ZWxkZXItbG9jYWwtdGltZS1pbnB1dFxuICAgICAgW3ZhbHVlXT1cImVuZFRpbWUkIHwgYXN5bmNcIlxuICAgICAgKHZhbHVlVXBkYXRlZCk9XCJvbkRheVRpbWVFbmRUaW1lQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJycpICsgJyAnICsgKCdpbnRlcnZhbC50bycgfCB0cmFuc2xhdGUpXCJcbiAgICA+PC9lbGRlci1sb2NhbC10aW1lLWlucHV0PlxuICA8L2Rpdj5cblxuICA8IS0tIERBVEVfUkFOR0UgLS0+XG4gIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidkYXRlLXJhbmdlJ1wiXG4gICAgICAgY2xhc3M9XCJsYXlvdXQtcm93IGdhcC14cyBlbGRlci1mbGV4LWludGVydmFsLWNvbnRyb2xcIj5cblxuICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dFxuICAgICAgY2xhc3M9XCJtZGMtdGV4dC1maWVsZF9faW5wdXRcIlxuICAgICAgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiXG4gICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgPlxuICAgICAgPGlucHV0IG1hdFN0YXJ0RGF0ZVxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkYXRlZm9ybWF0XCJcbiAgICAgICAgICAgICBbbmdNb2RlbF09XCJzdGFydERhdGUkIHwgYXN5bmNcIiBuYW1lPVwiZGF0ZS1yYW5nZS5zdGFydFwiXG4gICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSwgdXBkYXRlT246ICdibHVyJ31cIlxuICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uU3RhcnREYXRlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgIDxpbnB1dCBtYXRFbmREYXRlXG4gICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRhdGVmb3JtYXRcIlxuICAgICAgICAgICAgIFtuZ01vZGVsXT1cImVuZERhdGUkIHwgYXN5bmNcIiBuYW1lPVwiZGF0ZS1yYW5nZS5lbmRcIlxuICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUsIHVwZGF0ZU9uOiAnYmx1cid9XCJcbiAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkVuZERhdGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgICAgPlxuICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBjbGFzcz1cImVsZGVyLWNvbnRyb2wtaWNvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JdPVwicGlja2VyXCI+XG4gICAgICA8bWF0LWljb24gbWF0RGF0ZXBpY2tlclRvZ2dsZUljb24+Y2FsZW5kYXJfbW9udGg8L21hdC1pY29uPlxuICAgIDwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXIgI3BpY2tlcj48L21hdC1kYXRlLXJhbmdlLXBpY2tlcj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBTSU5HTEVfREFZIC0tPlxuICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInc2luZ2xlLWRheSdcIlxuICAgICAgIGNsYXNzPVwibGF5b3V0LXJvdyBlbGRlci1mbGV4LWNvbnRyb2xcIj5cblxuICAgIDwhLS0gW25hbWVdPVwibmFtZVwiIC0tPlxuICAgIDxlbGRlci1sb2NhbC1kYXRlLWlucHV0IGNsYXNzPVwiZmxleFwiIGNlbnRlclxuICAgICAgW3ZhbHVlXT1cInN0YXJ0TG9jYWxEYXRlJCB8IGFzeW5jXCJcbiAgICAgICh2YWx1ZVVwZGF0ZWQpPVwib25TaW5nbGVEYXlEYXRlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJycpXCJcbiAgICA+PC9lbGRlci1sb2NhbC1kYXRlLWlucHV0PlxuICA8L2Rpdj5cblxuPC9uZy1jb250YWluZXI+XG5cblxuXG4iXX0=
@@ -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: "16.1.5", 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: "16.1.5", 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: "16.2.5", 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: "16.2.5", 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]", inputs: ["disabled", "disableRipple", "color"], 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: "16.1.5", ngImport: i0, type: ElderLocalDateInputComponent, decorators: [{
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", 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 },
@@ -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: "16.1.5", 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: "16.1.5", 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: "16.2.5", 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: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderLocalTimeInputComponent, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: ElderTimeModule, declarations: [ElderDateSwitcherComponent,
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ElderTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderTimeModule, providers: [
60
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderTimeModule, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", 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: "16.1.5", 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: "16.1.5", 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: "16.2.5", 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: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderPeriodInputComponent, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", 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: "16.1.5", ngImport: i0, type: ToIsoDateStringPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
30
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: ToIsoDateStringPipe, name: "toIsoDateString" }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ToIsoDateStringPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
30
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: ToIsoDateStringPipe, name: "toIsoDateString" }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ToIsoDateStringPipe, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: ElderToastModule, declarations: [StandardToastComponent], imports: [CommonModule, MatSnackBarModule, MatIconModule, MatButtonModule], exports: [StandardToastComponent] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderToastModule, imports: [CommonModule, MatSnackBarModule, MatIconModule, MatButtonModule] }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ElderToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: ElderToastModule, declarations: [StandardToastComponent], imports: [CommonModule, MatSnackBarModule, MatIconModule, MatButtonModule], exports: [StandardToastComponent] }); }
13
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ElderToastModule, imports: [CommonModule, MatSnackBarModule, MatIconModule, MatButtonModule] }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderToastModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", 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: "16.1.5", 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: "16.1.5", ngImport: i0, type: ElderToastService, providedIn: 'root' }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", 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: "16.2.5", ngImport: i0, type: ElderToastService, providedIn: 'root' }); }
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderToastService, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ElderToastService, decorators: [{
166
166
  type: Injectable,
167
167
  args: [{
168
168
  providedIn: 'root'
@@ -61,10 +61,10 @@ export class StandardToastComponent {
61
61
  return text;
62
62
  }
63
63
  }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: StandardToastComponent, deps: [{ token: i1.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", 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 <span class=\"mat-body noselect\" matSnackBarLabel *ngIf=\"toast.message\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{toast.message}}</span>\n\n <span></span>\n\n <!-- Toast Detail -->\n <span class=\"mat-small noselect\" matSnackBarLabel *ngIf=\"toast.detail\"\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 <!-- 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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: i1.MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "directive", type: i1.MatSnackBarAction, selector: "[matSnackBarAction]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: StandardToastComponent, deps: [{ token: i1.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", 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 <span class=\"mat-body noselect\" matSnackBarLabel *ngIf=\"toast.message\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{toast.message}}</span>\n\n <span></span>\n\n <!-- Toast Detail -->\n <span class=\"mat-small noselect\" matSnackBarLabel *ngIf=\"toast.detail\"\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 <!-- 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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: i1.MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "directive", type: i1.MatSnackBarAction, selector: "[matSnackBarAction]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: StandardToastComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: StandardToastComponent, decorators: [{
68
68
  type: Component,
69
69
  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 <span class=\"mat-body noselect\" matSnackBarLabel *ngIf=\"toast.message\"\n [class.elder-warn-text]=\"toast.type === ToastType.Error\"\n [class.elder-accent-text]=\"toast.type === ToastType.Warning\"\n >{{toast.message}}</span>\n\n <span></span>\n\n <!-- Toast Detail -->\n <span class=\"mat-small noselect\" matSnackBarLabel *ngIf=\"toast.detail\"\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 <!-- 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"] }]
70
70
  }], ctorParameters: function () { return [{ 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: "16.1.5", ngImport: i0, type: ElderUrlFragmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: ElderUrlFragmentModule, declarations: [ElderUrlFragmentSwitcherComponent], imports: [CommonModule,
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ElderUrlFragmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderUrlFragmentModule, imports: [CommonModule,
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", 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: "16.1.5", ngImport: i0, type: ElderUrlFragmentModule, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ElderUrlFragmentModule, decorators: [{
34
34
  type: NgModule,
35
35
  args: [{
36
36
  declarations: [