@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
@@ -1,20 +1,25 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, Output } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, Input, Output } from '@angular/core';
2
2
  import { animate, state, style, transition, trigger } from '@angular/animations';
3
- import { ElderNavLinkComponent } from '../nav-link/elder-nav-link.component';
3
+ import { ElderNavLinkComponent, NavItemClicked } from '../nav-link/elder-nav-link.component';
4
4
  import { BehaviorSubject, Subject } from 'rxjs';
5
+ import { map, takeUntil } from 'rxjs/operators';
5
6
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/material/icon";
8
- import * as i3 from "@angular/material/button";
7
+ import * as i1 from "../nav-list/elder-nav-list.component";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "@angular/material/icon";
10
+ import * as i4 from "@angular/material/core";
9
11
  export class ElderNavGroupComponent {
10
12
  /***************************************************************************
11
13
  * *
12
14
  * Constructor *
13
15
  * *
14
16
  **************************************************************************/
15
- constructor() {
17
+ constructor(navList) {
18
+ this.navList = navList;
16
19
  this.state$ = new BehaviorSubject({ isOpen: false });
17
- this._itemClickSubject = new Subject();
20
+ this.clicked = new Subject();
21
+ this.destroy$ = new Subject();
22
+ this._active$ = new BehaviorSubject(false);
18
23
  }
19
24
  /***************************************************************************
20
25
  * *
@@ -22,14 +27,28 @@ export class ElderNavGroupComponent {
22
27
  * *
23
28
  **************************************************************************/
24
29
  ngOnInit() {
30
+ this.navList.valueChange.pipe(takeUntil(this.destroy$), map(value => this.isCurrentValueActive)).subscribe(active => this._active$.next(active));
31
+ if (this.value) {
32
+ this._active$.next(this.isCurrentValueActive);
33
+ }
34
+ }
35
+ ngOnDestroy() {
36
+ this.destroy$.next();
37
+ this.destroy$.complete();
25
38
  }
26
39
  /***************************************************************************
27
40
  * *
28
41
  * Properties *
29
42
  * *
30
43
  **************************************************************************/
31
- get click() {
32
- return this._itemClickSubject.asObservable();
44
+ get active$() {
45
+ return this._active$;
46
+ }
47
+ set value(v) {
48
+ this._value = v;
49
+ }
50
+ get value() {
51
+ return this._value;
33
52
  }
34
53
  /***************************************************************************
35
54
  * *
@@ -37,16 +56,27 @@ export class ElderNavGroupComponent {
37
56
  * *
38
57
  **************************************************************************/
39
58
  itemClick(event) {
40
- this._itemClickSubject.next();
59
+ this.clicked.next(new NavItemClicked(event, this.value));
41
60
  this.toggle();
61
+ if (this.value) {
62
+ this.navList.value = this.value;
63
+ }
42
64
  }
43
65
  toggle() {
44
66
  const myState = this.state$.getValue();
45
67
  this.state$.next({ isOpen: !myState.isOpen });
46
68
  }
69
+ /***************************************************************************
70
+ * *
71
+ * Private methods *
72
+ * *
73
+ **************************************************************************/
74
+ get isCurrentValueActive() {
75
+ return this.navList.isActive(this.value);
76
+ }
47
77
  }
48
- ElderNavGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderNavGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
49
- ElderNavGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ElderNavGroupComponent, selector: "elder-nav-group, ebs-nav-group", outputs: { click: "click" }, queries: [{ propertyName: "children", predicate: ElderNavLinkComponent }], ngImport: i0, template: "\n<ng-container *ngIf=\"(state$ | async) as state\">\n <div class=\"layout-col nav-group\"\n [class.nav-group-active]=\"state.isOpen\"\n >\n <a mat-button\n class=\"layout-row place-start-center nav-group-button mat-button-fill\"\n [tabIndex]=\"0\"\n [class.nav-group-button-active]=\"state.isOpen\"\n [class.nav-group-button-inactive]=\"!state.isOpen\"\n [color]=\"state.isOpen ? 'primary' : undefined\"\n (click)=\"itemClick($event)\"\n >\n\n <div class=\"layout-row place-start-center gap-lg flex noselect\">\n <ng-content></ng-content>\n <span class=\"flex\"></span>\n <mat-icon>{{state.isOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}}</mat-icon>\n </div>\n\n </a>\n\n <!-- Nested Items projection -->\n <div class=\"layout-col nav-group-items-container\"\n [@openClose]=\"state.isOpen ? 'open' : 'closed'\">\n <ng-content select=\"elder-nav-link\"></ng-content>\n </div>\n\n </div>\n</ng-container>\n", styles: [".nav-group-button-inactive{padding-left:16px}.nav-group{min-height:56px}.nav-group-button{padding-right:16px;min-height:56px;border-radius:0;font-size:16px;font-weight:400}elder-nav-group a mat-icon{height:24px;width:24px;font-size:24px;padding:4px}elder-nav-group a.nav-group-button-inactive mat-icon{color:#757575}.nav-group-items-container{overflow:hidden}\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.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [
78
+ ElderNavGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderNavGroupComponent, deps: [{ token: i1.ElderNavListComponent }], target: i0.ɵɵFactoryTarget.Component });
79
+ ElderNavGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ElderNavGroupComponent, selector: "elder-nav-group", inputs: { value: "value" }, outputs: { clicked: "clicked" }, queries: [{ propertyName: "children", predicate: ElderNavLinkComponent }], ngImport: i0, template: "\n<ng-container *ngIf=\"(state$ | async) as state\">\n <div class=\"layout-col nav-group\">\n <a matRipple\n class=\"layout-row place-start-center nav-group-button mat-button-fill\n mdc-list-item\n mdc-list-item--with-one-line\"\n [class.nav-group-button-open]=\"state.isOpen\"\n [class.nav-group-button-closed]=\"!state.isOpen\"\n [class.nav-group-button-active]=\"active$ | async\"\n (click)=\"itemClick($event)\"\n >\n\n <div class=\"layout-row place-start-center gap-lg full noselect mdc-list-item__primary-text\">\n <ng-content></ng-content>\n <span class=\"flex\"></span>\n <mat-icon>{{state.isOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}}</mat-icon>\n </div>\n </a>\n\n <!-- Nested Items projection -->\n <div class=\"layout-col nav-group-items-container p-sm gap-sm\"\n [@openClose]=\"state.isOpen ? 'open' : 'closed'\">\n <ng-content select=\"elder-nav-link\"></ng-content>\n </div>\n\n </div>\n</ng-container>\n", styles: [".nav-group-button-closed{padding-left:16px}.nav-group{min-height:48px}.nav-group-button{padding-right:16px;min-height:48px;font-size:16px;font-weight:400;border-radius:4px;cursor:pointer}.nav-group-button .mat-icon{height:24px;width:24px;font-size:24px;padding:4px}.nav-group-items-container{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [
50
80
  trigger('openClose', [
51
81
  state('open', style({
52
82
  height: '*',
@@ -55,6 +85,7 @@ ElderNavGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
55
85
  state('closed', style({
56
86
  height: 0,
57
87
  opacity: 0.5,
88
+ padding: 0
58
89
  })),
59
90
  transition('open => closed', [
60
91
  animate('200ms')
@@ -64,9 +95,9 @@ ElderNavGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
64
95
  ]),
65
96
  ])
66
97
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderNavGroupComponent, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderNavGroupComponent, decorators: [{
68
99
  type: Component,
69
- args: [{ selector: 'elder-nav-group, ebs-nav-group', animations: [
100
+ args: [{ selector: 'elder-nav-group', animations: [
70
101
  trigger('openClose', [
71
102
  state('open', style({
72
103
  height: '*',
@@ -75,6 +106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
75
106
  state('closed', style({
76
107
  height: 0,
77
108
  opacity: 0.5,
109
+ padding: 0
78
110
  })),
79
111
  transition('open => closed', [
80
112
  animate('200ms')
@@ -83,11 +115,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
83
115
  animate('200ms')
84
116
  ]),
85
117
  ])
86
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<ng-container *ngIf=\"(state$ | async) as state\">\n <div class=\"layout-col nav-group\"\n [class.nav-group-active]=\"state.isOpen\"\n >\n <a mat-button\n class=\"layout-row place-start-center nav-group-button mat-button-fill\"\n [tabIndex]=\"0\"\n [class.nav-group-button-active]=\"state.isOpen\"\n [class.nav-group-button-inactive]=\"!state.isOpen\"\n [color]=\"state.isOpen ? 'primary' : undefined\"\n (click)=\"itemClick($event)\"\n >\n\n <div class=\"layout-row place-start-center gap-lg flex noselect\">\n <ng-content></ng-content>\n <span class=\"flex\"></span>\n <mat-icon>{{state.isOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}}</mat-icon>\n </div>\n\n </a>\n\n <!-- Nested Items projection -->\n <div class=\"layout-col nav-group-items-container\"\n [@openClose]=\"state.isOpen ? 'open' : 'closed'\">\n <ng-content select=\"elder-nav-link\"></ng-content>\n </div>\n\n </div>\n</ng-container>\n", styles: [".nav-group-button-inactive{padding-left:16px}.nav-group{min-height:56px}.nav-group-button{padding-right:16px;min-height:56px;border-radius:0;font-size:16px;font-weight:400}elder-nav-group a mat-icon{height:24px;width:24px;font-size:24px;padding:4px}elder-nav-group a.nav-group-button-inactive mat-icon{color:#757575}.nav-group-items-container{overflow:hidden}\n"] }]
87
- }], ctorParameters: function () { return []; }, propDecorators: { children: [{
118
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<ng-container *ngIf=\"(state$ | async) as state\">\n <div class=\"layout-col nav-group\">\n <a matRipple\n class=\"layout-row place-start-center nav-group-button mat-button-fill\n mdc-list-item\n mdc-list-item--with-one-line\"\n [class.nav-group-button-open]=\"state.isOpen\"\n [class.nav-group-button-closed]=\"!state.isOpen\"\n [class.nav-group-button-active]=\"active$ | async\"\n (click)=\"itemClick($event)\"\n >\n\n <div class=\"layout-row place-start-center gap-lg full noselect mdc-list-item__primary-text\">\n <ng-content></ng-content>\n <span class=\"flex\"></span>\n <mat-icon>{{state.isOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}}</mat-icon>\n </div>\n </a>\n\n <!-- Nested Items projection -->\n <div class=\"layout-col nav-group-items-container p-sm gap-sm\"\n [@openClose]=\"state.isOpen ? 'open' : 'closed'\">\n <ng-content select=\"elder-nav-link\"></ng-content>\n </div>\n\n </div>\n</ng-container>\n", styles: [".nav-group-button-closed{padding-left:16px}.nav-group{min-height:48px}.nav-group-button{padding-right:16px;min-height:48px;font-size:16px;font-weight:400;border-radius:4px;cursor:pointer}.nav-group-button .mat-icon{height:24px;width:24px;font-size:24px;padding:4px}.nav-group-items-container{overflow:hidden}\n"] }]
119
+ }], ctorParameters: function () { return [{ type: i1.ElderNavListComponent }]; }, propDecorators: { children: [{
88
120
  type: ContentChildren,
89
121
  args: [ElderNavLinkComponent]
90
- }], click: [{
122
+ }], clicked: [{
91
123
  type: Output
124
+ }], value: [{
125
+ type: Input
92
126
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbmF2LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXYvbmF2LWdyb3VwL2VsZGVyLW5hdi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2L25hdi1ncm91cC9lbGRlci1uYXYtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQVUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGVBQWUsRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBK0IxRCxNQUFNLE9BQU8sc0JBQXNCO0lBZ0JqQzs7OztnRkFJNEU7SUFFNUU7UUFWZ0IsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRTlELHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFRekMsQ0FBQztJQUVqQjs7OztnRkFJNEU7SUFFckUsUUFBUTtJQUNmLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxTQUFTLENBQUMsS0FBWTtRQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7O29IQTFEVSxzQkFBc0I7d0dBQXRCLHNCQUFzQiw0SEFTaEIscUJBQXFCLDZCQzNDeEMsNC9CQThCQSx5K0JEaEJjO1FBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUNuQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQkFDbEIsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsT0FBTyxFQUFFLENBQUM7YUFDWCxDQUFDLENBQUM7WUFDSCxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztnQkFDcEIsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsT0FBTyxFQUFFLEdBQUc7YUFDYixDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzNCLE9BQU8sQ0FBQyxPQUFPLENBQUM7YUFDakIsQ0FBQztZQUNGLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDM0IsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUNqQixDQUFDO1NBQ0gsQ0FBQztLQUNIOzRGQUdVLHNCQUFzQjtrQkF4QmxDLFNBQVM7K0JBQ0UsZ0NBQWdDLGNBRzlCO3dCQUNWLE9BQU8sQ0FBQyxXQUFXLEVBQUU7NEJBQ25CLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO2dDQUNsQixNQUFNLEVBQUUsR0FBRztnQ0FDWCxPQUFPLEVBQUUsQ0FBQzs2QkFDWCxDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7Z0NBQ3BCLE1BQU0sRUFBRSxDQUFDO2dDQUNULE9BQU8sRUFBRSxHQUFHOzZCQUNiLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7Z0NBQzNCLE9BQU8sQ0FBQyxPQUFPLENBQUM7NkJBQ2pCLENBQUM7NEJBQ0YsVUFBVSxDQUFDLGdCQUFnQixFQUFFO2dDQUMzQixPQUFPLENBQUMsT0FBTyxDQUFDOzZCQUNqQixDQUFDO3lCQUNILENBQUM7cUJBQ0gsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07MEVBWXhDLFFBQVE7c0JBRGQsZUFBZTt1QkFBQyxxQkFBcUI7Z0JBK0IzQixLQUFLO3NCQURmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge0VsZGVyTmF2TGlua0NvbXBvbmVudH0gZnJvbSAnLi4vbmF2LWxpbmsvZWxkZXItbmF2LWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuXG5pbnRlcmZhY2UgTmF2R3JvdXBTdGF0ZSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbmF2LWdyb3VwLCBlYnMtbmF2LWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLW5hdi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLW5hdi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignb3BlbkNsb3NlJywgW1xuICAgICAgc3RhdGUoJ29wZW4nLCBzdHlsZSh7XG4gICAgICAgIGhlaWdodDogJyonLFxuICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgfSkpLFxuICAgICAgc3RhdGUoJ2Nsb3NlZCcsIHN0eWxlKHtcbiAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICBvcGFjaXR5OiAwLjUsXG4gICAgICB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuID0+IGNsb3NlZCcsIFtcbiAgICAgICAgYW5pbWF0ZSgnMjAwbXMnKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCdjbG9zZWQgPT4gb3BlbicsIFtcbiAgICAgICAgYW5pbWF0ZSgnMjAwbXMnKVxuICAgICAgXSksXG4gICAgXSlcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJOYXZHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAQ29udGVudENoaWxkcmVuKEVsZGVyTmF2TGlua0NvbXBvbmVudClcbiAgcHVibGljIGNoaWxkcmVuOiBRdWVyeUxpc3Q8RWxkZXJOYXZMaW5rQ29tcG9uZW50PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOYXZHcm91cFN0YXRlPih7IGlzT3BlbjogZmFsc2UgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaXRlbUNsaWNrU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBjbGljaygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtQ2xpY2tTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBcGkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGl0ZW1DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9pdGVtQ2xpY2tTdWJqZWN0Lm5leHQoKTtcbiAgICB0aGlzLnRvZ2dsZSgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICBjb25zdCBteVN0YXRlID0gdGhpcy5zdGF0ZSQuZ2V0VmFsdWUoKTtcbiAgICB0aGlzLnN0YXRlJC5uZXh0KHsgaXNPcGVuOiAhbXlTdGF0ZS5pc09wZW4gfSk7XG4gIH1cbn1cbiIsIlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIihzdGF0ZSQgfCBhc3luYykgYXMgc3RhdGVcIj5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgbmF2LWdyb3VwXCJcbiAgICAgICBbY2xhc3MubmF2LWdyb3VwLWFjdGl2ZV09XCJzdGF0ZS5pc09wZW5cIlxuICA+XG4gICAgPGEgbWF0LWJ1dHRvblxuICAgICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgbmF2LWdyb3VwLWJ1dHRvbiBtYXQtYnV0dG9uLWZpbGxcIlxuICAgICAgIFt0YWJJbmRleF09XCIwXCJcbiAgICAgICBbY2xhc3MubmF2LWdyb3VwLWJ1dHRvbi1hY3RpdmVdPVwic3RhdGUuaXNPcGVuXCJcbiAgICAgICBbY2xhc3MubmF2LWdyb3VwLWJ1dHRvbi1pbmFjdGl2ZV09XCIhc3RhdGUuaXNPcGVuXCJcbiAgICAgICBbY29sb3JdPVwic3RhdGUuaXNPcGVuID8gJ3ByaW1hcnknIDogdW5kZWZpbmVkXCJcbiAgICAgICAoY2xpY2spPVwiaXRlbUNsaWNrKCRldmVudClcIlxuICAgID5cblxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGdhcC1sZyBmbGV4IG5vc2VsZWN0XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4XCI+PC9zcGFuPlxuICAgICAgICA8bWF0LWljb24+e3tzdGF0ZS5pc09wZW4gPyAna2V5Ym9hcmRfYXJyb3dfdXAnIDogJ2tleWJvYXJkX2Fycm93X2Rvd24nfX08L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2E+XG5cbiAgICA8IS0tIE5lc3RlZCBJdGVtcyBwcm9qZWN0aW9uIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIG5hdi1ncm91cC1pdGVtcy1jb250YWluZXJcIlxuICAgICAgICAgW0BvcGVuQ2xvc2VdPVwic3RhdGUuaXNPcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCdcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImVsZGVyLW5hdi1saW5rXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbmF2LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXYvbmF2LWdyb3VwL2VsZGVyLW5hdi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2L25hdi1ncm91cC9lbGRlci1uYXYtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLEVBQUUsY0FBYyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDM0YsT0FBTyxFQUFDLGVBQWUsRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFMUQsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBZ0M5QyxNQUFNLE9BQU8sc0JBQXNCO0lBb0JqQzs7OztnRkFJNEU7SUFFNUUsWUFDbUIsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFoQmpDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUc3RCxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFFdkMsYUFB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LEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO2dDQUNsQixNQUFNLEVBQUUsR0FBRztnQ0FDWCxPQUFPLEVBQUUsQ0FBQzs2QkFDWCxDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7Z0NBQ3BCLE1BQU0sRUFBRSxDQUFDO2dDQUNULE9BQU8sRUFBRSxHQUFHO2dDQUNaLE9BQU8sRUFBRSxDQUFDOzZCQUNYLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7Z0NBQzNCLE9BQU8sQ0FBQyxPQUFPLENBQUM7NkJBQ2pCLENBQUM7NEJBQ0YsVUFBVSxDQUFDLGdCQUFnQixFQUFFO2dDQUMzQixPQUFPLENBQUMsT0FBTyxDQUFDOzZCQUNqQixDQUFDO3lCQUNILENBQUM7cUJBQ0gsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07NEdBV3hDLFFBQVE7c0JBRGQsZUFBZTt1QkFBQyxxQkFBcUI7Z0JBTXRCLE9BQU87c0JBRHRCLE1BQU07Z0JBbURJLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7RWxkZXJOYXZMaW5rQ29tcG9uZW50LCBOYXZJdGVtQ2xpY2tlZH0gZnJvbSAnLi4vbmF2LWxpbmsvZWxkZXItbmF2LWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RWxkZXJOYXZMaXN0Q29tcG9uZW50fSBmcm9tICcuLi9uYXYtbGlzdC9lbGRlci1uYXYtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHttYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5cbmludGVyZmFjZSBOYXZHcm91cFN0YXRlIHtcbiAgaXNPcGVuOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1uYXYtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbmF2LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItbmF2LWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICBzdGF0ZSgnb3BlbicsIHN0eWxlKHtcbiAgICAgICAgaGVpZ2h0OiAnKicsXG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICB9KSksXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgIG9wYWNpdHk6IDAuNSxcbiAgICAgICAgcGFkZGluZzogMFxuICAgICAgfSkpLFxuICAgICAgdHJhbnNpdGlvbignb3BlbiA9PiBjbG9zZWQnLCBbXG4gICAgICAgIGFuaW1hdGUoJzIwMG1zJylcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignY2xvc2VkID0+IG9wZW4nLCBbXG4gICAgICAgIGFuaW1hdGUoJzIwMG1zJylcbiAgICAgIF0pLFxuICAgIF0pXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTmF2R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQENvbnRlbnRDaGlsZHJlbihFbGRlck5hdkxpbmtDb21wb25lbnQpXG4gIHB1YmxpYyBjaGlsZHJlbjogUXVlcnlMaXN0PEVsZGVyTmF2TGlua0NvbXBvbmVudD47XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TmF2R3JvdXBTdGF0ZT4oe2lzT3BlbjogZmFsc2V9KTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGNsaWNrZWQgPSBuZXcgU3ViamVjdDxOYXZJdGVtQ2xpY2tlZD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF92YWx1ZTogYW55O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF2TGlzdDogRWxkZXJOYXZMaXN0Q29tcG9uZW50XG4gICkge1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubmF2TGlzdC52YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgbWFwKHZhbHVlID0+IHRoaXMuaXNDdXJyZW50VmFsdWVBY3RpdmUpLFxuICAgICkuc3Vic2NyaWJlKGFjdGl2ZSA9PiB0aGlzLl9hY3RpdmUkLm5leHQoYWN0aXZlKSk7XG5cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5fYWN0aXZlJC5uZXh0KHRoaXMuaXNDdXJyZW50VmFsdWVBY3RpdmUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZSQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHY6IGFueSkge1xuICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFwaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgaXRlbUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jbGlja2VkLm5leHQobmV3IE5hdkl0ZW1DbGlja2VkKGV2ZW50LCB0aGlzLnZhbHVlKSk7XG4gICAgdGhpcy50b2dnbGUoKTtcbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5uYXZMaXN0LnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIGNvbnN0IG15U3RhdGUgPSB0aGlzLnN0YXRlJC5nZXRWYWx1ZSgpO1xuICAgIHRoaXMuc3RhdGUkLm5leHQoe2lzT3BlbjogIW15U3RhdGUuaXNPcGVufSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGdldCBpc0N1cnJlbnRWYWx1ZUFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uYXZMaXN0LmlzQWN0aXZlKHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCJcbjxuZy1jb250YWluZXIgKm5nSWY9XCIoc3RhdGUkIHwgYXN5bmMpIGFzIHN0YXRlXCI+XG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIG5hdi1ncm91cFwiPlxuICAgIDxhIG1hdFJpcHBsZVxuICAgICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgbmF2LWdyb3VwLWJ1dHRvbiBtYXQtYnV0dG9uLWZpbGxcbiAgICAgICAgICAgICAgbWRjLWxpc3QtaXRlbVxuICAgICAgICAgICAgICBtZGMtbGlzdC1pdGVtLS13aXRoLW9uZS1saW5lXCJcbiAgICAgICBbY2xhc3MubmF2LWdyb3VwLWJ1dHRvbi1vcGVuXT1cInN0YXRlLmlzT3BlblwiXG4gICAgICAgW2NsYXNzLm5hdi1ncm91cC1idXR0b24tY2xvc2VkXT1cIiFzdGF0ZS5pc09wZW5cIlxuICAgICAgIFtjbGFzcy5uYXYtZ3JvdXAtYnV0dG9uLWFjdGl2ZV09XCJhY3RpdmUkIHwgYXN5bmNcIlxuICAgICAgIChjbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgZ2FwLWxnIGZ1bGwgbm9zZWxlY3QgbWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4XCI+PC9zcGFuPlxuICAgICAgICA8bWF0LWljb24+e3tzdGF0ZS5pc09wZW4gPyAna2V5Ym9hcmRfYXJyb3dfdXAnIDogJ2tleWJvYXJkX2Fycm93X2Rvd24nfX08L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9hPlxuXG4gICAgPCEtLSBOZXN0ZWQgSXRlbXMgcHJvamVjdGlvbiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBuYXYtZ3JvdXAtaXRlbXMtY29udGFpbmVyIHAtc20gZ2FwLXNtXCJcbiAgICAgICAgIFtAb3BlbkNsb3NlXT1cInN0YXRlLmlzT3BlbiA/ICdvcGVuJyA6ICdjbG9zZWQnXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJlbGRlci1uYXYtbGlua1wiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,53 +1,123 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- import { BehaviorSubject, combineLatest } from 'rxjs';
3
- import { map } from 'rxjs/operators';
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, Output, ViewChild } from '@angular/core';
2
+ import { BehaviorSubject, Subject, switchMap } from 'rxjs';
3
+ import { combineLatestWith, filter, map, startWith, takeUntil } from 'rxjs/operators';
4
+ import { RouterLinkActive } from '@angular/router';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/router";
7
- import * as i3 from "@angular/material/icon";
8
- import * as i4 from "@angular/material/button";
9
- import * as i5 from "@ngx-translate/core";
6
+ import * as i1 from "../nav-list/elder-nav-list.component";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/router";
9
+ import * as i4 from "@angular/material/icon";
10
+ import * as i5 from "@angular/material/core";
11
+ import * as i6 from "@ngx-translate/core";
12
+ class NavItemModel {
13
+ constructor(routerLink, href, hrefTarget) {
14
+ this.routerLink = routerLink;
15
+ this.href = href;
16
+ this.hrefTarget = hrefTarget;
17
+ }
18
+ }
19
+ export class NavItemClicked {
20
+ constructor(event, value) {
21
+ this.event = event;
22
+ this.value = value;
23
+ }
24
+ }
10
25
  export class ElderNavLinkComponent {
11
- constructor() {
26
+ /***************************************************************************
27
+ * *
28
+ * Constructor *
29
+ * *
30
+ **************************************************************************/
31
+ constructor(navList) {
32
+ this.navList = navList;
33
+ /***************************************************************************
34
+ * *
35
+ * Fields *
36
+ * *
37
+ **************************************************************************/
12
38
  this.tabIndex = -1;
13
- this.routerLink$ = new BehaviorSubject('');
14
- this.href$ = new BehaviorSubject('');
15
- this.target$ = new BehaviorSubject('_blank');
16
39
  this.queryParams = {};
40
+ this.clicked = new Subject();
41
+ this._routerLink$ = new BehaviorSubject('');
42
+ this._href$ = new BehaviorSubject('');
43
+ this._target$ = new BehaviorSubject('_blank');
44
+ this._routerLinkActive$ = new BehaviorSubject(undefined);
45
+ this._active$ = new BehaviorSubject(false);
46
+ this.destroy$ = new Subject();
47
+ this.model$ = this._routerLink$.pipe(combineLatestWith(this._href$), combineLatestWith(this._target$), map(([[routerLink, href], target]) => new NavItemModel(routerLink, href, target)));
48
+ }
49
+ /***************************************************************************
50
+ * *
51
+ * Life Cycle *
52
+ * *
53
+ **************************************************************************/
54
+ ngOnInit() {
55
+ this._routerLinkActive$.pipe(takeUntil(this.destroy$), filter(rla => !!rla), switchMap(rla => {
56
+ return rla.isActiveChange.pipe(startWith(rla.isActive));
57
+ })).subscribe(active => this._active$.next(active));
58
+ this.navList.valueChange.pipe(takeUntil(this.destroy$), map(value => this.isCurrentValueActive)).subscribe(active => this._active$.next(active));
59
+ if (this.value) {
60
+ this._active$.next(this.isCurrentValueActive);
61
+ }
62
+ }
63
+ ngOnDestroy() {
64
+ this.destroy$.next();
65
+ this.destroy$.complete();
66
+ }
67
+ /***************************************************************************
68
+ * *
69
+ * Properties *
70
+ * *
71
+ **************************************************************************/
72
+ get active$() {
73
+ return this._active$;
74
+ }
75
+ set routerLinkActive(rla) {
76
+ this._routerLinkActive$.next(rla);
17
77
  }
18
78
  set routerLink(value) {
19
- this.routerLink$.next(value);
79
+ this._routerLink$.next(value);
20
80
  }
21
81
  set href(value) {
22
- this.href$.next(value);
82
+ this._href$.next(value);
23
83
  }
24
84
  set target(value) {
25
- this.target$.next(value);
85
+ this._target$.next(value);
26
86
  }
27
- ngOnInit() {
87
+ set value(v) {
88
+ this._value = v;
28
89
  }
29
- // If neither routerLink nor href is defined, we fallback to simple button.
30
- get fallbackToButton$() {
31
- return combineLatest(this.routerLink$, this.href$)
32
- .pipe(map((result) => !result[0] && !result[1]));
90
+ get value() {
91
+ return this._value;
92
+ }
93
+ /***************************************************************************
94
+ * *
95
+ * Public API *
96
+ * *
97
+ **************************************************************************/
98
+ itemClick(event) {
99
+ this.clicked.next(new NavItemClicked(event, this.value));
100
+ this.navList.value = this.value;
101
+ }
102
+ /***************************************************************************
103
+ * *
104
+ * Private methods *
105
+ * *
106
+ **************************************************************************/
107
+ get isCurrentValueActive() {
108
+ return this.navList.isActive(this.value);
33
109
  }
34
110
  }
35
- ElderNavLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderNavLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
- ElderNavLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ElderNavLinkComponent, selector: "elder-nav-link, ebs-nav-link", inputs: { title: "title", routerLink: "routerLink", href: "href", target: "target", queryParamsHandling: "queryParamsHandling", queryParams: "queryParams", icon: "icon", fontIcon: "fontIcon", fontSet: "fontSet", svgIcon: "svgIcon" }, host: { properties: { "attr.tabindex": "this.tabIndex" } }, ngImport: i0, template: "<!-- Router Link -->\n<a mat-button *ngIf=\"(routerLink$ | async) as routerLink\"\n class=\"layout-row place-start-center nav-link\"\n [tabIndex]=\"0\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"nav-link-active\"\n #rla=\"routerLinkActive\"\n [color]=\"rla.isActive ? 'primary' : ''\"\n>\n\n <ng-container [ngTemplateOutlet]=\"rla.isActive ? activeLinkContent : inactiveLinkContent\">\n </ng-container>\n\n</a>\n\n<!-- Href Link -->\n<a mat-button *ngIf=\"(href$ | async) as href\"\n class=\"layout-row place-start-center nav-link\"\n [tabIndex]=\"0\"\n [href]=\"href\"\n [target]=\"target$ | async\"\n>\n\n <ng-container [ngTemplateOutlet]=\"inactiveLinkContent\">\n </ng-container>\n\n</a>\n\n<!-- Simple Button -->\n<a mat-button *ngIf=\"(fallbackToButton$ | async)\"\n class=\"layout-row place-start-center nav-link\"\n [tabIndex]=\"0\"\n>\n\n <ng-container [ngTemplateOutlet]=\"inactiveLinkContent\">\n </ng-container>\n\n</a>\n\n\n<!-- Content for an active Nav Element -->\n<ng-template #activeLinkContent>\n\n <div class=\"layout-row place-start-center\">\n\n <mat-icon *ngIf=\"!svgIcon\" class=\"nav-icon\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n\n <mat-icon *ngIf=\"svgIcon\" class=\"nav-icon\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n\n <span class=\"noselect nav-text nav-text-active\">\n {{ title | translate}}\n\n </span>\n </div>\n\n</ng-template>\n\n<!-- Content for an inactive Nav Element -->\n<ng-template #inactiveLinkContent>\n\n <div class=\"layout-row place-start-center\">\n\n <mat-icon *ngIf=\"!svgIcon\" class=\"nav-icon nav-icon-inactive\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n\n <mat-icon *ngIf=\"svgIcon\" class=\"nav-icon nav-icon-inactive\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n\n <span class=\"noselect nav-text nav-text-inactive\">\n {{ title | translate}}\n </span>\n </div>\n\n</ng-template>\n", styles: [".nav-link{padding-left:16px;padding-right:16px;min-height:56px;border-radius:0}.nav-icon{height:24px;width:24px;font-size:24px;padding:4px}.nav-icon-inactive{color:#757575}.nav-text{padding-left:16px;font-size:16px;font-weight:400}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderNavLinkComponent, decorators: [{
111
+ ElderNavLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderNavLinkComponent, deps: [{ token: i1.ElderNavListComponent }], target: i0.ɵɵFactoryTarget.Component });
112
+ ElderNavLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ElderNavLinkComponent, selector: "elder-nav-link", inputs: { title: "title", queryParamsHandling: "queryParamsHandling", queryParams: "queryParams", icon: "icon", fontIcon: "fontIcon", fontSet: "fontSet", svgIcon: "svgIcon", routerLink: "routerLink", href: "href", target: "target", value: "value" }, outputs: { clicked: "clicked" }, host: { properties: { "attr.tabindex": "this.tabIndex" } }, viewQueries: [{ propertyName: "routerLinkActive", first: true, predicate: RouterLinkActive, descendants: true }], ngImport: i0, template: "<!-- Router Link -->\n<ng-container *ngIf=\"model$ | async as model\">\n <a *ngIf=\"model.routerLink as routerLink\"\n matRipple\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"dummy\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Href Link -->\n <a matRipple *ngIf=\"model.href as href\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [href]=\"href\"\n [target]=\"model.hrefTarget\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Simple Button -->\n <a matRipple *ngIf=\"!model.href && !model.routerLink\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n (click)=\"itemClick($event)\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n</ng-container>\n\n\n<ng-template #defaultLinkTemplate>\n <div class=\"layout-row place-start-center gap-md noselect\">\n <mat-icon *ngIf=\"!(!icon && !title)\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n <span *ngIf=\"title\" class=\"noselect\">\n {{ title | translate}}\n </span>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".nav-link{text-decoration:none;padding-left:16px;padding-right:16px;min-height:48px;border-radius:4px;overflow:hidden;cursor:pointer}.nav-link .mat-icon{height:24px;width:24px;font-size:24px;padding:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderNavLinkComponent, decorators: [{
38
114
  type: Component,
39
- args: [{ selector: 'elder-nav-link, ebs-nav-link', template: "<!-- Router Link -->\n<a mat-button *ngIf=\"(routerLink$ | async) as routerLink\"\n class=\"layout-row place-start-center nav-link\"\n [tabIndex]=\"0\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"nav-link-active\"\n #rla=\"routerLinkActive\"\n [color]=\"rla.isActive ? 'primary' : ''\"\n>\n\n <ng-container [ngTemplateOutlet]=\"rla.isActive ? activeLinkContent : inactiveLinkContent\">\n </ng-container>\n\n</a>\n\n<!-- Href Link -->\n<a mat-button *ngIf=\"(href$ | async) as href\"\n class=\"layout-row place-start-center nav-link\"\n [tabIndex]=\"0\"\n [href]=\"href\"\n [target]=\"target$ | async\"\n>\n\n <ng-container [ngTemplateOutlet]=\"inactiveLinkContent\">\n </ng-container>\n\n</a>\n\n<!-- Simple Button -->\n<a mat-button *ngIf=\"(fallbackToButton$ | async)\"\n class=\"layout-row place-start-center nav-link\"\n [tabIndex]=\"0\"\n>\n\n <ng-container [ngTemplateOutlet]=\"inactiveLinkContent\">\n </ng-container>\n\n</a>\n\n\n<!-- Content for an active Nav Element -->\n<ng-template #activeLinkContent>\n\n <div class=\"layout-row place-start-center\">\n\n <mat-icon *ngIf=\"!svgIcon\" class=\"nav-icon\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n\n <mat-icon *ngIf=\"svgIcon\" class=\"nav-icon\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n\n <span class=\"noselect nav-text nav-text-active\">\n {{ title | translate}}\n\n </span>\n </div>\n\n</ng-template>\n\n<!-- Content for an inactive Nav Element -->\n<ng-template #inactiveLinkContent>\n\n <div class=\"layout-row place-start-center\">\n\n <mat-icon *ngIf=\"!svgIcon\" class=\"nav-icon nav-icon-inactive\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n\n <mat-icon *ngIf=\"svgIcon\" class=\"nav-icon nav-icon-inactive\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n\n <span class=\"noselect nav-text nav-text-inactive\">\n {{ title | translate}}\n </span>\n </div>\n\n</ng-template>\n", styles: [".nav-link{padding-left:16px;padding-right:16px;min-height:56px;border-radius:0}.nav-icon{height:24px;width:24px;font-size:24px;padding:4px}.nav-icon-inactive{color:#757575}.nav-text{padding-left:16px;font-size:16px;font-weight:400}\n"] }]
40
- }], ctorParameters: function () { return []; }, propDecorators: { tabIndex: [{
115
+ args: [{ selector: 'elder-nav-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Router Link -->\n<ng-container *ngIf=\"model$ | async as model\">\n <a *ngIf=\"model.routerLink as routerLink\"\n matRipple\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [routerLink]=\"routerLink\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n routerLinkActive=\"dummy\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Href Link -->\n <a matRipple *ngIf=\"model.href as href\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n [href]=\"href\"\n [target]=\"model.hrefTarget\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n\n <!-- Simple Button -->\n <a matRipple *ngIf=\"!model.href && !model.routerLink\"\n class=\"layout-row place-start-center nav-link\n mdc-list-item mdc-list-item--with-one-line\"\n (click)=\"itemClick($event)\"\n [class.nav-link-active]=\"active$ | async\"\n [class.nav-link-inactive]=\"(active$ | async) === false\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n</ng-container>\n\n\n<ng-template #defaultLinkTemplate>\n <div class=\"layout-row place-start-center gap-md noselect\">\n <mat-icon *ngIf=\"!(!icon && !title)\"\n [fontIcon]=\"fontIcon\"\n [fontSet]=\"fontSet\">\n {{icon}}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n ></mat-icon>\n <span *ngIf=\"title\" class=\"noselect\">\n {{ title | translate}}\n </span>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".nav-link{text-decoration:none;padding-left:16px;padding-right:16px;min-height:48px;border-radius:4px;overflow:hidden;cursor:pointer}.nav-link .mat-icon{height:24px;width:24px;font-size:24px;padding:4px}\n"] }]
116
+ }], ctorParameters: function () { return [{ type: i1.ElderNavListComponent }]; }, propDecorators: { tabIndex: [{
41
117
  type: HostBinding,
42
118
  args: ['attr.tabindex']
43
119
  }], title: [{
44
120
  type: Input
45
- }], routerLink: [{
46
- type: Input
47
- }], href: [{
48
- type: Input
49
- }], target: [{
50
- type: Input
51
121
  }], queryParamsHandling: [{
52
122
  type: Input
53
123
  }], queryParams: [{
@@ -60,5 +130,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
60
130
  type: Input
61
131
  }], svgIcon: [{
62
132
  type: Input
133
+ }], clicked: [{
134
+ type: Output
135
+ }], routerLinkActive: [{
136
+ type: ViewChild,
137
+ args: [RouterLinkActive, { static: false }]
138
+ }], routerLink: [{
139
+ type: Input
140
+ }], href: [{
141
+ type: Input
142
+ }], target: [{
143
+ type: Input
144
+ }], value: [{
145
+ type: Input
63
146
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbmF2LWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdi9uYXYtbGluay9lbGRlci1uYXYtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2L25hdi1saW5rL2VsZGVyLW5hdi1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTbkMsTUFBTSxPQUFPLHFCQUFxQjtJQStDaEM7UUE3QzhCLGFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVyQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN4QyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVMsUUFBUSxDQUFDLENBQUM7UUF5QmhELGdCQUFXLEdBRWQsRUFBRSxDQUFDO0lBZVAsQ0FBQztJQXBDRCxJQUNXLFVBQVUsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUNXLElBQUksQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUNXLE1BQU0sQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUF5QkQsUUFBUTtJQUNSLENBQUM7SUFHRCwyRUFBMkU7SUFDM0UsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxhQUFhLENBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxLQUFLLENBQ1g7YUFDRSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMxQyxDQUFDO0lBQ04sQ0FBQzs7bUhBL0RVLHFCQUFxQjt1R0FBckIscUJBQXFCLDBXQ1hsQywybkVBc0ZBOzRGRDNFYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsOEJBQThCOzBFQU9WLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFRckIsS0FBSztzQkFEWCxLQUFLO2dCQUlLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBTUssSUFBSTtzQkFEZCxLQUFLO2dCQU1LLE1BQU07c0JBRGhCLEtBQUs7Z0JBTUMsbUJBQW1CO3NCQUR6QixLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBTUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1F1ZXJ5UGFyYW1zSGFuZGxpbmd9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLW5hdi1saW5rLCBlYnMtbmF2LWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbmF2LWxpbmsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1uYXYtbGluay5jb21wb25lbnQuc2NzcyddXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoIEZpeCBSb3V0ZXJMaW5rQWN0aXZlIGJpbmRpbmcgZmlyc3QgOihcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJOYXZMaW5rQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJJbmRleCA9IC0xO1xuXG4gIHB1YmxpYyByb3V0ZXJMaW5rJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHB1YmxpYyBocmVmJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHB1YmxpYyB0YXJnZXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdfYmxhbmsnKTtcblxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcm91dGVyTGluayh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yb3V0ZXJMaW5rJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaHJlZih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5ocmVmJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGFyZ2V0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRhcmdldCQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlQYXJhbXNIYW5kbGluZzogUXVlcnlQYXJhbXNIYW5kbGluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlQYXJhbXM6IHtcbiAgICBbazogc3RyaW5nXTogYW55O1xuICB9ID0ge307XG5cbiAgQElucHV0KClcbiAgcHVibGljIGljb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9udEljb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9udFNldDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdmdJY29uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG5cbiAgLy8gSWYgbmVpdGhlciByb3V0ZXJMaW5rIG5vciBocmVmIGlzIGRlZmluZWQsIHdlIGZhbGxiYWNrIHRvIHNpbXBsZSBidXR0b24uXG4gIHB1YmxpYyBnZXQgZmFsbGJhY2tUb0J1dHRvbiQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoXG4gICAgICB0aGlzLnJvdXRlckxpbmskLFxuICAgICAgdGhpcy5ocmVmJFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3VsdCkgPT4gIXJlc3VsdFswXSAmJiAhcmVzdWx0WzFdKVxuICAgICAgKTtcbiAgfVxuXG5cbn1cbiIsIjwhLS0gUm91dGVyIExpbmsgLS0+XG48YSBtYXQtYnV0dG9uICpuZ0lmPVwiKHJvdXRlckxpbmskIHwgYXN5bmMpIGFzIHJvdXRlckxpbmtcIlxuICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBuYXYtbGlua1wiXG4gICBbdGFiSW5kZXhdPVwiMFwiXG4gICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rXCJcbiAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgIHJvdXRlckxpbmtBY3RpdmU9XCJuYXYtbGluay1hY3RpdmVcIlxuICAgI3JsYT1cInJvdXRlckxpbmtBY3RpdmVcIlxuICAgW2NvbG9yXT1cInJsYS5pc0FjdGl2ZSA/ICdwcmltYXJ5JyA6ICcnXCJcbj5cblxuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJsYS5pc0FjdGl2ZSA/IGFjdGl2ZUxpbmtDb250ZW50IDogaW5hY3RpdmVMaW5rQ29udGVudFwiPlxuICA8L25nLWNvbnRhaW5lcj5cblxuPC9hPlxuXG48IS0tIEhyZWYgTGluayAtLT5cbjxhIG1hdC1idXR0b24gKm5nSWY9XCIoaHJlZiQgfCBhc3luYykgYXMgaHJlZlwiXG4gICBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIG5hdi1saW5rXCJcbiAgIFt0YWJJbmRleF09XCIwXCJcbiAgIFtocmVmXT1cImhyZWZcIlxuICAgW3RhcmdldF09XCJ0YXJnZXQkIHwgYXN5bmNcIlxuPlxuXG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5hY3RpdmVMaW5rQ29udGVudFwiPlxuICA8L25nLWNvbnRhaW5lcj5cblxuPC9hPlxuXG48IS0tIFNpbXBsZSBCdXR0b24gLS0+XG48YSBtYXQtYnV0dG9uICpuZ0lmPVwiKGZhbGxiYWNrVG9CdXR0b24kIHwgYXN5bmMpXCJcbiAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgbmF2LWxpbmtcIlxuICAgW3RhYkluZGV4XT1cIjBcIlxuPlxuXG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5hY3RpdmVMaW5rQ29udGVudFwiPlxuICA8L25nLWNvbnRhaW5lcj5cblxuPC9hPlxuXG5cbjwhLS0gQ29udGVudCBmb3IgYW4gYWN0aXZlIE5hdiBFbGVtZW50IC0tPlxuPG5nLXRlbXBsYXRlICNhY3RpdmVMaW5rQ29udGVudD5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXJcIj5cblxuICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFzdmdJY29uXCIgY2xhc3M9XCJuYXYtaWNvblwiXG4gICAgICAgICAgICAgIFtmb250SWNvbl09XCJmb250SWNvblwiXG4gICAgICAgICAgICAgIFtmb250U2V0XT1cImZvbnRTZXRcIj5cbiAgICAgIHt7aWNvbn19XG4gICAgPC9tYXQtaWNvbj5cblxuICAgIDxtYXQtaWNvbiAqbmdJZj1cInN2Z0ljb25cIiBjbGFzcz1cIm5hdi1pY29uXCJcbiAgICAgICAgICAgICAgW3N2Z0ljb25dPVwic3ZnSWNvblwiXG4gICAgPjwvbWF0LWljb24+XG5cbiAgICA8c3BhbiBjbGFzcz1cIm5vc2VsZWN0IG5hdi10ZXh0IG5hdi10ZXh0LWFjdGl2ZVwiPlxuICAgICAge3sgdGl0bGUgfCB0cmFuc2xhdGV9fVxuXG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cblxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBDb250ZW50IGZvciBhbiBpbmFjdGl2ZSBOYXYgRWxlbWVudCAtLT5cbjxuZy10ZW1wbGF0ZSAjaW5hY3RpdmVMaW5rQ29udGVudD5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXJcIj5cblxuICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFzdmdJY29uXCIgY2xhc3M9XCJuYXYtaWNvbiBuYXYtaWNvbi1pbmFjdGl2ZVwiXG4gICAgICAgICAgICAgIFtmb250SWNvbl09XCJmb250SWNvblwiXG4gICAgICAgICAgICAgIFtmb250U2V0XT1cImZvbnRTZXRcIj5cbiAgICAgIHt7aWNvbn19XG4gICAgPC9tYXQtaWNvbj5cblxuICAgIDxtYXQtaWNvbiAqbmdJZj1cInN2Z0ljb25cIiBjbGFzcz1cIm5hdi1pY29uIG5hdi1pY29uLWluYWN0aXZlXCJcbiAgICAgICAgICAgICAgW3N2Z0ljb25dPVwic3ZnSWNvblwiXG4gICAgPjwvbWF0LWljb24+XG5cbiAgICA8c3BhbiBjbGFzcz1cIm5vc2VsZWN0IG5hdi10ZXh0IG5hdi10ZXh0LWluYWN0aXZlXCI+XG4gICAgICB7eyB0aXRsZSB8IHRyYW5zbGF0ZX19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cblxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbmF2LWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdi9uYXYtbGluay9lbGRlci1uYXYtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2L25hdi1saW5rL2VsZGVyLW5hdi1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQy9GLE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFHdEUsTUFBTSxZQUFZO0lBQ2hCLFlBQ2tCLFVBQWtCLEVBQ2xCLElBQVksRUFDWixVQUFrQjtRQUZsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBRXBDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ2tCLEtBQWlCLEVBQ2pCLEtBQVU7UUFEVixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFVBQUssR0FBTCxLQUFL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QUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJVSxPQUFPO3NCQUR0QixNQUFNO2dCQXNFSCxnQkFBZ0I7c0JBRG5CLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQU1qQyxVQUFVO3NCQURwQixLQUFLO2dCQU1LLElBQUk7c0JBRGQsS0FBSztnQkFNSyxNQUFNO3NCQURoQixLQUFLO2dCQU1LLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3RXaXRoLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCB0YWtlVW50aWwsIHRha2VXaGlsZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXJMaW5rQWN0aXZlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtFbGRlck5hdkxpc3RDb21wb25lbnR9IGZyb20gJy4uL25hdi1saXN0L2VsZGVyLW5hdi1saXN0LmNvbXBvbmVudCc7XG5cbmNsYXNzIE5hdkl0ZW1Nb2RlbCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByb3V0ZXJMaW5rOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGhyZWY6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaHJlZlRhcmdldDogc3RyaW5nLFxuICApIHtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTmF2SXRlbUNsaWNrZWQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXZlbnQ6IE1vdXNlRXZlbnQsXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBhbnlcbiAgKSB7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbmF2LWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbmF2LWxpbmsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1uYXYtbGluay5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlck5hdkxpbmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiSW5kZXggPSAtMTtcblxuICByZWFkb25seSBtb2RlbCQ6IE9ic2VydmFibGU8TmF2SXRlbU1vZGVsPjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlQYXJhbXNIYW5kbGluZzogUXVlcnlQYXJhbXNIYW5kbGluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlQYXJhbXM6IHtcbiAgICBbazogc3RyaW5nXTogYW55O1xuICB9ID0ge307XG5cbiAgQElucHV0KClcbiAgcHVibGljIGljb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9udEljb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9udFNldDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdmdJY29uOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBjbGlja2VkID0gbmV3IFN1YmplY3Q8TmF2SXRlbUNsaWNrZWQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVyTGluayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ocmVmJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RhcmdldCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ19ibGFuaycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3V0ZXJMaW5rQWN0aXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Um91dGVyTGlua0FjdGl2ZT4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdkxpc3Q6IEVsZGVyTmF2TGlzdENvbXBvbmVudFxuICApIHtcbiAgICB0aGlzLm1vZGVsJCA9IHRoaXMuX3JvdXRlckxpbmskLnBpcGUoXG4gICAgICBjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLl9ocmVmJCksXG4gICAgICBjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLl90YXJnZXQkKSxcbiAgICAgIG1hcCgoW1tyb3V0ZXJMaW5rLCBocmVmXSwgdGFyZ2V0XSkgPT4gbmV3IE5hdkl0ZW1Nb2RlbChyb3V0ZXJMaW5rLCBocmVmLCB0YXJnZXQpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fcm91dGVyTGlua0FjdGl2ZSQucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIGZpbHRlcihybGEgPT4gISFybGEpLFxuICAgICAgc3dpdGNoTWFwKHJsYSA9PiB7XG4gICAgICAgIHJldHVybiBybGEuaXNBY3RpdmVDaGFuZ2UucGlwZShcbiAgICAgICAgICBzdGFydFdpdGgocmxhLmlzQWN0aXZlKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZShhY3RpdmUgPT4gdGhpcy5fYWN0aXZlJC5uZXh0KGFjdGl2ZSkpO1xuXG4gICAgdGhpcy5uYXZMaXN0LnZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBtYXAodmFsdWUgPT4gdGhpcy5pc0N1cnJlbnRWYWx1ZUFjdGl2ZSksXG4gICAgKS5zdWJzY3JpYmUoYWN0aXZlID0+IHRoaXMuX2FjdGl2ZSQubmV4dChhY3RpdmUpKTtcblxuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLl9hY3RpdmUkLm5leHQodGhpcy5pc0N1cnJlbnRWYWx1ZUFjdGl2ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgYWN0aXZlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlJDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoUm91dGVyTGlua0FjdGl2ZSwge3N0YXRpYzogZmFsc2V9KVxuICBzZXQgcm91dGVyTGlua0FjdGl2ZShybGE6IFJvdXRlckxpbmtBY3RpdmUpIHtcbiAgICB0aGlzLl9yb3V0ZXJMaW5rQWN0aXZlJC5uZXh0KHJsYSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJvdXRlckxpbmsodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3JvdXRlckxpbmskLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBocmVmKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9ocmVmJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGFyZ2V0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90YXJnZXQkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHY7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGl0ZW1DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuY2xpY2tlZC5uZXh0KG5ldyBOYXZJdGVtQ2xpY2tlZChldmVudCwgdGhpcy52YWx1ZSkpO1xuICAgIHRoaXMubmF2TGlzdC52YWx1ZSA9IHRoaXMudmFsdWU7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGdldCBpc0N1cnJlbnRWYWx1ZUFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uYXZMaXN0LmlzQWN0aXZlKHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCI8IS0tIFJvdXRlciBMaW5rIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsJCB8IGFzeW5jIGFzIG1vZGVsXCI+XG4gIDxhICpuZ0lmPVwibW9kZWwucm91dGVyTGluayBhcyByb3V0ZXJMaW5rXCJcbiAgICAgbWF0UmlwcGxlXG4gICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgbmF2LWxpbmtcbiAgICAgICAgIG1kYy1saXN0LWl0ZW0gbWRjLWxpc3QtaXRlbS0td2l0aC1vbmUtbGluZVwiXG4gICAgIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmtcIlxuICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgcm91dGVyTGlua0FjdGl2ZT1cImR1bW15XCJcbiAgICAgW2NsYXNzLm5hdi1saW5rLWFjdGl2ZV09XCJhY3RpdmUkIHwgYXN5bmNcIlxuICAgICBbY2xhc3MubmF2LWxpbmstaW5hY3RpdmVdPVwiKGFjdGl2ZSQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdExpbmtUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2E+XG5cbiAgPCEtLSBIcmVmIExpbmsgLS0+XG4gIDxhIG1hdFJpcHBsZSAqbmdJZj1cIm1vZGVsLmhyZWYgYXMgaHJlZlwiXG4gICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgbmF2LWxpbmtcbiAgICAgICAgICAgICAgbWRjLWxpc3QtaXRlbSBtZGMtbGlzdC1pdGVtLS13aXRoLW9uZS1saW5lXCJcbiAgICAgW2hyZWZdPVwiaHJlZlwiXG4gICAgIFt0YXJnZXRdPVwibW9kZWwuaHJlZlRhcmdldFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRMaW5rVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9hPlxuXG4gIDwhLS0gU2ltcGxlIEJ1dHRvbiAtLT5cbiAgPGEgbWF0UmlwcGxlICpuZ0lmPVwiIW1vZGVsLmhyZWYgJiYgIW1vZGVsLnJvdXRlckxpbmtcIlxuICAgICBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIG5hdi1saW5rXG4gICAgICAgICAgICBtZGMtbGlzdC1pdGVtIG1kYy1saXN0LWl0ZW0tLXdpdGgtb25lLWxpbmVcIlxuICAgICAoY2xpY2spPVwiaXRlbUNsaWNrKCRldmVudClcIlxuICAgICBbY2xhc3MubmF2LWxpbmstYWN0aXZlXT1cImFjdGl2ZSQgfCBhc3luY1wiXG4gICAgIFtjbGFzcy5uYXYtbGluay1pbmFjdGl2ZV09XCIoYWN0aXZlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0TGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctY29udGFpbmVyPlxuXG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExpbmtUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGdhcC1tZCBub3NlbGVjdFwiPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cIiEoIWljb24gJiYgIXRpdGxlKVwiXG4gICAgICAgICAgICAgIFtmb250SWNvbl09XCJmb250SWNvblwiXG4gICAgICAgICAgICAgIFtmb250U2V0XT1cImZvbnRTZXRcIj5cbiAgICAgIHt7aWNvbn19XG4gICAgPC9tYXQtaWNvbj5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJzdmdJY29uXCJcbiAgICAgICAgICAgICAgW3N2Z0ljb25dPVwic3ZnSWNvblwiXG4gICAgPjwvbWF0LWljb24+XG4gICAgPHNwYW4gKm5nSWY9XCJ0aXRsZVwiIGNsYXNzPVwibm9zZWxlY3RcIj5cbiAgICAgIHt7IHRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICA8L3NwYW4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,12 +1,68 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, Output } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { skip } from 'rxjs/operators';
2
4
  import * as i0 from "@angular/core";
3
5
  export class ElderNavListComponent {
4
- constructor() { }
6
+ /***************************************************************************
7
+ * *
8
+ * Constructor *
9
+ * *
10
+ **************************************************************************/
11
+ constructor() {
12
+ /***************************************************************************
13
+ * *
14
+ * Fields *
15
+ * *
16
+ **************************************************************************/
17
+ this._valueChange = new BehaviorSubject(null);
18
+ }
19
+ /***************************************************************************
20
+ * *
21
+ * Properties *
22
+ * *
23
+ **************************************************************************/
24
+ /**
25
+ * Emits when the value changes.
26
+ */
27
+ get valueChange() {
28
+ return this._valueChange.pipe(skip(1));
29
+ }
30
+ /**
31
+ * Sets the current selected value
32
+ */
33
+ set value(value) {
34
+ this._valueChange.next(value);
35
+ }
36
+ /**
37
+ * Gets the current selected value
38
+ */
39
+ get value() {
40
+ return this._valueChange.value;
41
+ }
42
+ /***************************************************************************
43
+ * *
44
+ * Public API *
45
+ * *
46
+ **************************************************************************/
47
+ isActive(value) {
48
+ if (this.compareWith) {
49
+ return this.compareWith(value, this.value);
50
+ }
51
+ else {
52
+ return value === this.value;
53
+ }
54
+ }
5
55
  }
6
- ElderNavListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderNavListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- ElderNavListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ElderNavListComponent, selector: "elder-nav-list, ebs-nav-list", ngImport: i0, template: "<div class=\"layout-col full elder-nav-list-full\" tabindex=\"0\">\n <div class=\"layout-col flex scrollable\" >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{min-width:0;min-height:0}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.elder-nav-list-full{min-width:350px}.elder-nav-list-full:focus{outline:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderNavListComponent, decorators: [{
56
+ ElderNavListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderNavListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
+ ElderNavListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ElderNavListComponent, selector: "elder-nav-list", inputs: { compareWith: "compareWith", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"layout-col full elder-nav-list-full\" tabindex=\"0\">\n <div class=\"layout-col p-sm gap-sm flex scrollable\n mat-mdc-nav-list mat-mdc-list-base mdc-list\"\n style=\"overflow-y: scroll\"\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{min-width:0;min-height:0}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.elder-nav-list-full{min-width:120px}.elder-nav-list-full:focus{outline:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderNavListComponent, decorators: [{
9
59
  type: Component,
10
- args: [{ selector: 'elder-nav-list, ebs-nav-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col full elder-nav-list-full\" tabindex=\"0\">\n <div class=\"layout-col flex scrollable\" >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{min-width:0;min-height:0}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.elder-nav-list-full{min-width:350px}.elder-nav-list-full:focus{outline:none}\n"] }]
11
- }], ctorParameters: function () { return []; } });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbmF2LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdi9uYXYtbGlzdC9lbGRlci1uYXYtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2L25hdi1saXN0L2VsZGVyLW5hdi1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7O0FBUXpFLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsZ0JBQWdCLENBQUM7O21IQUROLHFCQUFxQjt1R0FBckIscUJBQXFCLG9FQ1JsQyxzS0FLQTs0RkRHYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1uYXYtbGlzdCwgZWJzLW5hdi1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLW5hdi1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItbmF2LWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJOYXZMaXN0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZ1bGwgZWxkZXItbmF2LWxpc3QtZnVsbFwiIHRhYmluZGV4PVwiMFwiPlxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IHNjcm9sbGFibGVcIiA+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
60
+ args: [{ selector: 'elder-nav-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col full elder-nav-list-full\" tabindex=\"0\">\n <div class=\"layout-col p-sm gap-sm flex scrollable\n mat-mdc-nav-list mat-mdc-list-base mdc-list\"\n style=\"overflow-y: scroll\"\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{min-width:0;min-height:0}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.elder-nav-list-full{min-width:120px}.elder-nav-list-full:focus{outline:none}\n"] }]
61
+ }], ctorParameters: function () { return []; }, propDecorators: { compareWith: [{
62
+ type: Input
63
+ }], valueChange: [{
64
+ type: Output
65
+ }], value: [{
66
+ type: Input
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbmF2LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdi9uYXYtbGlzdC9lbGRlci1uYXYtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2L25hdi1saXN0L2VsZGVyLW5hdi1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFRcEMsTUFBTSxPQUFPLHFCQUFxQjtJQWdCaEM7Ozs7Z0ZBSTRFO0lBRTVFO1FBckJBOzs7O29GQUk0RTtRQUUzRCxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFJLElBQUksQ0FBQyxDQUFDO0lBZTdDLENBQUM7SUFFakI7Ozs7Z0ZBSTRFO0lBRTVFOztPQUVHO0lBQ0gsSUFDVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzNCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxLQUFLLENBQUMsS0FBUTtRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsUUFBUSxDQUFDLEtBQVE7UUFDdEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDTCxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQzs7a0hBbkVVLHFCQUFxQjtzR0FBckIscUJBQXFCLHVKQ1ZsQyxzUUFRQTsyRkRFYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07MEVBZ0J4QyxXQUFXO3NCQURqQixLQUFLO2dCQXFCSyxXQUFXO3NCQURyQixNQUFNO2dCQVdJLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7c2tpcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1uYXYtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1uYXYtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLW5hdi1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTmF2TGlzdENvbXBvbmVudDxUID0gYW55PiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbHVlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUPihudWxsKTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY29tcGFyZSB0aGUgb3B0aW9uIHZhbHVlcyB3aXRoIHRoZSBzZWxlY3RlZCB2YWx1ZXMuIFRoZSBmaXJzdCBhcmd1bWVudFxuICAgKiBpcyBhIHZhbHVlIGZyb20gYW4gaXRlbSBvcHRpb24uIFRoZSBzZWNvbmQgaXMgdGhlIGN1cnJlbnQgdmFsdWUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29tcGFyZVdpdGg6IChvMTogVCwgbzI6IFQpID0+IGJvb2xlYW47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHZhbHVlQ2hhbmdlKCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgc2tpcCgxKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCBzZWxlY3RlZCB2YWx1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogVCkge1xuICAgIHRoaXMuX3ZhbHVlQ2hhbmdlLm5leHQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgdmFsdWVcbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlQ2hhbmdlLnZhbHVlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGlzQWN0aXZlKHZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuY29tcGFyZVdpdGgpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVXaXRoKHZhbHVlLCB0aGlzLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlID09PSB0aGlzLnZhbHVlO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmdWxsIGVsZGVyLW5hdi1saXN0LWZ1bGxcIiB0YWJpbmRleD1cIjBcIj5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgcC1zbSBnYXAtc20gZmxleCBzY3JvbGxhYmxlXG4gIG1hdC1tZGMtbmF2LWxpc3QgbWF0LW1kYy1saXN0LWJhc2UgbWRjLWxpc3RcIlxuICAgIHN0eWxlPVwib3ZlcmZsb3cteTogc2Nyb2xsXCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==