@elderbyte/ngx-starter 14.12.0-beta4 → 15.0.0-mdc

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 (467) hide show
  1. package/_index.scss +4 -3
  2. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +4 -4
  3. package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +4 -4
  4. package/esm2020/lib/common/forms/elder-from-field-base.mjs +4 -4
  5. package/esm2020/lib/common/forms/elder-from-field-customizable-base.mjs +52 -0
  6. package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +4 -4
  7. package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +4 -4
  8. package/esm2020/lib/common/forms/form-field-base.component.mjs +10 -4
  9. package/esm2020/lib/common/forms/multi-model-base.component.mjs +4 -4
  10. package/esm2020/lib/common/forms/template-composite-control.mjs +4 -4
  11. package/esm2020/lib/common/forms/value-accessor-base.mjs +4 -4
  12. package/esm2020/lib/common/http/http-client-builder.service.mjs +4 -4
  13. package/esm2020/lib/common/http/http-client-pristine.mjs +4 -4
  14. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
  15. package/esm2020/lib/common/url/elder-router.service.mjs +4 -4
  16. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +4 -4
  17. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +5 -5
  18. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +5 -5
  19. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +6 -6
  20. package/esm2020/lib/components/auditing/elder-audit.module.mjs +5 -5
  21. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +4 -4
  22. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +5 -5
  23. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -4
  24. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +5 -5
  25. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +5 -5
  26. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +5 -5
  27. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +4 -4
  28. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +40 -51
  29. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +9 -8
  30. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +5 -5
  31. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +4 -4
  32. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +4 -4
  33. package/esm2020/lib/components/containers/elder-containers.module.mjs +5 -5
  34. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
  35. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +4 -4
  36. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +4 -4
  37. package/esm2020/lib/components/csv/elder-csv.module.mjs +5 -5
  38. package/esm2020/lib/components/currency/elder-currency.module.mjs +5 -5
  39. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +4 -4
  40. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +5 -5
  41. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +4 -4
  42. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +5 -5
  43. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +4 -4
  44. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +4 -4
  45. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +5 -5
  46. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +17 -10
  47. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +5 -5
  48. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +5 -5
  49. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +8 -8
  50. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +5 -5
  51. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -4
  52. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +5 -5
  53. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +13 -12
  54. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +9 -8
  55. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -4
  56. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +5 -5
  57. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
  58. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +4 -4
  59. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +4 -4
  60. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +4 -4
  61. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +9 -8
  62. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +4 -4
  63. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
  64. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +4 -4
  65. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +4 -4
  66. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +4 -4
  67. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +9 -8
  68. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +4 -4
  69. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +5 -5
  70. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +6 -26
  71. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +5 -5
  72. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +7 -7
  73. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -4
  74. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +4 -4
  75. package/esm2020/lib/components/errors/elder-error.module.mjs +5 -5
  76. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +6 -6
  77. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +5 -5
  78. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +5 -5
  79. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +4 -4
  80. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +4 -4
  81. package/esm2020/lib/components/files/elder-file-select.directive.mjs +4 -4
  82. package/esm2020/lib/components/files/elder-file.module.mjs +5 -5
  83. package/esm2020/lib/components/files/file-select/file-select.component.mjs +5 -5
  84. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +11 -12
  85. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +4 -4
  86. package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +4 -4
  87. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +4 -4
  88. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +4 -4
  89. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +17 -6
  90. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +5 -4
  91. package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +11 -6
  92. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +4 -4
  93. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +44 -71
  94. package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +4 -4
  95. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +4 -4
  96. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +4 -4
  97. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +4 -4
  98. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +4 -4
  99. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
  100. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +4 -4
  101. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
  102. package/esm2020/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +85 -0
  103. package/esm2020/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +47 -0
  104. package/esm2020/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +48 -0
  105. package/esm2020/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +6 -0
  106. package/esm2020/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +55 -0
  107. package/esm2020/lib/components/forms/directives/validation/validation-message-strategy.mjs +2 -0
  108. package/esm2020/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +40 -0
  109. package/esm2020/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +40 -0
  110. package/esm2020/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +96 -0
  111. package/esm2020/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +68 -0
  112. package/esm2020/lib/components/forms/elder-forms.module.mjs +5 -5
  113. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +4 -4
  114. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +4 -4
  115. package/esm2020/lib/components/forms/search/elder-search.module.mjs +5 -5
  116. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +9 -7
  117. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
  118. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +7 -7
  119. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +5 -5
  120. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +4 -4
  121. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +7 -7
  122. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +5 -5
  123. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +4 -4
  124. package/esm2020/lib/components/headers/elder-header.module.mjs +5 -5
  125. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +4 -4
  126. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +5 -5
  127. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +6 -6
  128. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +4 -4
  129. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
  130. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +9 -8
  131. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +4 -4
  132. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
  133. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +4 -4
  134. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +4 -4
  135. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +4 -4
  136. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +4 -4
  137. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +5 -5
  138. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +4 -4
  139. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +6 -6
  140. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +5 -5
  141. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +4 -4
  142. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +4 -4
  143. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +16 -8
  144. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +4 -4
  145. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +4 -4
  146. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +8 -6
  147. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +4 -4
  148. package/esm2020/lib/components/iframes/iframe.service.mjs +4 -4
  149. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +4 -4
  150. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
  151. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +8 -8
  152. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +4 -4
  153. package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +4 -4
  154. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +4 -4
  155. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +5 -5
  156. package/esm2020/lib/components/labels/elder-labels.module.mjs +5 -5
  157. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +8 -9
  158. package/esm2020/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +273 -0
  159. package/esm2020/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +91 -0
  160. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +4 -4
  161. package/esm2020/lib/components/measures/elder-measures.module.mjs +44 -20
  162. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +4 -4
  163. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +4 -4
  164. package/esm2020/lib/components/measures/elder-unit.service.mjs +4 -4
  165. package/esm2020/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +33 -0
  166. package/esm2020/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +176 -0
  167. package/esm2020/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +87 -0
  168. package/esm2020/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +76 -0
  169. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +4 -4
  170. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +4 -4
  171. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +5 -5
  172. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +10 -8
  173. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +52 -18
  174. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +115 -32
  175. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +64 -8
  176. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +5 -5
  177. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +5 -5
  178. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +4 -4
  179. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +5 -5
  180. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +5 -5
  181. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +4 -4
  182. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +4 -4
  183. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +4 -4
  184. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +4 -4
  185. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +5 -5
  186. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +4 -4
  187. package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +4 -4
  188. package/esm2020/lib/components/panels/elder-panel.module.mjs +5 -5
  189. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +4 -4
  190. package/esm2020/lib/components/public_api.mjs +1 -2
  191. package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +4 -4
  192. package/esm2020/lib/components/select/elder-select-base.mjs +4 -4
  193. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +10 -10
  194. package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +4 -4
  195. package/esm2020/lib/components/select/elder-select-value.directive.mjs +4 -4
  196. package/esm2020/lib/components/select/elder-select.module.mjs +5 -5
  197. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +4 -4
  198. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +44 -21
  199. package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +37 -13
  200. package/esm2020/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +4 -4
  201. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +4 -4
  202. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +4 -4
  203. package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +4 -4
  204. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +9 -8
  205. package/esm2020/lib/components/select/single/elder-select-form-field.mjs +4 -4
  206. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +10 -13
  207. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +5 -5
  208. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +4 -4
  209. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +4 -4
  210. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +4 -4
  211. package/esm2020/lib/components/shell/elder-shell.module.mjs +5 -5
  212. package/esm2020/lib/components/shell/elder-shell.service.mjs +4 -4
  213. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -4
  214. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +17 -17
  215. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +4 -4
  216. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +4 -4
  217. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
  218. package/esm2020/lib/components/tabs/elder-tab.module.mjs +5 -5
  219. package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +4 -4
  220. package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +4 -4
  221. package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +4 -4
  222. package/esm2020/lib/components/theme/elder-theme.directive.mjs +4 -4
  223. package/esm2020/lib/components/theme/elder-theme.module.mjs +5 -5
  224. package/esm2020/lib/components/theme/elder-theme.service.mjs +4 -4
  225. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +4 -4
  226. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +6 -6
  227. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +5 -5
  228. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +6 -6
  229. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +4 -4
  230. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +6 -6
  231. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +8 -8
  232. package/esm2020/lib/components/time/elder-time.module.mjs +9 -9
  233. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +6 -6
  234. package/esm2020/lib/components/toasts/elder-toast.module.mjs +5 -5
  235. package/esm2020/lib/components/toasts/elder-toast.service.mjs +5 -31
  236. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +6 -6
  237. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +5 -5
  238. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +4 -4
  239. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +4 -4
  240. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +5 -5
  241. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +4 -4
  242. package/esm2020/lib/features/kafent/access-token-provider.mjs +4 -4
  243. package/esm2020/lib/features/kafent/kafent-config.mjs +4 -4
  244. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +4 -4
  245. package/esm2020/lib/features/kafent/kafent-event.service.mjs +4 -4
  246. package/esm2020/lib/features/kafent/kafent.module.mjs +5 -5
  247. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +4 -4
  248. package/esm2020/lib/pipes/bytes.pipe.mjs +4 -4
  249. package/esm2020/lib/pipes/elder-pipes.module.mjs +11 -11
  250. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +4 -4
  251. package/esm2020/lib/pipes/elder-round.pipe.mjs +4 -4
  252. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +4 -4
  253. package/esm2020/lib/pipes/elder-truncate.pipe.mjs +4 -4
  254. package/esm2020/lib/pipes/iso-duration.pipe.mjs +4 -4
  255. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +4 -4
  256. package/esm2020/lib/pipes/iso-interval.pipe.mjs +4 -4
  257. package/esm2020/lib/pipes/time-ago.pipe.mjs +4 -4
  258. package/esm2020/lib/pipes/time-duration.pipe.mjs +4 -4
  259. package/esm2020/lib/pipes/weight.pipe.mjs +4 -4
  260. package/fesm2015/elderbyte-ngx-starter.mjs +2600 -2012
  261. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  262. package/fesm2020/elderbyte-ngx-starter.mjs +2604 -2024
  263. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  264. package/lib/common/forms/elder-form-field-control-base.directive.d.ts +1 -1
  265. package/lib/common/forms/elder-from-field-base.d.ts +1 -1
  266. package/lib/common/forms/elder-from-field-customizable-base.d.ts +36 -0
  267. package/lib/common/forms/elder-from-field-entity-base.d.ts +1 -1
  268. package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +1 -1
  269. package/lib/common/forms/form-field-base.component.d.ts +7 -1
  270. package/lib/common/forms/multi-model-base.component.d.ts +1 -1
  271. package/lib/common/forms/template-composite-control.d.ts +1 -1
  272. package/lib/common/forms/value-accessor-base.d.ts +1 -1
  273. package/lib/components/access-denied/elder-access-denied.component.d.ts +1 -1
  274. package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +1 -1
  275. package/lib/components/button-group/elder-button-group/elder-button-group.component.d.ts +1 -1
  276. package/lib/components/card-organizer/card-organizer/elder-card-organizer.component.d.ts +1 -1
  277. package/lib/components/card-organizer/card-organizer/elder-stack-card.directive.d.ts +1 -1
  278. package/lib/components/card-organizer/card-stack/elder-card-stack.component.d.ts +1 -1
  279. package/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.d.ts +1 -1
  280. package/lib/components/cards/elder-card/elder-card.component.d.ts +18 -20
  281. package/lib/components/cards/elder-card/elder-card.module.d.ts +2 -1
  282. package/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.d.ts +1 -1
  283. package/lib/components/containers/elder-scroll-container/elder-scroll-container.component.d.ts +1 -1
  284. package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +1 -1
  285. package/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.d.ts +1 -1
  286. package/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.d.ts +1 -1
  287. package/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.d.ts +1 -1
  288. package/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.d.ts +1 -1
  289. package/lib/components/data-view/base/elder-data-view-base.d.ts +11 -6
  290. package/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.d.ts +1 -1
  291. package/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.d.ts +2 -2
  292. package/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.d.ts +1 -1
  293. package/lib/components/data-view/common/selection/data-context-selection.directive.d.ts +1 -1
  294. package/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.d.ts +1 -1
  295. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +3 -3
  296. package/lib/components/data-view/grid/elder-grid.module.d.ts +2 -1
  297. package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.d.ts +1 -1
  298. package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +1 -1
  299. package/lib/components/data-view/table/elder-number-cell.directive.d.ts +1 -1
  300. package/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.d.ts +1 -1
  301. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +1 -1
  302. package/lib/components/data-view/table/elder-table-column.directive.d.ts +1 -1
  303. package/lib/components/data-view/table/elder-table-extension.directive.d.ts +1 -1
  304. package/lib/components/data-view/table/elder-table-root.directive.d.ts +1 -1
  305. package/lib/components/data-view/table/elder-table-row.directive.d.ts +1 -1
  306. package/lib/components/data-view/table/elder-table-sort.directive.d.ts +1 -1
  307. package/lib/components/data-view/table/elder-table.module.d.ts +2 -1
  308. package/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.d.ts +1 -1
  309. package/lib/components/dialogs/elder-dialog.module.d.ts +0 -10
  310. package/lib/components/dialogs/question-dialog/elder-question-dialog.component.d.ts +1 -1
  311. package/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.d.ts +1 -1
  312. package/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.d.ts +1 -1
  313. package/lib/components/errors/exception-detail/elder-exception-detail.component.d.ts +1 -1
  314. package/lib/components/expand-toggle-button/elder-expand-toggle-button.component.d.ts +1 -1
  315. package/lib/components/files/blob-viewer/elder-blob-viewer.component.d.ts +1 -1
  316. package/lib/components/files/elder-file-drop-zone.directive.d.ts +1 -1
  317. package/lib/components/files/elder-file-select.directive.d.ts +1 -1
  318. package/lib/components/files/file-select/file-select.component.d.ts +1 -1
  319. package/lib/components/files/file-upload/file-upload.component.d.ts +1 -1
  320. package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +1 -1
  321. package/lib/components/forms/directives/elder-clipboard-put.directive.d.ts +1 -1
  322. package/lib/components/forms/directives/elder-delayed-focus.directive.d.ts +1 -1
  323. package/lib/components/forms/directives/elder-form-field-dense.directive.d.ts +12 -3
  324. package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +1 -1
  325. package/lib/components/forms/directives/elder-form-field-no-hint.directive.d.ts +7 -3
  326. package/lib/components/forms/directives/elder-form-field-no-spinner.directive.d.ts +1 -1
  327. package/lib/components/forms/directives/elder-forms-directives.module.d.ts +13 -35
  328. package/lib/components/forms/directives/elder-input-pattern.directive.d.ts +1 -1
  329. package/lib/components/forms/directives/elder-key-event.directive.d.ts +1 -1
  330. package/lib/components/forms/directives/elder-next-focusable.directive.d.ts +1 -1
  331. package/lib/components/forms/directives/elder-plug-parent-form.directive.d.ts +1 -1
  332. package/lib/components/forms/directives/elder-stop-event-propagation.directive.d.ts +1 -1
  333. package/lib/components/forms/directives/elder-tab-focus-trap.directive.d.ts +1 -1
  334. package/lib/components/forms/directives/elder-touched.directive.d.ts +1 -1
  335. package/lib/components/forms/directives/elder-triple-state-checkbox.directive.d.ts +1 -1
  336. package/lib/components/forms/directives/validation/elder-validation-error.directive.d.ts +44 -0
  337. package/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.d.ts +26 -0
  338. package/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.d.ts +36 -0
  339. package/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.d.ts +5 -0
  340. package/lib/components/forms/directives/validation/validation-message-renderer.service.d.ts +28 -0
  341. package/lib/components/forms/directives/validation/validation-message-strategy.d.ts +4 -0
  342. package/lib/components/forms/directives/validation/validators/elder-max.validator.d.ts +11 -0
  343. package/lib/components/forms/directives/validation/validators/elder-min.validator.d.ts +11 -0
  344. package/lib/components/forms/directives/validation/{elder-multiple-of.validator.d.ts → validators/elder-multiple-of.validator.d.ts} +17 -2
  345. package/lib/components/forms/directives/validation/{elder-required-ignore-zero.validator.d.ts → validators/elder-required-ignore-zero.validator.d.ts} +1 -1
  346. package/lib/components/forms/search/elder-search-context.directive.d.ts +1 -1
  347. package/lib/components/forms/search/elder-search-input.directive.d.ts +1 -1
  348. package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +3 -1
  349. package/lib/components/forms/search/search-box/elder-search-panel.component.d.ts +1 -1
  350. package/lib/components/global-search/elder-global-search.component.d.ts +1 -1
  351. package/lib/components/graph/elder-progress-bar/elder-progress-bar.component.d.ts +1 -1
  352. package/lib/components/headers/elder-header/elder-header.component.d.ts +1 -1
  353. package/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.d.ts +1 -1
  354. package/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.d.ts +1 -1
  355. package/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.d.ts +1 -1
  356. package/lib/components/i18n/entities/elder-localized-text-column.directive.d.ts +1 -1
  357. package/lib/components/i18n/entities/elder-localized-texts.directive.d.ts +1 -1
  358. package/lib/components/i18n/language/language-switcher/elder-language-switcher.component.d.ts +1 -1
  359. package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +1 -1
  360. package/lib/components/iframes/data-view/data-view-iframe-adapter.directive.d.ts +1 -1
  361. package/lib/components/iframes/elder-iframe.module.d.ts +3 -1
  362. package/lib/components/iframes/iframe-close.directive.d.ts +1 -1
  363. package/lib/components/iframes/iframe-dialog/iframe-dialog.component.d.ts +1 -1
  364. package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +1 -1
  365. package/lib/components/iframes/iframe-side-content/iframe-side-content.component.d.ts +1 -1
  366. package/lib/components/infinitescroll/elder-infinite-autocomplete.directive.d.ts +1 -1
  367. package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +1 -1
  368. package/lib/components/infinitescroll/elder-infinite-scroll.module.d.ts +1 -1
  369. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +1 -1
  370. package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +1 -1
  371. package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +1 -1
  372. package/lib/components/labels/labels-input/labels-input.component.d.ts +1 -2
  373. package/lib/components/measures/{dimensions-input → dimensions/dimensions-input}/elder-dimensions-input.component.d.ts +41 -30
  374. package/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.d.ts +37 -0
  375. package/lib/components/measures/directives/elder-unit-select.directive.d.ts +1 -1
  376. package/lib/components/measures/elder-measures.module.d.ts +20 -12
  377. package/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.d.ts +20 -0
  378. package/lib/components/measures/quantity-input/{elder-quantity-input.component.d.ts → quantity-input-control/elder-quantity-input-control.component.d.ts} +27 -42
  379. package/lib/components/{select-list/select-list/elder-select-list.component.d.ts → measures/quantity-input/validation/elder-quantity-range.validator.d.ts} +22 -32
  380. package/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.d.ts +36 -0
  381. package/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.d.ts +1 -1
  382. package/lib/components/navigation/nav/elder-nav.module.d.ts +3 -1
  383. package/lib/components/navigation/nav/nav-group/elder-nav-group.component.d.ts +23 -9
  384. package/lib/components/navigation/nav/nav-link/elder-nav-link.component.d.ts +69 -13
  385. package/lib/components/navigation/nav/nav-list/elder-nav-list.component.d.ts +43 -3
  386. package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +1 -1
  387. package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +1 -1
  388. package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.d.ts +1 -1
  389. package/lib/components/overlays/elder-overlay-origin.directive.d.ts +1 -1
  390. package/lib/components/overlays/elder-overlay-trigger.directive.d.ts +1 -1
  391. package/lib/components/overlays/elder-overlay.component.d.ts +1 -1
  392. package/lib/components/panels/card-panel/elder-card-panel.component.d.ts +1 -1
  393. package/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.d.ts +1 -1
  394. package/lib/components/panels/flat/elder-panel.component.d.ts +1 -1
  395. package/lib/components/public_api.d.ts +0 -1
  396. package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +1 -1
  397. package/lib/components/select/elder-select-base.d.ts +1 -1
  398. package/lib/components/select/elder-select-chip.directive.d.ts +3 -3
  399. package/lib/components/select/elder-select-on-tab.directive.d.ts +1 -1
  400. package/lib/components/select/elder-select-value.directive.d.ts +1 -1
  401. package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
  402. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +13 -7
  403. package/lib/components/select/multi/elder-multi-select-form-field.d.ts +10 -5
  404. package/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.d.ts +1 -1
  405. package/lib/components/select/popup/selection-model-popup.directive.d.ts +1 -1
  406. package/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.d.ts +1 -1
  407. package/lib/components/select/single/elder-clear-select.directive.d.ts +1 -1
  408. package/lib/components/select/single/elder-select/elder-select.component.d.ts +3 -2
  409. package/lib/components/select/single/elder-select-form-field.d.ts +1 -1
  410. package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +5 -10
  411. package/lib/components/shell/elder-shell-slot.directive.d.ts +1 -1
  412. package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +1 -1
  413. package/lib/components/shell/shell/elder-shell.component.d.ts +4 -4
  414. package/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.d.ts +1 -1
  415. package/lib/components/tabs/elder-tab/elder-tab.directive.d.ts +1 -1
  416. package/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.d.ts +1 -1
  417. package/lib/components/theme/elder-theme-applier.directive.d.ts +1 -1
  418. package/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.d.ts +1 -1
  419. package/lib/components/theme/elder-theme.directive.d.ts +1 -1
  420. package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +1 -1
  421. package/lib/components/time/elder-date-switcher/elder-date-switcher.component.d.ts +1 -1
  422. package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +1 -1
  423. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +1 -1
  424. package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +1 -1
  425. package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +1 -1
  426. package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +1 -1
  427. package/lib/components/toasts/elder-toast.service.d.ts +0 -14
  428. package/lib/components/toasts/standard-toast/standard-toast.component.d.ts +3 -2
  429. package/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.d.ts +1 -1
  430. package/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.d.ts +1 -1
  431. package/package.json +5 -5
  432. package/src/lib/components/cards/elder-card/elder-card.component.scss +1 -9
  433. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +1 -2
  434. package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +9 -8
  435. package/src/lib/components/forms/search/search-box/elder-search-box.component.scss +7 -0
  436. package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +7 -4
  437. package/src/lib/components/measures/{dimensions-input → dimensions/dimensions-input}/elder-dimensions-input.component.scss +0 -0
  438. package/src/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.scss +0 -0
  439. package/src/lib/components/measures/quantity-input/{elder-quantity-input.component.scss → quantity-input-control/elder-quantity-input-control.component.scss} +0 -3
  440. package/src/lib/components/navigation/nav/_elder-nav-theme.scss +68 -0
  441. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.scss +12 -32
  442. package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.scss +12 -42
  443. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.scss +1 -1
  444. package/src/lib/components/panels/flat/_elder-panel-theme.scss +3 -2
  445. package/src/lib/components/select/_elder-select-base.scss +15 -92
  446. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +0 -8
  447. package/theming/_elder-common.scss +114 -19
  448. package/theming/_elder-flex-layout.scss +1 -0
  449. package/theming/_elder-mdc-support.scss +147 -0
  450. package/theming/_elder-style-fixes.scss +35 -2
  451. package/theming/_elder-toast-theme.scss +2 -1
  452. package/theming/_mat-icon-button-size.scss +29 -0
  453. package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +0 -39
  454. package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +0 -39
  455. package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +0 -57
  456. package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +0 -68
  457. package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +0 -229
  458. package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +0 -189
  459. package/esm2020/lib/components/select-list/elder-select-list.module.mjs +0 -36
  460. package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +0 -75
  461. package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +0 -118
  462. package/lib/components/forms/directives/elder-max.directive.d.ts +0 -11
  463. package/lib/components/forms/directives/elder-min.directive.d.ts +0 -11
  464. package/lib/components/select-list/elder-select-list.module.d.ts +0 -15
  465. package/lib/components/select-list/select-list-item/elder-select-list-item.component.d.ts +0 -57
  466. package/src/lib/components/select-list/select-list/elder-select-list.component.scss +0 -19
  467. package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.scss +0 -37
@@ -0,0 +1,147 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+
4
+ @mixin mdc-theme-support($config-or-theme) {
5
+ $color: mat.get-color-config($config-or-theme);
6
+ $typography: mat.get-typography-config($config-or-theme);
7
+
8
+ @if $color != null {
9
+ @include _color-support($color);
10
+ }
11
+ }
12
+
13
+ @mixin _color-support($color-config) {
14
+ @include _mdc-control-icon($color-config);
15
+ @include _mdc-mat-toolbar($color-config);
16
+ }
17
+
18
+ @mixin _mdc-mat-toolbar($color-config) {
19
+ $foreground: map.get($color-config, foreground);
20
+ $background: map.get($color-config, background);
21
+ $primary: map.get($color-config, primary);
22
+ $accent: map.get($color-config, accent);
23
+ $warn: map.get($color-config, warn);
24
+
25
+ .mat-toolbar {
26
+ background: mat.get-color-from-palette($background, app-bar);
27
+ color: mat.get-color-from-palette($foreground, text);
28
+
29
+ &.mat-primary {
30
+ @include _form-field-palette($primary);
31
+ }
32
+
33
+ &.mat-accent {
34
+ @include _form-field-palette($accent);
35
+ }
36
+
37
+ &.mat-warn {
38
+ @include _form-field-palette($warn);
39
+ }
40
+ }
41
+ }
42
+
43
+
44
+ @mixin _mdc-control-icon($color-config) {
45
+
46
+ $foreground: map.get($color-config, foreground);
47
+ $background: map.get($color-config, background);
48
+ $primary: map.get($color-config, primary);
49
+ $accent: map.get($color-config, accent);
50
+ $warn: map.get($color-config, warn);
51
+
52
+ .elder-mdc-control-icon {
53
+ color: mat.get-color-from-palette($foreground, secondary-text);
54
+ }
55
+
56
+ .mat-mdc-form-field {
57
+ &.mat-focused {
58
+ &.mat-primary .elder-mdc-control-icon {
59
+ color: mat.get-color-from-palette($primary, text);
60
+ }
61
+
62
+ &.mat-accent .elder-mdc-control-icon {
63
+ color: mat.get-color-from-palette($accent, text);
64
+ }
65
+
66
+ &.mat-warn .elder-mdc-control-icon {
67
+ color: mat.get-color-from-palette($warn, text);
68
+ }
69
+ }
70
+
71
+ &.mat-form-field-invalid {
72
+ .elder-mdc-control-icon {
73
+ color: mat.get-color-from-palette($warn, text);
74
+ }
75
+ }
76
+
77
+ &.mat-form-field-disabled {
78
+ .elder-mdc-control-icon {
79
+ color: mat.get-color-from-palette($foreground, disabled-text);
80
+ }
81
+ }
82
+ }
83
+ }
84
+
85
+ @mixin _form-field-palette($palette) {
86
+
87
+ $contrast-color: mat.get-color-from-palette($palette, default-contrast);
88
+ $contrast-color-inactive: rgba($contrast-color, .5);
89
+
90
+ .mat-mdc-form-field.mat-form-field-appearance-outline {
91
+ background: mat.get-color-from-palette($palette);
92
+ color: $contrast-color;
93
+
94
+ .mdc-text-field__input {
95
+ background: mat.get-color-from-palette($palette);
96
+ color: $contrast-color;
97
+ caret-color: currentColor;
98
+ }
99
+
100
+ ::placeholder, .mat-mdc-select-placeholder {
101
+ color: $contrast-color-inactive;
102
+ }
103
+
104
+ .elder-mdc-control-icon, .mat-mdc-select-arrow {
105
+ color: $contrast-color-inactive;
106
+ }
107
+
108
+ .mdc-notched-outline {
109
+ .mdc-notched-outline__leading {
110
+ border-color: $contrast-color-inactive;
111
+ }
112
+ .mdc-notched-outline__notch {
113
+ border-color: $contrast-color-inactive;
114
+ .mat-mdc-floating-label {
115
+ color: $contrast-color-inactive;
116
+ }
117
+ }
118
+ .mdc-notched-outline__trailing {
119
+ border-color: $contrast-color-inactive;
120
+ }
121
+ }
122
+
123
+ &.mat-focused {
124
+ .mat-mdc-select-arrow, .elder-mdc-control-icon {
125
+ color: $contrast-color;
126
+ }
127
+ }
128
+
129
+ &:hover {
130
+
131
+ .mdc-notched-outline {
132
+ .mdc-notched-outline__leading {
133
+ border-color: $contrast-color;
134
+ }
135
+ .mdc-notched-outline__notch {
136
+ border-color: $contrast-color;
137
+ .mat-mdc-floating-label {
138
+ color: $contrast-color;
139
+ }
140
+ }
141
+ .mdc-notched-outline__trailing {
142
+ border-color: $contrast-color;
143
+ }
144
+ }
145
+ }
146
+ }
147
+ }
@@ -35,21 +35,54 @@
35
35
  Material tab fix
36
36
  *******************************/
37
37
 
38
- .mat-tab-body-wrapper {
38
+ .mat-mdc-tab-body-wrapper {
39
39
  flex: 1 1 100% !important;
40
40
  height: 100% !important;
41
41
  }
42
42
 
43
- .mat-tab-body {
43
+ .mat-mdc-tab-body {
44
44
  display: flex !important;
45
45
  flex-direction: column;
46
46
  }
47
47
 
48
+ /*
48
49
  .mat-tab-body-content {
49
50
  display: flex;
50
51
  flex-direction: column;
51
52
  flex-grow: 1;
52
53
  height: 100% !important;
53
54
  overflow: hidden !important; // Globally disable automatic scrolling of Material Tabs
55
+ }*/
56
+
57
+ /******************************
58
+ Material Chip fix
59
+ *******************************/
60
+
61
+ .mat-mdc-chip {
62
+ // Fixes default avatar on attribute usage (<mat-chip-avatar> vs matChipAvatar) which is broken in Angular Material 15.0.0
63
+ mat-chip-avatar {
64
+ .mat-icon {
65
+ width: 18px;
66
+ height: 18px;
67
+ line-height: 18px;
68
+ font-size: 18px;
69
+ }
70
+ img {
71
+ width: 18px;
72
+ height: 18px;
73
+ overflow: hidden;
74
+ border-radius: 9px;
75
+ }
76
+ }
77
+ }
78
+
79
+ /******************************
80
+ Material Badge Index
81
+ *******************************/
82
+
83
+ .mat-badge-content {
84
+ z-index: 1;
54
85
  }
86
+
87
+
55
88
  }
@@ -8,6 +8,7 @@
8
8
  $background: map-get($theme, background);
9
9
  $foreground: map-get($theme, foreground);
10
10
 
11
+ /*
11
12
  .elder-primary-toast {
12
13
  background: mat.get-color-from-palette($background, dialog);
13
14
  color: mat.get-color-from-palette($primary);
@@ -30,7 +31,7 @@
30
31
 
31
32
  .elder-error-toast {
32
33
  background-color: mat.get-color-from-palette($warn);
33
- }
34
+ }*/
34
35
 
35
36
  .elder-primary-text {
36
37
  color: mat.get-color-from-palette($primary);
@@ -0,0 +1,29 @@
1
+
2
+ /**
3
+ * Based on https://github.com/btxtiger/mat-icon-button-sizes
4
+ * The default factor between button and icon size is *= 0.6
5
+ */
6
+ @mixin matIconButtonSize($buttonSize, $iconSize) {
7
+ width: $buttonSize !important;
8
+ height: $buttonSize !important;
9
+ padding: 0px !important;
10
+ display: inline-flex !important;
11
+ align-items: center;
12
+ justify-content: center;
13
+
14
+ & > *[role=img] {
15
+ width: $iconSize;
16
+ height: $iconSize;
17
+ font-size: $iconSize;
18
+
19
+ svg {
20
+ width: $iconSize;
21
+ height: $iconSize;
22
+ }
23
+ }
24
+
25
+ .mat-mdc-button-touch-target {
26
+ width: $buttonSize !important;
27
+ height: $buttonSize !important;
28
+ }
29
+ }
@@ -1,39 +0,0 @@
1
- import { Directive, Input, forwardRef } from '@angular/core';
2
- import { NG_VALIDATORS, Validators } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- export class ElderMaxDirective {
5
- set max(value) {
6
- let numValue;
7
- if (typeof value === 'string') {
8
- numValue = parseInt(value, 10);
9
- }
10
- else {
11
- numValue = value;
12
- }
13
- this._validator = Validators.max(numValue);
14
- }
15
- validate(control) {
16
- return this._validator(control);
17
- }
18
- }
19
- ElderMaxDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderMaxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
- ElderMaxDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ElderMaxDirective, selector: "[max][formControlName],[max][formControl],[max][ngModel]", inputs: { max: "max" }, providers: [
21
- { provide: NG_VALIDATORS,
22
- useExisting: forwardRef(() => ElderMaxDirective),
23
- multi: true
24
- }
25
- ], ngImport: i0 });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderMaxDirective, decorators: [{
27
- type: Directive,
28
- args: [{
29
- selector: '[max][formControlName],[max][formControl],[max][ngModel]',
30
- providers: [
31
- { provide: NG_VALIDATORS,
32
- useExisting: forwardRef(() => ElderMaxDirective),
33
- multi: true }
34
- ]
35
- }]
36
- }], propDecorators: { max: [{
37
- type: Input
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbWF4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1tYXguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQ3VCLGFBQWEsRUFBRSxVQUFVLEVBQ3RELE1BQU0sZ0JBQWdCLENBQUM7O0FBWXhCLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsSUFDVyxHQUFHLENBQUMsS0FBc0I7UUFFbkMsSUFBSSxRQUFnQixDQUFDO1FBRXJCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2hDO2FBQU07WUFDTCxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxRQUFRLENBQUMsT0FBd0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OytHQXBCVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwyR0FQakI7UUFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDaEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGOzRGQUVVLGlCQUFpQjtrQkFUN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMERBQTBEO29CQUNwRSxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJLEVBQ1o7cUJBQ0Y7aUJBQ0Y7OEJBTVksR0FBRztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVmFsaWRhdG9yLCBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWF4XVtmb3JtQ29udHJvbE5hbWVdLFttYXhdW2Zvcm1Db250cm9sXSxbbWF4XVtuZ01vZGVsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVsZGVyTWF4RGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTWF4RGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcblxuICBwcml2YXRlIF92YWxpZGF0b3I6IFZhbGlkYXRvckZuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWF4KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcblxuICAgIGxldCBudW1WYWx1ZTogbnVtYmVyO1xuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG51bVZhbHVlID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbnVtVmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLl92YWxpZGF0b3IgPSBWYWxpZGF0b3JzLm1heChudW1WYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,39 +0,0 @@
1
- import { Directive, Input, forwardRef } from '@angular/core';
2
- import { NG_VALIDATORS, Validators } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- export class ElderMinDirective {
5
- set min(value) {
6
- let numValue;
7
- if (typeof value === 'string') {
8
- numValue = parseInt(value, 10);
9
- }
10
- else {
11
- numValue = value;
12
- }
13
- this._validator = Validators.min(numValue);
14
- }
15
- validate(control) {
16
- return this._validator(control);
17
- }
18
- }
19
- ElderMinDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderMinDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
- ElderMinDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ElderMinDirective, selector: "[min][formControlName],[min][formControl],[min][ngModel]", inputs: { min: "min" }, providers: [
21
- { provide: NG_VALIDATORS,
22
- useExisting: forwardRef(() => ElderMinDirective),
23
- multi: true
24
- }
25
- ], ngImport: i0 });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderMinDirective, decorators: [{
27
- type: Directive,
28
- args: [{
29
- selector: '[min][formControlName],[min][formControl],[min][ngModel]',
30
- providers: [
31
- { provide: NG_VALIDATORS,
32
- useExisting: forwardRef(() => ElderMinDirective),
33
- multi: true }
34
- ]
35
- }]
36
- }], propDecorators: { min: [{
37
- type: Input
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbWluLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1taW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQ3VCLGFBQWEsRUFBRSxVQUFVLEVBQ3RELE1BQU0sZ0JBQWdCLENBQUM7O0FBWXhCLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsSUFDVyxHQUFHLENBQUMsS0FBc0I7UUFFbkMsSUFBSSxRQUFnQixDQUFDO1FBRXJCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2hDO2FBQU07WUFDTCxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxRQUFRLENBQUMsT0FBd0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OytHQXBCVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwyR0FQakI7UUFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDaEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGOzRGQUVVLGlCQUFpQjtrQkFUN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMERBQTBEO29CQUNwRSxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJLEVBQ1o7cUJBQ0Y7aUJBQ0Y7OEJBTVksR0FBRztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVmFsaWRhdG9yLCBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWluXVtmb3JtQ29udHJvbE5hbWVdLFttaW5dW2Zvcm1Db250cm9sXSxbbWluXVtuZ01vZGVsXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVsZGVyTWluRGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTWluRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcblxuICBwcml2YXRlIF92YWxpZGF0b3I6IFZhbGlkYXRvckZuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWluKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcblxuICAgIGxldCBudW1WYWx1ZTogbnVtYmVyO1xuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG51bVZhbHVlID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbnVtVmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLl92YWxpZGF0b3IgPSBWYWxpZGF0b3JzLm1pbihudW1WYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,57 +0,0 @@
1
- import { Directive, forwardRef, Input } from '@angular/core';
2
- import { NG_VALIDATORS } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- function multipleOfFn(factor) {
5
- // const _factor = [factor].flatMap(f => f) es2019 must be set as compiler option
6
- const _factor = typeof factor === 'number' ? [factor] : factor;
7
- return (c) => {
8
- return !_factor || _factor.reduce((acc, f) => ((!f || Number(c.value) % f === 0) || acc), false)
9
- ? null
10
- : { forbiddenMultiple: { value: c.value, allowed: factor } };
11
- };
12
- }
13
- export class ElderMultipleOfValidator {
14
- set elderMultipleOf(value) {
15
- this._factor = value;
16
- }
17
- get factor() {
18
- return this._factor;
19
- }
20
- /***************************************************************************
21
- * *
22
- * Public API *
23
- * *
24
- **************************************************************************/
25
- validate(control) {
26
- if (this.factor) {
27
- return multipleOfFn(this.factor)(control);
28
- }
29
- else {
30
- return null;
31
- }
32
- }
33
- }
34
- ElderMultipleOfValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderMultipleOfValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
35
- ElderMultipleOfValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ElderMultipleOfValidator, selector: "[elderMultipleOf][formControlName],[elderMultipleOf][formControl],[elderMultipleOf][ngModel]", inputs: { elderMultipleOf: "elderMultipleOf" }, providers: [
36
- {
37
- provide: NG_VALIDATORS,
38
- useExisting: forwardRef(() => ElderMultipleOfValidator),
39
- multi: true
40
- }
41
- ], ngImport: i0 });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderMultipleOfValidator, decorators: [{
43
- type: Directive,
44
- args: [{
45
- selector: '[elderMultipleOf][formControlName],[elderMultipleOf][formControl],[elderMultipleOf][ngModel]',
46
- providers: [
47
- {
48
- provide: NG_VALIDATORS,
49
- useExisting: forwardRef(() => ElderMultipleOfValidator),
50
- multi: true
51
- }
52
- ]
53
- }]
54
- }], propDecorators: { elderMultipleOf: [{
55
- type: Input
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXVsdGlwbGUtb2YudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kaXJlY3RpdmVzL3ZhbGlkYXRpb24vZWxkZXItbXVsdGlwbGUtb2YudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQWtCLGFBQWEsRUFBMkMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHeEcsU0FBUyxZQUFZLENBQUMsTUFBeUI7SUFDN0Msa0ZBQWtGO0lBQ2xGLE1BQU0sT0FBTyxHQUFhLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3pFLE9BQU8sQ0FBQyxDQUFrQixFQUFFLEVBQUU7UUFDNUIsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQztZQUM5RixDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxFQUFDLGlCQUFpQixFQUFFLEVBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBQyxFQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQVlELE1BQU0sT0FBTyx3QkFBd0I7SUFXbkMsSUFDVyxlQUFlLENBQUMsS0FBK0I7UUFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0M7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOztzSEFoQ1Usd0JBQXdCOzBHQUF4Qix3QkFBd0IsdUtBUnhCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3ZELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjs0RkFFVSx3QkFBd0I7a0JBVnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDhGQUE4RjtvQkFDeEcsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7OEJBYVksZUFBZTtzQkFEekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5cbmZ1bmN0aW9uIG11bHRpcGxlT2ZGbihmYWN0b3I6IG51bWJlciB8IG51bWJlcltdKTogVmFsaWRhdG9yRm4ge1xuICAvLyAgY29uc3QgX2ZhY3RvciA9IFtmYWN0b3JdLmZsYXRNYXAoZiA9PiBmKSBlczIwMTkgbXVzdCBiZSBzZXQgYXMgY29tcGlsZXIgb3B0aW9uXG4gIGNvbnN0IF9mYWN0b3I6IG51bWJlcltdID0gdHlwZW9mIGZhY3RvciA9PT0gJ251bWJlcicgPyBbZmFjdG9yXSA6IGZhY3RvcjtcbiAgcmV0dXJuIChjOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICByZXR1cm4gIV9mYWN0b3IgfHwgX2ZhY3Rvci5yZWR1Y2UoKGFjYywgZikgPT4gKCghZiB8fCBOdW1iZXIoYy52YWx1ZSkgJSBmID09PSAwKSB8fCBhY2MpLCBmYWxzZSlcbiAgICAgID8gbnVsbFxuICAgICAgOiB7Zm9yYmlkZGVuTXVsdGlwbGU6IHt2YWx1ZTogYy52YWx1ZSwgYWxsb3dlZDogZmFjdG9yfX07XG4gIH07XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlck11bHRpcGxlT2ZdW2Zvcm1Db250cm9sTmFtZV0sW2VsZGVyTXVsdGlwbGVPZl1bZm9ybUNvbnRyb2xdLFtlbGRlck11bHRpcGxlT2ZdW25nTW9kZWxdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVsZGVyTXVsdGlwbGVPZlZhbGlkYXRvciksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlck11bHRpcGxlT2ZWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgX2ZhY3RvcjogbnVtYmVyIHwgbnVtYmVyW10gfCBudWxsO1xuXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlbGRlck11bHRpcGxlT2YodmFsdWU6IG51bWJlciB8IG51bWJlcltdIHwgbnVsbCkge1xuICAgIHRoaXMuX2ZhY3RvciA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBmYWN0b3IoKTogbnVtYmVyIHwgbnVtYmVyW10gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjdG9yO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAodGhpcy5mYWN0b3IpIHtcbiAgICAgIHJldHVybiBtdWx0aXBsZU9mRm4odGhpcy5mYWN0b3IpKGNvbnRyb2wpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxufVxuIl19
@@ -1,68 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { NG_VALIDATORS } from '@angular/forms';
3
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
- import { LoggerFactory } from '@elderbyte/ts-logger';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Validator which will when applied cause the 'required' validation to fail
8
- * if the host control is required and the given value is 0.
9
- */
10
- export class ElderRequiredIgnoreZeroValidator {
11
- constructor() {
12
- /***************************************************************************
13
- * *
14
- * Fields *
15
- * *
16
- **************************************************************************/
17
- this.log = LoggerFactory.getLogger(this.constructor.name);
18
- }
19
- /***************************************************************************
20
- * *
21
- * Properties *
22
- * *
23
- **************************************************************************/
24
- set enabled(enabled) {
25
- this._enabled = coerceBooleanProperty(enabled);
26
- }
27
- get enabled() {
28
- return this._enabled;
29
- }
30
- set required(value) {
31
- this._required = coerceBooleanProperty(value);
32
- }
33
- get required() {
34
- return this._required;
35
- }
36
- /***************************************************************************
37
- * *
38
- * Public API *
39
- * *
40
- **************************************************************************/
41
- validate(c) {
42
- let result = {};
43
- if (this.enabled && this.required && !c.value) {
44
- result = Object.assign(result, { required: { valid: false } });
45
- }
46
- // this.log.info('"' + c.value + '" --> validate result: ' + JSON.stringify(result), c);
47
- return result;
48
- }
49
- }
50
- ElderRequiredIgnoreZeroValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderRequiredIgnoreZeroValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
51
- ElderRequiredIgnoreZeroValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ElderRequiredIgnoreZeroValidator, selector: "[elderRequiredIgnoreZeroValidator][ngModel]", inputs: { enabled: ["elderRequiredIgnoreZeroValidator", "enabled"], required: "required" }, providers: [
52
- { provide: NG_VALIDATORS, useExisting: ElderRequiredIgnoreZeroValidator, multi: true }
53
- ], ngImport: i0 });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderRequiredIgnoreZeroValidator, decorators: [{
55
- type: Directive,
56
- args: [{
57
- selector: '[elderRequiredIgnoreZeroValidator][ngModel]',
58
- providers: [
59
- { provide: NG_VALIDATORS, useExisting: ElderRequiredIgnoreZeroValidator, multi: true }
60
- ]
61
- }]
62
- }], propDecorators: { enabled: [{
63
- type: Input,
64
- args: ['elderRequiredIgnoreZeroValidator']
65
- }], required: [{
66
- type: Input
67
- }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcmVxdWlyZWQtaWdub3JlLXplcm8udmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kaXJlY3RpdmVzL3ZhbGlkYXRpb24vZWxkZXItcmVxdWlyZWQtaWdub3JlLXplcm8udmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBa0IsYUFBYSxFQUEwQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFbkQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGdDQUFnQztJQU43QztRQVFFOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBcUR2RTtJQWhEQzs7OztnRkFJNEU7SUFFNUUsSUFDVyxPQUFPLENBQUMsT0FBZ0I7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDVyxRQUFRLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsUUFBUSxDQUFDLENBQWtCO1FBRWhDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUVoQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDN0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNoRTtRQUNELHdGQUF3RjtRQUN4RixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs4SEFwRFUsZ0NBQWdDO2tIQUFoQyxnQ0FBZ0Msa0tBSmhDO1FBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxnQ0FBZ0MsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0tBQ3ZGOzRGQUVVLGdDQUFnQztrQkFONUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkNBQTZDO29CQUN2RCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsa0NBQWtDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDdkY7aUJBQ0Y7OEJBcUJZLE9BQU87c0JBRGpCLEtBQUs7dUJBQUMsa0NBQWtDO2dCQVU5QixRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBOR19WQUxJREFUT1JTLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5cbi8qKlxuICogVmFsaWRhdG9yIHdoaWNoIHdpbGwgd2hlbiBhcHBsaWVkIGNhdXNlIHRoZSAncmVxdWlyZWQnIHZhbGlkYXRpb24gdG8gZmFpbFxuICogaWYgdGhlIGhvc3QgY29udHJvbCBpcyByZXF1aXJlZCBhbmQgdGhlIGdpdmVuIHZhbHVlIGlzIDAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlclJlcXVpcmVkSWdub3JlWmVyb1ZhbGlkYXRvcl1bbmdNb2RlbF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBFbGRlclJlcXVpcmVkSWdub3JlWmVyb1ZhbGlkYXRvciwgbXVsdGk6IHRydWUgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyUmVxdWlyZWRJZ25vcmVaZXJvVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2VuYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KCdlbGRlclJlcXVpcmVkSWdub3JlWmVyb1ZhbGlkYXRvcicpXG4gIHB1YmxpYyBzZXQgZW5hYmxlZChlbmFibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZW5hYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShlbmFibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgYW55IHtcblxuICAgIGxldCByZXN1bHQgPSB7fTtcblxuICAgIGlmICh0aGlzLmVuYWJsZWQgJiYgdGhpcy5yZXF1aXJlZCAmJiAhYy52YWx1ZSkge1xuICAgICAgcmVzdWx0ID0gT2JqZWN0LmFzc2lnbihyZXN1bHQsIHsgcmVxdWlyZWQ6IHsgdmFsaWQ6IGZhbHNlIH0gfSk7XG4gICAgfVxuICAgIC8vIHRoaXMubG9nLmluZm8oJ1wiJyArIGMudmFsdWUgKyAnXCIgLS0+IHZhbGlkYXRlIHJlc3VsdDogJyArIEpTT04uc3RyaW5naWZ5KHJlc3VsdCksIGMpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG59XG4iXX0=