@elderbyte/ngx-starter 18.3.0 → 18.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +5 -3
  2. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +3 -3
  3. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +3 -3
  4. package/esm2022/lib/common/forms/elder-from-field-base.mjs +3 -3
  5. package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +3 -3
  6. package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +3 -3
  7. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +3 -3
  8. package/esm2022/lib/common/forms/form-field-base.component.mjs +3 -3
  9. package/esm2022/lib/common/forms/multi-model-base.component.mjs +3 -3
  10. package/esm2022/lib/common/forms/template-composite-control.mjs +3 -3
  11. package/esm2022/lib/common/forms/value-accessor-base.mjs +3 -3
  12. package/esm2022/lib/common/http/http-client-builder.service.mjs +3 -3
  13. package/esm2022/lib/common/http/http-client-pristine.mjs +3 -3
  14. package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +3 -3
  15. package/esm2022/lib/common/objects.mjs +4 -2
  16. package/esm2022/lib/common/url/elder-router.service.mjs +3 -3
  17. package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +3 -3
  18. package/esm2022/lib/common/utils/sort-util.mjs +13 -1
  19. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
  20. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +4 -4
  21. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +3 -3
  22. package/esm2022/lib/components/auditing/elder-audit.module.mjs +4 -4
  23. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +10 -10
  24. package/esm2022/lib/components/badge/elder-badge.directive.mjs +3 -3
  25. package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
  26. package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -3
  27. package/esm2022/lib/components/button-group/elder-button-group.module.mjs +4 -4
  28. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +3 -3
  29. package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +3 -3
  30. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +4 -4
  31. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -4
  32. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
  33. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +18 -18
  34. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +4 -4
  35. package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +3 -3
  36. package/esm2022/lib/components/chips/elder-chips.module.mjs +4 -4
  37. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +4 -4
  38. package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +3 -3
  39. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
  40. package/esm2022/lib/components/containers/elder-containers.module.mjs +4 -4
  41. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -3
  42. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +3 -3
  43. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +3 -3
  44. package/esm2022/lib/components/csv/elder-csv.module.mjs +4 -4
  45. package/esm2022/lib/components/currency/elder-currency.module.mjs +4 -4
  46. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +3 -3
  47. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -4
  48. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +3 -3
  49. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +3 -3
  50. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
  51. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  52. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
  53. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +3 -3
  54. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +30 -0
  55. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +57 -0
  56. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +69 -0
  57. package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +87 -0
  58. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +3 -3
  59. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +19 -5
  60. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +6 -6
  61. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +3 -3
  62. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +3 -3
  63. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -3
  64. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +19 -19
  65. package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +4 -4
  66. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +3 -3
  67. package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +3 -3
  68. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +3 -3
  69. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +3 -3
  70. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +4 -4
  71. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +3 -3
  72. package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +3 -3
  73. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +3 -3
  74. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -4
  75. package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +3 -3
  76. package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +3 -3
  77. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
  78. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +3 -3
  79. package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +3 -3
  80. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +4 -4
  81. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +3 -3
  82. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +3 -3
  83. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +3 -3
  84. package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +3 -3
  85. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +3 -3
  86. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +4 -4
  87. package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +3 -3
  88. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
  89. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +4 -4
  90. package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +3 -3
  91. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +3 -3
  92. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
  93. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +3 -3
  94. package/esm2022/lib/components/errors/elder-error.module.mjs +4 -4
  95. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -3
  96. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
  97. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -4
  98. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
  99. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +3 -3
  100. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +3 -3
  101. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +3 -3
  102. package/esm2022/lib/components/files/elder-file-select.directive.mjs +3 -3
  103. package/esm2022/lib/components/files/elder-file.module.mjs +4 -4
  104. package/esm2022/lib/components/files/file-select/file-select.component.mjs +3 -3
  105. package/esm2022/lib/components/files/file-system-api.mjs +7 -3
  106. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +3 -3
  107. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +3 -3
  108. package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +3 -3
  109. package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +3 -3
  110. package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +3 -3
  111. package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +3 -3
  112. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +3 -3
  113. package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +3 -3
  114. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +3 -3
  115. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +4 -4
  116. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +3 -3
  117. package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +3 -3
  118. package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +3 -3
  119. package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
  120. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +3 -3
  121. package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +3 -3
  122. package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +3 -3
  123. package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +3 -3
  124. package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +3 -3
  125. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +3 -3
  126. package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +3 -3
  127. package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +3 -3
  128. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +3 -3
  129. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +3 -3
  130. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +3 -3
  131. package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +3 -3
  132. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +3 -3
  133. package/esm2022/lib/components/forms/elder-forms.module.mjs +4 -4
  134. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +3 -3
  135. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +3 -3
  136. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +3 -3
  137. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +3 -3
  138. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +3 -3
  139. package/esm2022/lib/components/forms/search/elder-search.module.mjs +4 -4
  140. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +3 -3
  141. package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +3 -3
  142. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +3 -3
  143. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +4 -4
  144. package/esm2022/lib/components/global-search/elder-global-search.service.mjs +3 -3
  145. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
  146. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -4
  147. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  148. package/esm2022/lib/components/headers/elder-header.module.mjs +4 -4
  149. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +3 -3
  150. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +4 -4
  151. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +3 -3
  152. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +3 -3
  153. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +3 -3
  154. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +4 -4
  155. package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +3 -3
  156. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +3 -3
  157. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
  158. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +3 -3
  159. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +3 -3
  160. package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +3 -3
  161. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +4 -4
  162. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +3 -3
  163. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +3 -3
  164. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +4 -4
  165. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +3 -3
  166. package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +3 -3
  167. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +4 -4
  168. package/esm2022/lib/components/iframes/iframe-close.directive.mjs +3 -3
  169. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
  170. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +3 -3
  171. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +3 -3
  172. package/esm2022/lib/components/iframes/iframe.service.mjs +3 -3
  173. package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +3 -3
  174. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
  175. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +4 -4
  176. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +6 -6
  177. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +3 -3
  178. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +3 -3
  179. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +4 -4
  180. package/esm2022/lib/components/labels/elder-labels.module.mjs +4 -4
  181. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +3 -3
  182. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +3 -3
  183. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +3 -3
  184. package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +3 -3
  185. package/esm2022/lib/components/measures/elder-measures.module.mjs +8 -8
  186. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +3 -3
  187. package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +4 -4
  188. package/esm2022/lib/components/measures/elder-unit.service.mjs +3 -3
  189. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +3 -3
  190. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +3 -3
  191. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +3 -3
  192. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +3 -3
  193. package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +4 -4
  194. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +3 -3
  195. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -4
  196. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +4 -4
  197. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -3
  198. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
  199. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
  200. package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +3 -3
  201. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -4
  202. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +3 -3
  203. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +3 -3
  204. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +3 -3
  205. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +3 -3
  206. package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +3 -3
  207. package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +3 -3
  208. package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
  209. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +3 -3
  210. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +4 -4
  211. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
  212. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -3
  213. package/esm2022/lib/components/panels/elder-panel.module.mjs +4 -4
  214. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +3 -3
  215. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +3 -3
  216. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +9 -9
  217. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +3 -3
  218. package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +4 -4
  219. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +3 -3
  220. package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +3 -3
  221. package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +3 -3
  222. package/esm2022/lib/components/select/elder-select-base.mjs +7 -5
  223. package/esm2022/lib/components/select/elder-select-chip.directive.mjs +9 -9
  224. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +3 -3
  225. package/esm2022/lib/components/select/elder-select-value.directive.mjs +3 -3
  226. package/esm2022/lib/components/select/elder-select.module.mjs +4 -4
  227. package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +3 -3
  228. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
  229. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +3 -3
  230. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +3 -3
  231. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +3 -3
  232. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +5 -5
  233. package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +3 -3
  234. package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +3 -3
  235. package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +3 -3
  236. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +3 -3
  237. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +3 -3
  238. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
  239. package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +3 -3
  240. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +3 -3
  241. package/esm2022/lib/components/select/single/elder-select-form-field.mjs +3 -3
  242. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +3 -3
  243. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -4
  244. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +3 -3
  245. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +3 -3
  246. package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +3 -3
  247. package/esm2022/lib/components/shell/elder-shell.module.mjs +4 -4
  248. package/esm2022/lib/components/shell/elder-shell.service.mjs +3 -3
  249. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
  250. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +12 -12
  251. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +3 -3
  252. package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +3 -3
  253. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +3 -3
  254. package/esm2022/lib/components/tabs/elder-tab.module.mjs +4 -4
  255. package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +3 -3
  256. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -3
  257. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +3 -3
  258. package/esm2022/lib/components/theme/elder-theme.directive.mjs +3 -3
  259. package/esm2022/lib/components/theme/elder-theme.module.mjs +4 -4
  260. package/esm2022/lib/components/theme/elder-theme.service.mjs +3 -3
  261. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +3 -3
  262. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +3 -3
  263. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +3 -3
  264. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +3 -3
  265. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +3 -3
  266. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +4 -4
  267. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +3 -3
  268. package/esm2022/lib/components/time/elder-time.module.mjs +4 -4
  269. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +3 -3
  270. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +3 -3
  271. package/esm2022/lib/components/toasts/elder-toast.module.mjs +4 -4
  272. package/esm2022/lib/components/toasts/elder-toast.service.mjs +3 -3
  273. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
  274. package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +4 -4
  275. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
  276. package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -3
  277. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +4 -4
  278. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +3 -3
  279. package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +3 -3
  280. package/esm2022/lib/features/kafent/access-token-provider.mjs +3 -3
  281. package/esm2022/lib/features/kafent/kafent-config.mjs +3 -3
  282. package/esm2022/lib/features/kafent/kafent-event-stream.mjs +3 -3
  283. package/esm2022/lib/features/kafent/kafent-event.service.mjs +3 -3
  284. package/esm2022/lib/features/kafent/kafent.module.mjs +4 -4
  285. package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +3 -3
  286. package/esm2022/lib/pipes/bytes.pipe.mjs +3 -3
  287. package/esm2022/lib/pipes/elder-pipes.module.mjs +10 -10
  288. package/esm2022/lib/pipes/elder-repeat.pipe.mjs +3 -3
  289. package/esm2022/lib/pipes/elder-round.pipe.mjs +3 -3
  290. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +3 -3
  291. package/esm2022/lib/pipes/elder-truncate.pipe.mjs +3 -3
  292. package/esm2022/lib/pipes/iso-duration.pipe.mjs +3 -3
  293. package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +3 -3
  294. package/esm2022/lib/pipes/iso-interval.pipe.mjs +3 -3
  295. package/esm2022/lib/pipes/time-ago.pipe.mjs +3 -3
  296. package/esm2022/lib/pipes/time-duration.pipe.mjs +3 -3
  297. package/esm2022/lib/pipes/weight.pipe.mjs +3 -3
  298. package/fesm2022/elderbyte-ngx-starter.mjs +1278 -1030
  299. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  300. package/lib/common/utils/sort-util.d.ts +3 -1
  301. package/lib/components/data-view/common/composite-sort/composite-sort-context.d.ts +18 -0
  302. package/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.d.ts +31 -0
  303. package/lib/components/data-view/common/composite-sort/composite-sort.d.ts +40 -0
  304. package/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.d.ts +35 -0
  305. package/lib/components/data-view/common/elder-data-common.module.d.ts +9 -4
  306. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +4 -4
  307. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +1 -1
  308. package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +1 -1
  309. package/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.d.ts +1 -1
  310. package/lib/components/measures/elder-quantity.pipe.d.ts +1 -1
  311. package/lib/components/measures/util/elder-quantity.service.d.ts +1 -1
  312. package/package.json +1 -1
  313. package/src/lib/components/chips/_elder-chip-theme.scss +0 -1
  314. package/src/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.scss +0 -0
  315. package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +0 -1
  316. package/theming/_elder-mdc-support.scss +2 -3
@@ -12,10 +12,10 @@ export class ElderBadgeChipDirective {
12
12
  this.templateRef = templateRef;
13
13
  this.viewContainer = viewContainer;
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeChipDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
16
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: ElderBadgeChipDirective, isStandalone: true, selector: "[elderBadgeChip]", ngImport: i0 }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeChipDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
16
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.4", type: ElderBadgeChipDirective, isStandalone: true, selector: "[elderBadgeChip]", ngImport: i0 }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeChipDirective, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeChipDirective, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: '[elderBadgeChip]',
@@ -27,10 +27,10 @@ export class ElderBadgeChipAvatarDirective {
27
27
  this.templateRef = templateRef;
28
28
  this.viewContainer = viewContainer;
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeChipAvatarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: ElderBadgeChipAvatarDirective, isStandalone: true, selector: "[elderBadgeChipAvatar]", ngImport: i0 }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeChipAvatarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.4", type: ElderBadgeChipAvatarDirective, isStandalone: true, selector: "[elderBadgeChipAvatar]", ngImport: i0 }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeChipAvatarDirective, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeChipAvatarDirective, decorators: [{
34
34
  type: Directive,
35
35
  args: [{
36
36
  selector: '[elderBadgeChipAvatar]',
@@ -123,10 +123,10 @@ export class ElderBadgeComponent {
123
123
  get chipAvatarTemplate() {
124
124
  return this.chipAvatarTemplate$.getValue();
125
125
  }
126
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
127
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ElderBadgeComponent, isStandalone: true, selector: "elder-badge", inputs: { appearance: "appearance", value: "value", colorSpec: "colorSpec", badgeColor: "badgeColor", avatarSpec: "avatarSpec", setCssClass: ["cssClass", "setCssClass"], chipTemplate: "chipTemplate", chipAvatarTemplate: "chipAvatarTemplate" }, queries: [{ propertyName: "chipTemplateQuery", first: true, predicate: ElderBadgeChipDirective, descendants: true, read: TemplateRef }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderBadgeChipAvatarDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"templates$ | async as templates\">\n <ng-container *ngIf=\"badgeModel$ | async as badgeModel\">\n <mat-chip elderChipLabel [appearance]=\"appearance\"\n [color]=\"badgeModel.colorSpec?.theme\"\n [stateColor]=\"badgeModel.colorSpec?.state\"\n [levelColor]=\"badgeModel.colorSpec?.level\"\n [class]=\"'elder-badge fill ' + elementClass\">\n <mat-chip-avatar clasS=\"elder-badge-avatar\"\n *ngIf=\"templates.avatar || badgeModel.showAvatar\"\n >\n <ng-container\n *ngTemplateOutlet=\"templates.avatar || simpleAvatarTemplate; context: {$implicit: badgeModel}\">\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: {$implicit: badgeModel}\">\n </ng-container>\n\n <ng-content></ng-content>\n\n </mat-chip>\n </ng-container>\n</ng-container>\n\n<ng-template #simpleChipTemplate let-badgeModel>\n <!--\n <span class=\"elder-chip-text\">{{badgeModel.value | elderTruncate:20}}</span>\n -->\n {{badgeModel.value | elderTruncate:20}}\n</ng-template>\n\n<ng-template #simpleAvatarTemplate let-badgeModel>\n <mat-icon>{{badgeModel.avatarSpec?.icon}}</mat-icon>\n</ng-template>\n", styles: [".elder-badge{position:absolute!important;width:unset!important;max-width:unset!important;box-sizing:border-box}.elder-badge.mat-mdc-standard-chip{height:var(--mat-badge-text-size, 12px)4}.elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-size:var(--mat-badge-text-size, 12px);font-weight:var(--mat-badge-text-weight, 600)}.elder-badge .mdc-evolution-chip,.elder-badge .mdc-evolution-chip__cell,.elder-badge .mdc-evolution-chip__action{justify-content:center}.elder-badge.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:0;padding-right:0}.mat-badge-small .elder-badge.mat-badge-content{border-radius:16px;min-width:16px}.mat-badge-small.mat-badge-above .elder-badge.mat-badge-content{top:-7px!important}.mat-badge-small.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-small.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-small .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 3px!important}.mat-badge-small .elder-badge.mat-badge-content{line-height:14px!important}.mat-badge-medium .elder-badge.mat-badge-content{border-radius:22px;min-width:22px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-medium.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-medium .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-medium .elder-badge.mat-badge-content{line-height:20px!important}.mat-badge-large .elder-badge.mat-badge-content{border-radius:28px;min-width:28px}.mat-badge-large.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-large.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-large .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-large .elder-badge.mat-badge-content{line-height:26px!important}.elder-badge.mat-badge-content{transform:unset!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled", "tabIndex"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: ["appearance", "color", "stateColor", "levelColor"] }, { kind: "directive", type: MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTruncatePipe, name: "elderTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: ElderBadgeComponent, isStandalone: true, selector: "elder-badge", inputs: { appearance: "appearance", value: "value", colorSpec: "colorSpec", badgeColor: "badgeColor", avatarSpec: "avatarSpec", setCssClass: ["cssClass", "setCssClass"], chipTemplate: "chipTemplate", chipAvatarTemplate: "chipAvatarTemplate" }, queries: [{ propertyName: "chipTemplateQuery", first: true, predicate: ElderBadgeChipDirective, descendants: true, read: TemplateRef }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderBadgeChipAvatarDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"templates$ | async as templates\">\n <ng-container *ngIf=\"badgeModel$ | async as badgeModel\">\n <mat-chip elderChipLabel [appearance]=\"appearance\"\n [color]=\"badgeModel.colorSpec?.theme\"\n [stateColor]=\"badgeModel.colorSpec?.state\"\n [levelColor]=\"badgeModel.colorSpec?.level\"\n [class]=\"'elder-badge fill ' + elementClass\">\n <mat-chip-avatar clasS=\"elder-badge-avatar\"\n *ngIf=\"templates.avatar || badgeModel.showAvatar\"\n >\n <ng-container\n *ngTemplateOutlet=\"templates.avatar || simpleAvatarTemplate; context: {$implicit: badgeModel}\">\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: {$implicit: badgeModel}\">\n </ng-container>\n\n <ng-content></ng-content>\n\n </mat-chip>\n </ng-container>\n</ng-container>\n\n<ng-template #simpleChipTemplate let-badgeModel>\n <!--\n <span class=\"elder-chip-text\">{{badgeModel.value | elderTruncate:20}}</span>\n -->\n {{badgeModel.value | elderTruncate:20}}\n</ng-template>\n\n<ng-template #simpleAvatarTemplate let-badgeModel>\n <mat-icon>{{badgeModel.avatarSpec?.icon}}</mat-icon>\n</ng-template>\n", styles: [".elder-badge{position:absolute!important;width:unset!important;max-width:unset!important;box-sizing:border-box}.elder-badge.mat-mdc-standard-chip{height:var(--mat-badge-text-size, 12px)4}.elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-size:var(--mat-badge-text-size, 12px);font-weight:var(--mat-badge-text-weight, 600)}.elder-badge .mdc-evolution-chip,.elder-badge .mdc-evolution-chip__cell,.elder-badge .mdc-evolution-chip__action{justify-content:center}.elder-badge.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:0;padding-right:0}.mat-badge-small .elder-badge.mat-badge-content{border-radius:16px;min-width:16px}.mat-badge-small.mat-badge-above .elder-badge.mat-badge-content{top:-7px!important}.mat-badge-small.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-small.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-small .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 3px!important}.mat-badge-small .elder-badge.mat-badge-content{line-height:14px!important}.mat-badge-medium .elder-badge.mat-badge-content{border-radius:22px;min-width:22px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-medium.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-medium .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-medium .elder-badge.mat-badge-content{line-height:20px!important}.mat-badge-large .elder-badge.mat-badge-content{border-radius:28px;min-width:28px}.mat-badge-large.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-large.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-large .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-large .elder-badge.mat-badge-content{line-height:26px!important}.elder-badge.mat-badge-content{transform:unset!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: ["appearance", "color", "stateColor", "levelColor"] }, { kind: "directive", type: MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTruncatePipe, name: "elderTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
128
128
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeComponent, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeComponent, decorators: [{
130
130
  type: Component,
131
131
  args: [{ selector: 'elder-badge', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgIf, MatChip, ElderChipLabelDirective, MatChipAvatar, NgTemplateOutlet, MatIcon, AsyncPipe, ElderTruncatePipe], template: "<ng-container *ngIf=\"templates$ | async as templates\">\n <ng-container *ngIf=\"badgeModel$ | async as badgeModel\">\n <mat-chip elderChipLabel [appearance]=\"appearance\"\n [color]=\"badgeModel.colorSpec?.theme\"\n [stateColor]=\"badgeModel.colorSpec?.state\"\n [levelColor]=\"badgeModel.colorSpec?.level\"\n [class]=\"'elder-badge fill ' + elementClass\">\n <mat-chip-avatar clasS=\"elder-badge-avatar\"\n *ngIf=\"templates.avatar || badgeModel.showAvatar\"\n >\n <ng-container\n *ngTemplateOutlet=\"templates.avatar || simpleAvatarTemplate; context: {$implicit: badgeModel}\">\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: {$implicit: badgeModel}\">\n </ng-container>\n\n <ng-content></ng-content>\n\n </mat-chip>\n </ng-container>\n</ng-container>\n\n<ng-template #simpleChipTemplate let-badgeModel>\n <!--\n <span class=\"elder-chip-text\">{{badgeModel.value | elderTruncate:20}}</span>\n -->\n {{badgeModel.value | elderTruncate:20}}\n</ng-template>\n\n<ng-template #simpleAvatarTemplate let-badgeModel>\n <mat-icon>{{badgeModel.avatarSpec?.icon}}</mat-icon>\n</ng-template>\n", styles: [".elder-badge{position:absolute!important;width:unset!important;max-width:unset!important;box-sizing:border-box}.elder-badge.mat-mdc-standard-chip{height:var(--mat-badge-text-size, 12px)4}.elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-size:var(--mat-badge-text-size, 12px);font-weight:var(--mat-badge-text-weight, 600)}.elder-badge .mdc-evolution-chip,.elder-badge .mdc-evolution-chip__cell,.elder-badge .mdc-evolution-chip__action{justify-content:center}.elder-badge.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:0;padding-right:0}.mat-badge-small .elder-badge.mat-badge-content{border-radius:16px;min-width:16px}.mat-badge-small.mat-badge-above .elder-badge.mat-badge-content{top:-7px!important}.mat-badge-small.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-small.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-small .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 3px!important}.mat-badge-small .elder-badge.mat-badge-content{line-height:14px!important}.mat-badge-medium .elder-badge.mat-badge-content{border-radius:22px;min-width:22px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-medium.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-medium .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-medium .elder-badge.mat-badge-content{line-height:20px!important}.mat-badge-large .elder-badge.mat-badge-content{border-radius:28px;min-width:28px}.mat-badge-large.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-large.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-large .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-large .elder-badge.mat-badge-content{line-height:26px!important}.elder-badge.mat-badge-content{transform:unset!important}\n"] }]
132
132
  }], ctorParameters: () => [], propDecorators: { appearance: [{
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
153
153
  }], chipAvatarTemplate: [{
154
154
  type: Input
155
155
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9iYWRnZS9lbGRlci1iYWRnZS9lbGRlci1iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2JhZGdlL2VsZGVyLWJhZGdlL2VsZGVyLWJhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFFWCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFFaEUsT0FBTyxFQUF3RCx1QkFBdUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RJLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQU9sRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ1MsV0FBNkIsRUFDN0IsYUFBK0I7UUFEL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtJ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QUFFLGlCQUFpQjs7MkZBRS9HLG1CQUFtQjtrQkFUL0IsU0FBUzsrQkFDSSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQzt3REFrQnBILFVBQVU7c0JBRGhCLEtBQUs7Z0JBOEJLLEtBQUs7c0JBRGYsS0FBSztnQkFhSyxTQUFTO3NCQURuQixLQUFLO2dCQWFLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBTUssVUFBVTtzQkFEcEIsS0FBSztnQkFhQyxXQUFXO3NCQURqQixLQUFLO3VCQUFDLFVBQVU7Z0JBWU4saUJBQWlCO3NCQUQzQixZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQU05RCxZQUFZO3NCQUR0QixLQUFLO2dCQVVLLHVCQUF1QjtzQkFEakMsWUFBWTt1QkFBQyw2QkFBNkIsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFNcEUsa0JBQWtCO3NCQUQ1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RoZW1lUGFsZXR0ZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0VsZGVyQ2hpcEFwcGVhcmFuY2UsIEVsZGVyTGV2ZWxDb2xvciwgRWxkZXJTdGF0ZUNvbG9yLCBFbGRlckNoaXBMYWJlbERpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vY2hpcHMvZWxkZXItY2hpcC1sYWJlbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RWxkZXJUcnVuY2F0ZVBpcGV9IGZyb20gJy4uLy4uLy4uL3BpcGVzL2VsZGVyLXRydW5jYXRlLnBpcGUnO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0Q2hpcCwgTWF0Q2hpcEF2YXRhcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWxkZXJCYWRnZUNoaXBdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQmFkZ2VDaGlwRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkgeyB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VsZGVyQmFkZ2VDaGlwQXZhdGFyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckJhZGdlQ2hpcEF2YXRhckRpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZlxuICApIHsgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhZGdlQ29sb3JTcGVjIHtcbiAgcmVhZG9ubHkgdGhlbWU/OiBUaGVtZVBhbGV0dGU7XG4gIHJlYWRvbmx5IHN0YXRlPzogRWxkZXJTdGF0ZUNvbG9yO1xuICByZWFkb25seSBsZXZlbD86IEVsZGVyTGV2ZWxDb2xvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWRnZUF2YXRhclNwZWMge1xuICByZWFkb25seSBpY29uPzogc3RyaW5nO1xufVxuXG5jbGFzcyBFbGRlckJhZGdlTW9kZWwge1xuXG4gIHB1YmxpYyBzdGF0aWMgc3RhbmRhcmQoKTogRWxkZXJCYWRnZU1vZGVsIHtcbiAgICByZXR1cm4gbmV3IEVsZGVyQmFkZ2VNb2RlbCgnJywge3RoZW1lOiAncHJpbWFyeSd9LCB7fSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IGFueSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sb3JTcGVjOiBCYWRnZUNvbG9yU3BlYyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgYXZhdGFyU3BlYzogQmFkZ2VBdmF0YXJTcGVjLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvd0F2YXRhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmF2YXRhclNwZWM/Lmljb247XG4gIH1cblxufVxuXG5pbnRlcmZhY2UgVGVtcGxhdGVXcmFwcGVyIHtcbiAgY2hpcDogVGVtcGxhdGVSZWY8YW55PjtcbiAgYXZhdGFyOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VsZGVyLWJhZGdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VsZGVyLWJhZGdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBNYXRDaGlwLCBFbGRlckNoaXBMYWJlbERpcmVjdGl2ZSwgTWF0Q2hpcEF2YXRhciwgTmdUZW1wbGF0ZU91dGxldCwgTWF0SWNvbiwgQXN5bmNQaXBlLCBFbGRlclRydW5jYXRlUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJCYWRnZUNvbXBvbmVudCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IGJhZGdlTW9kZWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFbGRlckJhZGdlTW9kZWw+KEVsZGVyQmFkZ2VNb2RlbC5zdGFuZGFyZCgpKTtcbiAgcHVibGljIGVsZW1lbnRDbGFzczogc3RyaW5nW10gPSBbXTtcbiAgcmVhZG9ubHkgdGVtcGxhdGVzJDogT2JzZXJ2YWJsZTxUZW1wbGF0ZVdyYXBwZXI+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2hpcFRlbXBsYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hpcEF2YXRhclRlbXBsYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4obnVsbCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFwcGVhcmFuY2U6IEVsZGVyQ2hpcEFwcGVhcmFuY2UgPSAnbGVnYWN5JztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnRlbXBsYXRlcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY2hpcFRlbXBsYXRlJCxcbiAgICAgIHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlJFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtjaGlwLCBhdmF0YXJdKSA9PiB7XG4gICAgICAgIHJldHVybiA8VGVtcGxhdGVXcmFwcGVyPntcbiAgICAgICAgICBjaGlwLFxuICAgICAgICAgIGF2YXRhclxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuYmFkZ2VNb2RlbCQuZ2V0VmFsdWUoKTtcbiAgICB0aGlzLmJhZGdlTW9kZWwkLm5leHQoXG4gICAgICBuZXcgRWxkZXJCYWRnZU1vZGVsKFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgY3VycmVudC5jb2xvclNwZWMsXG4gICAgICAgIGN1cnJlbnQuYXZhdGFyU3BlY1xuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNvbG9yU3BlYyhzcGVjOiBCYWRnZUNvbG9yU3BlYykge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmJhZGdlTW9kZWwkLmdldFZhbHVlKCk7XG4gICAgdGhpcy5iYWRnZU1vZGVsJC5uZXh0KFxuICAgICAgbmV3IEVsZGVyQmFkZ2VNb2RlbChcbiAgICAgICAgY3VycmVudC52YWx1ZSxcbiAgICAgICAgc3BlYyxcbiAgICAgICAgY3VycmVudC5hdmF0YXJTcGVjXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYmFkZ2VDb2xvcihjb2xvcjogVGhlbWVQYWxldHRlKSB7XG4gICAgdGhpcy5jb2xvclNwZWMgPSB7dGhlbWU6IGNvbG9yfTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXZhdGFyU3BlYyhzcGVjOiBCYWRnZUF2YXRhclNwZWMpIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5iYWRnZU1vZGVsJC5nZXRWYWx1ZSgpO1xuICAgIHRoaXMuYmFkZ2VNb2RlbCQubmV4dChcbiAgICAgIG5ldyBFbGRlckJhZGdlTW9kZWwoXG4gICAgICAgIGN1cnJlbnQudmFsdWUsXG4gICAgICAgIGN1cnJlbnQuY29sb3JTcGVjLFxuICAgICAgICBzcGVjXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIEBJbnB1dCgnY3NzQ2xhc3MnKVxuICBwdWJsaWMgc2V0Q3NzQ2xhc3ModmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnRDbGFzcyA9IHZhbC5zcGxpdCgnICcpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFRlbXBsYXRlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQENvbnRlbnRDaGlsZChFbGRlckJhZGdlQ2hpcERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlfSlcbiAgcHVibGljIHNldCBjaGlwVGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcFRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoaXBUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcFRlbXBsYXRlJC5uZXh0KHRlbXBsYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpcFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNoaXBUZW1wbGF0ZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJCYWRnZUNoaXBBdmF0YXJEaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiBmYWxzZX0pXG4gIHB1YmxpYyBzZXQgY2hpcEF2YXRhclRlbXBsYXRlUXVlcnkodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLmNoaXBBdmF0YXJUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGlwQXZhdGFyVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLmNoaXBBdmF0YXJUZW1wbGF0ZSQubmV4dCh0ZW1wbGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBBdmF0YXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZXMkIHwgYXN5bmMgYXMgdGVtcGxhdGVzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJiYWRnZU1vZGVsJCB8IGFzeW5jIGFzIGJhZGdlTW9kZWxcIj5cbiAgICA8bWF0LWNoaXAgZWxkZXJDaGlwTGFiZWwgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJiYWRnZU1vZGVsLmNvbG9yU3BlYz8udGhlbWVcIlxuICAgICAgICAgICAgICBbc3RhdGVDb2xvcl09XCJiYWRnZU1vZGVsLmNvbG9yU3BlYz8uc3RhdGVcIlxuICAgICAgICAgICAgICBbbGV2ZWxDb2xvcl09XCJiYWRnZU1vZGVsLmNvbG9yU3BlYz8ubGV2ZWxcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiJ2VsZGVyLWJhZGdlIGZpbGwgJyArIGVsZW1lbnRDbGFzc1wiPlxuICAgICAgPG1hdC1jaGlwLWF2YXRhciBjbGFzUz1cImVsZGVyLWJhZGdlLWF2YXRhclwiXG4gICAgICAgICpuZ0lmPVwidGVtcGxhdGVzLmF2YXRhciB8fCBiYWRnZU1vZGVsLnNob3dBdmF0YXJcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZXMuYXZhdGFyIHx8IHNpbXBsZUF2YXRhclRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBiYWRnZU1vZGVsfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LWNoaXAtYXZhdGFyPlxuXG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVzLmNoaXAgfHwgc2ltcGxlQ2hpcFRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBiYWRnZU1vZGVsfVwiPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgIDwvbWF0LWNoaXA+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjc2ltcGxlQ2hpcFRlbXBsYXRlIGxldC1iYWRnZU1vZGVsPlxuICA8IS0tXG4gIDxzcGFuIGNsYXNzPVwiZWxkZXItY2hpcC10ZXh0XCI+e3tiYWRnZU1vZGVsLnZhbHVlIHwgZWxkZXJUcnVuY2F0ZToyMH19PC9zcGFuPlxuICAtLT5cbiAge3tiYWRnZU1vZGVsLnZhbHVlIHwgZWxkZXJUcnVuY2F0ZToyMH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NpbXBsZUF2YXRhclRlbXBsYXRlIGxldC1iYWRnZU1vZGVsPlxuICA8bWF0LWljb24+e3tiYWRnZU1vZGVsLmF2YXRhclNwZWM/Lmljb259fTwvbWF0LWljb24+XG48L25nLXRlbXBsYXRlPlxuIl19
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9iYWRnZS9lbGRlci1iYWRnZS9lbGRlci1iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2JhZGdlL2VsZGVyLWJhZGdlL2VsZGVyLWJhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFFWCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFFaEUsT0FBTyxFQUF3RCx1QkFBdUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RJLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQU9sRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ1MsV0FBNkIsRUFDN0IsYUFBK0I7UUFEL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtJ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QUFFLGlCQUFpQjs7MkZBRS9HLG1CQUFtQjtrQkFUL0IsU0FBUzsrQkFDSSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQzt3REFrQnBILFVBQVU7c0JBRGhCLEtBQUs7Z0JBOEJLLEtBQUs7c0JBRGYsS0FBSztnQkFhSyxTQUFTO3NCQURuQixLQUFLO2dCQWFLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBTUssVUFBVTtzQkFEcEIsS0FBSztnQkFhQyxXQUFXO3NCQURqQixLQUFLO3VCQUFDLFVBQVU7Z0JBWU4saUJBQWlCO3NCQUQzQixZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQU05RCxZQUFZO3NCQUR0QixLQUFLO2dCQVVLLHVCQUF1QjtzQkFEakMsWUFBWTt1QkFBQyw2QkFBNkIsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFNcEUsa0JBQWtCO3NCQUQ1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RoZW1lUGFsZXR0ZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0VsZGVyQ2hpcEFwcGVhcmFuY2UsIEVsZGVyTGV2ZWxDb2xvciwgRWxkZXJTdGF0ZUNvbG9yLCBFbGRlckNoaXBMYWJlbERpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vY2hpcHMvZWxkZXItY2hpcC1sYWJlbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RWxkZXJUcnVuY2F0ZVBpcGV9IGZyb20gJy4uLy4uLy4uL3BpcGVzL2VsZGVyLXRydW5jYXRlLnBpcGUnO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0Q2hpcCwgTWF0Q2hpcEF2YXRhcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWxkZXJCYWRnZUNoaXBdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQmFkZ2VDaGlwRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkgeyB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VsZGVyQmFkZ2VDaGlwQXZhdGFyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckJhZGdlQ2hpcEF2YXRhckRpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZlxuICApIHsgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhZGdlQ29sb3JTcGVjIHtcbiAgcmVhZG9ubHkgdGhlbWU/OiBUaGVtZVBhbGV0dGU7XG4gIHJlYWRvbmx5IHN0YXRlPzogRWxkZXJTdGF0ZUNvbG9yO1xuICByZWFkb25seSBsZXZlbD86IEVsZGVyTGV2ZWxDb2xvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWRnZUF2YXRhclNwZWMge1xuICByZWFkb25seSBpY29uPzogc3RyaW5nO1xufVxuXG5jbGFzcyBFbGRlckJhZGdlTW9kZWwge1xuXG4gIHB1YmxpYyBzdGF0aWMgc3RhbmRhcmQoKTogRWxkZXJCYWRnZU1vZGVsIHtcbiAgICByZXR1cm4gbmV3IEVsZGVyQmFkZ2VNb2RlbCgnJywge3RoZW1lOiAncHJpbWFyeSd9LCB7fSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IGFueSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sb3JTcGVjOiBCYWRnZUNvbG9yU3BlYyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgYXZhdGFyU3BlYzogQmFkZ2VBdmF0YXJTcGVjLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvd0F2YXRhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmF2YXRhclNwZWM/Lmljb247XG4gIH1cblxufVxuXG5pbnRlcmZhY2UgVGVtcGxhdGVXcmFwcGVyIHtcbiAgY2hpcDogVGVtcGxhdGVSZWY8YW55PjtcbiAgYXZhdGFyOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VsZGVyLWJhZGdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VsZGVyLWJhZGdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBNYXRDaGlwLCBFbGRlckNoaXBMYWJlbERpcmVjdGl2ZSwgTWF0Q2hpcEF2YXRhciwgTmdUZW1wbGF0ZU91dGxldCwgTWF0SWNvbiwgQXN5bmNQaXBlLCBFbGRlclRydW5jYXRlUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJCYWRnZUNvbXBvbmVudCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IGJhZGdlTW9kZWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFbGRlckJhZGdlTW9kZWw+KEVsZGVyQmFkZ2VNb2RlbC5zdGFuZGFyZCgpKTtcbiAgcHVibGljIGVsZW1lbnRDbGFzczogc3RyaW5nW10gPSBbXTtcbiAgcmVhZG9ubHkgdGVtcGxhdGVzJDogT2JzZXJ2YWJsZTxUZW1wbGF0ZVdyYXBwZXI+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2hpcFRlbXBsYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hpcEF2YXRhclRlbXBsYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4obnVsbCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFwcGVhcmFuY2U6IEVsZGVyQ2hpcEFwcGVhcmFuY2UgPSAnbGVnYWN5JztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnRlbXBsYXRlcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY2hpcFRlbXBsYXRlJCxcbiAgICAgIHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlJFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtjaGlwLCBhdmF0YXJdKSA9PiB7XG4gICAgICAgIHJldHVybiA8VGVtcGxhdGVXcmFwcGVyPntcbiAgICAgICAgICBjaGlwLFxuICAgICAgICAgIGF2YXRhclxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuYmFkZ2VNb2RlbCQuZ2V0VmFsdWUoKTtcbiAgICB0aGlzLmJhZGdlTW9kZWwkLm5leHQoXG4gICAgICBuZXcgRWxkZXJCYWRnZU1vZGVsKFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgY3VycmVudC5jb2xvclNwZWMsXG4gICAgICAgIGN1cnJlbnQuYXZhdGFyU3BlY1xuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNvbG9yU3BlYyhzcGVjOiBCYWRnZUNvbG9yU3BlYykge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmJhZGdlTW9kZWwkLmdldFZhbHVlKCk7XG4gICAgdGhpcy5iYWRnZU1vZGVsJC5uZXh0KFxuICAgICAgbmV3IEVsZGVyQmFkZ2VNb2RlbChcbiAgICAgICAgY3VycmVudC52YWx1ZSxcbiAgICAgICAgc3BlYyxcbiAgICAgICAgY3VycmVudC5hdmF0YXJTcGVjXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYmFkZ2VDb2xvcihjb2xvcjogVGhlbWVQYWxldHRlKSB7XG4gICAgdGhpcy5jb2xvclNwZWMgPSB7dGhlbWU6IGNvbG9yfTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXZhdGFyU3BlYyhzcGVjOiBCYWRnZUF2YXRhclNwZWMpIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5iYWRnZU1vZGVsJC5nZXRWYWx1ZSgpO1xuICAgIHRoaXMuYmFkZ2VNb2RlbCQubmV4dChcbiAgICAgIG5ldyBFbGRlckJhZGdlTW9kZWwoXG4gICAgICAgIGN1cnJlbnQudmFsdWUsXG4gICAgICAgIGN1cnJlbnQuY29sb3JTcGVjLFxuICAgICAgICBzcGVjXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIEBJbnB1dCgnY3NzQ2xhc3MnKVxuICBwdWJsaWMgc2V0Q3NzQ2xhc3ModmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnRDbGFzcyA9IHZhbC5zcGxpdCgnICcpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFRlbXBsYXRlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQENvbnRlbnRDaGlsZChFbGRlckJhZGdlQ2hpcERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlfSlcbiAgcHVibGljIHNldCBjaGlwVGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcFRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoaXBUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcFRlbXBsYXRlJC5uZXh0KHRlbXBsYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpcFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNoaXBUZW1wbGF0ZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJCYWRnZUNoaXBBdmF0YXJEaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiBmYWxzZX0pXG4gIHB1YmxpYyBzZXQgY2hpcEF2YXRhclRlbXBsYXRlUXVlcnkodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLmNoaXBBdmF0YXJUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGlwQXZhdGFyVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLmNoaXBBdmF0YXJUZW1wbGF0ZSQubmV4dCh0ZW1wbGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBBdmF0YXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZXMkIHwgYXN5bmMgYXMgdGVtcGxhdGVzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJiYWRnZU1vZGVsJCB8IGFzeW5jIGFzIGJhZGdlTW9kZWxcIj5cbiAgICA8bWF0LWNoaXAgZWxkZXJDaGlwTGFiZWwgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJiYWRnZU1vZGVsLmNvbG9yU3BlYz8udGhlbWVcIlxuICAgICAgICAgICAgICBbc3RhdGVDb2xvcl09XCJiYWRnZU1vZGVsLmNvbG9yU3BlYz8uc3RhdGVcIlxuICAgICAgICAgICAgICBbbGV2ZWxDb2xvcl09XCJiYWRnZU1vZGVsLmNvbG9yU3BlYz8ubGV2ZWxcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiJ2VsZGVyLWJhZGdlIGZpbGwgJyArIGVsZW1lbnRDbGFzc1wiPlxuICAgICAgPG1hdC1jaGlwLWF2YXRhciBjbGFzUz1cImVsZGVyLWJhZGdlLWF2YXRhclwiXG4gICAgICAgICpuZ0lmPVwidGVtcGxhdGVzLmF2YXRhciB8fCBiYWRnZU1vZGVsLnNob3dBdmF0YXJcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZXMuYXZhdGFyIHx8IHNpbXBsZUF2YXRhclRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBiYWRnZU1vZGVsfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LWNoaXAtYXZhdGFyPlxuXG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVzLmNoaXAgfHwgc2ltcGxlQ2hpcFRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBiYWRnZU1vZGVsfVwiPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgIDwvbWF0LWNoaXA+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjc2ltcGxlQ2hpcFRlbXBsYXRlIGxldC1iYWRnZU1vZGVsPlxuICA8IS0tXG4gIDxzcGFuIGNsYXNzPVwiZWxkZXItY2hpcC10ZXh0XCI+e3tiYWRnZU1vZGVsLnZhbHVlIHwgZWxkZXJUcnVuY2F0ZToyMH19PC9zcGFuPlxuICAtLT5cbiAge3tiYWRnZU1vZGVsLnZhbHVlIHwgZWxkZXJUcnVuY2F0ZToyMH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NpbXBsZUF2YXRhclRlbXBsYXRlIGxldC1iYWRnZU1vZGVsPlxuICA8bWF0LWljb24+e3tiYWRnZU1vZGVsLmF2YXRhclNwZWM/Lmljb259fTwvbWF0LWljb24+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -98,10 +98,10 @@ export class ElderBadgeDirective {
98
98
  createElderBadgeComponent() {
99
99
  return this.viewContainerRef.createComponent(ElderBadgeComponent);
100
100
  }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeDirective, deps: [{ token: i1.DomSanitizer }, { token: i0.ViewContainerRef }, { token: i2.MatBadge }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
102
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: ElderBadgeDirective, isStandalone: true, selector: "[elderBadge]", inputs: { badgeColor: "badgeColor", badgeIcon: "badgeIcon", elderBadge: "elderBadge", colorSpec: "colorSpec", avatarSpec: "avatarSpec" }, host: { properties: { "style": "this.style" } }, ngImport: i0 }); }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeDirective, deps: [{ token: i1.DomSanitizer }, { token: i0.ViewContainerRef }, { token: i2.MatBadge }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
102
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.4", type: ElderBadgeDirective, isStandalone: true, selector: "[elderBadge]", inputs: { badgeColor: "badgeColor", badgeIcon: "badgeIcon", elderBadge: "elderBadge", colorSpec: "colorSpec", avatarSpec: "avatarSpec" }, host: { properties: { "style": "this.style" } }, ngImport: i0 }); }
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeDirective, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeDirective, decorators: [{
105
105
  type: Directive,
106
106
  args: [{
107
107
  selector: '[elderBadge]',
@@ -10,8 +10,8 @@ import * as i0 from "@angular/core";
10
10
  export * from './elder-badge/elder-badge.component';
11
11
  export * from './elder-badge.directive';
12
12
  export class ElderBadgeModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeModule, imports: [MatChipsModule,
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeModule, imports: [MatChipsModule,
15
15
  ElderChipsModule,
16
16
  AsyncPipe,
17
17
  NgIf,
@@ -25,13 +25,13 @@ export class ElderBadgeModule {
25
25
  ElderBadgeComponent,
26
26
  ElderBadgeChipDirective,
27
27
  ElderBadgeChipAvatarDirective] }); }
28
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeModule, imports: [MatChipsModule,
28
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeModule, imports: [MatChipsModule,
29
29
  ElderChipsModule,
30
30
  ElderPipesModule,
31
31
  MatIconModule,
32
32
  ElderBadgeComponent] }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderBadgeModule, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderBadgeModule, decorators: [{
35
35
  type: NgModule,
36
36
  args: [{
37
37
  imports: [
@@ -5,10 +5,10 @@ export class ElderButtonGroupComponent {
5
5
  }
6
6
  ngOnInit() {
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ElderButtonGroupComponent, isStandalone: true, selector: "elder-button-group", ngImport: i0, template: "<div class=\"layout-row elder-button-group\">\n <ng-content></ng-content>\n</div>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: ElderButtonGroupComponent, isStandalone: true, selector: "elder-button-group", ngImport: i0, template: "<div class=\"layout-row elder-button-group\">\n <ng-content></ng-content>\n</div>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderButtonGroupComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderButtonGroupComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'elder-button-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, template: "<div class=\"layout-row elder-button-group\">\n <ng-content></ng-content>\n</div>\n" }]
14
14
  }], ctorParameters: () => [] });
@@ -7,18 +7,18 @@ import { MatButtonModule } from '@angular/material/button';
7
7
  import * as i0 from "@angular/core";
8
8
  export * from './elder-button-group/elder-button-group.component';
9
9
  export class ElderButtonGroupModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.4", ngImport: i0, type: ElderButtonGroupModule, imports: [CommonModule,
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.4", ngImport: i0, type: ElderButtonGroupModule, imports: [CommonModule,
12
12
  MatMenuModule,
13
13
  MatIconModule,
14
14
  MatButtonModule,
15
15
  ElderButtonGroupComponent], exports: [ElderButtonGroupComponent] }); }
16
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderButtonGroupModule, imports: [CommonModule,
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderButtonGroupModule, imports: [CommonModule,
17
17
  MatMenuModule,
18
18
  MatIconModule,
19
19
  MatButtonModule] }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderButtonGroupModule, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderButtonGroupModule, decorators: [{
22
22
  type: NgModule,
23
23
  args: [{
24
24
  imports: [
@@ -78,10 +78,10 @@ export class ElderCardOrganizerComponent {
78
78
  onCardDropped(event) {
79
79
  this.cardDropped.next(event);
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderCardOrganizerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ElderCardOrganizerComponent, isStandalone: true, selector: "elder-card-organizer", inputs: { canRemove: "canRemove", removeConfirmation: "removeConfirmation", copyOnDrag: "copyOnDrag", autoMoveCards: "autoMoveCards", headerEnabled: "headerEnabled", canEnterPredicate: "canEnterPredicate", organizerModel: "organizerModel" }, outputs: { requestNewCard: "requestNewCard", requestRemoveCard: "requestRemoveCard", cardClick: "cardClick", cardDropped: "cardDropped" }, host: { listeners: { "document:keydown.shift": "onKeydownHandler($event)", "document:keyup.shift": "onKeyupHandler($event)" } }, queries: [{ propertyName: "stackCardTemplate", first: true, predicate: ElderStackCardDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "\n<div class=\"layout-row place-start-stretch gap-lg full p-md card-organizer\">\n <elder-card-stack class=\"flex\"\n *ngFor=\"let stack of stacks$ | async\"\n\n [stack]=\"stack\"\n\n [stackId]=\"stack.id\"\n [headerEnabled]=\"headerEnabled\"\n [headerTitle]=\"stack.title\"\n [canRemove]=\"canRemove\"\n\n [cardTemplate]=\"stackCardTemplate\"\n [removeConfirmation]=\"removeConfirmation\"\n [autoMoveCards]=\"autoMoveCards\"\n (requestNewCard)=\"onRequestNewCard($event)\"\n (requestRemoveCard)=\"onRequestRemoveCard($event)\"\n (cardClick)=\"onCardClicked($event)\"\n\n [connectedTo]=\"organizerModel.stackIds | async\"\n (cardDropped)=\"onCardDropped($event)\"\n [canEnterPredicate]=\"canEnterPredicate\"\n [copyOnDrag]=\"copyOnDrag\"\n >\n </elder-card-stack>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ElderCardStackComponent, selector: "elder-card-stack", inputs: ["stackId", "headerEnabled", "headerTitle", "canRemove", "canAdd", "canDrag", "removeConfirmation", "canEnterPredicate", "connectedTo", "autoMoveCards", "canCollapse", "copyOnDrag", "cardTemplate", "stack"], outputs: ["requestNewCard", "requestRemoveCard", "cardClick", "cardDropped"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCardOrganizerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: ElderCardOrganizerComponent, isStandalone: true, selector: "elder-card-organizer", inputs: { canRemove: "canRemove", removeConfirmation: "removeConfirmation", copyOnDrag: "copyOnDrag", autoMoveCards: "autoMoveCards", headerEnabled: "headerEnabled", canEnterPredicate: "canEnterPredicate", organizerModel: "organizerModel" }, outputs: { requestNewCard: "requestNewCard", requestRemoveCard: "requestRemoveCard", cardClick: "cardClick", cardDropped: "cardDropped" }, host: { listeners: { "document:keydown.shift": "onKeydownHandler($event)", "document:keyup.shift": "onKeyupHandler($event)" } }, queries: [{ propertyName: "stackCardTemplate", first: true, predicate: ElderStackCardDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "\n<div class=\"layout-row place-start-stretch gap-lg full p-md card-organizer\">\n <elder-card-stack class=\"flex\"\n *ngFor=\"let stack of stacks$ | async\"\n\n [stack]=\"stack\"\n\n [stackId]=\"stack.id\"\n [headerEnabled]=\"headerEnabled\"\n [headerTitle]=\"stack.title\"\n [canRemove]=\"canRemove\"\n\n [cardTemplate]=\"stackCardTemplate\"\n [removeConfirmation]=\"removeConfirmation\"\n [autoMoveCards]=\"autoMoveCards\"\n (requestNewCard)=\"onRequestNewCard($event)\"\n (requestRemoveCard)=\"onRequestRemoveCard($event)\"\n (cardClick)=\"onCardClicked($event)\"\n\n [connectedTo]=\"organizerModel.stackIds | async\"\n (cardDropped)=\"onCardDropped($event)\"\n [canEnterPredicate]=\"canEnterPredicate\"\n [copyOnDrag]=\"copyOnDrag\"\n >\n </elder-card-stack>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ElderCardStackComponent, selector: "elder-card-stack", inputs: ["stackId", "headerEnabled", "headerTitle", "canRemove", "canAdd", "canDrag", "removeConfirmation", "canEnterPredicate", "connectedTo", "autoMoveCards", "canCollapse", "copyOnDrag", "cardTemplate", "stack"], outputs: ["requestNewCard", "requestRemoveCard", "cardClick", "cardDropped"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderCardOrganizerComponent, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCardOrganizerComponent, decorators: [{
85
85
  type: Component,
86
86
  args: [{ selector: 'elder-card-organizer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgFor, ElderCardStackComponent, AsyncPipe], template: "\n<div class=\"layout-row place-start-stretch gap-lg full p-md card-organizer\">\n <elder-card-stack class=\"flex\"\n *ngFor=\"let stack of stacks$ | async\"\n\n [stack]=\"stack\"\n\n [stackId]=\"stack.id\"\n [headerEnabled]=\"headerEnabled\"\n [headerTitle]=\"stack.title\"\n [canRemove]=\"canRemove\"\n\n [cardTemplate]=\"stackCardTemplate\"\n [removeConfirmation]=\"removeConfirmation\"\n [autoMoveCards]=\"autoMoveCards\"\n (requestNewCard)=\"onRequestNewCard($event)\"\n (requestRemoveCard)=\"onRequestRemoveCard($event)\"\n (cardClick)=\"onCardClicked($event)\"\n\n [connectedTo]=\"organizerModel.stackIds | async\"\n (cardDropped)=\"onCardDropped($event)\"\n [canEnterPredicate]=\"canEnterPredicate\"\n [copyOnDrag]=\"copyOnDrag\"\n >\n </elder-card-stack>\n</div>\n" }]
87
87
  }], ctorParameters: () => [], propDecorators: { canRemove: [{
@@ -5,10 +5,10 @@ export class ElderStackCardDirective {
5
5
  this.templateRef = templateRef;
6
6
  this.viewContainer = viewContainer;
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderStackCardDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: ElderStackCardDirective, isStandalone: true, selector: "[elderStackCard]", ngImport: i0 }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderStackCardDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.4", type: ElderStackCardDirective, isStandalone: true, selector: "[elderStackCard]", ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderStackCardDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderStackCardDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: '[elderStackCard]',
@@ -159,10 +159,10 @@ export class ElderCardStackComponent {
159
159
  cardDrop.toStack.addCard(cardDrop.card, cardDrop.toIndex);
160
160
  }
161
161
  }
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderCardStackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
163
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ElderCardStackComponent, isStandalone: true, selector: "elder-card-stack", inputs: { stackId: "stackId", headerEnabled: "headerEnabled", headerTitle: "headerTitle", canRemove: "canRemove", canAdd: "canAdd", canDrag: "canDrag", removeConfirmation: "removeConfirmation", canEnterPredicate: "canEnterPredicate", connectedTo: "connectedTo", autoMoveCards: "autoMoveCards", canCollapse: "canCollapse", copyOnDrag: "copyOnDrag", cardTemplate: "cardTemplate", stack: "stack" }, outputs: { requestNewCard: "requestNewCard", requestRemoveCard: "requestRemoveCard", cardClick: "cardClick", cardDropped: "cardDropped" }, queries: [{ propertyName: "cardTemplateQuery", first: true, predicate: ElderStackCardDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"layout-col full card-stack hoverme\">\n\n <!-- Header -->\n <header *ngIf=\"headerEnabled\"\n class=\"layout-row place-start-center flex-none gap-md stack-header p-md\">\n\n <h3 class=\"mat-subtitle-2 noselect\">{{headerTitle | translate}}</h3>\n <small class=\"mat-caption noselect\">({{(cards$ | async)?.length}})</small>\n\n <span class=\"flex\"></span>\n\n <button *ngIf=\"canAdd\" mat-icon-button type=\"button\" (click)=\"onRequestNewCard($event)\">\n <mat-icon>add</mat-icon>\n </button>\n\n </header>\n <mat-divider *ngIf=\"headerEnabled\"></mat-divider>\n\n\n <!-- card list -->\n <div class=\"layout-col flex card-container\">\n\n <div class=\"layout-col gap-sm scrollable p-sm card-list\"\n [id]=\"stackId\"\n cdkDropList\n [cdkDropListDisabled]=\"!canDrag\"\n [cdkDropListData]=\"stack\"\n [cdkDropListConnectedTo]=\"connectedTo\"\n\n [cdkDropListEnterPredicate]=\"enterPredicate\"\n (cdkDropListEntered)=\"cardEntered($event)\"\n (cdkDropListExited)=\"cardExited($event)\"\n (cdkDropListDropped)=\"cardDrop($event)\"\n >\n\n <!-- card -->\n <elder-card\n *ngFor=\"let card of cards$ | async; let i = index\"\n class=\"card flex-none\"\n [ngClass]=\"cardClick.observed ? 'clickable' : 'unclickable'\"\n cdkDrag [cdkDragData]=\"card\"\n (click)=\"onCardSelected($event, card)\">\n\n <div class=\"layout-row place-between-center flex\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate || simpleCardTemplate; context: {$implicit: card, index: i}\"></ng-container>\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"canRemove\" class=\"hide\" (click)=\"onRequestRemoveCard($event, card)\">\n <mat-icon>close</mat-icon>\n </button>\n\n </div>\n\n </elder-card>\n\n </div>\n\n </div>\n\n\n <ng-template #simpleCardTemplate let-card>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">{{card}}</p>\n </div>\n </ng-template>\n\n</div>\n\n\n\n\n", styles: [".stack-header{height:62px}.card-container{min-width:120px;min-height:0}.card-list{min-height:100%}.card{cursor:move}.card.cdk-drag-disabled.clickable{cursor:pointer}.card.cdk-drag-disabled.unclickable{cursor:default}.hoverme .hide{visibility:hidden}.hoverme:hover .hide{visibility:visible}.rotate{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.card-list.cdk-drop-list-dragging .card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ElderCardComponent, selector: "elder-card", inputs: ["appearance", "float", "flat"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCardStackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: ElderCardStackComponent, isStandalone: true, selector: "elder-card-stack", inputs: { stackId: "stackId", headerEnabled: "headerEnabled", headerTitle: "headerTitle", canRemove: "canRemove", canAdd: "canAdd", canDrag: "canDrag", removeConfirmation: "removeConfirmation", canEnterPredicate: "canEnterPredicate", connectedTo: "connectedTo", autoMoveCards: "autoMoveCards", canCollapse: "canCollapse", copyOnDrag: "copyOnDrag", cardTemplate: "cardTemplate", stack: "stack" }, outputs: { requestNewCard: "requestNewCard", requestRemoveCard: "requestRemoveCard", cardClick: "cardClick", cardDropped: "cardDropped" }, queries: [{ propertyName: "cardTemplateQuery", first: true, predicate: ElderStackCardDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"layout-col full card-stack hoverme\">\n\n <!-- Header -->\n <header *ngIf=\"headerEnabled\"\n class=\"layout-row place-start-center flex-none gap-md stack-header p-md\">\n\n <h3 class=\"mat-subtitle-2 noselect\">{{headerTitle | translate}}</h3>\n <small class=\"mat-caption noselect\">({{(cards$ | async)?.length}})</small>\n\n <span class=\"flex\"></span>\n\n <button *ngIf=\"canAdd\" mat-icon-button type=\"button\" (click)=\"onRequestNewCard($event)\">\n <mat-icon>add</mat-icon>\n </button>\n\n </header>\n <mat-divider *ngIf=\"headerEnabled\"></mat-divider>\n\n\n <!-- card list -->\n <div class=\"layout-col flex card-container\">\n\n <div class=\"layout-col gap-sm scrollable p-sm card-list\"\n [id]=\"stackId\"\n cdkDropList\n [cdkDropListDisabled]=\"!canDrag\"\n [cdkDropListData]=\"stack\"\n [cdkDropListConnectedTo]=\"connectedTo\"\n\n [cdkDropListEnterPredicate]=\"enterPredicate\"\n (cdkDropListEntered)=\"cardEntered($event)\"\n (cdkDropListExited)=\"cardExited($event)\"\n (cdkDropListDropped)=\"cardDrop($event)\"\n >\n\n <!-- card -->\n <elder-card\n *ngFor=\"let card of cards$ | async; let i = index\"\n class=\"card flex-none\"\n [ngClass]=\"cardClick.observed ? 'clickable' : 'unclickable'\"\n cdkDrag [cdkDragData]=\"card\"\n (click)=\"onCardSelected($event, card)\">\n\n <div class=\"layout-row place-between-center flex\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate || simpleCardTemplate; context: {$implicit: card, index: i}\"></ng-container>\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"canRemove\" class=\"hide\" (click)=\"onRequestRemoveCard($event, card)\">\n <mat-icon>close</mat-icon>\n </button>\n\n </div>\n\n </elder-card>\n\n </div>\n\n </div>\n\n\n <ng-template #simpleCardTemplate let-card>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">{{card}}</p>\n </div>\n </ng-template>\n\n</div>\n\n\n\n\n", styles: [".stack-header{height:62px}.card-container{min-width:120px;min-height:0}.card-list{min-height:100%}.card{cursor:move}.card.cdk-drag-disabled.clickable{cursor:pointer}.card.cdk-drag-disabled.unclickable{cursor:default}.hoverme .hide{visibility:hidden}.hoverme:hover .hide{visibility:visible}.rotate{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.card-list.cdk-drop-list-dragging .card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ElderCardComponent, selector: "elder-card", inputs: ["appearance", "float", "flat"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderCardStackComponent, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCardStackComponent, decorators: [{
166
166
  type: Component,
167
167
  args: [{ selector: 'elder-card-stack', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, MatIconButton, MatIcon, MatDivider, CdkDropList, NgFor, ElderCardComponent, CdkDrag, NgClass, NgTemplateOutlet, AsyncPipe, TranslateModule], template: "<div class=\"layout-col full card-stack hoverme\">\n\n <!-- Header -->\n <header *ngIf=\"headerEnabled\"\n class=\"layout-row place-start-center flex-none gap-md stack-header p-md\">\n\n <h3 class=\"mat-subtitle-2 noselect\">{{headerTitle | translate}}</h3>\n <small class=\"mat-caption noselect\">({{(cards$ | async)?.length}})</small>\n\n <span class=\"flex\"></span>\n\n <button *ngIf=\"canAdd\" mat-icon-button type=\"button\" (click)=\"onRequestNewCard($event)\">\n <mat-icon>add</mat-icon>\n </button>\n\n </header>\n <mat-divider *ngIf=\"headerEnabled\"></mat-divider>\n\n\n <!-- card list -->\n <div class=\"layout-col flex card-container\">\n\n <div class=\"layout-col gap-sm scrollable p-sm card-list\"\n [id]=\"stackId\"\n cdkDropList\n [cdkDropListDisabled]=\"!canDrag\"\n [cdkDropListData]=\"stack\"\n [cdkDropListConnectedTo]=\"connectedTo\"\n\n [cdkDropListEnterPredicate]=\"enterPredicate\"\n (cdkDropListEntered)=\"cardEntered($event)\"\n (cdkDropListExited)=\"cardExited($event)\"\n (cdkDropListDropped)=\"cardDrop($event)\"\n >\n\n <!-- card -->\n <elder-card\n *ngFor=\"let card of cards$ | async; let i = index\"\n class=\"card flex-none\"\n [ngClass]=\"cardClick.observed ? 'clickable' : 'unclickable'\"\n cdkDrag [cdkDragData]=\"card\"\n (click)=\"onCardSelected($event, card)\">\n\n <div class=\"layout-row place-between-center flex\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate || simpleCardTemplate; context: {$implicit: card, index: i}\"></ng-container>\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"canRemove\" class=\"hide\" (click)=\"onRequestRemoveCard($event, card)\">\n <mat-icon>close</mat-icon>\n </button>\n\n </div>\n\n </elder-card>\n\n </div>\n\n </div>\n\n\n <ng-template #simpleCardTemplate let-card>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">{{card}}</p>\n </div>\n </ng-template>\n\n</div>\n\n\n\n\n", styles: [".stack-header{height:62px}.card-container{min-width:120px;min-height:0}.card-list{min-height:100%}.card{cursor:move}.card.cdk-drag-disabled.clickable{cursor:pointer}.card.cdk-drag-disabled.unclickable{cursor:default}.hoverme .hide{visibility:hidden}.hoverme:hover .hide{visibility:visible}.rotate{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.card-list.cdk-drop-list-dragging .card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
168
168
  }], ctorParameters: () => [], propDecorators: { stackId: [{
@@ -205,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
205
205
  }], stack: [{
206
206
  type: Input
207
207
  }] } });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtb3JnYW5pemVyL2NhcmQtc3RhY2svZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtb3JnYW5pemVyL2NhcmQtc3RhY2svZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakksT0FBTyxFQUFDLGFBQWEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFDLE9BQU8sRUFBMEMsV0FBVyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDcEcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFB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QUFXLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQzt3REFrQnRKLE9BQU87c0JBRGIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsa0JBQWtCO3NCQUR4QixLQUFLO2dCQUlVLGNBQWM7c0JBRDdCLE1BQU07Z0JBSVMsaUJBQWlCO3NCQURoQyxNQUFNO2dCQUlTLFNBQVM7c0JBRHhCLE1BQU07Z0JBSVMsV0FBVztzQkFEMUIsTUFBTTtnQkFJQSxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFVQyxhQUFhO3NCQURuQixLQUFLO2dCQU1DLGlCQUFpQjtzQkFEdkIsWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztnQkFLakUsV0FBVztzQkFEakIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQThCSyxZQUFZO3NCQUR0QixLQUFLO2dCQWNLLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDYXJkRHJvcEV2ZW50LCBDYXJkU3RhY2t9IGZyb20gJy4uL2NhcmQtc3RhY2snO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHtmaXJzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDZGtEcmFnLCBDZGtEcmFnRHJvcCwgQ2RrRHJhZ0VudGVyLCBDZGtEcmFnRXhpdCwgQ2RrRHJvcExpc3R9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VsZGVyU3RhY2tDYXJkRGlyZWN0aXZlfSBmcm9tICcuLi9jYXJkLW9yZ2FuaXplci9lbGRlci1zdGFjay1jYXJkLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0VsZGVyQ2FyZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vY2FyZHMvZWxkZXItY2FyZC9lbGRlci1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdERpdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0SWNvbkJ1dHRvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TmdJZiwgTmdGb3IsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQsIEFzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlbGRlci1jYXJkLXN0YWNrJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE1hdEljb25CdXR0b24sIE1hdEljb24sIE1hdERpdmlkZXIsIENka0Ryb3BMaXN0LCBOZ0ZvciwgRWxkZXJDYXJkQ29tcG9uZW50LCBDZGtEcmFnLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0LCBBc3luY1BpcGUsIFRyYW5zbGF0ZU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJDYXJkU3RhY2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoJ0VsZGVyQ2FyZFN0YWNrQ29tcG9uZW50Jyk7XG5cblxuICBwcml2YXRlIF9zdGFjazogQ2FyZFN0YWNrPGFueSwgYW55PjtcblxuICBwdWJsaWMgY2FyZHMkOiBPYnNlcnZhYmxlPGFueVtdPjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc3RhY2tJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWFkZXJFbmFibGVkID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGVyVGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FuUmVtb3ZlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5BZGQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5EcmFnID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVtb3ZlQ29uZmlybWF0aW9uOiAoY2FyZDogYW55KSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgcmVxdWVzdE5ld0NhcmQgPSBuZXcgRXZlbnRFbWl0dGVyPENhcmRTdGFjazxhbnksIGFueT4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSByZXF1ZXN0UmVtb3ZlQ2FyZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgY2FyZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBjYXJkRHJvcHBlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FyZERyb3BFdmVudDxhbnksIGFueT4+KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbkVudGVyUHJlZGljYXRlOiAoY2FyZDogYW55LCBzdGFjazogQ2FyZFN0YWNrPGFueSwgYW55PikgPT4gYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29ubmVjdGVkVG86IHN0cmluZ1tdID0gW107XG5cbiAgLyoqXG4gICAqIElmIGVuYWJsZWQsIHRoZSBjYXJkIHN0YWNrIHdpbGxcbiAgICogYXV0b21hdGljYWxseSBoYW5kbGUgY2FyZCBkcmFnICYgZHJvcHNcbiAgICogYW5kIG1vdmUgY2FyZCBmcm9tIG9uZSBzdGFjayB0byBhbm90aGVyIGFuZCBtb3ZlXG4gICAqIHRoZW0gaW5zaWRlIGEgc3RhY2suXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXV0b01vdmVDYXJkcyA9IGZhbHNlO1xuXG4gIC8vIFRlbXBsYXRlc1xuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTdGFja0NhcmREaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlfSlcbiAgcHVibGljIGNhcmRUZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIF9jYXJkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbkNvbGxhcHNlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvcHlPbkRyYWcgPSBmYWxzZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnN0YWNrSWQgPSAnaWQtJyArIE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiA2KSArIDEpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQgIHtcblxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjYXJkVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl9jYXJkVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FyZFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jYXJkVGVtcGxhdGUgfHwgdGhpcy5jYXJkVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhY2soKTogQ2FyZFN0YWNrPGFueSwgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YWNrO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdGFjayh2YWx1ZTogQ2FyZFN0YWNrPGFueSwgYW55Pikge1xuICAgIHRoaXMuX3N0YWNrID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5fc3RhY2spIHtcbiAgICAgIHRoaXMuY2FyZHMkID0gdGhpcy5fc3RhY2suY2FyZHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FyZHMkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSBEcmFnICYgRHJvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY2FyZEVudGVyZWQoZXZlbnQ6IENka0RyYWdFbnRlcjxhbnk+KTogdm9pZCB7XG4gICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ0RyYWcgZW50ZXI6JywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGNhcmRFeGl0ZWQoZXZlbnQ6IENka0RyYWdFeGl0PGFueT4pOiB2b2lkIHtcbiAgICAvLyB0aGlzLmxvZ2dlci5kZWJ1ZygnRHJhZyBleGl0JywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGNhcmREcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxDYXJkU3RhY2s8YW55LCBhbnk+Pik6IHZvaWQge1xuXG4gICAgY29uc3QgY2FyZERyb3AgPSBuZXcgQ2FyZERyb3BFdmVudChcbiAgICAgIGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsXG4gICAgICBldmVudC5jb250YWluZXIuZGF0YSxcbiAgICAgIGV2ZW50Lml0ZW0uZGF0YSxcbiAgICAgIHRoaXMuY29weU9uRHJhZyxcbiAgICAgIGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICBldmVudC5jdXJyZW50SW5kZXgsXG4gICAgICBldmVudC5pc1BvaW50ZXJPdmVyQ29udGFpbmVyXG4gICAgKTtcblxuICAgIGlmICh0aGlzLmF1dG9Nb3ZlQ2FyZHMpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FyZERyb3AoY2FyZERyb3ApOyAvLyBUT0RPIE1ha2UgY29uZmlndXJhYmxlIG9yIGRpc2FibGUgd2hlbiBjdXN0b20gc29ydCBpcyBlbmFibGVkP1xuICAgIH1cblxuICAgIHRoaXMuY2FyZERyb3BwZWQubmV4dChjYXJkRHJvcCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVudGVyUHJlZGljYXRlKCk6IChkcmFnOiBDZGtEcmFnPGFueT4sIGRyb3A6IENka0Ryb3BMaXN0PGFueT4pID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAoZHJhZzogQ2RrRHJhZzxhbnk+LCBkcm9wOiBDZGtEcm9wTGlzdDxhbnk+KSAgPT4ge1xuICAgICAgaWYgKHRoaXMuY2FuRW50ZXJQcmVkaWNhdGUpIHtcbiAgICAgICByZXR1cm4gdGhpcy5jYW5FbnRlclByZWRpY2F0ZShkcmFnLmRhdGEsIGRyb3AuZGF0YSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICBwdWJsaWMgb25SZXF1ZXN0TmV3Q2FyZChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucmVxdWVzdE5ld0NhcmQubmV4dCh0aGlzLl9zdGFjayk7XG4gIH1cblxuICBwdWJsaWMgb25SZXF1ZXN0UmVtb3ZlQ2FyZChldmVudDogTW91c2VFdmVudCwgY2FyZDogYW55KTogdm9pZCB7XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuXG4gICAgaWYgKHRoaXMucmVtb3ZlQ29uZmlybWF0aW9uICE9PSB1bmRlZmluZWQpIHtcblxuICAgICAgdGhpcy5yZW1vdmVDb25maXJtYXRpb24oY2FyZCkucGlwZShmaXJzdCgpKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIGNvbmZpcm1lZCA9PiB7XG4gICAgICAgICAgICBpZiAoY29uZmlybWVkKSB7IHRoaXMucmVtb3ZlQ2FyZChjYXJkKTsgfVxuICAgICAgICAgIH0pO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVtb3ZlQ2FyZChjYXJkKTtcbiAgICB9XG5cbiAgfVxuXG4gIHB1YmxpYyBvbkNhcmRTZWxlY3RlZChldmVudDogTW91c2VFdmVudCwgY2FyZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jYXJkQ2xpY2submV4dChjYXJkKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVtb3ZlQ2FyZChjYXJkOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGFjay5yZW1vdmVDYXJkKGNhcmQpO1xuICAgIHRoaXMucmVxdWVzdFJlbW92ZUNhcmQubmV4dChjYXJkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFjdCB0byBkcmFnIGFuZCBkcm9wIGV2ZW50cyAtXG4gICAqIHdpbGwgbW92ZSBjYXJkcyBiZXR3ZWVuIHN0YWNrcyBhbmQgc29ydCB0aGVtIGlmIHBvc3NpYmxlLlxuICAgKiBAcGFyYW0gY2FyZERyb3BcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlQ2FyZERyb3AoY2FyZERyb3A6IENhcmREcm9wRXZlbnQ8YW55LCBhbnk+KTogdm9pZCB7XG4gICAgaWYgKGNhcmREcm9wLmZyb21TdGFjayA9PT0gY2FyZERyb3AudG9TdGFja1xuICAgICAgJiYgY2FyZERyb3AudG9TdGFjayA9PT0gdGhpcy5fc3RhY2spIHtcblxuICAgICAgLy8gRHJhZyAmIERyb3AgaW5zaWRlIHRoZSBzYW1lIHN0YWNrIC0+IHNvcnRcblxuICAgICAgaWYgKCF0aGlzLl9zdGFjay5zb3J0KSB7XG4gICAgICAgIC8vIE9ubHkgYWxsb3cgbWFudWFsIHNvcnQgd2hlbiB0aGUgdXNlciBkaWQgbm90IHByb3ZpZGVcbiAgICAgICAgLy8gYSBnZW5lcmFsIHNvcnQgZnVuY3Rpb25cbiAgICAgICAgdGhpcy5fc3RhY2subW92ZUNhcmQoY2FyZERyb3AuZnJvbUluZGV4LCBjYXJkRHJvcC50b0luZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuXG4gICAgICAvLyBEcm9wcGVkIENhcmQgZnJvbSBhbm90aGVyIHN0YWNrXG5cbiAgICAgIGlmICghY2FyZERyb3AuY29weSkge1xuICAgICAgICBjYXJkRHJvcC5mcm9tU3RhY2sucmVtb3ZlQ2FyZChjYXJkRHJvcC5jYXJkKTtcbiAgICAgIH1cbiAgICAgIGNhcmREcm9wLnRvU3RhY2suYWRkQ2FyZChjYXJkRHJvcC5jYXJkLCBjYXJkRHJvcC50b0luZGV4KTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZnVsbCBjYXJkLXN0YWNrIGhvdmVybWVcIj5cblxuICA8IS0tIEhlYWRlciAtLT5cbiAgPGhlYWRlciAqbmdJZj1cImhlYWRlckVuYWJsZWRcIlxuICAgICAgICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgZmxleC1ub25lIGdhcC1tZCBzdGFjay1oZWFkZXIgcC1tZFwiPlxuXG4gICAgPGgzIGNsYXNzPVwibWF0LXN1YnRpdGxlLTIgbm9zZWxlY3RcIj57e2hlYWRlclRpdGxlIHwgdHJhbnNsYXRlfX08L2gzPlxuICAgIDxzbWFsbCBjbGFzcz1cIm1hdC1jYXB0aW9uIG5vc2VsZWN0XCI+KHt7KGNhcmRzJCB8IGFzeW5jKT8ubGVuZ3RofX0pPC9zbWFsbD5cblxuICAgIDxzcGFuIGNsYXNzPVwiZmxleFwiPjwvc3Bhbj5cblxuICAgIDxidXR0b24gKm5nSWY9XCJjYW5BZGRcIiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvblJlcXVlc3ROZXdDYXJkKCRldmVudClcIj5cbiAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gIDwvaGVhZGVyPlxuICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJoZWFkZXJFbmFibGVkXCI+PC9tYXQtZGl2aWRlcj5cblxuXG4gIDwhLS0gY2FyZCBsaXN0IC0tPlxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IGNhcmQtY29udGFpbmVyXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBnYXAtc20gc2Nyb2xsYWJsZSBwLXNtIGNhcmQtbGlzdFwiXG4gICAgICAgICBbaWRdPVwic3RhY2tJZFwiXG4gICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWNhbkRyYWdcIlxuICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJzdGFja1wiXG4gICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJjb25uZWN0ZWRUb1wiXG5cbiAgICAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cImVudGVyUHJlZGljYXRlXCJcbiAgICAgICAgIChjZGtEcm9wTGlzdEVudGVyZWQpPVwiY2FyZEVudGVyZWQoJGV2ZW50KVwiXG4gICAgICAgICAoY2RrRHJvcExpc3RFeGl0ZWQpPVwiY2FyZEV4aXRlZCgkZXZlbnQpXCJcbiAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiY2FyZERyb3AoJGV2ZW50KVwiXG4gICAgPlxuXG4gICAgICA8IS0tIGNhcmQgLS0+XG4gICAgICA8ZWxkZXItY2FyZFxuICAgICAgICAqbmdGb3I9XCJsZXQgY2FyZCBvZiBjYXJkcyQgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIGNsYXNzPVwiY2FyZCBmbGV4LW5vbmVcIlxuICAgICAgICBbbmdDbGFzc109XCJjYXJkQ2xpY2sub2JzZXJ2ZWQgPyAnY2xpY2thYmxlJyA6ICd1bmNsaWNrYWJsZSdcIlxuICAgICAgICBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJjYXJkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2FyZFNlbGVjdGVkKCRldmVudCwgY2FyZClcIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1iZXR3ZWVuLWNlbnRlciBmbGV4XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYXJkVGVtcGxhdGUgfHwgc2ltcGxlQ2FyZFRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjYXJkLCBpbmRleDogaX1cIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKm5nSWY9XCJjYW5SZW1vdmVcIiAgY2xhc3M9XCJoaWRlXCIgKGNsaWNrKT1cIm9uUmVxdWVzdFJlbW92ZUNhcmQoJGV2ZW50LCBjYXJkKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9lbGRlci1jYXJkPlxuXG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cblxuICA8bmctdGVtcGxhdGUgI3NpbXBsZUNhcmRUZW1wbGF0ZSBsZXQtY2FyZD5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4XCI+XG4gICAgICA8cCBjbGFzcz1cIm5vc2VsZWN0XCI+e3tjYXJkfX08L3A+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvZGl2PlxuXG5cblxuXG4iXX0=
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtb3JnYW5pemVyL2NhcmQtc3RhY2svZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtb3JnYW5pemVyL2NhcmQtc3RhY2svZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakksT0FBTyxFQUFDLGFBQWEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFDLE9BQU8sRUFBMEMsV0FBVyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDcEcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQVVsRixNQUFNLE9BQU8sdUJBQXVCO0lBMkVsQzs7OztnRkFJNEU7SUFFNUU7UUEvRUE7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFXdEUsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFTckIsV0FBTSxHQUFHLElBQUksQ0FBQztRQUdkLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFNTixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBR3pELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFHNUMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFHcEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQU1uRSxnQkFBVyxHQUFhLEVBQUUsQ0FBQztRQUVsQzs7Ozs7V0FLRztRQUVJLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBU3RCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR3BCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFTeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVE7SUFFZixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQ1csWUFBWSxDQUFDLFFBQTBCO1FBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNXLEtBQUssQ0FBQyxLQUEwQjtRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsV0FBVyxDQUFDLEtBQXdCO1FBQ3pDLDJDQUEyQztJQUM3QyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQXVCO1FBQ3ZDLHlDQUF5QztJQUMzQyxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQXVDO1FBRXJELE1BQU0sUUFBUSxHQUFHLElBQUksYUFBYSxDQUNoQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUM1QixLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFDcEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQ2YsSUFBSSxDQUFDLFVBQVUsRUFDZixLQUFLLENBQUMsYUFBYSxFQUNuQixLQUFLLENBQUMsWUFBWSxFQUNsQixLQUFLLENBQUMsc0JBQXNCLENBQzdCLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUVBQWlFO1FBQ2xHLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFrQixFQUFFLElBQXNCLEVBQUcsRUFBRTtZQUNyRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUM1QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBR3JFLGdCQUFnQixDQUFDLEtBQWlCO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBaUIsRUFBRSxJQUFTO1FBRXJELElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUdELElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBRTFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ3hDLFNBQVMsQ0FDUixTQUFTLENBQUMsRUFBRTtnQkFDVixJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVULENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixDQUFDO0lBRUgsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFpQixFQUFFLElBQVM7UUFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxVQUFVLENBQUMsSUFBUztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssY0FBYyxDQUFDLFFBQWlDO1FBQ3RELElBQUksUUFBUSxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsT0FBTztlQUN0QyxRQUFRLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUV0Qyw0Q0FBNEM7WUFFNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLHVEQUF1RDtnQkFDdkQsMEJBQTBCO2dCQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3RCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFFTixrQ0FBa0M7WUFFbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFDRCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQzs4R0EvT1UsdUJBQXVCO2tHQUF2Qix1QkFBdUIsa3BCQWlFcEIsdUJBQXVCLDJCQUFTLFdBQVcsMkNDdkYzRCxtbEVBd0VBLHE4QkRwRGMsSUFBSSw2RkFBRSxhQUFhLDZGQUFFLE9BQU8sMklBQUUsVUFBVSx1RkFBRSxXQUFXLDhmQUFFLEtBQUssbUhBQUUsa0JBQWtCLGdHQUFFLE9BQU8sd2JBQUUsT0FBTyxvRkFBRSxnQkFBZ0IsK0lBQUUsU0FBUyw2Q0FBRSxlQUFlOzsyRkFFakosdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNJLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQzt3REFrQnRKLE9BQU87c0JBRGIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsa0JBQWtCO3NCQUR4QixLQUFLO2dCQUlVLGNBQWM7c0JBRDdCLE1BQU07Z0JBSVMsaUJBQWlCO3NCQURoQyxNQUFNO2dCQUlTLFNBQVM7c0JBRHhCLE1BQU07Z0JBSVMsV0FBVztzQkFEMUIsTUFBTTtnQkFJQSxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFVQyxhQUFhO3NCQURuQixLQUFLO2dCQU1DLGlCQUFpQjtzQkFEdkIsWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztnQkFLakUsV0FBVztzQkFEakIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQThCSyxZQUFZO3NCQUR0QixLQUFLO2dCQWNLLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDYXJkRHJvcEV2ZW50LCBDYXJkU3RhY2t9IGZyb20gJy4uL2NhcmQtc3RhY2snO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHtmaXJzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDZGtEcmFnLCBDZGtEcmFnRHJvcCwgQ2RrRHJhZ0VudGVyLCBDZGtEcmFnRXhpdCwgQ2RrRHJvcExpc3R9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VsZGVyU3RhY2tDYXJkRGlyZWN0aXZlfSBmcm9tICcuLi9jYXJkLW9yZ2FuaXplci9lbGRlci1zdGFjay1jYXJkLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0VsZGVyQ2FyZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vY2FyZHMvZWxkZXItY2FyZC9lbGRlci1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdERpdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0SWNvbkJ1dHRvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TmdJZiwgTmdGb3IsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQsIEFzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlbGRlci1jYXJkLXN0YWNrJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE1hdEljb25CdXR0b24sIE1hdEljb24sIE1hdERpdmlkZXIsIENka0Ryb3BMaXN0LCBOZ0ZvciwgRWxkZXJDYXJkQ29tcG9uZW50LCBDZGtEcmFnLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0LCBBc3luY1BpcGUsIFRyYW5zbGF0ZU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJDYXJkU3RhY2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoJ0VsZGVyQ2FyZFN0YWNrQ29tcG9uZW50Jyk7XG5cblxuICBwcml2YXRlIF9zdGFjazogQ2FyZFN0YWNrPGFueSwgYW55PjtcblxuICBwdWJsaWMgY2FyZHMkOiBPYnNlcnZhYmxlPGFueVtdPjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc3RhY2tJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWFkZXJFbmFibGVkID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGVyVGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FuUmVtb3ZlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5BZGQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5EcmFnID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVtb3ZlQ29uZmlybWF0aW9uOiAoY2FyZDogYW55KSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgcmVxdWVzdE5ld0NhcmQgPSBuZXcgRXZlbnRFbWl0dGVyPENhcmRTdGFjazxhbnksIGFueT4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSByZXF1ZXN0UmVtb3ZlQ2FyZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgY2FyZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBjYXJkRHJvcHBlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FyZERyb3BFdmVudDxhbnksIGFueT4+KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbkVudGVyUHJlZGljYXRlOiAoY2FyZDogYW55LCBzdGFjazogQ2FyZFN0YWNrPGFueSwgYW55PikgPT4gYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29ubmVjdGVkVG86IHN0cmluZ1tdID0gW107XG5cbiAgLyoqXG4gICAqIElmIGVuYWJsZWQsIHRoZSBjYXJkIHN0YWNrIHdpbGxcbiAgICogYXV0b21hdGljYWxseSBoYW5kbGUgY2FyZCBkcmFnICYgZHJvcHNcbiAgICogYW5kIG1vdmUgY2FyZCBmcm9tIG9uZSBzdGFjayB0byBhbm90aGVyIGFuZCBtb3ZlXG4gICAqIHRoZW0gaW5zaWRlIGEgc3RhY2suXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXV0b01vdmVDYXJkcyA9IGZhbHNlO1xuXG4gIC8vIFRlbXBsYXRlc1xuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTdGFja0NhcmREaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlfSlcbiAgcHVibGljIGNhcmRUZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIF9jYXJkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbkNvbGxhcHNlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvcHlPbkRyYWcgPSBmYWxzZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnN0YWNrSWQgPSAnaWQtJyArIE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiA2KSArIDEpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQgIHtcblxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjYXJkVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl9jYXJkVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FyZFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jYXJkVGVtcGxhdGUgfHwgdGhpcy5jYXJkVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhY2soKTogQ2FyZFN0YWNrPGFueSwgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YWNrO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdGFjayh2YWx1ZTogQ2FyZFN0YWNrPGFueSwgYW55Pikge1xuICAgIHRoaXMuX3N0YWNrID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5fc3RhY2spIHtcbiAgICAgIHRoaXMuY2FyZHMkID0gdGhpcy5fc3RhY2suY2FyZHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FyZHMkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSBEcmFnICYgRHJvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY2FyZEVudGVyZWQoZXZlbnQ6IENka0RyYWdFbnRlcjxhbnk+KTogdm9pZCB7XG4gICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ0RyYWcgZW50ZXI6JywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGNhcmRFeGl0ZWQoZXZlbnQ6IENka0RyYWdFeGl0PGFueT4pOiB2b2lkIHtcbiAgICAvLyB0aGlzLmxvZ2dlci5kZWJ1ZygnRHJhZyBleGl0JywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGNhcmREcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxDYXJkU3RhY2s8YW55LCBhbnk+Pik6IHZvaWQge1xuXG4gICAgY29uc3QgY2FyZERyb3AgPSBuZXcgQ2FyZERyb3BFdmVudChcbiAgICAgIGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsXG4gICAgICBldmVudC5jb250YWluZXIuZGF0YSxcbiAgICAgIGV2ZW50Lml0ZW0uZGF0YSxcbiAgICAgIHRoaXMuY29weU9uRHJhZyxcbiAgICAgIGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICBldmVudC5jdXJyZW50SW5kZXgsXG4gICAgICBldmVudC5pc1BvaW50ZXJPdmVyQ29udGFpbmVyXG4gICAgKTtcblxuICAgIGlmICh0aGlzLmF1dG9Nb3ZlQ2FyZHMpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FyZERyb3AoY2FyZERyb3ApOyAvLyBUT0RPIE1ha2UgY29uZmlndXJhYmxlIG9yIGRpc2FibGUgd2hlbiBjdXN0b20gc29ydCBpcyBlbmFibGVkP1xuICAgIH1cblxuICAgIHRoaXMuY2FyZERyb3BwZWQubmV4dChjYXJkRHJvcCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVudGVyUHJlZGljYXRlKCk6IChkcmFnOiBDZGtEcmFnPGFueT4sIGRyb3A6IENka0Ryb3BMaXN0PGFueT4pID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAoZHJhZzogQ2RrRHJhZzxhbnk+LCBkcm9wOiBDZGtEcm9wTGlzdDxhbnk+KSAgPT4ge1xuICAgICAgaWYgKHRoaXMuY2FuRW50ZXJQcmVkaWNhdGUpIHtcbiAgICAgICByZXR1cm4gdGhpcy5jYW5FbnRlclByZWRpY2F0ZShkcmFnLmRhdGEsIGRyb3AuZGF0YSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICBwdWJsaWMgb25SZXF1ZXN0TmV3Q2FyZChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucmVxdWVzdE5ld0NhcmQubmV4dCh0aGlzLl9zdGFjayk7XG4gIH1cblxuICBwdWJsaWMgb25SZXF1ZXN0UmVtb3ZlQ2FyZChldmVudDogTW91c2VFdmVudCwgY2FyZDogYW55KTogdm9pZCB7XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuXG4gICAgaWYgKHRoaXMucmVtb3ZlQ29uZmlybWF0aW9uICE9PSB1bmRlZmluZWQpIHtcblxuICAgICAgdGhpcy5yZW1vdmVDb25maXJtYXRpb24oY2FyZCkucGlwZShmaXJzdCgpKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIGNvbmZpcm1lZCA9PiB7XG4gICAgICAgICAgICBpZiAoY29uZmlybWVkKSB7IHRoaXMucmVtb3ZlQ2FyZChjYXJkKTsgfVxuICAgICAgICAgIH0pO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVtb3ZlQ2FyZChjYXJkKTtcbiAgICB9XG5cbiAgfVxuXG4gIHB1YmxpYyBvbkNhcmRTZWxlY3RlZChldmVudDogTW91c2VFdmVudCwgY2FyZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jYXJkQ2xpY2submV4dChjYXJkKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVtb3ZlQ2FyZChjYXJkOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGFjay5yZW1vdmVDYXJkKGNhcmQpO1xuICAgIHRoaXMucmVxdWVzdFJlbW92ZUNhcmQubmV4dChjYXJkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFjdCB0byBkcmFnIGFuZCBkcm9wIGV2ZW50cyAtXG4gICAqIHdpbGwgbW92ZSBjYXJkcyBiZXR3ZWVuIHN0YWNrcyBhbmQgc29ydCB0aGVtIGlmIHBvc3NpYmxlLlxuICAgKiBAcGFyYW0gY2FyZERyb3BcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlQ2FyZERyb3AoY2FyZERyb3A6IENhcmREcm9wRXZlbnQ8YW55LCBhbnk+KTogdm9pZCB7XG4gICAgaWYgKGNhcmREcm9wLmZyb21TdGFjayA9PT0gY2FyZERyb3AudG9TdGFja1xuICAgICAgJiYgY2FyZERyb3AudG9TdGFjayA9PT0gdGhpcy5fc3RhY2spIHtcblxuICAgICAgLy8gRHJhZyAmIERyb3AgaW5zaWRlIHRoZSBzYW1lIHN0YWNrIC0+IHNvcnRcblxuICAgICAgaWYgKCF0aGlzLl9zdGFjay5zb3J0KSB7XG4gICAgICAgIC8vIE9ubHkgYWxsb3cgbWFudWFsIHNvcnQgd2hlbiB0aGUgdXNlciBkaWQgbm90IHByb3ZpZGVcbiAgICAgICAgLy8gYSBnZW5lcmFsIHNvcnQgZnVuY3Rpb25cbiAgICAgICAgdGhpcy5fc3RhY2subW92ZUNhcmQoY2FyZERyb3AuZnJvbUluZGV4LCBjYXJkRHJvcC50b0luZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuXG4gICAgICAvLyBEcm9wcGVkIENhcmQgZnJvbSBhbm90aGVyIHN0YWNrXG5cbiAgICAgIGlmICghY2FyZERyb3AuY29weSkge1xuICAgICAgICBjYXJkRHJvcC5mcm9tU3RhY2sucmVtb3ZlQ2FyZChjYXJkRHJvcC5jYXJkKTtcbiAgICAgIH1cbiAgICAgIGNhcmREcm9wLnRvU3RhY2suYWRkQ2FyZChjYXJkRHJvcC5jYXJkLCBjYXJkRHJvcC50b0luZGV4KTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZnVsbCBjYXJkLXN0YWNrIGhvdmVybWVcIj5cblxuICA8IS0tIEhlYWRlciAtLT5cbiAgPGhlYWRlciAqbmdJZj1cImhlYWRlckVuYWJsZWRcIlxuICAgICAgICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgZmxleC1ub25lIGdhcC1tZCBzdGFjay1oZWFkZXIgcC1tZFwiPlxuXG4gICAgPGgzIGNsYXNzPVwibWF0LXN1YnRpdGxlLTIgbm9zZWxlY3RcIj57e2hlYWRlclRpdGxlIHwgdHJhbnNsYXRlfX08L2gzPlxuICAgIDxzbWFsbCBjbGFzcz1cIm1hdC1jYXB0aW9uIG5vc2VsZWN0XCI+KHt7KGNhcmRzJCB8IGFzeW5jKT8ubGVuZ3RofX0pPC9zbWFsbD5cblxuICAgIDxzcGFuIGNsYXNzPVwiZmxleFwiPjwvc3Bhbj5cblxuICAgIDxidXR0b24gKm5nSWY9XCJjYW5BZGRcIiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvblJlcXVlc3ROZXdDYXJkKCRldmVudClcIj5cbiAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gIDwvaGVhZGVyPlxuICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJoZWFkZXJFbmFibGVkXCI+PC9tYXQtZGl2aWRlcj5cblxuXG4gIDwhLS0gY2FyZCBsaXN0IC0tPlxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IGNhcmQtY29udGFpbmVyXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBnYXAtc20gc2Nyb2xsYWJsZSBwLXNtIGNhcmQtbGlzdFwiXG4gICAgICAgICBbaWRdPVwic3RhY2tJZFwiXG4gICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWNhbkRyYWdcIlxuICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJzdGFja1wiXG4gICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJjb25uZWN0ZWRUb1wiXG5cbiAgICAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cImVudGVyUHJlZGljYXRlXCJcbiAgICAgICAgIChjZGtEcm9wTGlzdEVudGVyZWQpPVwiY2FyZEVudGVyZWQoJGV2ZW50KVwiXG4gICAgICAgICAoY2RrRHJvcExpc3RFeGl0ZWQpPVwiY2FyZEV4aXRlZCgkZXZlbnQpXCJcbiAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiY2FyZERyb3AoJGV2ZW50KVwiXG4gICAgPlxuXG4gICAgICA8IS0tIGNhcmQgLS0+XG4gICAgICA8ZWxkZXItY2FyZFxuICAgICAgICAqbmdGb3I9XCJsZXQgY2FyZCBvZiBjYXJkcyQgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIGNsYXNzPVwiY2FyZCBmbGV4LW5vbmVcIlxuICAgICAgICBbbmdDbGFzc109XCJjYXJkQ2xpY2sub2JzZXJ2ZWQgPyAnY2xpY2thYmxlJyA6ICd1bmNsaWNrYWJsZSdcIlxuICAgICAgICBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJjYXJkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2FyZFNlbGVjdGVkKCRldmVudCwgY2FyZClcIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1iZXR3ZWVuLWNlbnRlciBmbGV4XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYXJkVGVtcGxhdGUgfHwgc2ltcGxlQ2FyZFRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjYXJkLCBpbmRleDogaX1cIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKm5nSWY9XCJjYW5SZW1vdmVcIiAgY2xhc3M9XCJoaWRlXCIgKGNsaWNrKT1cIm9uUmVxdWVzdFJlbW92ZUNhcmQoJGV2ZW50LCBjYXJkKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9lbGRlci1jYXJkPlxuXG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cblxuICA8bmctdGVtcGxhdGUgI3NpbXBsZUNhcmRUZW1wbGF0ZSBsZXQtY2FyZD5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4XCI+XG4gICAgICA8cCBjbGFzcz1cIm5vc2VsZWN0XCI+e3tjYXJkfX08L3A+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvZGl2PlxuXG5cblxuXG4iXX0=
@@ -17,15 +17,15 @@ export * from './card-organizer/elder-stack-card.directive';
17
17
  export * from './card-organizer/elder-card-organizer.component';
18
18
  export * from './card-stack/elder-card-stack.component';
19
19
  export class ElderCardOrganizerModule {
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderCardOrganizerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.4", ngImport: i0, type: ElderCardOrganizerModule, imports: [CommonModule,
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCardOrganizerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.4", ngImport: i0, type: ElderCardOrganizerModule, imports: [CommonModule,
22
22
  MatIconModule, MatButtonModule, MatDividerModule,
23
23
  MatRippleModule,
24
24
  DragDropModule,
25
25
  TranslateModule,
26
26
  ElderCardModule,
27
27
  ElderCardOrganizerComponent, ElderCardStackComponent, ElderStackCardDirective], exports: [ElderCardOrganizerComponent, ElderCardStackComponent, ElderStackCardDirective] }); }
28
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderCardOrganizerModule, imports: [CommonModule,
28
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCardOrganizerModule, imports: [CommonModule,
29
29
  MatIconModule, MatButtonModule, MatDividerModule,
30
30
  MatRippleModule,
31
31
  DragDropModule,
@@ -33,7 +33,7 @@ export class ElderCardOrganizerModule {
33
33
  ElderCardModule,
34
34
  ElderCardOrganizerComponent, ElderCardStackComponent] }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderCardOrganizerModule, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCardOrganizerModule, decorators: [{
37
37
  type: NgModule,
38
38
  args: [{
39
39
  imports: [
@@ -5,10 +5,10 @@ export class ElderCardHeaderComponent {
5
5
  constructor() {
6
6
  this.padding = '15px 15px 5px 15px';
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ElderCardHeaderComponent, isStandalone: true, selector: "elder-card-header", inputs: { padding: "padding" }, ngImport: i0, template: "\n<!-- Card Header -->\n<div class=\"layout-row place-start-center elder-card-header\" [ngStyle]=\"{'padding': padding}\">\n\n <!-- Card Title -->\n <ng-content select=\"elder-card-title\">\n </ng-content>\n\n <span class=\"flex\"></span>\n\n <!-- Card Header Actions -->\n <div class=\"layout-row place-end-center gap-md\">\n <ng-content select=\"elder-card-header-actions\"></ng-content>\n </div>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: ElderCardHeaderComponent, isStandalone: true, selector: "elder-card-header", inputs: { padding: "padding" }, ngImport: i0, template: "\n<!-- Card Header -->\n<div class=\"layout-row place-start-center elder-card-header\" [ngStyle]=\"{'padding': padding}\">\n\n <!-- Card Title -->\n <ng-content select=\"elder-card-title\">\n </ng-content>\n\n <span class=\"flex\"></span>\n\n <!-- Card Header Actions -->\n <div class=\"layout-row place-end-center gap-md\">\n <ng-content select=\"elder-card-header-actions\"></ng-content>\n </div>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderCardHeaderComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCardHeaderComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'elder-card-header', encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgStyle], template: "\n<!-- Card Header -->\n<div class=\"layout-row place-start-center elder-card-header\" [ngStyle]=\"{'padding': padding}\">\n\n <!-- Card Title -->\n <ng-content select=\"elder-card-title\">\n </ng-content>\n\n <span class=\"flex\"></span>\n\n <!-- Card Header Actions -->\n <div class=\"layout-row place-end-center gap-md\">\n <ng-content select=\"elder-card-header-actions\"></ng-content>\n </div>\n\n</div>\n" }]
14
14
  }], propDecorators: { padding: [{