@elderbyte/ngx-starter 15.2.1 → 15.2.2

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 (262) hide show
  1. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +3 -3
  2. package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +3 -3
  3. package/esm2020/lib/common/forms/elder-from-field-base.mjs +3 -3
  4. package/esm2020/lib/common/forms/elder-from-field-customizable-base.mjs +3 -3
  5. package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +3 -3
  6. package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +3 -3
  7. package/esm2020/lib/common/forms/form-field-base.component.mjs +3 -3
  8. package/esm2020/lib/common/forms/multi-model-base.component.mjs +3 -3
  9. package/esm2020/lib/common/forms/template-composite-control.mjs +3 -3
  10. package/esm2020/lib/common/forms/value-accessor-base.mjs +3 -3
  11. package/esm2020/lib/common/http/http-client-builder.service.mjs +3 -3
  12. package/esm2020/lib/common/http/http-client-pristine.mjs +3 -3
  13. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +3 -3
  14. package/esm2020/lib/common/url/elder-router.service.mjs +3 -3
  15. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +3 -3
  16. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
  17. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +4 -4
  18. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +3 -3
  19. package/esm2020/lib/components/auditing/elder-audit.module.mjs +4 -4
  20. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -3
  21. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +4 -4
  22. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +3 -3
  23. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +3 -3
  24. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +3 -3
  25. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -4
  26. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
  27. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +18 -18
  28. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +4 -4
  29. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +4 -4
  30. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +3 -3
  31. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
  32. package/esm2020/lib/components/containers/elder-containers.module.mjs +4 -4
  33. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -3
  34. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +3 -3
  35. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +3 -3
  36. package/esm2020/lib/components/csv/elder-csv.module.mjs +4 -4
  37. package/esm2020/lib/components/currency/elder-currency.module.mjs +4 -4
  38. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +3 -3
  39. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -4
  40. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +3 -3
  41. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +3 -3
  42. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
  43. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  44. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
  45. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +3 -3
  46. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +3 -3
  47. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +4 -4
  48. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +6 -6
  49. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +3 -3
  50. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +3 -3
  51. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -3
  52. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +9 -9
  53. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +4 -4
  54. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +3 -3
  55. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -4
  56. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +3 -3
  57. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
  58. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +3 -3
  59. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +3 -3
  60. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +3 -3
  61. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +3 -3
  62. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +3 -3
  63. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +3 -3
  64. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +3 -3
  65. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +3 -3
  66. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +4 -4
  67. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +3 -3
  68. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
  69. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +4 -4
  70. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +3 -3
  71. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +3 -3
  72. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
  73. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +3 -3
  74. package/esm2020/lib/components/errors/elder-error.module.mjs +4 -4
  75. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -3
  76. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
  77. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -4
  78. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
  79. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +3 -3
  80. package/esm2020/lib/components/files/elder-file-select.directive.mjs +3 -3
  81. package/esm2020/lib/components/files/elder-file.module.mjs +4 -4
  82. package/esm2020/lib/components/files/file-select/file-select.component.mjs +3 -3
  83. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +3 -3
  84. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +3 -3
  85. package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +3 -3
  86. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +3 -3
  87. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +3 -3
  88. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +3 -3
  89. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +3 -3
  90. package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +3 -3
  91. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +3 -3
  92. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +4 -4
  93. package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +3 -3
  94. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +3 -3
  95. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
  96. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +3 -3
  97. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +3 -3
  98. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +3 -3
  99. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +3 -3
  100. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +3 -3
  101. package/esm2020/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +3 -3
  102. package/esm2020/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +3 -3
  103. package/esm2020/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +3 -3
  104. package/esm2020/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +3 -3
  105. package/esm2020/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +3 -3
  106. package/esm2020/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +3 -3
  107. package/esm2020/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +3 -3
  108. package/esm2020/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +3 -3
  109. package/esm2020/lib/components/forms/elder-forms.module.mjs +4 -4
  110. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +3 -3
  111. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +3 -3
  112. package/esm2020/lib/components/forms/search/elder-search.module.mjs +4 -4
  113. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +3 -3
  114. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +3 -3
  115. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +3 -3
  116. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +4 -4
  117. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +3 -3
  118. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
  119. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -4
  120. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  121. package/esm2020/lib/components/headers/elder-header.module.mjs +4 -4
  122. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +3 -3
  123. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +4 -4
  124. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +3 -3
  125. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +3 -3
  126. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +3 -3
  127. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +3 -3
  128. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +3 -3
  129. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +3 -3
  130. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
  131. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +3 -3
  132. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +3 -3
  133. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +3 -3
  134. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +4 -4
  135. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +3 -3
  136. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +3 -3
  137. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +4 -4
  138. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +3 -3
  139. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +3 -3
  140. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +4 -4
  141. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +3 -3
  142. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
  143. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +3 -3
  144. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +3 -3
  145. package/esm2020/lib/components/iframes/iframe.service.mjs +3 -3
  146. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +3 -3
  147. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +3 -3
  148. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +7 -7
  149. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +3 -3
  150. package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +3 -3
  151. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +3 -3
  152. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +4 -4
  153. package/esm2020/lib/components/labels/elder-labels.module.mjs +4 -4
  154. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +5 -5
  155. package/esm2020/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +3 -3
  156. package/esm2020/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +3 -3
  157. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +3 -3
  158. package/esm2020/lib/components/measures/elder-measures.module.mjs +8 -8
  159. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +3 -3
  160. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +3 -3
  161. package/esm2020/lib/components/measures/elder-unit.service.mjs +3 -3
  162. package/esm2020/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +3 -3
  163. package/esm2020/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +3 -3
  164. package/esm2020/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +3 -3
  165. package/esm2020/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +3 -3
  166. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +3 -3
  167. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +3 -3
  168. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -4
  169. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +4 -4
  170. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -3
  171. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
  172. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
  173. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +3 -3
  174. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -4
  175. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +3 -3
  176. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +3 -3
  177. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +3 -3
  178. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +3 -3
  179. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +3 -3
  180. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
  181. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +3 -3
  182. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +4 -4
  183. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
  184. package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -3
  185. package/esm2020/lib/components/panels/elder-panel.module.mjs +4 -4
  186. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +3 -3
  187. package/esm2020/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +3 -3
  188. package/esm2020/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +9 -9
  189. package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +3 -3
  190. package/esm2020/lib/components/select/elder-select-base.mjs +3 -3
  191. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +9 -9
  192. package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +3 -3
  193. package/esm2020/lib/components/select/elder-select-value.directive.mjs +3 -3
  194. package/esm2020/lib/components/select/elder-select.module.mjs +4 -4
  195. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +3 -3
  196. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +3 -3
  197. package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +3 -3
  198. package/esm2020/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +3 -3
  199. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +3 -3
  200. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
  201. package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +3 -3
  202. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +3 -3
  203. package/esm2020/lib/components/select/single/elder-select-form-field.mjs +3 -3
  204. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +3 -3
  205. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -4
  206. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +3 -3
  207. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +3 -3
  208. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +3 -3
  209. package/esm2020/lib/components/shell/elder-shell.module.mjs +4 -4
  210. package/esm2020/lib/components/shell/elder-shell.service.mjs +3 -3
  211. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
  212. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +12 -12
  213. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +3 -3
  214. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +3 -3
  215. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +3 -3
  216. package/esm2020/lib/components/tabs/elder-tab.module.mjs +4 -4
  217. package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +3 -3
  218. package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +3 -3
  219. package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +3 -3
  220. package/esm2020/lib/components/theme/elder-theme.directive.mjs +3 -3
  221. package/esm2020/lib/components/theme/elder-theme.module.mjs +4 -4
  222. package/esm2020/lib/components/theme/elder-theme.service.mjs +3 -3
  223. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +3 -3
  224. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +3 -3
  225. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +3 -3
  226. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +3 -3
  227. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +3 -3
  228. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +3 -3
  229. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +3 -3
  230. package/esm2020/lib/components/time/elder-time.module.mjs +8 -8
  231. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +3 -3
  232. package/esm2020/lib/components/toasts/elder-toast.module.mjs +4 -4
  233. package/esm2020/lib/components/toasts/elder-toast.service.mjs +3 -3
  234. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
  235. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +4 -4
  236. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
  237. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -3
  238. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +4 -4
  239. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +3 -3
  240. package/esm2020/lib/features/kafent/access-token-provider.mjs +3 -3
  241. package/esm2020/lib/features/kafent/kafent-config.mjs +3 -3
  242. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +3 -3
  243. package/esm2020/lib/features/kafent/kafent-event.service.mjs +3 -3
  244. package/esm2020/lib/features/kafent/kafent.module.mjs +4 -4
  245. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +3 -3
  246. package/esm2020/lib/pipes/bytes.pipe.mjs +3 -3
  247. package/esm2020/lib/pipes/elder-pipes.module.mjs +10 -10
  248. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +3 -3
  249. package/esm2020/lib/pipes/elder-round.pipe.mjs +3 -3
  250. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +3 -3
  251. package/esm2020/lib/pipes/elder-truncate.pipe.mjs +3 -3
  252. package/esm2020/lib/pipes/iso-duration.pipe.mjs +3 -3
  253. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +3 -3
  254. package/esm2020/lib/pipes/iso-interval.pipe.mjs +3 -3
  255. package/esm2020/lib/pipes/time-ago.pipe.mjs +3 -3
  256. package/esm2020/lib/pipes/time-duration.pipe.mjs +3 -3
  257. package/esm2020/lib/pipes/weight.pipe.mjs +3 -3
  258. package/fesm2015/elderbyte-ngx-starter.mjs +883 -882
  259. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  260. package/fesm2020/elderbyte-ngx-starter.mjs +883 -882
  261. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  262. package/package.json +1 -1
@@ -107,9 +107,9 @@ export class IframeHostComponent {
107
107
  }
108
108
  }
109
109
  }
110
- IframeHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: IframeHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
111
- IframeHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: IframeHostComponent, selector: "elder-i-frame-host", inputs: { iframeParams: "iframeParams" }, outputs: { message: "message", close: "close" }, host: { listeners: { "window:message": "onWindowMessage($event)" } }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"{state: iframeState$ | async, params: iframeParams$ | async} as ctx\">\n\n <div class=\"layout-col full\">\n\n <!-- In Case of Error -->\n <div *ngIf=\"ctx.state.hasError\"\n class=\"layout-row place-center-center flex\"\n >\n <span>Failed to load Iframe: {{ctx.state.message}}</span>\n </div>\n\n <!-- IFrame -->\n <iframe #iframe\n *ngIf=\"!ctx.state.hasError\"\n (load)=\"onIframeLoadEvent($event)\"\n (error)=\"onIframeErrorEvent($event)\"\n [src]=\"ctx.params.srcUrl | elderSafeUrl\"\n class=\"iframe flex\"\n allow=\"clipboard *;clipboard-read *;clipboard-write *;\"\n ></iframe>\n\n <!-- Bottom Toolbar -->\n <mat-toolbar *ngIf=\"!ctx.params.hideActionBar\" elderTheme class=\"layout-row place-between-center flex-none elder-dense-toolbar\">\n\n <a mat-icon-button (click)=\"doClose($event)\" class=\"elder-icon-button-sm\">\n <mat-icon>close</mat-icon>\n </a>\n\n <a mat-icon-button class=\"elder-icon-button-sm\"\n [href]=\"ctx.params.srcUrl | elderSafeUrl\" target=\"_blank\">\n <mat-icon>open_in_new</mat-icon>\n </a>\n </mat-toolbar>\n </div>\n\n</ng-container>\n\n\n\n", styles: [".iframe{margin:0;border:0;height:100%;background-color:#fff}.elder-dense-toolbar,.elder-dense-toolbar .mat-toolbar-row{height:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconAnchor, selector: "a[mat-icon-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i5.ElderThemeDirective, selector: "[elderTheme]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.ElderSafeUrlPipe, name: "elderSafeUrl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: IframeHostComponent, decorators: [{
110
+ IframeHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: IframeHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
111
+ IframeHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: IframeHostComponent, selector: "elder-i-frame-host", inputs: { iframeParams: "iframeParams" }, outputs: { message: "message", close: "close" }, host: { listeners: { "window:message": "onWindowMessage($event)" } }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"{state: iframeState$ | async, params: iframeParams$ | async} as ctx\">\n\n <div class=\"layout-col full\">\n\n <!-- In Case of Error -->\n <div *ngIf=\"ctx.state.hasError\"\n class=\"layout-row place-center-center flex\"\n >\n <span>Failed to load Iframe: {{ctx.state.message}}</span>\n </div>\n\n <!-- IFrame -->\n <iframe #iframe\n *ngIf=\"!ctx.state.hasError\"\n (load)=\"onIframeLoadEvent($event)\"\n (error)=\"onIframeErrorEvent($event)\"\n [src]=\"ctx.params.srcUrl | elderSafeUrl\"\n class=\"iframe flex\"\n allow=\"clipboard *;clipboard-read *;clipboard-write *;\"\n ></iframe>\n\n <!-- Bottom Toolbar -->\n <mat-toolbar *ngIf=\"!ctx.params.hideActionBar\" elderTheme class=\"layout-row place-between-center flex-none elder-dense-toolbar\">\n\n <a mat-icon-button (click)=\"doClose($event)\" class=\"elder-icon-button-sm\">\n <mat-icon>close</mat-icon>\n </a>\n\n <a mat-icon-button class=\"elder-icon-button-sm\"\n [href]=\"ctx.params.srcUrl | elderSafeUrl\" target=\"_blank\">\n <mat-icon>open_in_new</mat-icon>\n </a>\n </mat-toolbar>\n </div>\n\n</ng-container>\n\n\n\n", styles: [".iframe{margin:0;border:0;height:100%;background-color:#fff}.elder-dense-toolbar,.elder-dense-toolbar .mat-toolbar-row{height:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconAnchor, selector: "a[mat-icon-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i5.ElderThemeDirective, selector: "[elderTheme]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.ElderSafeUrlPipe, name: "elderSafeUrl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: IframeHostComponent, decorators: [{
113
113
  type: Component,
114
114
  args: [{ selector: 'elder-i-frame-host', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"{state: iframeState$ | async, params: iframeParams$ | async} as ctx\">\n\n <div class=\"layout-col full\">\n\n <!-- In Case of Error -->\n <div *ngIf=\"ctx.state.hasError\"\n class=\"layout-row place-center-center flex\"\n >\n <span>Failed to load Iframe: {{ctx.state.message}}</span>\n </div>\n\n <!-- IFrame -->\n <iframe #iframe\n *ngIf=\"!ctx.state.hasError\"\n (load)=\"onIframeLoadEvent($event)\"\n (error)=\"onIframeErrorEvent($event)\"\n [src]=\"ctx.params.srcUrl | elderSafeUrl\"\n class=\"iframe flex\"\n allow=\"clipboard *;clipboard-read *;clipboard-write *;\"\n ></iframe>\n\n <!-- Bottom Toolbar -->\n <mat-toolbar *ngIf=\"!ctx.params.hideActionBar\" elderTheme class=\"layout-row place-between-center flex-none elder-dense-toolbar\">\n\n <a mat-icon-button (click)=\"doClose($event)\" class=\"elder-icon-button-sm\">\n <mat-icon>close</mat-icon>\n </a>\n\n <a mat-icon-button class=\"elder-icon-button-sm\"\n [href]=\"ctx.params.srcUrl | elderSafeUrl\" target=\"_blank\">\n <mat-icon>open_in_new</mat-icon>\n </a>\n </mat-toolbar>\n </div>\n\n</ng-container>\n\n\n\n", styles: [".iframe{margin:0;border:0;height:100%;background-color:#fff}.elder-dense-toolbar,.elder-dense-toolbar .mat-toolbar-row{height:40px}\n"] }]
115
115
  }], ctorParameters: function () { return []; }, propDecorators: { iframe: [{
@@ -69,9 +69,9 @@ export class IframeSideContentComponent {
69
69
  **************************************************************************/
70
70
  IframeSideContentComponent.QUERY_PARAM_SRC_URL = 'srcUrl';
71
71
  IframeSideContentComponent.QUERY_PARAM_WIDTH = 'width';
72
- IframeSideContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: IframeSideContentComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ElderShellService }], target: i0.ɵɵFactoryTarget.Component });
73
- IframeSideContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: IframeSideContentComponent, selector: "elder-i-frame-side-host", ngImport: i0, template: "<div *ngIf=\"iframeParams$ | async as iFrameParams\"\n [style.width]=\"iFrameParams.width\" class=\"full\"\n>\n <elder-i-frame-host class=\"full\"\n [iframeParams]=\"iFrameParams\"\n (close)=\"close($event)\">\n </elder-i-frame-host>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IframeHostComponent, selector: "elder-i-frame-host", inputs: ["iframeParams"], outputs: ["message", "close"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: IframeSideContentComponent, decorators: [{
72
+ IframeSideContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: IframeSideContentComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ElderShellService }], target: i0.ɵɵFactoryTarget.Component });
73
+ IframeSideContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: IframeSideContentComponent, selector: "elder-i-frame-side-host", ngImport: i0, template: "<div *ngIf=\"iframeParams$ | async as iFrameParams\"\n [style.width]=\"iFrameParams.width\" class=\"full\"\n>\n <elder-i-frame-host class=\"full\"\n [iframeParams]=\"iFrameParams\"\n (close)=\"close($event)\">\n </elder-i-frame-host>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IframeHostComponent, selector: "elder-i-frame-host", inputs: ["iframeParams"], outputs: ["message", "close"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: IframeSideContentComponent, decorators: [{
75
75
  type: Component,
76
76
  args: [{ selector: 'elder-i-frame-side-host', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"iframeParams$ | async as iFrameParams\"\n [style.width]=\"iFrameParams.width\" class=\"full\"\n>\n <elder-i-frame-host class=\"full\"\n [iframeParams]=\"iFrameParams\"\n (close)=\"close($event)\">\n </elder-i-frame-host>\n</div>\n" }]
77
77
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ElderShellService }]; } });
@@ -37,9 +37,9 @@ export class IframeService {
37
37
  IframeService.postToParent(message);
38
38
  }
39
39
  }
40
- IframeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: IframeService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
41
- IframeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: IframeService, providedIn: 'root' });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: IframeService, decorators: [{
40
+ IframeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: IframeService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ IframeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: IframeService, providedIn: 'root' });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: IframeService, decorators: [{
43
43
  type: Injectable,
44
44
  args: [{
45
45
  providedIn: 'root'
@@ -46,9 +46,9 @@ export class ElderInfiniteAutocompleteDirective {
46
46
  this.unsubscribe$.complete();
47
47
  }
48
48
  }
49
- ElderInfiniteAutocompleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderInfiniteAutocompleteDirective, deps: [{ token: i1.MatAutocomplete, host: true }, { token: i2.ElderInfiniteScrollDirective, host: true }], target: i0.ɵɵFactoryTarget.Directive });
50
- ElderInfiniteAutocompleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ElderInfiniteAutocompleteDirective, selector: "mat-autocomplete[elderElderInfiniteAutocomplete]", ngImport: i0 });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderInfiniteAutocompleteDirective, decorators: [{
49
+ ElderInfiniteAutocompleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderInfiniteAutocompleteDirective, deps: [{ token: i1.MatAutocomplete, host: true }, { token: i2.ElderInfiniteScrollDirective, host: true }], target: i0.ɵɵFactoryTarget.Directive });
50
+ ElderInfiniteAutocompleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: ElderInfiniteAutocompleteDirective, selector: "mat-autocomplete[elderElderInfiniteAutocomplete]", ngImport: i0 });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderInfiniteAutocompleteDirective, decorators: [{
52
52
  type: Directive,
53
53
  args: [{
54
54
  selector: 'mat-autocomplete[elderElderInfiniteAutocomplete]'
@@ -132,9 +132,9 @@ export class ElderInfiniteScrollDirective {
132
132
  }
133
133
  }
134
134
  }
135
- ElderInfiniteScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderInfiniteScrollDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
136
- ElderInfiniteScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: { listenToHost: "listenToHost", eventThrottle: "eventThrottle", offsetFactor: "offsetFactor", ignoreScrollEvent: "ignoreScrollEvent", containerId: "containerId", scrollContainer: "scrollContainer" }, outputs: { closeToEnd: "closeToEnd", scrolling: "scrolling" }, ngImport: i0 });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderInfiniteScrollDirective, decorators: [{
135
+ ElderInfiniteScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderInfiniteScrollDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
136
+ ElderInfiniteScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: { listenToHost: "listenToHost", eventThrottle: "eventThrottle", offsetFactor: "offsetFactor", ignoreScrollEvent: "ignoreScrollEvent", containerId: "containerId", scrollContainer: "scrollContainer" }, outputs: { closeToEnd: "closeToEnd", scrolling: "scrolling" }, ngImport: i0 });
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderInfiniteScrollDirective, decorators: [{
138
138
  type: Directive,
139
139
  args: [{ selector: '[elderInfiniteScroll]' }]
140
140
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ElementRef }]; }, propDecorators: { listenToHost: [{
@@ -10,18 +10,18 @@ export { ElderInfiniteAutocompleteDirective } from './elder-infinite-autocomplet
10
10
  */
11
11
  export class ElderInfiniteScrollLegacyDirective extends ElderInfiniteScrollDirective {
12
12
  }
13
- ElderInfiniteScrollLegacyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderInfiniteScrollLegacyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
- ElderInfiniteScrollLegacyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ElderInfiniteScrollLegacyDirective, selector: "[infiniteScroll]", usesInheritance: true, ngImport: i0 });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderInfiniteScrollLegacyDirective, decorators: [{
13
+ ElderInfiniteScrollLegacyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderInfiniteScrollLegacyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
+ ElderInfiniteScrollLegacyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: ElderInfiniteScrollLegacyDirective, selector: "[infiniteScroll]", usesInheritance: true, ngImport: i0 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderInfiniteScrollLegacyDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{ selector: '[infiniteScroll]' }]
18
18
  }] });
19
19
  export class ElderInfiniteScrollModule {
20
20
  }
21
- ElderInfiniteScrollModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderInfiniteScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
- ElderInfiniteScrollModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: ElderInfiniteScrollModule, declarations: [ElderInfiniteScrollDirective, ElderInfiniteScrollLegacyDirective, ElderInfiniteAutocompleteDirective], imports: [CommonModule], exports: [ElderInfiniteScrollDirective, ElderInfiniteScrollLegacyDirective, ElderInfiniteAutocompleteDirective] });
23
- ElderInfiniteScrollModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderInfiniteScrollModule, imports: [CommonModule] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderInfiniteScrollModule, decorators: [{
21
+ ElderInfiniteScrollModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderInfiniteScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
+ ElderInfiniteScrollModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: ElderInfiniteScrollModule, declarations: [ElderInfiniteScrollDirective, ElderInfiniteScrollLegacyDirective, ElderInfiniteAutocompleteDirective], imports: [CommonModule], exports: [ElderInfiniteScrollDirective, ElderInfiniteScrollLegacyDirective, ElderInfiniteAutocompleteDirective] });
23
+ ElderInfiniteScrollModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderInfiniteScrollModule, imports: [CommonModule] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderInfiniteScrollModule, decorators: [{
25
25
  type: NgModule,
26
26
  args: [{
27
27
  declarations: [
@@ -155,9 +155,9 @@ export class ElderAutocompleteComponent {
155
155
  return String(value);
156
156
  }
157
157
  }
158
- ElderAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderAutocompleteComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
159
- ElderAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ElderAutocompleteComponent, selector: "elder-autocomplete", inputs: { isOptionDisabledFn: "isOptionDisabledFn", isOptionHiddenFn: "isOptionHiddenFn", optionValueConverterFn: "optionValueConverterFn", enabled: "enabled", valueTemplate: "valueTemplate", dataContext: "dataContext", displayPropertyResolver: "displayPropertyResolver" }, outputs: { optionSelected: "optionSelected" }, queries: [{ propertyName: "valueTemplateQuery", first: true, predicate: ElderSelectValueDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "matAutocomplete", first: true, predicate: ["auto"], descendants: true }], exportAs: ["elderAutocomplete"], ngImport: i0, template: "<mat-autocomplete\n #auto=\"matAutocomplete\"\n panelWidth=\"auto\"\n [autoActiveFirstOption]=\"true\"\n (opened)=\"onAutocompleteOpened($event)\"\n (optionSelected)=\"onOptionSelected($event)\"\n elderInfiniteScroll elderElderInfiniteAutocomplete (closeToEnd)=\"onAutoCompleteCloseToEnd($event)\"\n>\n <!--\n <mat-option *ngIf=\"allowNull\" [value]=\"null\">{{nullDisplay | translate}}</mat-option>\n -->\n\n <mat-option disabled *ngIf=\"!(dataContext$ | async)\">\n <span class=\"mat-caption\">No DataSource / DataContext!</span>\n </mat-option>\n\n <ng-container *ngIf=\"dataContext$ | async as dc\">\n\n <mat-option disabled *ngIf=\"dc.isClosed\">\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon color=\"warn\">warning</mat-icon>\n <span class=\"mat-caption\">DataContext Closed!</span>\n </div>\n </mat-option>\n\n <ng-container *ngIf=\"availableSuggestions$ | async as suggestions\">\n\n <mat-option *ngIf=\"suggestions.length === 0\" disabled>\n No Data.\n </mat-option>\n\n <ng-container *ngFor=\"let suggestion of suggestions\">\n <mat-option\n *ngIf=\"isOptionVisible(suggestion)\"\n [value]=\"toOptionValue(suggestion)\"\n [id]=\"getIdAsString(suggestion)\"\n [disabled]=\"!isOptionAvailable(suggestion)\"\n >\n <ng-container\n *ngTemplateOutlet=\"valueTemplate || simpleValueTemplate; context: {$implicit: suggestion}\">\n </ng-container>\n <!--\n <span class=\"mat-caption\">value: {{toOptionValue(suggestion)}}</span>\n -->\n </mat-option>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"dataState$ | async as state\">\n\n <mat-option disabled *ngIf=\"!state.idle || state.loading\">\n <mat-progress-bar\n [value]=\"100\"\n [mode]=\"state.loading ? 'query' : 'determinate'\"\n [color]=\"state.error ? 'warn' : 'primary'\"\n ></mat-progress-bar>\n </mat-option>\n\n </ng-container>\n</mat-autocomplete>\n\n<ng-template #simpleValueTemplate let-value>\n <ng-container *ngIf=\"displayPropertyResolver$ | async as propertyResolver\">\n <span class=\"noselect\">{{propertyResolver(value)}}</span>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: ["listenToHost", "eventThrottle", "offsetFactor", "ignoreScrollEvent", "containerId", "scrollContainer"], outputs: ["closeToEnd", "scrolling"] }, { kind: "directive", type: i5.ElderInfiniteAutocompleteDirective, selector: "mat-autocomplete[elderElderInfiniteAutocomplete]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderAutocompleteComponent, decorators: [{
158
+ ElderAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderAutocompleteComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
159
+ ElderAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ElderAutocompleteComponent, selector: "elder-autocomplete", inputs: { isOptionDisabledFn: "isOptionDisabledFn", isOptionHiddenFn: "isOptionHiddenFn", optionValueConverterFn: "optionValueConverterFn", enabled: "enabled", valueTemplate: "valueTemplate", dataContext: "dataContext", displayPropertyResolver: "displayPropertyResolver" }, outputs: { optionSelected: "optionSelected" }, queries: [{ propertyName: "valueTemplateQuery", first: true, predicate: ElderSelectValueDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "matAutocomplete", first: true, predicate: ["auto"], descendants: true }], exportAs: ["elderAutocomplete"], ngImport: i0, template: "<mat-autocomplete\n #auto=\"matAutocomplete\"\n panelWidth=\"auto\"\n [autoActiveFirstOption]=\"true\"\n (opened)=\"onAutocompleteOpened($event)\"\n (optionSelected)=\"onOptionSelected($event)\"\n elderInfiniteScroll elderElderInfiniteAutocomplete (closeToEnd)=\"onAutoCompleteCloseToEnd($event)\"\n>\n <!--\n <mat-option *ngIf=\"allowNull\" [value]=\"null\">{{nullDisplay | translate}}</mat-option>\n -->\n\n <mat-option disabled *ngIf=\"!(dataContext$ | async)\">\n <span class=\"mat-caption\">No DataSource / DataContext!</span>\n </mat-option>\n\n <ng-container *ngIf=\"dataContext$ | async as dc\">\n\n <mat-option disabled *ngIf=\"dc.isClosed\">\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon color=\"warn\">warning</mat-icon>\n <span class=\"mat-caption\">DataContext Closed!</span>\n </div>\n </mat-option>\n\n <ng-container *ngIf=\"availableSuggestions$ | async as suggestions\">\n\n <mat-option *ngIf=\"suggestions.length === 0\" disabled>\n No Data.\n </mat-option>\n\n <ng-container *ngFor=\"let suggestion of suggestions\">\n <mat-option\n *ngIf=\"isOptionVisible(suggestion)\"\n [value]=\"toOptionValue(suggestion)\"\n [id]=\"getIdAsString(suggestion)\"\n [disabled]=\"!isOptionAvailable(suggestion)\"\n >\n <ng-container\n *ngTemplateOutlet=\"valueTemplate || simpleValueTemplate; context: {$implicit: suggestion}\">\n </ng-container>\n <!--\n <span class=\"mat-caption\">value: {{toOptionValue(suggestion)}}</span>\n -->\n </mat-option>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"dataState$ | async as state\">\n\n <mat-option disabled *ngIf=\"!state.idle || state.loading\">\n <mat-progress-bar\n [value]=\"100\"\n [mode]=\"state.loading ? 'query' : 'determinate'\"\n [color]=\"state.error ? 'warn' : 'primary'\"\n ></mat-progress-bar>\n </mat-option>\n\n </ng-container>\n</mat-autocomplete>\n\n<ng-template #simpleValueTemplate let-value>\n <ng-container *ngIf=\"displayPropertyResolver$ | async as propertyResolver\">\n <span class=\"noselect\">{{propertyResolver(value)}}</span>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: ["listenToHost", "eventThrottle", "offsetFactor", "ignoreScrollEvent", "containerId", "scrollContainer"], outputs: ["closeToEnd", "scrolling"] }, { kind: "directive", type: i5.ElderInfiniteAutocompleteDirective, selector: "mat-autocomplete[elderElderInfiniteAutocomplete]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderAutocompleteComponent, decorators: [{
161
161
  type: Component,
162
162
  args: [{ selector: 'elder-autocomplete', exportAs: 'elderAutocomplete', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-autocomplete\n #auto=\"matAutocomplete\"\n panelWidth=\"auto\"\n [autoActiveFirstOption]=\"true\"\n (opened)=\"onAutocompleteOpened($event)\"\n (optionSelected)=\"onOptionSelected($event)\"\n elderInfiniteScroll elderElderInfiniteAutocomplete (closeToEnd)=\"onAutoCompleteCloseToEnd($event)\"\n>\n <!--\n <mat-option *ngIf=\"allowNull\" [value]=\"null\">{{nullDisplay | translate}}</mat-option>\n -->\n\n <mat-option disabled *ngIf=\"!(dataContext$ | async)\">\n <span class=\"mat-caption\">No DataSource / DataContext!</span>\n </mat-option>\n\n <ng-container *ngIf=\"dataContext$ | async as dc\">\n\n <mat-option disabled *ngIf=\"dc.isClosed\">\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon color=\"warn\">warning</mat-icon>\n <span class=\"mat-caption\">DataContext Closed!</span>\n </div>\n </mat-option>\n\n <ng-container *ngIf=\"availableSuggestions$ | async as suggestions\">\n\n <mat-option *ngIf=\"suggestions.length === 0\" disabled>\n No Data.\n </mat-option>\n\n <ng-container *ngFor=\"let suggestion of suggestions\">\n <mat-option\n *ngIf=\"isOptionVisible(suggestion)\"\n [value]=\"toOptionValue(suggestion)\"\n [id]=\"getIdAsString(suggestion)\"\n [disabled]=\"!isOptionAvailable(suggestion)\"\n >\n <ng-container\n *ngTemplateOutlet=\"valueTemplate || simpleValueTemplate; context: {$implicit: suggestion}\">\n </ng-container>\n <!--\n <span class=\"mat-caption\">value: {{toOptionValue(suggestion)}}</span>\n -->\n </mat-option>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"dataState$ | async as state\">\n\n <mat-option disabled *ngIf=\"!state.idle || state.loading\">\n <mat-progress-bar\n [value]=\"100\"\n [mode]=\"state.loading ? 'query' : 'determinate'\"\n [color]=\"state.error ? 'warn' : 'primary'\"\n ></mat-progress-bar>\n </mat-option>\n\n </ng-container>\n</mat-autocomplete>\n\n<ng-template #simpleValueTemplate let-value>\n <ng-container *ngIf=\"displayPropertyResolver$ | async as propertyResolver\">\n <span class=\"noselect\">{{propertyResolver(value)}}</span>\n </ng-container>\n</ng-template>\n" }]
163
163
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { valueTemplateQuery: [{
@@ -170,9 +170,9 @@ export class ElderAutocompleteManyDirective {
170
170
  this.cursorPosition = wordAtCursor.start + autocompletedPhrase.length;
171
171
  }
172
172
  }
173
- ElderAutocompleteManyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderAutocompleteManyDirective, deps: [{ token: i1.MatAutocompleteTrigger }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
174
- ElderAutocompleteManyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ElderAutocompleteManyDirective, selector: "[elderAutocompleteMany]", inputs: { queryFilter: "queryFilter", filters: "filters", sorts: "sorts", textProperty: "textProperty", textPropertyResolverFn: "textPropertyResolverFn", autocomplete: ["elderAutocompleteMany", "autocomplete"] }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 });
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderAutocompleteManyDirective, decorators: [{
173
+ ElderAutocompleteManyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderAutocompleteManyDirective, deps: [{ token: i1.MatAutocompleteTrigger }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
174
+ ElderAutocompleteManyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: ElderAutocompleteManyDirective, selector: "[elderAutocompleteMany]", inputs: { queryFilter: "queryFilter", filters: "filters", sorts: "sorts", textProperty: "textProperty", textPropertyResolverFn: "textPropertyResolverFn", autocomplete: ["elderAutocompleteMany", "autocomplete"] }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 });
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderAutocompleteManyDirective, decorators: [{
176
176
  type: Directive,
177
177
  args: [{
178
178
  selector: '[elderAutocompleteMany]'
@@ -91,9 +91,9 @@ export class ElderAutocompleteDirective {
91
91
  }
92
92
  }
93
93
  }
94
- ElderAutocompleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderAutocompleteDirective, deps: [{ token: i1.MatAutocompleteTrigger }], target: i0.ɵɵFactoryTarget.Directive });
95
- ElderAutocompleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ElderAutocompleteDirective, selector: "[elderAutocomplete]", inputs: { queryFilter: "queryFilter", filters: "filters", sorts: "sorts", autocomplete: ["elderAutocomplete", "autocomplete"] }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 });
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderAutocompleteDirective, decorators: [{
94
+ ElderAutocompleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderAutocompleteDirective, deps: [{ token: i1.MatAutocompleteTrigger }], target: i0.ɵɵFactoryTarget.Directive });
95
+ ElderAutocompleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: ElderAutocompleteDirective, selector: "[elderAutocomplete]", inputs: { queryFilter: "queryFilter", filters: "filters", sorts: "sorts", autocomplete: ["elderAutocomplete", "autocomplete"] }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 });
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderAutocompleteDirective, decorators: [{
97
97
  type: Directive,
98
98
  args: [{
99
99
  selector: '[elderAutocomplete]'
@@ -15,8 +15,8 @@ export { ElderAutocompleteManyDirective } from './elder-autocomplete-many.direct
15
15
  export { ElderAutocompleteDirective } from './elder-autocomplete.directive';
16
16
  export class ElderAutocompleteModule {
17
17
  }
18
- ElderAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- ElderAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: ElderAutocompleteModule, declarations: [ElderAutocompleteComponent,
18
+ ElderAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ ElderAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: ElderAutocompleteModule, declarations: [ElderAutocompleteComponent,
20
20
  ElderAutocompleteDirective,
21
21
  ElderAutocompleteManyDirective], imports: [CommonModule, ReactiveFormsModule,
22
22
  MatInputModule,
@@ -26,13 +26,13 @@ ElderAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
26
26
  MatProgressBarModule], exports: [ElderAutocompleteComponent,
27
27
  ElderAutocompleteDirective,
28
28
  ElderAutocompleteManyDirective] });
29
- ElderAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderAutocompleteModule, imports: [CommonModule, ReactiveFormsModule,
29
+ ElderAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderAutocompleteModule, imports: [CommonModule, ReactiveFormsModule,
30
30
  MatInputModule,
31
31
  MatAutocompleteModule,
32
32
  ElderInfiniteScrollModule,
33
33
  MatIconModule,
34
34
  MatProgressBarModule] });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderAutocompleteModule, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderAutocompleteModule, decorators: [{
36
36
  type: NgModule,
37
37
  args: [{
38
38
  declarations: [
@@ -11,12 +11,12 @@ import * as i0 from "@angular/core";
11
11
  export { ElderLabelInputComponent } from './labels-input/labels-input.component';
12
12
  export class ElderLabelsModule {
13
13
  }
14
- ElderLabelsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderLabelsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- ElderLabelsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: ElderLabelsModule, declarations: [ElderLabelInputComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule,
14
+ ElderLabelsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderLabelsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ ElderLabelsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: ElderLabelsModule, declarations: [ElderLabelInputComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule,
16
16
  MatIconModule, MatInputModule, MatChipsModule, MatAutocompleteModule, TranslateModule], exports: [ElderLabelInputComponent] });
17
- ElderLabelsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderLabelsModule, imports: [CommonModule, FormsModule, ReactiveFormsModule,
17
+ ElderLabelsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderLabelsModule, imports: [CommonModule, FormsModule, ReactiveFormsModule,
18
18
  MatIconModule, MatInputModule, MatChipsModule, MatAutocompleteModule, TranslateModule] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderLabelsModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderLabelsModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  imports: [
@@ -193,11 +193,11 @@ export class ElderLabelInputComponent extends FormFieldBaseComponent {
193
193
  return this._compareWith ? this._compareWith(a, b) : a === b;
194
194
  }
195
195
  }
196
- ElderLabelInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderLabelInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
197
- ElderLabelInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ElderLabelInputComponent, selector: "elder-label-input", inputs: { labels: "labels", suggestionLoader: "suggestionLoader", allowNew: "allowNew", compareWith: "compareWith", colorResolver: "colorResolver", nameResolver: "nameResolver", labelBuilder: "labelBuilder" }, outputs: { labelsChanged: "labelsChanged" }, providers: buildFormIntegrationProviders(ElderLabelInputComponent), viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["labelInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-chip-grid #chips>\n <mat-chip-row *ngFor=\"let label of currentLabels$ | async\"\n class=\"noselect\"\n [color]=\"labelColor(label)\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{labelName(label)}}\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\n </mat-chip-row>\n\n <input matInput type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput>\n </mat-chip-grid>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n panelWidth=\"auto\"\n (optionSelected)=\"labelSelected($event)\">\n <mat-option *ngFor=\"let suggestion of availableSuggestions$ | async\" [value]=\"suggestion\">\n {{labelName(suggestion)}}\n </mat-option>\n </mat-autocomplete>\n\n</mat-form-field>\n\n", styles: [".full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i6.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i6.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i6.MatChipRow, selector: "mat-chip-row, mat-basic-chip-row", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderLabelInputComponent, decorators: [{
196
+ ElderLabelInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderLabelInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
197
+ ElderLabelInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ElderLabelInputComponent, selector: "elder-label-input", inputs: { labels: "labels", suggestionLoader: "suggestionLoader", allowNew: "allowNew", compareWith: "compareWith", colorResolver: "colorResolver", nameResolver: "nameResolver", labelBuilder: "labelBuilder" }, outputs: { labelsChanged: "labelsChanged" }, providers: buildFormIntegrationProviders(ElderLabelInputComponent), viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["labelInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-chip-grid #chips>\n <mat-chip-row *ngFor=\"let label of currentLabels$ | async\"\n class=\"noselect\"\n [color]=\"labelColor(label)\" [disabled]=\"disabled\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{labelName(label)}}\n <mat-icon matChipRemove *ngIf=\"!readonly && removable\">cancel</mat-icon>\n </mat-chip-row>\n\n <input matInput type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput>\n </mat-chip-grid>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n panelWidth=\"auto\"\n (optionSelected)=\"labelSelected($event)\">\n <mat-option *ngFor=\"let suggestion of availableSuggestions$ | async\" [value]=\"suggestion\">\n {{labelName(suggestion)}}\n </mat-option>\n </mat-autocomplete>\n\n</mat-form-field>\n\n", styles: [".full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i6.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i6.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i6.MatChipRow, selector: "mat-chip-row, mat-basic-chip-row", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderLabelInputComponent, decorators: [{
199
199
  type: Component,
200
- args: [{ selector: 'elder-label-input', providers: buildFormIntegrationProviders(ElderLabelInputComponent), changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-chip-grid #chips>\n <mat-chip-row *ngFor=\"let label of currentLabels$ | async\"\n class=\"noselect\"\n [color]=\"labelColor(label)\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{labelName(label)}}\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\n </mat-chip-row>\n\n <input matInput type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput>\n </mat-chip-grid>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n panelWidth=\"auto\"\n (optionSelected)=\"labelSelected($event)\">\n <mat-option *ngFor=\"let suggestion of availableSuggestions$ | async\" [value]=\"suggestion\">\n {{labelName(suggestion)}}\n </mat-option>\n </mat-autocomplete>\n\n</mat-form-field>\n\n", styles: [".full-width{width:100%}\n"] }]
200
+ args: [{ selector: 'elder-label-input', providers: buildFormIntegrationProviders(ElderLabelInputComponent), changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-chip-grid #chips>\n <mat-chip-row *ngFor=\"let label of currentLabels$ | async\"\n class=\"noselect\"\n [color]=\"labelColor(label)\" [disabled]=\"disabled\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{labelName(label)}}\n <mat-icon matChipRemove *ngIf=\"!readonly && removable\">cancel</mat-icon>\n </mat-chip-row>\n\n <input matInput type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput>\n </mat-chip-grid>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n panelWidth=\"auto\"\n (optionSelected)=\"labelSelected($event)\">\n <mat-option *ngFor=\"let suggestion of availableSuggestions$ | async\" [value]=\"suggestion\">\n {{labelName(suggestion)}}\n </mat-option>\n </mat-autocomplete>\n\n</mat-form-field>\n\n", styles: [".full-width{width:100%}\n"] }]
201
201
  }], ctorParameters: function () { return []; }, propDecorators: { inputControl: [{
202
202
  type: ViewChild,
203
203
  args: ['labelInput', { static: true }]
@@ -226,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
226
226
  type: Input,
227
227
  args: ['labelBuilder']
228
228
  }] } });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWxzLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbGFiZWxzL2xhYmVscy1pbnB1dC9sYWJlbHMtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9sYWJlbHMvbGFiZWxzLWlucHV0L2xhYmVscy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR2xELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7Ozs7Ozs7QUFVL0YsTUFBTSxPQUFPLHdCQUE0QixTQUFRLHNCQUEyQjtJQXlCMUU7Ozs7Z0ZBSTRFO0lBRTVFO1FBRUUsS0FBSyxFQUFFLENBQUM7UUEvQlY7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFPakUs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T0FBTyxXQUFXLENBQUM7YUFDcEI7U0FDRjthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsQ0FBTSxFQUFFLENBQU07UUFDN0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDOztxSEF6T1Usd0JBQXdCO3lHQUF4Qix3QkFBd0IsMlNBSHhCLDZCQUE2QixDQUFDLHdCQUF3QixDQUFDLDJLQ2hCcEUsNjRDQTRDQTsyRkR6QmEsd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLG1CQUFtQixhQUdsQiw2QkFBNkIsMEJBQTBCLG1CQUNqRCx1QkFBdUIsQ0FBQyxNQUFNOzBFQXlCdkMsWUFBWTtzQkFEbkIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQTBCOUIsTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyxRQUFRO2dCQU1KLGdCQUFnQjtzQkFEMUIsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBZ0JkLFFBQVE7c0JBRGxCLEtBQUs7dUJBQUMsVUFBVTtnQkFNTixhQUFhO3NCQUR2QixNQUFNO3VCQUFDLGVBQWU7Z0JBV1osV0FBVztzQkFEckIsS0FBSzt1QkFBQyxhQUFhO2dCQWFULGFBQWE7c0JBRHZCLEtBQUs7dUJBQUMsZUFBZTtnQkFZWCxZQUFZO3NCQUR0QixLQUFLO3VCQUFDLGNBQWM7Z0JBWVYsWUFBWTtzQkFEdEIsS0FBSzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VudHlwZWRGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtNYXRDaGlwSW5wdXRFdmVudH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0lTdWdnZXN0aW9uUHJvdmlkZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zdWdnZXN0aW9uLXByb3ZpZGVyJztcbmltcG9ydCB7Rm9ybUZpZWxkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2Zvcm0tZmllbGQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVyc30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL3RlbXBsYXRlLWNvbXBvc2l0ZS1jb250cm9sJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbGFiZWwtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGFiZWxzLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGFiZWxzLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogYnVpbGRGb3JtSW50ZWdyYXRpb25Qcm92aWRlcnMoRWxkZXJMYWJlbElucHV0Q29tcG9uZW50KSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJMYWJlbElucHV0Q29tcG9uZW50PFQ+IGV4dGVuZHMgRm9ybUZpZWxkQmFzZUNvbXBvbmVudDxUW10+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfY29tcGFyZVdpdGg6IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuO1xuICBwcml2YXRlIF9uYW1lUmVzb2x2ZXI6IChvMTogYW55KSA9PiBzdHJpbmc7XG4gIHByaXZhdGUgX2NvbG9yUmVzb2x2ZXI6IChvMTogYW55KSA9PiBUaGVtZVBhbGV0dGU7XG4gIHByaXZhdGUgX2xhYmVsQnVpbGRlcjogKHJhd2lucHV0OiBzdHJpbmcpID0+IGFueVtdO1xuXG4gIHByaXZhdGUgX2FsbG93Q3JlYXRlID0gdHJ1ZTtcblxuICBwdWJsaWMgcmVtb3ZhYmxlID0gdHJ1ZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbGFiZWxJbnB1dENvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcbiAgcHVibGljIGF2YWlsYWJsZVN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxhbnlbXT4gPSBFTVBUWTtcblxuICBAVmlld0NoaWxkKCdsYWJlbElucHV0JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBpbnB1dENvbnRyb2w6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5mbG9hdExhYmVsID0gJ2F1dG8nO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBjdXJyZW50TGFiZWxzJCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlJDtcbiAgfVxuXG4gIEBJbnB1dCgnbGFiZWxzJylcbiAgcHVibGljIHNldCBsYWJlbHModmFsdWU6IFRbXSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgnc3VnZ2VzdGlvbkxvYWRlcicpXG4gIHB1YmxpYyBzZXQgc3VnZ2VzdGlvbkxvYWRlcihwcm92aWRlcjogSVN1Z2dlc3Rpb25Qcm92aWRlcjxhbnk+KSB7XG4gICAgaWYgKHByb3ZpZGVyKSB7XG4gICAgICB0aGlzLmF2YWlsYWJsZVN1Z2dlc3Rpb25zJCA9IHRoaXMubGFiZWxJbnB1dENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCg8c3RyaW5nPm51bGwpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4gcHJvdmlkZXIubG9hZFN1Z2dlc3Rpb25zKHZhbHVlKSksXG4gICAgICAgIG1hcChsYWJlbHMgPT4gdGhpcy5maWx0ZXJOb3RQcmVzZW50KGxhYmVscykpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQ2FudCBwcm92aWRlIHN1Z2dlc3Rpb25zIHNpbmNlIG5vIHN1Z2dlc3Rpb24gcHJvdmlkZXIgd2FzIHJlZ2lzdGVyZWQhJyk7XG4gICAgICB0aGlzLmF2YWlsYWJsZVN1Z2dlc3Rpb25zJCA9IEVNUFRZO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnYWxsb3dOZXcnKVxuICBwdWJsaWMgc2V0IGFsbG93TmV3KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYWxsb3dDcmVhdGUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBPdXRwdXQoJ2xhYmVsc0NoYW5nZWQnKVxuICBwdWJsaWMgZ2V0IGxhYmVsc0NoYW5nZWQoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlQ2hhbmdlO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gY29tcGFyZSB0aGUgb3B0aW9uIHZhbHVlcyB3aXRoIHRoZSBzZWxlY3RlZCB2YWx1ZXMuIFRoZSBmaXJzdCBhcmd1bWVudFxuICAgKiBpcyBhIHZhbHVlIGZyb20gYW4gb3B0aW9uLiBUaGUgc2Vjb25kIGlzIGEgdmFsdWUgZnJvbSB0aGUgc2VsZWN0aW9uLiBBIGJvb2xlYW5cbiAgICogc2hvdWxkIGJlIHJldHVybmVkLlxuICAgKi9cbiAgQElucHV0KCdjb21wYXJlV2l0aCcpXG4gIHB1YmxpYyBzZXQgY29tcGFyZVdpdGgoZm46IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb21wYXJlV2l0aCBtdXN0IGJlIGEgZnVuY3Rpb24hJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbXBhcmVXaXRoID0gZm47XG4gIH1cblxuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgdGhlIGNvbG9yIG9mIGEgZ2l2ZW4gbGFiZWwgb2JqZWN0LlxuICAgKi9cbiAgQElucHV0KCdjb2xvclJlc29sdmVyJylcbiAgcHVibGljIHNldCBjb2xvclJlc29sdmVyKGZuOiAobzE6IGFueSkgPT4gVGhlbWVQYWxldHRlKSB7XG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb2xvclJlc29sdmVyIG11c3QgYmUgYSBmdW5jdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5fY29sb3JSZXNvbHZlciA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgZGlzcGxheSBuYW1lIG9mIGEgZ2l2ZW4gbGFiZWwgb2JqZWN0LlxuICAgKi9cbiAgQElucHV0KCduYW1lUmVzb2x2ZXInKVxuICBwdWJsaWMgc2V0IG5hbWVSZXNvbHZlcihmbjogKG8xOiBhbnkpID0+IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbmFtZVJlc29sdmVyIG11c3QgYmUgYSBmdW5jdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5fbmFtZVJlc29sdmVyID0gZm47XG4gIH1cblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIG9uZSBvciBtb3JlIGxhYmVscyBmb3IgYSBnaXZlbiByYXcgc3RyaW5nXG4gICAqL1xuICBASW5wdXQoJ2xhYmVsQnVpbGRlcicpXG4gIHB1YmxpYyBzZXQgbGFiZWxCdWlsZGVyKGZuOiAocmF3aW5wdXQ6IHN0cmluZykgPT4gYW55W10pIHtcbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2xhYmVsQnVpbGRlciBtdXN0IGJlIGEgZnVuY3Rpb24hJyk7XG4gICAgfVxuICAgIHRoaXMuX2xhYmVsQnVpbGRlciA9IGZuO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUtQ3ljbGUgRXZlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGxhYmVsU2VsZWN0ZWQoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcbiAgICBjb25zb2xlLmxvZygnbGFiZWxTZWxlY3RlZDonLCBldmVudCk7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gZXZlbnQub3B0aW9uLnZhbHVlO1xuICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMucmVzZXRJbnB1dCgpO1xuICAgICAgdGhpcy5hZGRMYWJlbChzZWxlY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVOZXdMYWJlbHMoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2FsbG93Q3JlYXRlKSB7XG5cbiAgICAgIGNvbnN0IGlucHV0ID0gZXZlbnQuaW5wdXQ7XG4gICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlO1xuXG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgY29uc3QgbXlMYWJlbHMgPSB0aGlzLmJ1aWxkTGFiZWxzKHZhbHVlKTtcbiAgICAgICAgdGhpcy5hZGRMYWJlbHMobXlMYWJlbHMpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgLy8gaW5wdXQudmFsdWUgPSAnJzsgLy8gcmVzZXQgaW5wdXRcbiAgICAgICAgdGhpcy5yZXNldElucHV0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZExhYmVscyhsYWJlbHM6IFRbXSkge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6IFtdO1xuICAgIHRoaXMucmVwbGFjZVdpdGgoWy4uLmN1cnJlbnQsIC4uLmxhYmVsc10pO1xuICB9XG5cbiAgcHVibGljIGFkZExhYmVsKGxhYmVsOiBhbnkpIHtcbiAgICB0aGlzLmFkZExhYmVscyhbbGFiZWxdKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVMYWJlbCh0b1JlbW92ZTogVCk6IHZvaWQge1xuXG4gICAgY29uc3QgcmVtYWluaW5nID0gdGhpcy52YWx1ZVxuICAgICAgLmZpbHRlcihsID0+ICF0aGlzLmFyZUVxdWFsKGwsIHRvUmVtb3ZlKSk7XG5cbiAgICB0aGlzLnJlcGxhY2VXaXRoKHJlbWFpbmluZyk7XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZVdpdGgobGFiZWxzOiBUW10pOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKGxhYmVscyk7XG4gIH1cblxuICBwdWJsaWMgbGFiZWxOYW1lKGxhYmVsOiBUKTogc3RyaW5nIHtcbiAgICBpZiAobGFiZWwpIHtcbiAgICAgIHJldHVybiB0aGlzLl9uYW1lUmVzb2x2ZXIgPyAgdGhpcy5fbmFtZVJlc29sdmVyKGxhYmVsKSA6IGxhYmVsLnRvU3RyaW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbGFiZWxDb2xvcihsYWJlbDogVCk6IFRoZW1lUGFsZXR0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbG9yUmVzb2x2ZXIgPyAgdGhpcy5fY29sb3JSZXNvbHZlcihsYWJlbCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlc2V0SW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dENvbnRyb2wubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExhYmVscyhyYXdOYW1lOiBzdHJpbmcpOiBhbnlbXSB7XG4gICAgaWYgKHRoaXMuX2xhYmVsQnVpbGRlcikge1xuICAgICAgcmV0dXJuIHRoaXMuX2xhYmVsQnVpbGRlcihyYXdOYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtyYXdOYW1lXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbHRlck5vdFByZXNlbnQoc3VnZ2VzdGlvbnM6IGFueVtdKTogYW55W10ge1xuICAgIGlmIChzdWdnZXN0aW9ucykge1xuXG4gICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICByZXR1cm4gc3VnZ2VzdGlvbnNcbiAgICAgICAgICAuZmlsdGVyKGwgPT4gbClcbiAgICAgICAgICAuZmlsdGVyKGwgPT4gIXRoaXMudmFsdWUuc29tZShlbCA9PiB0aGlzLmFyZUVxdWFsKGVsLCBsKSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHN1Z2dlc3Rpb25zO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcmVFcXVhbChhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wYXJlV2l0aCA/IHRoaXMuX2NvbXBhcmVXaXRoKGEsIGIpIDogYSA9PT0gYjtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkXG4gIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICBjbGFzcz1cImZ1bGwtd2lkdGhcIlxuICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgW2NvbG9yXT1cImNvbG9yXCJcbj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbCB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG5cbiAgPG1hdC1jaGlwLWdyaWQgI2NoaXBzPlxuICAgIDxtYXQtY2hpcC1yb3cgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGN1cnJlbnRMYWJlbHMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm5vc2VsZWN0XCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cImxhYmVsQ29sb3IobGFiZWwpXCJcbiAgICAgICAgICAgICAgW3JlbW92YWJsZV09XCJyZW1vdmFibGVcIlxuICAgICAgICAgICAgICAocmVtb3ZlZCk9XCJyZW1vdmVMYWJlbChsYWJlbClcIlxuICAgID5cbiAgICAgIHt7bGFiZWxOYW1lKGxhYmVsKX19XG4gICAgICA8bWF0LWljb24gbWF0Q2hpcFJlbW92ZSAqbmdJZj1cInJlbW92YWJsZVwiPmNhbmNlbDwvbWF0LWljb24+XG4gICAgPC9tYXQtY2hpcC1yb3c+XG5cbiAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBzXCJcbiAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJsYWJlbEF1dG9Db21wbGV0ZVwiXG4gICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJsYWJlbElucHV0Q29udHJvbFwiXG4gICAgICAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJjcmVhdGVOZXdMYWJlbHMoJGV2ZW50KVwiXG4gICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAjbGFiZWxJbnB1dD5cbiAgPC9tYXQtY2hpcC1ncmlkPlxuXG4gIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAjbGFiZWxBdXRvQ29tcGxldGU9XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgcGFuZWxXaWR0aD1cImF1dG9cIlxuICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImxhYmVsU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIGF2YWlsYWJsZVN1Z2dlc3Rpb25zJCB8IGFzeW5jXCIgW3ZhbHVlXT1cInN1Z2dlc3Rpb25cIj5cbiAgICAgIHt7bGFiZWxOYW1lKHN1Z2dlc3Rpb24pfX1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LWF1dG9jb21wbGV0ZT5cblxuPC9tYXQtZm9ybS1maWVsZD5cblxuIl19
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWxzLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbGFiZWxzL2xhYmVscy1pbnB1dC9sYWJlbHMtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9sYWJlbHMvbGFiZWxzLWlucHV0L2xhYmVscy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR2xELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7Ozs7Ozs7QUFVL0YsTUFBTSxPQUFPLHdCQUE0QixTQUFRLHNCQUEyQjtJQXlCMUU7Ozs7Z0ZBSTRFO0lBRTVFO1FBRUUsS0FBSyxFQUFFLENBQUM7UUEvQlY7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFPakUs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T0FBTyxXQUFXLENBQUM7YUFDcEI7U0FDRjthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsQ0FBTSxFQUFFLENBQU07UUFDN0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDOztxSEF6T1Usd0JBQXdCO3lHQUF4Qix3QkFBd0IsMlNBSHhCLDZCQUE2QixDQUFDLHdCQUF3QixDQUFDLDJLQ2hCcEUsazdDQTRDQTsyRkR6QmEsd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLG1CQUFtQixhQUdsQiw2QkFBNkIsMEJBQTBCLG1CQUNqRCx1QkFBdUIsQ0FBQyxNQUFNOzBFQXlCdkMsWUFBWTtzQkFEbkIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQTBCOUIsTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyxRQUFRO2dCQU1KLGdCQUFnQjtzQkFEMUIsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBZ0JkLFFBQVE7c0JBRGxCLEtBQUs7dUJBQUMsVUFBVTtnQkFNTixhQUFhO3NCQUR2QixNQUFNO3VCQUFDLGVBQWU7Z0JBV1osV0FBVztzQkFEckIsS0FBSzt1QkFBQyxhQUFhO2dCQWFULGFBQWE7c0JBRHZCLEtBQUs7dUJBQUMsZUFBZTtnQkFZWCxZQUFZO3NCQUR0QixLQUFLO3VCQUFDLGNBQWM7Z0JBWVYsWUFBWTtzQkFEdEIsS0FBSzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VudHlwZWRGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtNYXRDaGlwSW5wdXRFdmVudH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0lTdWdnZXN0aW9uUHJvdmlkZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zdWdnZXN0aW9uLXByb3ZpZGVyJztcbmltcG9ydCB7Rm9ybUZpZWxkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2Zvcm0tZmllbGQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVyc30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL3RlbXBsYXRlLWNvbXBvc2l0ZS1jb250cm9sJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbGFiZWwtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGFiZWxzLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGFiZWxzLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogYnVpbGRGb3JtSW50ZWdyYXRpb25Qcm92aWRlcnMoRWxkZXJMYWJlbElucHV0Q29tcG9uZW50KSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJMYWJlbElucHV0Q29tcG9uZW50PFQ+IGV4dGVuZHMgRm9ybUZpZWxkQmFzZUNvbXBvbmVudDxUW10+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfY29tcGFyZVdpdGg6IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuO1xuICBwcml2YXRlIF9uYW1lUmVzb2x2ZXI6IChvMTogYW55KSA9PiBzdHJpbmc7XG4gIHByaXZhdGUgX2NvbG9yUmVzb2x2ZXI6IChvMTogYW55KSA9PiBUaGVtZVBhbGV0dGU7XG4gIHByaXZhdGUgX2xhYmVsQnVpbGRlcjogKHJhd2lucHV0OiBzdHJpbmcpID0+IGFueVtdO1xuXG4gIHByaXZhdGUgX2FsbG93Q3JlYXRlID0gdHJ1ZTtcblxuICBwdWJsaWMgcmVtb3ZhYmxlID0gdHJ1ZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbGFiZWxJbnB1dENvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcbiAgcHVibGljIGF2YWlsYWJsZVN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxhbnlbXT4gPSBFTVBUWTtcblxuICBAVmlld0NoaWxkKCdsYWJlbElucHV0JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBpbnB1dENvbnRyb2w6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5mbG9hdExhYmVsID0gJ2F1dG8nO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBjdXJyZW50TGFiZWxzJCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlJDtcbiAgfVxuXG4gIEBJbnB1dCgnbGFiZWxzJylcbiAgcHVibGljIHNldCBsYWJlbHModmFsdWU6IFRbXSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgnc3VnZ2VzdGlvbkxvYWRlcicpXG4gIHB1YmxpYyBzZXQgc3VnZ2VzdGlvbkxvYWRlcihwcm92aWRlcjogSVN1Z2dlc3Rpb25Qcm92aWRlcjxhbnk+KSB7XG4gICAgaWYgKHByb3ZpZGVyKSB7XG4gICAgICB0aGlzLmF2YWlsYWJsZVN1Z2dlc3Rpb25zJCA9IHRoaXMubGFiZWxJbnB1dENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCg8c3RyaW5nPm51bGwpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4gcHJvdmlkZXIubG9hZFN1Z2dlc3Rpb25zKHZhbHVlKSksXG4gICAgICAgIG1hcChsYWJlbHMgPT4gdGhpcy5maWx0ZXJOb3RQcmVzZW50KGxhYmVscykpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQ2FudCBwcm92aWRlIHN1Z2dlc3Rpb25zIHNpbmNlIG5vIHN1Z2dlc3Rpb24gcHJvdmlkZXIgd2FzIHJlZ2lzdGVyZWQhJyk7XG4gICAgICB0aGlzLmF2YWlsYWJsZVN1Z2dlc3Rpb25zJCA9IEVNUFRZO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnYWxsb3dOZXcnKVxuICBwdWJsaWMgc2V0IGFsbG93TmV3KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYWxsb3dDcmVhdGUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBPdXRwdXQoJ2xhYmVsc0NoYW5nZWQnKVxuICBwdWJsaWMgZ2V0IGxhYmVsc0NoYW5nZWQoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlQ2hhbmdlO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gY29tcGFyZSB0aGUgb3B0aW9uIHZhbHVlcyB3aXRoIHRoZSBzZWxlY3RlZCB2YWx1ZXMuIFRoZSBmaXJzdCBhcmd1bWVudFxuICAgKiBpcyBhIHZhbHVlIGZyb20gYW4gb3B0aW9uLiBUaGUgc2Vjb25kIGlzIGEgdmFsdWUgZnJvbSB0aGUgc2VsZWN0aW9uLiBBIGJvb2xlYW5cbiAgICogc2hvdWxkIGJlIHJldHVybmVkLlxuICAgKi9cbiAgQElucHV0KCdjb21wYXJlV2l0aCcpXG4gIHB1YmxpYyBzZXQgY29tcGFyZVdpdGgoZm46IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb21wYXJlV2l0aCBtdXN0IGJlIGEgZnVuY3Rpb24hJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbXBhcmVXaXRoID0gZm47XG4gIH1cblxuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgdGhlIGNvbG9yIG9mIGEgZ2l2ZW4gbGFiZWwgb2JqZWN0LlxuICAgKi9cbiAgQElucHV0KCdjb2xvclJlc29sdmVyJylcbiAgcHVibGljIHNldCBjb2xvclJlc29sdmVyKGZuOiAobzE6IGFueSkgPT4gVGhlbWVQYWxldHRlKSB7XG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb2xvclJlc29sdmVyIG11c3QgYmUgYSBmdW5jdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5fY29sb3JSZXNvbHZlciA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgZGlzcGxheSBuYW1lIG9mIGEgZ2l2ZW4gbGFiZWwgb2JqZWN0LlxuICAgKi9cbiAgQElucHV0KCduYW1lUmVzb2x2ZXInKVxuICBwdWJsaWMgc2V0IG5hbWVSZXNvbHZlcihmbjogKG8xOiBhbnkpID0+IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbmFtZVJlc29sdmVyIG11c3QgYmUgYSBmdW5jdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5fbmFtZVJlc29sdmVyID0gZm47XG4gIH1cblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIG9uZSBvciBtb3JlIGxhYmVscyBmb3IgYSBnaXZlbiByYXcgc3RyaW5nXG4gICAqL1xuICBASW5wdXQoJ2xhYmVsQnVpbGRlcicpXG4gIHB1YmxpYyBzZXQgbGFiZWxCdWlsZGVyKGZuOiAocmF3aW5wdXQ6IHN0cmluZykgPT4gYW55W10pIHtcbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2xhYmVsQnVpbGRlciBtdXN0IGJlIGEgZnVuY3Rpb24hJyk7XG4gICAgfVxuICAgIHRoaXMuX2xhYmVsQnVpbGRlciA9IGZuO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUtQ3ljbGUgRXZlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGxhYmVsU2VsZWN0ZWQoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcbiAgICBjb25zb2xlLmxvZygnbGFiZWxTZWxlY3RlZDonLCBldmVudCk7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gZXZlbnQub3B0aW9uLnZhbHVlO1xuICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMucmVzZXRJbnB1dCgpO1xuICAgICAgdGhpcy5hZGRMYWJlbChzZWxlY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVOZXdMYWJlbHMoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2FsbG93Q3JlYXRlKSB7XG5cbiAgICAgIGNvbnN0IGlucHV0ID0gZXZlbnQuaW5wdXQ7XG4gICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlO1xuXG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgY29uc3QgbXlMYWJlbHMgPSB0aGlzLmJ1aWxkTGFiZWxzKHZhbHVlKTtcbiAgICAgICAgdGhpcy5hZGRMYWJlbHMobXlMYWJlbHMpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgLy8gaW5wdXQudmFsdWUgPSAnJzsgLy8gcmVzZXQgaW5wdXRcbiAgICAgICAgdGhpcy5yZXNldElucHV0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZExhYmVscyhsYWJlbHM6IFRbXSkge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6IFtdO1xuICAgIHRoaXMucmVwbGFjZVdpdGgoWy4uLmN1cnJlbnQsIC4uLmxhYmVsc10pO1xuICB9XG5cbiAgcHVibGljIGFkZExhYmVsKGxhYmVsOiBhbnkpIHtcbiAgICB0aGlzLmFkZExhYmVscyhbbGFiZWxdKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVMYWJlbCh0b1JlbW92ZTogVCk6IHZvaWQge1xuXG4gICAgY29uc3QgcmVtYWluaW5nID0gdGhpcy52YWx1ZVxuICAgICAgLmZpbHRlcihsID0+ICF0aGlzLmFyZUVxdWFsKGwsIHRvUmVtb3ZlKSk7XG5cbiAgICB0aGlzLnJlcGxhY2VXaXRoKHJlbWFpbmluZyk7XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZVdpdGgobGFiZWxzOiBUW10pOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKGxhYmVscyk7XG4gIH1cblxuICBwdWJsaWMgbGFiZWxOYW1lKGxhYmVsOiBUKTogc3RyaW5nIHtcbiAgICBpZiAobGFiZWwpIHtcbiAgICAgIHJldHVybiB0aGlzLl9uYW1lUmVzb2x2ZXIgPyAgdGhpcy5fbmFtZVJlc29sdmVyKGxhYmVsKSA6IGxhYmVsLnRvU3RyaW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbGFiZWxDb2xvcihsYWJlbDogVCk6IFRoZW1lUGFsZXR0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbG9yUmVzb2x2ZXIgPyAgdGhpcy5fY29sb3JSZXNvbHZlcihsYWJlbCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlc2V0SW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dENvbnRyb2wubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExhYmVscyhyYXdOYW1lOiBzdHJpbmcpOiBhbnlbXSB7XG4gICAgaWYgKHRoaXMuX2xhYmVsQnVpbGRlcikge1xuICAgICAgcmV0dXJuIHRoaXMuX2xhYmVsQnVpbGRlcihyYXdOYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtyYXdOYW1lXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbHRlck5vdFByZXNlbnQoc3VnZ2VzdGlvbnM6IGFueVtdKTogYW55W10ge1xuICAgIGlmIChzdWdnZXN0aW9ucykge1xuXG4gICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICByZXR1cm4gc3VnZ2VzdGlvbnNcbiAgICAgICAgICAuZmlsdGVyKGwgPT4gbClcbiAgICAgICAgICAuZmlsdGVyKGwgPT4gIXRoaXMudmFsdWUuc29tZShlbCA9PiB0aGlzLmFyZUVxdWFsKGVsLCBsKSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHN1Z2dlc3Rpb25zO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcmVFcXVhbChhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wYXJlV2l0aCA/IHRoaXMuX2NvbXBhcmVXaXRoKGEsIGIpIDogYSA9PT0gYjtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkXG4gIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICBjbGFzcz1cImZ1bGwtd2lkdGhcIlxuICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgW2NvbG9yXT1cImNvbG9yXCJcbj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbCB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG5cbiAgPG1hdC1jaGlwLWdyaWQgI2NoaXBzPlxuICAgIDxtYXQtY2hpcC1yb3cgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGN1cnJlbnRMYWJlbHMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm5vc2VsZWN0XCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cImxhYmVsQ29sb3IobGFiZWwpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgW3JlbW92YWJsZV09XCJyZW1vdmFibGVcIlxuICAgICAgICAgICAgICAocmVtb3ZlZCk9XCJyZW1vdmVMYWJlbChsYWJlbClcIlxuICAgID5cbiAgICAgIHt7bGFiZWxOYW1lKGxhYmVsKX19XG4gICAgICA8bWF0LWljb24gbWF0Q2hpcFJlbW92ZSAqbmdJZj1cIiFyZWFkb25seSAmJiByZW1vdmFibGVcIj5jYW5jZWw8L21hdC1pY29uPlxuICAgIDwvbWF0LWNoaXAtcm93PlxuXG4gICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwc1wiXG4gICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwibGFiZWxBdXRvQ29tcGxldGVcIlxuICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwibGFiZWxJbnB1dENvbnRyb2xcIlxuICAgICAgICAgICAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwiY3JlYXRlTmV3TGFiZWxzKCRldmVudClcIlxuICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgI2xhYmVsSW5wdXQ+XG4gIDwvbWF0LWNoaXAtZ3JpZD5cblxuICA8bWF0LWF1dG9jb21wbGV0ZVxuICAgICAgI2xhYmVsQXV0b0NvbXBsZXRlPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgIHBhbmVsV2lkdGg9XCJhdXRvXCJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJsYWJlbFNlbGVjdGVkKCRldmVudClcIj5cbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgc3VnZ2VzdGlvbiBvZiBhdmFpbGFibGVTdWdnZXN0aW9ucyQgfCBhc3luY1wiIFt2YWx1ZV09XCJzdWdnZXN0aW9uXCI+XG4gICAgICB7e2xhYmVsTmFtZShzdWdnZXN0aW9uKX19XG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbiJdfQ==
@@ -218,11 +218,11 @@ export class ElderDimensionsInputComponent extends ElderFormFieldControlBase {
218
218
  return Dimensions.from(this.unit, this.lengthValue, this.widthValue, value);
219
219
  }
220
220
  }
221
- ElderDimensionsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderDimensionsInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
222
- ElderDimensionsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ElderDimensionsInputComponent, selector: "elder-dimensions-input", inputs: { name: "name", appearance: "appearance", color: "color", placeholderLength: "placeholderLength", placeholderWidth: "placeholderWidth", placeholderHeight: "placeholderHeight", displayFormat: "displayFormat", mode: "mode", requiredLength: "requiredLength", requiredWidth: "requiredWidth", requiredHeight: "requiredHeight", unit: "unit", lengthValue: "lengthValue", widthValue: "widthValue", heightValue: "heightValue" }, outputs: { unitChange: "unitChange", lengthValueChange: "lengthValueChange", widthValueChange: "widthValueChange", heightValueChange: "heightValueChange" }, providers: [
221
+ ElderDimensionsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderDimensionsInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
222
+ ElderDimensionsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ElderDimensionsInputComponent, selector: "elder-dimensions-input", inputs: { name: "name", appearance: "appearance", color: "color", placeholderLength: "placeholderLength", placeholderWidth: "placeholderWidth", placeholderHeight: "placeholderHeight", displayFormat: "displayFormat", mode: "mode", requiredLength: "requiredLength", requiredWidth: "requiredWidth", requiredHeight: "requiredHeight", unit: "unit", lengthValue: "lengthValue", widthValue: "widthValue", heightValue: "heightValue" }, outputs: { unitChange: "unitChange", lengthValueChange: "lengthValueChange", widthValueChange: "widthValueChange", heightValueChange: "heightValueChange" }, providers: [
223
223
  { provide: MatFormFieldControl, useExisting: ElderDimensionsInputComponent },
224
224
  ], usesInheritance: true, ngImport: i0, template: "<div role=\"group\" class=\"layout-row place-start-baseline g-md full\"\n *ngIf=\"context$ | async as context\">\n\n <!-- elder-form-field-small -->\n <elder-quantity-input *ngIf=\"context.lengthActive\"\n [quantityValue]=\"lengthValue\"\n (quantityValueChange)=\"onLengthValueChanged($event)\"\n [unit]=\"unit\"\n [placeholder]=\"(placeholderLength ? placeholderLength : 'dimensions.length') | translate\"\n [displayFormat]=\"displayFormat\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [hideUnit]=\"!context.isLengthLast\"\n >\n </elder-quantity-input>\n\n <span class=\"noselect\" *ngIf=\"context.lengthActive && context.widthActive\">&times;</span>\n\n <elder-quantity-input *ngIf=\"context.widthActive\"\n [quantityValue]=\"widthValue\"\n (quantityValueChange)=\"onWidthValueChanged($event)\"\n [unit]=\"unit\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderWidth ? placeholderWidth : 'dimensions.width') | translate\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [hideUnit]=\"!context.isWidthLast\"\n >\n </elder-quantity-input>\n\n <span class=\"noselect\" *ngIf=\"context.widthActive && context.heightActive\">&times;</span>\n\n <elder-quantity-input *ngIf=\"context.heightActive\"\n [quantityValue]=\"heightValue\"\n (quantityValueChange)=\"onHeightValueChanged($event)\"\n [unit]=\"unit\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderHeight ? placeholderHeight : 'dimensions.height') | translate\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n\n <!--\n[requiredIgnoreZero]=\"requiredIgnoreZero\"\n [elderMultipleOf]=\"multipleOf\" ngModel\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredLength\"\n -->\n</div>\n\n\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ElderQuantityInputControlComponent, selector: "elder-quantity-input", inputs: ["displayFormat", "quantityValue", "unit", "hideUnit"], outputs: ["quantityValueChange", "unitChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderDimensionsInputComponent, decorators: [{
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderDimensionsInputComponent, decorators: [{
226
226
  type: Component,
227
227
  args: [{ selector: 'elder-dimensions-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
228
228
  { provide: MatFormFieldControl, useExisting: ElderDimensionsInputComponent },
@@ -70,11 +70,11 @@ export class ElderRequiredDimensionsValidator {
70
70
  return false;
71
71
  }
72
72
  }
73
- ElderRequiredDimensionsValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderRequiredDimensionsValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
74
- ElderRequiredDimensionsValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ElderRequiredDimensionsValidator, selector: "elder-dimensions-input[required][formControl],elder-dimensions-input[required][formControlName],elder-dimensions-input[required][ngModel]", inputs: { requiredIgnoreZero: "requiredIgnoreZero", required: "required" }, providers: [
73
+ ElderRequiredDimensionsValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderRequiredDimensionsValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
74
+ ElderRequiredDimensionsValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: ElderRequiredDimensionsValidator, selector: "elder-dimensions-input[required][formControl],elder-dimensions-input[required][formControlName],elder-dimensions-input[required][ngModel]", inputs: { requiredIgnoreZero: "requiredIgnoreZero", required: "required" }, providers: [
75
75
  { provide: NG_VALIDATORS, useExisting: ElderRequiredDimensionsValidator, multi: true }
76
76
  ], ngImport: i0 });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderRequiredDimensionsValidator, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderRequiredDimensionsValidator, decorators: [{
78
78
  type: Directive,
79
79
  args: [{
80
80
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -49,9 +49,9 @@ export class ElderUnitSelectDirective {
49
49
  this.select.filters = [];
50
50
  }
51
51
  }
52
- ElderUnitSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderUnitSelectDirective, deps: [{ token: i1.ElderSelectComponent }, { token: i2.ElderUnitService }], target: i0.ɵɵFactoryTarget.Directive });
53
- ElderUnitSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ElderUnitSelectDirective, selector: "[elderUnitSelect]", inputs: { unitDimension: "unitDimension", baseUnit: "baseUnit" }, ngImport: i0 });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderUnitSelectDirective, decorators: [{
52
+ ElderUnitSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderUnitSelectDirective, deps: [{ token: i1.ElderSelectComponent }, { token: i2.ElderUnitService }], target: i0.ɵɵFactoryTarget.Directive });
53
+ ElderUnitSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: ElderUnitSelectDirective, selector: "[elderUnitSelect]", inputs: { unitDimension: "unitDimension", baseUnit: "baseUnit" }, ngImport: i0 });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderUnitSelectDirective, decorators: [{
55
55
  type: Directive,
56
56
  args: [{
57
57
  selector: '[elderUnitSelect]'
@@ -28,8 +28,8 @@ export * from './dimensions/dimensions-input/elder-dimensions-input.component';
28
28
  export * from './dimensions/validation/elder-required-dimensions.validator';
29
29
  export class ElderMeasuresModule {
30
30
  }
31
- ElderMeasuresModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderMeasuresModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
- ElderMeasuresModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: ElderMeasuresModule, declarations: [ElderQuantityFormFieldComponent,
31
+ ElderMeasuresModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderMeasuresModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
+ ElderMeasuresModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: ElderMeasuresModule, declarations: [ElderQuantityFormFieldComponent,
33
33
  ElderQuantityPipe,
34
34
  ElderQuantityTransformPipe,
35
35
  ElderUnitSelectDirective,
@@ -57,7 +57,7 @@ ElderMeasuresModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
57
57
  ElderRequiredQuantityValidator,
58
58
  ElderQuantityRangeValidator,
59
59
  ElderRequiredDimensionsValidator] });
60
- ElderMeasuresModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderMeasuresModule, providers: [
60
+ ElderMeasuresModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderMeasuresModule, providers: [
61
61
  DecimalPipe,
62
62
  ElderQuantityPipe,
63
63
  ElderQuantityTransformPipe
@@ -73,7 +73,7 @@ ElderMeasuresModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
73
73
  MatInputModule,
74
74
  // ElderByte
75
75
  ElderFormsDirectivesModule] });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderMeasuresModule, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderMeasuresModule, decorators: [{
77
77
  type: NgModule,
78
78
  args: [{
79
79
  imports: [
@@ -123,10 +123,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
123
123
  */
124
124
  export class ElderQuantityModule {
125
125
  }
126
- ElderQuantityModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderQuantityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
127
- ElderQuantityModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: ElderQuantityModule, imports: [ElderMeasuresModule], exports: [ElderMeasuresModule] });
128
- ElderQuantityModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderQuantityModule, imports: [ElderMeasuresModule, ElderMeasuresModule] });
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderQuantityModule, decorators: [{
126
+ ElderQuantityModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderQuantityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
127
+ ElderQuantityModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: ElderQuantityModule, imports: [ElderMeasuresModule], exports: [ElderMeasuresModule] });
128
+ ElderQuantityModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderQuantityModule, imports: [ElderMeasuresModule, ElderMeasuresModule] });
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderQuantityModule, decorators: [{
130
130
  type: NgModule,
131
131
  args: [{
132
132
  imports: [
@@ -30,9 +30,9 @@ export class ElderQuantityTransformPipe {
30
30
  }
31
31
  }
32
32
  }
33
- ElderQuantityTransformPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderQuantityTransformPipe, deps: [{ token: i1.ElderQuantityService }], target: i0.ɵɵFactoryTarget.Pipe });
34
- ElderQuantityTransformPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: ElderQuantityTransformPipe, name: "elderQuantityTransform" });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderQuantityTransformPipe, decorators: [{
33
+ ElderQuantityTransformPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderQuantityTransformPipe, deps: [{ token: i1.ElderQuantityService }], target: i0.ɵɵFactoryTarget.Pipe });
34
+ ElderQuantityTransformPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: ElderQuantityTransformPipe, name: "elderQuantityTransform" });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderQuantityTransformPipe, decorators: [{
36
36
  type: Pipe,
37
37
  args: [{
38
38
  name: 'elderQuantityTransform'
@@ -62,9 +62,9 @@ export class ElderQuantityPipe {
62
62
  ElderQuantityPipe.EMPTY_STRING = '';
63
63
  ElderQuantityPipe.SPACE_STRING = ' ';
64
64
  ElderQuantityPipe.DEFAULT_DIGITS = '1.0-1';
65
- ElderQuantityPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderQuantityPipe, deps: [{ token: i1.ElderUnitService }, { token: i2.ElderQuantityTransformPipe }, { token: i3.DecimalPipe }], target: i0.ɵɵFactoryTarget.Pipe });
66
- ElderQuantityPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: ElderQuantityPipe, name: "elderQuantity" });
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderQuantityPipe, decorators: [{
65
+ ElderQuantityPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderQuantityPipe, deps: [{ token: i1.ElderUnitService }, { token: i2.ElderQuantityTransformPipe }, { token: i3.DecimalPipe }], target: i0.ɵɵFactoryTarget.Pipe });
66
+ ElderQuantityPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: ElderQuantityPipe, name: "elderQuantity" });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderQuantityPipe, decorators: [{
68
68
  type: Pipe,
69
69
  args: [{
70
70
  name: 'elderQuantity'
@@ -104,9 +104,9 @@ export class ElderUnitService {
104
104
  return infos;
105
105
  }
106
106
  }
107
- ElderUnitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderUnitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
108
- ElderUnitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderUnitService, providedIn: 'root' });
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderUnitService, decorators: [{
107
+ ElderUnitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderUnitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
108
+ ElderUnitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderUnitService, providedIn: 'root' });
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ElderUnitService, decorators: [{
110
110
  type: Injectable,
111
111
  args: [{
112
112
  providedIn: 'root'