@coolon/angular-ui-powerups 16.1.0-aplpha.17 → 16.1.0-aplpha.171

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 (249) hide show
  1. package/assets/activities/activities.scss +5 -3
  2. package/assets/activities/input-activities.scss +14 -6
  3. package/assets/draw.scss +20 -0
  4. package/assets/form.scss +74 -27
  5. package/assets/icons.scss +1 -0
  6. package/assets/layout.scss +3 -0
  7. package/assets/styles.scss +2 -0
  8. package/assets/table.scss +41 -19
  9. package/assets/tabs.scss +15 -5
  10. package/esm2022/lib/animations/slide-animations.mjs +15 -10
  11. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +4 -4
  12. package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +115 -0
  13. package/esm2022/lib/components/commands/command/command.component.mjs +34 -29
  14. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +11 -3
  15. package/esm2022/lib/components/commands/command-face.mjs +12 -11
  16. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +31 -8
  17. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +25 -23
  18. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +11 -20
  19. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -7
  20. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +11 -20
  21. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +8 -6
  22. package/esm2022/lib/components/commands/separator.component.mjs +6 -12
  23. package/esm2022/lib/components/components.module.mjs +55 -30
  24. package/esm2022/lib/components/disposable-component.mjs +32 -7
  25. package/esm2022/lib/components/exports.mjs +14 -5
  26. package/esm2022/lib/components/file/file-download/file-download.component.mjs +78 -0
  27. package/esm2022/lib/components/forms/abstract-input.component.mjs +55 -12
  28. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +4 -4
  29. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -6
  30. package/esm2022/lib/components/forms/form-field.mjs +2 -0
  31. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +4 -4
  32. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +84 -9
  33. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +40 -3
  34. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +33 -0
  35. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +11 -10
  36. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +30 -11
  37. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +8 -4
  38. package/esm2022/lib/components/icon/icon.component.mjs +7 -4
  39. package/esm2022/lib/components/loadable-component.mjs +36 -8
  40. package/esm2022/lib/components/resize-aware.component.mjs +61 -24
  41. package/esm2022/lib/components/switch-case/switch-case.component.mjs +5 -7
  42. package/esm2022/lib/components/tables/abstract-table-model.mjs +112 -63
  43. package/esm2022/lib/components/tables/abstract-table.component.mjs +19 -5
  44. package/esm2022/lib/components/tables/column/column-manager.mjs +81 -0
  45. package/esm2022/lib/components/tables/column/column-model.mjs +16 -6
  46. package/esm2022/lib/components/tables/column/column-order-manager.mjs +19 -0
  47. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
  48. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +3 -3
  49. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +3 -3
  50. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +3 -3
  51. package/esm2022/lib/components/tables/column/property-column-model.mjs +3 -3
  52. package/esm2022/lib/components/tables/column/selection-column-model.mjs +35 -13
  53. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +2 -2
  54. package/esm2022/lib/components/tables/editor/edit-session.mjs +1 -1
  55. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +4 -2
  56. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +16 -2
  57. package/esm2022/lib/components/tables/footer/footer-row-model.mjs +38 -0
  58. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +1 -1
  59. package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +7 -0
  60. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +23 -5
  61. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +3 -3
  62. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +7 -4
  63. package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +2 -0
  64. package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +153 -0
  65. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +150 -40
  66. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +6 -6
  67. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +45 -0
  68. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +71 -0
  69. package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +30 -0
  70. package/esm2022/lib/components/tables/table/table-model.mjs +12 -3
  71. package/esm2022/lib/components/tables/table/table.component.mjs +39 -61
  72. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +5 -4
  73. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +1 -1
  74. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +3 -3
  75. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +12 -5
  76. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +4 -7
  77. package/esm2022/lib/components/text/markdown/markdown.component.mjs +2 -2
  78. package/esm2022/lib/directives/command.directive.mjs +18 -7
  79. package/esm2022/lib/directives/directives.module.mjs +1 -1
  80. package/esm2022/lib/directives/exports.mjs +2 -1
  81. package/esm2022/lib/directives/highlight.pipe.mjs +9 -8
  82. package/esm2022/lib/directives/resize-observer.directive.mjs +40 -0
  83. package/esm2022/lib/interaction/abstract-interaction-context.mjs +6 -7
  84. package/esm2022/lib/interaction/activity-context.mjs +4 -0
  85. package/esm2022/lib/interaction/activity.mjs +20 -21
  86. package/esm2022/lib/interaction/alert.mjs +2 -2
  87. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +11 -8
  88. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +1 -41
  89. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +28 -16
  90. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +8 -2
  91. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +46 -15
  92. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +53 -15
  93. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +4 -4
  94. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +1 -1
  95. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +1 -1
  96. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +1 -1
  97. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +10 -10
  98. package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +55 -0
  99. package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +54 -0
  100. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +4 -8
  101. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +4 -8
  102. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +7 -9
  103. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  104. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +4 -4
  105. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +21 -5
  106. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +2 -2
  107. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +4 -2
  108. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +8 -4
  109. package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +134 -0
  110. package/esm2022/lib/interaction/confirm.mjs +26 -2
  111. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +2 -2
  112. package/esm2022/lib/interaction/exports.mjs +6 -1
  113. package/esm2022/lib/interaction/interaction-context-provider.mjs +17 -0
  114. package/esm2022/lib/interaction/interaction-context.mjs +3 -2
  115. package/esm2022/lib/interaction/interaction.module.mjs +22 -14
  116. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
  117. package/esm2022/lib/interaction/services/interaction.service.mjs +18 -6
  118. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +2 -2
  119. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +23 -4
  120. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +4 -5
  121. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +7 -9
  122. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +2 -2
  123. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +1 -1
  124. package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
  125. package/esm2022/lib/place/guards/place.guard.mjs +6 -5
  126. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
  127. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +3 -6
  128. package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -2
  129. package/esm2022/lib/place/place-auth-service.mjs +7 -6
  130. package/esm2022/lib/place/place-component.mjs +29 -19
  131. package/esm2022/lib/place/place-definition.mjs +15 -4
  132. package/esm2022/lib/place/place-history.mjs +2 -2
  133. package/esm2022/lib/place/place-router.mjs +27 -23
  134. package/esm2022/lib/place/place.decorator.mjs +2 -2
  135. package/esm2022/lib/place/place.module.mjs +1 -5
  136. package/esm2022/lib/place/route/formatter.mjs +2 -2
  137. package/esm2022/lib/place/route/parameter-decorators.mjs +54 -50
  138. package/esm2022/lib/place/route/parameter-definition.mjs +2 -2
  139. package/esm2022/lib/place/url-snapshot.mjs +3 -3
  140. package/esm2022/lib/place/visit-segment.mjs +2 -2
  141. package/esm2022/lib/place/visit.mjs +2 -2
  142. package/esm2022/lib/services/exports.mjs +2 -1
  143. package/esm2022/lib/services/loading-monitor.mjs +81 -0
  144. package/fesm2022/coolon-angular-ui-powerups.mjs +2534 -1084
  145. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  146. package/lib/animations/slide-animations.d.ts +1 -0
  147. package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
  148. package/lib/components/commands/button-renderer/button-renderer.component.d.ts +30 -0
  149. package/lib/components/commands/command/command.component.d.ts +8 -8
  150. package/lib/components/commands/command-face/command-face.component.d.ts +2 -0
  151. package/lib/components/commands/command-face.d.ts +8 -9
  152. package/lib/components/commands/group/popup-aware.component.d.ts +9 -4
  153. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +4 -4
  154. package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +2 -4
  155. package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +2 -0
  156. package/lib/components/commands/group/popup-menu/popup-menu.component.d.ts +2 -4
  157. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +1 -1
  158. package/lib/components/commands/separator.component.d.ts +2 -4
  159. package/lib/components/components.module.d.ts +60 -55
  160. package/lib/components/disposable-component.d.ts +16 -3
  161. package/lib/components/exports.d.ts +13 -4
  162. package/lib/components/file/file-download/file-download.component.d.ts +43 -0
  163. package/lib/components/forms/abstract-input.component.d.ts +13 -5
  164. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +2 -0
  165. package/lib/components/forms/form-field.d.ts +5 -0
  166. package/lib/components/forms/number-input/number-input.component.d.ts +16 -4
  167. package/lib/components/forms/password-input/password-input.component.d.ts +7 -1
  168. package/lib/components/forms/search-input/search-input.component.d.ts +10 -0
  169. package/lib/components/forms/select-input/select-input.component.d.ts +4 -3
  170. package/lib/components/forms/string-input/string-input.component.d.ts +7 -1
  171. package/lib/components/forms/text-input/text-input.component.d.ts +3 -0
  172. package/lib/components/loadable-component.d.ts +10 -5
  173. package/lib/components/resize-aware.component.d.ts +24 -5
  174. package/lib/components/switch-case/switch-case.component.d.ts +2 -3
  175. package/lib/components/tables/abstract-table-model.d.ts +50 -25
  176. package/lib/components/tables/abstract-table.component.d.ts +4 -3
  177. package/lib/components/tables/column/column-manager.d.ts +19 -0
  178. package/lib/components/tables/column/column-model.d.ts +7 -3
  179. package/lib/components/tables/column/column-order-manager.d.ts +20 -0
  180. package/lib/components/tables/column/custom-template-column-model.d.ts +3 -2
  181. package/lib/components/tables/column/custom-value-column-model.d.ts +3 -2
  182. package/lib/components/tables/column/editor-controls-column-model.d.ts +3 -2
  183. package/lib/components/tables/column/list-propery-column-model.d.ts +3 -2
  184. package/lib/components/tables/column/property-column-model.d.ts +3 -2
  185. package/lib/components/tables/column/selection-column-model.d.ts +10 -4
  186. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +1 -1
  187. package/lib/components/tables/editor/edit-session.d.ts +1 -1
  188. package/lib/components/tables/filter/text-search-predicate.d.ts +9 -0
  189. package/lib/components/tables/footer/footer-row-model.d.ts +22 -0
  190. package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +6 -0
  191. package/lib/components/tables/renderer/cell-portal-ref.d.ts +20 -12
  192. package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +1 -1
  193. package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +7 -0
  194. package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +42 -0
  195. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +40 -16
  196. package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +2 -3
  197. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +19 -0
  198. package/lib/components/tables/renderer/{table-more-menu/table-more-menu.component.d.ts → table-custom-more-menu/table-custom-more-menu.component.d.ts} +8 -7
  199. package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +11 -0
  200. package/lib/components/tables/table/table-model.d.ts +4 -4
  201. package/lib/components/tables/table/table.component.d.ts +14 -10
  202. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +1 -1
  203. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +3 -2
  204. package/lib/components/tables/tree-table/tree-table-component.d.ts +3 -0
  205. package/lib/components/tables/tree-table/tree-table-model.d.ts +4 -5
  206. package/lib/directives/command.directive.d.ts +6 -4
  207. package/lib/directives/exports.d.ts +1 -0
  208. package/lib/directives/resize-observer.directive.d.ts +16 -0
  209. package/lib/interaction/abstract-interaction-context.d.ts +1 -1
  210. package/lib/interaction/activity-context.d.ts +9 -0
  211. package/lib/interaction/activity.d.ts +7 -7
  212. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +2 -1
  213. package/lib/interaction/components/abstract-dialog.component.d.ts +5 -14
  214. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +12 -9
  215. package/lib/interaction/components/activity-body/activity-body.component.d.ts +2 -1
  216. package/lib/interaction/components/activity-container/activity-container.component.d.ts +10 -4
  217. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +3 -3
  218. package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
  219. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +6 -1
  220. package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +17 -0
  221. package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +15 -0
  222. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  223. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +5 -3
  224. package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +53 -0
  225. package/lib/interaction/confirm.d.ts +4 -0
  226. package/lib/interaction/exports.d.ts +5 -0
  227. package/lib/interaction/interaction-context-provider.d.ts +11 -0
  228. package/lib/interaction/interaction-context.d.ts +7 -1
  229. package/lib/interaction/interaction.module.d.ts +35 -33
  230. package/lib/interaction/services/interaction-service-routing-adapter.d.ts +2 -2
  231. package/lib/interaction/services/interaction.service.d.ts +2 -1
  232. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +1 -1
  233. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +3 -1
  234. package/lib/place/components/place-outlet/place-outlet.component.d.ts +3 -4
  235. package/lib/place/place-auth-service.d.ts +4 -4
  236. package/lib/place/place-component.d.ts +7 -5
  237. package/lib/place/place-definition.d.ts +2 -0
  238. package/lib/place/place-router.d.ts +6 -2
  239. package/lib/place/place.module.d.ts +4 -5
  240. package/lib/services/exports.d.ts +1 -0
  241. package/lib/services/loading-monitor.d.ts +29 -0
  242. package/package.json +6 -4
  243. package/esm2022/lib/components/tables/column/column-list-model.mjs +0 -44
  244. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +0 -33
  245. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +0 -60
  246. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +0 -84
  247. package/lib/components/tables/column/column-list-model.d.ts +0 -13
  248. package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +0 -15
  249. package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +0 -28
@@ -52,8 +52,10 @@
52
52
  aup-activity-body {
53
53
  display: block;
54
54
 
55
- padding-top: var(--aup-activity-padding-top, var(--aup-activity-padding));
56
- padding-bottom: var(--aup-activity-padding-bottom, var(--aup-activity-padding));
55
+ &:not(.full-height) {
56
+ padding-top: var(--aup-activity-padding-top, var(--aup-activity-padding));
57
+ padding-bottom: var(--aup-activity-padding-bottom, var(--aup-activity-padding));
58
+ }
57
59
 
58
60
  &:not(.full-width) {
59
61
  padding-left: var(--aup-activity-padding-left, var(--aup-activity-padding));
@@ -62,7 +64,7 @@
62
64
  }
63
65
 
64
66
  aup-activity-title.transparent-background + aup-activity-body {
65
- padding-top: 0;//var(--aup-activity-padding-top, var(--aup-activity-padding));
67
+ padding-top: 0; //var(--aup-activity-padding-top, var(--aup-activity-padding));
66
68
  }
67
69
 
68
70
  aup-activity-actions {
@@ -1,12 +1,11 @@
1
-
2
1
  @mixin apply-theme($color-config, $typography-config) {
3
2
 
4
3
  .aup-input-activity {
5
4
 
6
- padding-left: var(--aup-activity-padding-left, 0);
7
- padding-right: var(--aup-activity-padding-right, 0);
8
- padding-top: var(--aup-activity-padding-top, 0);
9
- padding-bottom: var(--aup-activity-padding-bottom, 0);
5
+ padding-top: var(--aup-activity-padding-top, var(--aup-activity-padding));
6
+ padding-left: var(--aup-activity-padding-left, var(--aup-activity-padding));
7
+ padding-bottom: var(--aup-activity-padding-bottom, var(--aup-activity-padding));
8
+ padding-right: var(--aup-activity-padding-right, var(--aup-activity-padding));
10
9
 
11
10
  //&[layout=block] {
12
11
  //}
@@ -15,6 +14,7 @@
15
14
  &[layout=inline] {
16
15
  display: flex;
17
16
  flex-direction: row;
17
+ align-items: center;
18
18
  }
19
19
 
20
20
  aup-activity-actions {
@@ -27,9 +27,17 @@
27
27
  padding-left: var(--aup-activity-padding-left, var(--aup-activity-padding));
28
28
  padding-right: var(--aup-activity-padding-right, var(--aup-activity-padding));
29
29
 
30
+ &[layout=inline] {
31
+ --p: calc(var(--aup-activity-padding)/2);
32
+ padding-top: var(--aup-activity-padding-top, var(--p));
33
+ padding-bottom: var(--aup-activity-padding-bottom, var(--p));
34
+ }
35
+
30
36
  &[layout=block] {
31
- padding-bottom: var(--aup-activity-padding-bottom, var(--aup-activity-padding));
37
+ padding-top: var(--aup-activity-padding-top, var(--aup-activity-padding));
38
+ padding-bottom: 0; //var(--aup-activity-padding-bottom, var(--aup-activity-padding));
32
39
  }
40
+
33
41
  }
34
42
 
35
43
 
@@ -0,0 +1,20 @@
1
+ mat-drawer-container {
2
+ background-color: white;
3
+ &.flex, &[flex] {
4
+ flex: 1;
5
+ ::ng-deep {
6
+ .mat-drawer-inner-container {
7
+ display:flex;
8
+ flex-direction: column;
9
+ align-items: stretch;
10
+ }
11
+ }
12
+
13
+ mat-drawer-content {
14
+ display:flex;
15
+ flex-direction: column;
16
+ align-items: stretch;
17
+ }
18
+
19
+ }
20
+ }
package/assets/form.scss CHANGED
@@ -7,6 +7,12 @@
7
7
 
8
8
  display: block;
9
9
 
10
+ span[matsuffix] {
11
+ display: inline-flex;
12
+ flex-direction: row;
13
+ align-items: center;
14
+ }
15
+
10
16
  mat-form-field, input {
11
17
  width: 100%;
12
18
 
@@ -16,6 +22,12 @@
16
22
  }
17
23
  }
18
24
 
25
+ &.disabled {
26
+ mat-hint {
27
+ color: var(--mdc-outlined-text-field-disabled-label-text-color)
28
+ }
29
+ }
30
+
19
31
  mat-form-field {
20
32
  // matPrefix/Suffix alignment is a bit shit..
21
33
  // Icons float much higher than the text, button icons don't center.
@@ -27,10 +39,12 @@
27
39
  align-self: flex-end; // sit on the bottom of the line
28
40
  align-items: center; // and center our internal content.
29
41
  }
42
+
30
43
  /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
31
44
  .mat-form-field-infix {
32
45
  width: auto;
33
46
  }
47
+
34
48
  /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
35
49
  /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
36
50
  .mat-form-field-suffix {
@@ -39,42 +53,72 @@
39
53
  }
40
54
  }
41
55
 
56
+ // Stops floating labels being clobbered by the form contents
57
+ .mdc-text-field--outlined .mdc-notched-outline {
58
+ z-index: 2;
59
+ }
60
+
61
+ --mat-form-field-subscript-text-line-height: 13px; // was 20px
62
+ .mat-mdc-form-field-hint-wrapper, .mat-mdc-form-field-error-wrapper {
63
+ padding: 0 4px;
64
+ }
65
+
42
66
  }
43
67
 
68
+ &:not(.dense) {
69
+ margin-top: 4px; // HACK: make room for the float label
70
+ }
44
71
 
45
72
  &.dense {
73
+
46
74
  mat-form-field {
47
- /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
48
- .mat-form-field-infix {
49
- border-top: none;
50
- }
51
- /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
52
- .mat-form-field-flex {
53
- padding-top: 0;
54
- align-items: center; // normally baseline but this causes the date range picker to add about 3px to the height
55
- }
56
- /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
57
- .mat-form-field-wrapper {
58
- padding-bottom: 0;
59
- border-bottom: 0;
75
+ .mat-mdc-form-field-icon-prefix > .mat-icon {
76
+ padding: 6px 0 6px 8px;
60
77
  }
61
- /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
62
- .mat-form-field-underline {
63
- bottom: 0
64
- }
65
- /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
66
- /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
67
- &.mat-form-field-can-float.mat-form-field-should-float {
68
- /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
69
- .mat-form-field-label-wrapper {
70
- display: none;
71
- }
78
+
79
+ .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix {
80
+ min-height: 37px;
81
+ padding-top: 6px;
82
+ padding-bottom: 6px;
83
+
72
84
  }
73
- /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
74
- &.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper {
75
- transform: translateY(0); // stop the arrow moving up to center with the input and the now missing label.
85
+
86
+ .mat-mdc-form-field-subscript-wrapper {
87
+ // TODO: make it visible if there's a hint or error
88
+ display: none;
76
89
  }
77
90
 
91
+ ///* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
92
+ //.mat-form-field-infix {
93
+ // border-top: none;
94
+ //}
95
+ ///* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
96
+ //.mat-form-field-flex {
97
+ // padding-top: 0;
98
+ // align-items: center; // normally baseline but this causes the date range picker to add about 3px to the height
99
+ //}
100
+ ///* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
101
+ //.mat-form-field-wrapper {
102
+ // padding-bottom: 0;
103
+ // border-bottom: 0;
104
+ //}
105
+ ///* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
106
+ //.mat-form-field-underline {
107
+ // bottom: 0
108
+ //}
109
+ ///* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
110
+ ///* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
111
+ //&.mat-form-field-can-float.mat-form-field-should-float {
112
+ // /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
113
+ // .mat-form-field-label-wrapper {
114
+ // display: none;
115
+ // }
116
+ //}
117
+ ///* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
118
+ //&.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper {
119
+ // transform: translateY(0); // stop the arrow moving up to center with the input and the now missing label.
120
+ //}
121
+
78
122
  }
79
123
  }
80
124
  }
@@ -87,15 +131,18 @@ aup-table-cell-renderer > .aup-input-component {
87
131
  .mat-form-field-flex {
88
132
  padding-top: 0;
89
133
  }
134
+
90
135
  /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
91
136
  .mat-form-field-infix {
92
137
  width: 0; // ensure it doesn't expand the cell.
93
138
  //border-top: none; // remove label space
94
139
  }
140
+
95
141
  /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
96
142
  .mat-form-field-label-wrapper { // hide the label
97
143
  display: none;
98
144
  }
145
+
99
146
  /* TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
100
147
  .mat-form-field-subscript-wrapper {
101
148
 
package/assets/icons.scss CHANGED
@@ -7,6 +7,7 @@
7
7
  aup-icon {
8
8
  // egregious hackery to get the font awesome icons positioning correctly
9
9
  --fa-icon-offset: calc((var(--aup-icon-width) - var(--aup-fa-icon-width)) / 2);
10
+ line-height: 0;
10
11
 
11
12
  position: relative;
12
13
  fa-icon {
@@ -0,0 +1,3 @@
1
+ [flex], .flex {
2
+ flex:1;
3
+ }
@@ -4,7 +4,9 @@
4
4
  @use "./activities/activities";
5
5
  @use "./cards";
6
6
  @use "./router";
7
+ @use "./layout";
7
8
  @use "./tabs";
9
+ @use "./draw";
8
10
  @use "./interaction";
9
11
  @use "./form";
10
12
  @use "./table";
package/assets/table.scss CHANGED
@@ -1,16 +1,25 @@
1
1
  @use '@angular/material' as mat;
2
2
 
3
- .aup-table-component {
4
- --resolved-column-gap: var(--column-gap, var(--aup-table-column-gap, 24px)); // material design table column padding
5
- --resolved-row-selected-background-color: var(--row-selected-background-color, var(--aup-table-row-selected-background-color, rgba(0, 0, 255, 0.04)));
6
- --resolved-row-hover-background-color: var(--row-hover-background-color, var(--aup-table-row-hover-background-color, rgba(0, 0, 0, 0.05)));
7
- --resolved-first-column-padding-left: var(--first-column-padding-left, var(--aup-table-first-column-padding-left, var(--resolved-column-gap)));
8
- --resolved-last-column-padding-right: var(--last-column-padding-right, var(--aup-table-last-column-padding-right, var(--resolved-column-gap)));
9
- //--resolved-header-row-height: var(--aup-table-header-row-height, 48px);
10
- //--resolved-row-height: var(--aup-table-row-height, 48px);
3
+ :root {
4
+ --aup-table-column-gap: var(--default-padding, 16px); // material design table column padding
5
+ --aup-table-row-selected-background-color: rgba(0, 0, 255, 0.04);
6
+ --aup-table-row-hover-background-color: rgba(0, 0, 0, 0.05);
7
+ --aup-table-first-column-padding-left: var(--aup-table-column-gap);
8
+ --aup-table-last-column-padding-right: var(--aup-table-last-column-padding-right, var(--aup-table-column-gap));
9
+ --aup-table-header-row-height: 48px;
10
+ --aup-table-row-height: 40px;
11
+ }
11
12
 
12
- @include mat.all-component-densities(-3);
13
+ .aup-table-component {
14
+ --resolved-column-gap: var(--column-gap, var(--aup-table-column-gap)); // material design table column padding
15
+ --resolved-row-selected-background-color: var(--aup-table-row-selected-background-color);
16
+ --resolved-row-hover-background-color: var(--aup-table-row-hover-background-color);
17
+ --resolved-first-column-padding-left: var(--aup-table-first-column-padding-left);
18
+ --resolved-last-column-padding-right: var(--aup-table-last-column-padding-right, var(--resolved-column-gap));
19
+ --resolved-header-row-height: var(--aup-table-header-row-height);
20
+ --resolved-row-height: var(--aup-table-row-height);
13
21
 
22
+ @include mat.all-component-densities(-2);
14
23
 
15
24
  &.hide-header {
16
25
  .mat-mdc-table thead {
@@ -26,9 +35,29 @@
26
35
  }
27
36
 
28
37
  tr.mat-mdc-header-row {
29
- height: auto;
38
+ //height: auto;
30
39
  }
31
40
 
41
+ tr.mat-mdc-footer-row {
42
+ min-height: 0;
43
+ > td {
44
+ @include mat.all-component-densities(0);
45
+ aup-table-footer-row {
46
+ // same as mat-md-cell
47
+ border-top-color: var(--mat-table-row-item-outline-color, rgba(0, 0, 0, 0.12));
48
+ border-top-width: var(--mat-table-row-item-outline-width, 1px);
49
+ border-top-style: solid;
50
+
51
+ padding: 6px var(--resolved-first-column-padding-left) 6px var(--resolved-last-column-padding-right);
52
+ min-height: var(--resolved-row-height);
53
+ &.no-padding {
54
+ padding: 0;
55
+ height: auto;
56
+ min-height: auto;
57
+ }
58
+ }
59
+ }
60
+ }
32
61
 
33
62
  .mdc-data-table__cell, .mdc-data-table__header-cell {
34
63
  padding: 0
@@ -61,6 +90,7 @@
61
90
  }
62
91
  }
63
92
 
93
+
64
94
  }
65
95
 
66
96
  aup-table-cell, aup-table-header-cell {
@@ -78,7 +108,7 @@
78
108
 
79
109
  &.last-visible-column {
80
110
  padding-right: var(--resolved-last-column-padding-right);
81
- &.aup-col-more-menu {
111
+ &.aup-col-custom-more-menu, &.aup-col-actions {
82
112
  padding-right: 0;
83
113
  }
84
114
  }
@@ -102,12 +132,4 @@
102
132
  }
103
133
  }
104
134
 
105
- aup-table-header-cell {
106
- //min-height: calc(var(--resolved-header-row-height) - 1px); // subtracting the bottom border width.
107
- }
108
-
109
- aup-table-cell {
110
- //min-height: var(--resolved-row-height); // same as mat table row height - border bottom.
111
- }
112
-
113
135
  }
package/assets/tabs.scss CHANGED
@@ -5,12 +5,9 @@
5
5
  }
6
6
 
7
7
  [full-height-tabs], mat-tab-group.full-height-tabs {
8
- /* TODO(mdc-migration): The following rule targets internal classes of tabs that may no longer apply for the MDC version. */
9
- /* TODO(mdc-migration): The following rule targets internal classes of tabs that may no longer apply for the MDC version. */
10
- .mat-tab-body-wrapper {
8
+ .mat-mdc-tab-body-wrapper {
11
9
  flex: 1;
12
- /* TODO(mdc-migration): The following rule targets internal classes of tabs that may no longer apply for the MDC version. */
13
- mat-tab-body, .mat-tab-body-content {
10
+ mat-tab-body, .mat-mdc-tab-body-content {
14
11
  display: flex;
15
12
  flex-direction: column;
16
13
  justify-content: stretch;
@@ -18,3 +15,16 @@
18
15
  }
19
16
  }
20
17
 
18
+ mat-tab-group {
19
+ &[flex], &.flex {
20
+ flex:1;
21
+ .mat-mdc-tab-body-wrapper {
22
+ flex: 1;
23
+ mat-tab-body, .mat-mdc-tab-body-content {
24
+ display: flex;
25
+ flex-direction: column;
26
+ justify-content: stretch;
27
+ }
28
+ }
29
+ }
30
+ }
@@ -2,24 +2,16 @@ import { animate, group, style, transition, trigger } from '@angular/animations'
2
2
  const slideDownOnEnterDef = style({
3
3
  opacity: 0,
4
4
  'height': '0',
5
+ 'max-height': '0',
5
6
  paddingTop: '0',
6
7
  paddingBottom: '0'
7
8
  });
8
- // TODO: params aren't getting customised in the view. Need to figure out the correct approach.
9
- export const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
10
- transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
11
- transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
12
- ]);
13
9
  const slideLeftOnEnterDef = style({
14
10
  opacity: 0,
15
11
  'width': '0',
16
12
  paddingLeft: '0',
17
13
  paddingRight: '0'
18
14
  });
19
- export const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
20
- transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
21
- transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
22
- ]);
23
15
  const ZERO_WIDTH = {
24
16
  opacity: 0,
25
17
  width: '0',
@@ -32,6 +24,19 @@ const ZERO_HEIGHT = {
32
24
  paddingTop: '0',
33
25
  paddingBottom: '0',
34
26
  };
27
+ // TODO: params aren't getting customised in the view. Need to figure out the correct approach.
28
+ export const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
29
+ transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
30
+ transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
31
+ ]);
32
+ export const slideDownWhenOpenAnimation = trigger('slideDownWhenOpen', [
33
+ transition('closed => open', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
34
+ transition('open => closed', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
35
+ ]);
36
+ export const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
37
+ transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
38
+ transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
39
+ ]);
35
40
  export const slideDownAndRightOnEnterAnimation = trigger('slideDownAndRightOnEnter', [
36
41
  transition(':enter', [
37
42
  style({ overflow: "hidden", whiteSpace: "nowrap", ...ZERO_WIDTH, ...ZERO_HEIGHT }),
@@ -48,4 +53,4 @@ export const slideDownAndRightOnEnterAnimation = trigger('slideDownAndRightOnEnt
48
53
  ])
49
54
  ], { params: { duration: '100ms' } })
50
55
  ]);
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2FuaW1hdGlvbnMvc2xpZGUtYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLE9BQU8sRUFBRSxDQUFDO0lBQ1YsUUFBUSxFQUFFLEdBQUc7SUFDYixVQUFVLEVBQUUsR0FBRztJQUNmLGFBQWEsRUFBRSxHQUFHO0NBQ25CLENBQUMsQ0FBQztBQUVILGdHQUFnRztBQUNoRyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxPQUFPLENBQUMsa0JBQWtCLEVBQUU7SUFDbkUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDdkcsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7Q0FDeEcsQ0FBQyxDQUFDO0FBRUgsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDaEMsT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVBQUUsR0FBRztJQUNaLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFlBQVksRUFBRSxHQUFHO0NBQ2xCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTtJQUNyRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUN2RyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztDQUN4RyxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsR0FBRztJQUNqQixPQUFPLEVBQUUsQ0FBQztJQUNWLEtBQUssRUFBRSxHQUFHO0lBQ1YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsWUFBWSxFQUFFLEdBQUc7Q0FDbEIsQ0FBQztBQUNGLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxVQUFVLEVBQUUsR0FBRztJQUNmLGFBQWEsRUFBRSxHQUFHO0NBQ25CLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxPQUFPLENBQUMsMEJBQTBCLEVBQUU7SUFDbkYsVUFBVSxDQUFDLFFBQVEsRUFBRTtRQUNuQixLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxVQUFVLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUNsRixPQUFPLENBQUMsY0FBYyxDQUFDO0tBQ3hCLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUNyQyxVQUFVLENBQUMsUUFBUSxFQUNqQjtRQUNFLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ25ELEtBQUssQ0FBQztZQUNKLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNDLHFIQUFxSDtZQUNySCxxSEFBcUg7WUFDckgsc0dBQXNHO1lBQ3RHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3BDLENBQUM7S0FDSCxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7Q0FDeEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHthbmltYXRlLCBncm91cCwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5jb25zdCBzbGlkZURvd25PbkVudGVyRGVmID0gc3R5bGUoe1xuICBvcGFjaXR5OiAwLFxuICAnaGVpZ2h0JzogJzAnLFxuICBwYWRkaW5nVG9wOiAnMCcsXG4gIHBhZGRpbmdCb3R0b206ICcwJ1xufSk7XG5cbi8vIFRPRE86IHBhcmFtcyBhcmVuJ3QgZ2V0dGluZyBjdXN0b21pc2VkIGluIHRoZSB2aWV3LiAgTmVlZCB0byBmaWd1cmUgb3V0IHRoZSBjb3JyZWN0IGFwcHJvYWNoLlxuZXhwb3J0IGNvbnN0IHNsaWRlRG93bk9uRW50ZXJBbmltYXRpb24gPSB0cmlnZ2VyKCdzbGlkZURvd25PbkVudGVyJywgW1xuICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc2xpZGVEb3duT25FbnRlckRlZiwgYW5pbWF0ZSgne3tkdXJhdGlvbn19JyldLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMG1zJyB9IH0pLFxuICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbYW5pbWF0ZSgne3tkdXJhdGlvbn19Jywgc2xpZGVEb3duT25FbnRlckRlZildLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMG1zJyB9IH0pXG5dKTtcblxuY29uc3Qgc2xpZGVMZWZ0T25FbnRlckRlZiA9IHN0eWxlKHtcbiAgb3BhY2l0eTogMCxcbiAgJ3dpZHRoJzogJzAnLFxuICBwYWRkaW5nTGVmdDogJzAnLFxuICBwYWRkaW5nUmlnaHQ6ICcwJ1xufSk7XG5cbmV4cG9ydCBjb25zdCBzbGlkZVJpZ2h0T25FbnRlckFuaW1hdGlvbiA9IHRyaWdnZXIoJ3NsaWRlUmlnaHRPbkVudGVyJywgW1xuICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc2xpZGVMZWZ0T25FbnRlckRlZiwgYW5pbWF0ZSgne3tkdXJhdGlvbn19JyldLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMG1zJyB9IH0pLFxuICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbYW5pbWF0ZSgne3tkdXJhdGlvbn19Jywgc2xpZGVMZWZ0T25FbnRlckRlZildLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMG1zJyB9IH0pXG5dKTtcblxuY29uc3QgWkVST19XSURUSCA9IHtcbiAgb3BhY2l0eTogMCxcbiAgd2lkdGg6ICcwJyxcbiAgcGFkZGluZ0xlZnQ6ICcwJyxcbiAgcGFkZGluZ1JpZ2h0OiAnMCcsXG59O1xuY29uc3QgWkVST19IRUlHSFQgPSB7XG4gIG9wYWNpdHk6IDAsXG4gIGhlaWdodDogJzAnLFxuICBwYWRkaW5nVG9wOiAnMCcsXG4gIHBhZGRpbmdCb3R0b206ICcwJyxcbn07XG5leHBvcnQgY29uc3Qgc2xpZGVEb3duQW5kUmlnaHRPbkVudGVyQW5pbWF0aW9uID0gdHJpZ2dlcignc2xpZGVEb3duQW5kUmlnaHRPbkVudGVyJywgW1xuICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgc3R5bGUoeyBvdmVyZmxvdzogXCJoaWRkZW5cIiwgd2hpdGVTcGFjZTogXCJub3dyYXBcIiwgLi4uWkVST19XSURUSCwgLi4uWkVST19IRUlHSFQgfSksXG4gICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19JylcbiAgXSwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDBtcycgfSB9KSxcbiAgdHJhbnNpdGlvbignOmxlYXZlJyxcbiAgICBbXG4gICAgICBzdHlsZSh7IG92ZXJmbG93OiBcImhpZGRlblwiLCB3aGl0ZVNwYWNlOiBcIm5vd3JhcFwiIH0pLFxuICAgICAgZ3JvdXAoW1xuICAgICAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0nLCBzdHlsZShaRVJPX0hFSUdIVCkpLFxuICAgICAgICAvLyBIYWNrOiAxMDBtcyBpcyB0b28gcXVpY2sgYXMgaXQgYW5pbWF0ZXMgZnJvbSAqIC0gMCBhcyB3ZSBvbmx5IHNlZSBpdCBhbmltYXRlIHRoZSB3aWR0aCBpcyBncmVhdGVyIHRoYW4gdGhlIHBhcmVudC5cbiAgICAgICAgLy8gTm90IHN1cmUgaG93IHRvIGFuaW1hdGUgZnJvbSAqIHRvIG5hdHVyYWwgbmV3IHdpZHRoIG9mIHBhcmVudC4gIFRoaXMgaGFjayB3b24ndCB3b3JrIGZvciB0ZXh0IHRoYXQncyBqdXN0IGEgbGl0dGxlXG4gICAgICAgIC8vIGJpdCB3aWRlciB0aGFuIHRoZSBwYXJlbnQgYXMgaXQnbGwgZmFsbCB3aXRoaW4gdGhlIHBhcmVudCBib3VuZHMgdmVyeSBlYXJseSBpbiB0aGUgYW5pbWF0aW9uIGN5Y2xlLlxuICAgICAgICBhbmltYXRlKCczMDBtcycsIHN0eWxlKFpFUk9fV0lEVEgpKSxcbiAgICAgIF0pXG4gICAgXSwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDBtcycgfSB9KVxuXSk7XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2FuaW1hdGlvbnMvc2xpZGUtYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLE9BQU8sRUFBRSxDQUFDO0lBQ1YsUUFBUSxFQUFFLEdBQUc7SUFDYixZQUFZLEVBQUUsR0FBRztJQUNqQixVQUFVLEVBQUUsR0FBRztJQUNmLGFBQWEsRUFBRSxHQUFHO0NBQ25CLENBQUMsQ0FBQztBQUVILE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLE9BQU8sRUFBRSxDQUFDO0lBQ1YsT0FBTyxFQUFFLEdBQUc7SUFDWixXQUFXLEVBQUUsR0FBRztJQUNoQixZQUFZLEVBQUUsR0FBRztDQUNsQixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsR0FBRztJQUNqQixPQUFPLEVBQUUsQ0FBQztJQUNWLEtBQUssRUFBRSxHQUFHO0lBQ1YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsWUFBWSxFQUFFLEdBQUc7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxVQUFVLEVBQUUsR0FBRztJQUNmLGFBQWEsRUFBRSxHQUFHO0NBQ25CLENBQUM7QUFHRixnR0FBZ0c7QUFDaEcsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixFQUFFO0lBQ25FLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ3ZHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0NBQ3hHLENBQUMsQ0FBQztBQUdILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTtJQUNyRSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQy9HLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7Q0FDaEgsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixFQUFFO0lBQ3JFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ3ZHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0NBQ3hHLENBQUMsQ0FBQztBQUdILE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLE9BQU8sQ0FBQywwQkFBMEIsRUFBRTtJQUNuRixVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ25CLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVUsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQ2xGLE9BQU8sQ0FBQyxjQUFjLENBQUM7S0FDeEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ3JDLFVBQVUsQ0FBQyxRQUFRLEVBQ2pCO1FBQ0UsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDbkQsS0FBSyxDQUFDO1lBQ0osT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0MscUhBQXFIO1lBQ3JILHFIQUFxSDtZQUNySCxzR0FBc0c7WUFDdEcsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDcEMsQ0FBQztLQUNILEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztDQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FuaW1hdGUsIGdyb3VwLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmNvbnN0IHNsaWRlRG93bk9uRW50ZXJEZWYgPSBzdHlsZSh7XG4gIG9wYWNpdHk6IDAsXG4gICdoZWlnaHQnOiAnMCcsXG4gICdtYXgtaGVpZ2h0JzogJzAnLFxuICBwYWRkaW5nVG9wOiAnMCcsXG4gIHBhZGRpbmdCb3R0b206ICcwJ1xufSk7XG5cbmNvbnN0IHNsaWRlTGVmdE9uRW50ZXJEZWYgPSBzdHlsZSh7XG4gIG9wYWNpdHk6IDAsXG4gICd3aWR0aCc6ICcwJyxcbiAgcGFkZGluZ0xlZnQ6ICcwJyxcbiAgcGFkZGluZ1JpZ2h0OiAnMCdcbn0pO1xuXG5jb25zdCBaRVJPX1dJRFRIID0ge1xuICBvcGFjaXR5OiAwLFxuICB3aWR0aDogJzAnLFxuICBwYWRkaW5nTGVmdDogJzAnLFxuICBwYWRkaW5nUmlnaHQ6ICcwJyxcbn07XG5cbmNvbnN0IFpFUk9fSEVJR0hUID0ge1xuICBvcGFjaXR5OiAwLFxuICBoZWlnaHQ6ICcwJyxcbiAgcGFkZGluZ1RvcDogJzAnLFxuICBwYWRkaW5nQm90dG9tOiAnMCcsXG59O1xuXG5cbi8vIFRPRE86IHBhcmFtcyBhcmVuJ3QgZ2V0dGluZyBjdXN0b21pc2VkIGluIHRoZSB2aWV3LiAgTmVlZCB0byBmaWd1cmUgb3V0IHRoZSBjb3JyZWN0IGFwcHJvYWNoLlxuZXhwb3J0IGNvbnN0IHNsaWRlRG93bk9uRW50ZXJBbmltYXRpb24gPSB0cmlnZ2VyKCdzbGlkZURvd25PbkVudGVyJywgW1xuICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc2xpZGVEb3duT25FbnRlckRlZiwgYW5pbWF0ZSgne3tkdXJhdGlvbn19JyldLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMG1zJyB9IH0pLFxuICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbYW5pbWF0ZSgne3tkdXJhdGlvbn19Jywgc2xpZGVEb3duT25FbnRlckRlZildLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMG1zJyB9IH0pXG5dKTtcblxuXG5leHBvcnQgY29uc3Qgc2xpZGVEb3duV2hlbk9wZW5BbmltYXRpb24gPSB0cmlnZ2VyKCdzbGlkZURvd25XaGVuT3BlbicsIFtcbiAgdHJhbnNpdGlvbignY2xvc2VkID0+IG9wZW4nLCBbc2xpZGVEb3duT25FbnRlckRlZiwgYW5pbWF0ZSgne3tkdXJhdGlvbn19JyldLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMG1zJyB9IH0pLFxuICB0cmFuc2l0aW9uKCdvcGVuID0+IGNsb3NlZCcsIFthbmltYXRlKCd7e2R1cmF0aW9ufX0nLCBzbGlkZURvd25PbkVudGVyRGVmKV0sIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiAnMTAwbXMnIH0gfSlcbl0pO1xuXG5leHBvcnQgY29uc3Qgc2xpZGVSaWdodE9uRW50ZXJBbmltYXRpb24gPSB0cmlnZ2VyKCdzbGlkZVJpZ2h0T25FbnRlcicsIFtcbiAgdHJhbnNpdGlvbignOmVudGVyJywgW3NsaWRlTGVmdE9uRW50ZXJEZWYsIGFuaW1hdGUoJ3t7ZHVyYXRpb259fScpXSwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDBtcycgfSB9KSxcbiAgdHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJ3t7ZHVyYXRpb259fScsIHNsaWRlTGVmdE9uRW50ZXJEZWYpXSwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDBtcycgfSB9KVxuXSk7XG5cblxuZXhwb3J0IGNvbnN0IHNsaWRlRG93bkFuZFJpZ2h0T25FbnRlckFuaW1hdGlvbiA9IHRyaWdnZXIoJ3NsaWRlRG93bkFuZFJpZ2h0T25FbnRlcicsIFtcbiAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgIHN0eWxlKHsgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsIC4uLlpFUk9fV0lEVEgsIC4uLlpFUk9fSEVJR0hUIH0pLFxuICAgIGFuaW1hdGUoJ3t7ZHVyYXRpb259fScpXG4gIF0sIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiAnMTAwbXMnIH0gfSksXG4gIHRyYW5zaXRpb24oJzpsZWF2ZScsXG4gICAgW1xuICAgICAgc3R5bGUoeyBvdmVyZmxvdzogXCJoaWRkZW5cIiwgd2hpdGVTcGFjZTogXCJub3dyYXBcIiB9KSxcbiAgICAgIGdyb3VwKFtcbiAgICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19Jywgc3R5bGUoWkVST19IRUlHSFQpKSxcbiAgICAgICAgLy8gSGFjazogMTAwbXMgaXMgdG9vIHF1aWNrIGFzIGl0IGFuaW1hdGVzIGZyb20gKiAtIDAgYXMgd2Ugb25seSBzZWUgaXQgYW5pbWF0ZSB0aGUgd2lkdGggaXMgZ3JlYXRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICAgICAgIC8vIE5vdCBzdXJlIGhvdyB0byBhbmltYXRlIGZyb20gKiB0byBuYXR1cmFsIG5ldyB3aWR0aCBvZiBwYXJlbnQuICBUaGlzIGhhY2sgd29uJ3Qgd29yayBmb3IgdGV4dCB0aGF0J3MganVzdCBhIGxpdHRsZVxuICAgICAgICAvLyBiaXQgd2lkZXIgdGhhbiB0aGUgcGFyZW50IGFzIGl0J2xsIGZhbGwgd2l0aGluIHRoZSBwYXJlbnQgYm91bmRzIHZlcnkgZWFybHkgaW4gdGhlIGFuaW1hdGlvbiBjeWNsZS5cbiAgICAgICAgYW5pbWF0ZSgnMzAwbXMnLCBzdHlsZShaRVJPX1dJRFRIKSksXG4gICAgICBdKVxuICAgIF0sIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiAnMTAwbXMnIH0gfSlcbl0pO1xuIl19
@@ -1,6 +1,6 @@
1
1
  import { Component, ElementRef, HostBinding, Input } from '@angular/core';
2
2
  import { lang } from '@coolon/typescript-utilities';
3
- import { isInteger, isNil } from 'lodash';
3
+ import { isInteger, isNil } from 'lodash-es';
4
4
  import { AbstractCardContainerComponent } from '../abstract-card-container.component';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
@@ -109,11 +109,11 @@ export class CardContainerComponent extends AbstractCardContainerComponent {
109
109
  }
110
110
  }
111
111
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CardContainerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
112
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CardContainerComponent, selector: "aup-card-container", inputs: { columnCount: "columnCount", enableScroll: "enableScroll" }, host: { properties: { "class.auto-columns": "this.isAutoColumns", "class.single-column": "this.isSingleColumn" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"header-container\">\n <ng-content select=\"[card-container-header]\"></ng-content>\n</div>\n\n<ng-template #content>\n <div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled$.value\" [pectinCommand]=\"addCardCommand\">\n <aup-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<div class=\"no-scroll-container\" *ngIf=\"!enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<aup-scroll-container *ngIf=\"enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</aup-scroll-container>\n\n<div class=\"footer-container\">\n <ng-content select=\"[card-container-footer]\"></ng-content>\n</div>\n\n", styles: [":host{--resolved-card-gap: var(--card-gap, 16px);--resolved-card-width: var(--card-width, 300px);--resolved-card-max-width: var(--card-max-width, auto);--resolved-card-height: var(--card-height, auto);--resolved-card-min-height: var(--card-min-height, auto);--resolved-card-background: var(--card-background, var(--aup-card-container-default-background-color));flex:1;display:flex;flex-direction:column;align-items:stretch;background:var(--resolved-card-background)}:host.auto-columns>*>.card-container{grid-template-columns:repeat(auto-fit,minmax(var(--resolved-card-width),var(--resolved-card-max-width)));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap))}:host:not(.auto-columns)>*>.card-container{grid-template-columns:repeat(var(--aup-card-container-column-count),1fr)}.card-container{display:grid;box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));max-width:100%;grid-auto-rows:minmax(var(--resolved-card-min-height),var(--resolved-card-height));grid-gap:var(--resolved-card-gap)}aup-scroll-container,.no-scroll-container{flex:1}.add-card-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.add-card-container:hover{border-color:transparent;background-color:#fff;color:#0000008a}.add-card-template-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { kind: "component", type: i3.ScrollContainerComponent, selector: "aup-scroll-container", inputs: ["disableScroll$", "disableScroll"] }, { kind: "component", type: i4.IconComponent, selector: "aup-icon", inputs: ["icon"] }, { kind: "component", type: i5.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: CardContainerComponent, selector: "aup-card-container", inputs: { columnCount: "columnCount", enableScroll: "enableScroll" }, host: { properties: { "class.auto-columns": "this.isAutoColumns", "class.single-column": "this.isSingleColumn" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"header-container\">\n <ng-content select=\"[card-container-header], [slot=header]\"></ng-content>\n</div>\n\n<ng-template #content>\n <div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled$.value\" [pectinCommand]=\"addCardCommand\">\n <aup-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<div class=\"no-scroll-container\" *ngIf=\"!enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<aup-scroll-container *ngIf=\"enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</aup-scroll-container>\n\n<div class=\"footer-container\">\n <ng-content select=\"[card-container-footer], [slot=footer]\"></ng-content>\n</div>\n\n", styles: [":host{--resolved-card-gap: var(--card-gap, 16px);--resolved-card-width: var(--card-width, 300px);--resolved-card-min-width: var(--card-min-width, var(--card-width, var(--card-max-width)));--resolved-card-max-width: var(--card-max-width, var(--card-width, var(--card-min-width)));--resolved-card-height: var(--card-height, auto);--resolved-card-min-height: var(--card-min-height, auto);--resolved-card-background: var(--card-background, var(--aup-card-container-default-background-color));flex:1;display:flex;flex-direction:column;align-items:stretch;background:var(--resolved-card-background)}:host.auto-columns>*>.card-container{grid-template-columns:repeat(auto-fill,minmax(var(--resolved-card-min-width),var(--resolved-card-max-width)))}:host:not(.auto-columns)>*>.card-container{grid-template-columns:repeat(var(--aup-card-container-column-count),1fr)}.card-container{display:grid;box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));max-width:100%;grid-auto-rows:minmax(var(--resolved-card-min-height),var(--resolved-card-height));grid-gap:var(--resolved-card-gap)}aup-scroll-container,.no-scroll-container{flex:1}.add-card-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.add-card-container:hover{border-color:transparent;background-color:#fff;color:#0000008a}.add-card-template-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter", "preventDefault"] }, { kind: "component", type: i3.ScrollContainerComponent, selector: "aup-scroll-container", inputs: ["disableScroll$", "disableScroll"] }, { kind: "component", type: i4.IconComponent, selector: "aup-icon", inputs: ["icon"] }, { kind: "component", type: i5.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }] });
113
113
  }
114
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CardContainerComponent, decorators: [{
115
115
  type: Component,
116
- args: [{ selector: 'aup-card-container', template: "<div class=\"header-container\">\n <ng-content select=\"[card-container-header]\"></ng-content>\n</div>\n\n<ng-template #content>\n <div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled$.value\" [pectinCommand]=\"addCardCommand\">\n <aup-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<div class=\"no-scroll-container\" *ngIf=\"!enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<aup-scroll-container *ngIf=\"enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</aup-scroll-container>\n\n<div class=\"footer-container\">\n <ng-content select=\"[card-container-footer]\"></ng-content>\n</div>\n\n", styles: [":host{--resolved-card-gap: var(--card-gap, 16px);--resolved-card-width: var(--card-width, 300px);--resolved-card-max-width: var(--card-max-width, auto);--resolved-card-height: var(--card-height, auto);--resolved-card-min-height: var(--card-min-height, auto);--resolved-card-background: var(--card-background, var(--aup-card-container-default-background-color));flex:1;display:flex;flex-direction:column;align-items:stretch;background:var(--resolved-card-background)}:host.auto-columns>*>.card-container{grid-template-columns:repeat(auto-fit,minmax(var(--resolved-card-width),var(--resolved-card-max-width)));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap))}:host:not(.auto-columns)>*>.card-container{grid-template-columns:repeat(var(--aup-card-container-column-count),1fr)}.card-container{display:grid;box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));max-width:100%;grid-auto-rows:minmax(var(--resolved-card-min-height),var(--resolved-card-height));grid-gap:var(--resolved-card-gap)}aup-scroll-container,.no-scroll-container{flex:1}.add-card-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.add-card-container:hover{border-color:transparent;background-color:#fff;color:#0000008a}.add-card-template-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}\n"] }]
116
+ args: [{ selector: 'aup-card-container', template: "<div class=\"header-container\">\n <ng-content select=\"[card-container-header], [slot=header]\"></ng-content>\n</div>\n\n<ng-template #content>\n <div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled$.value\" [pectinCommand]=\"addCardCommand\">\n <aup-command-face *ngIf=\"addCardFace\" [faces]=\"[addCardFace]\"></aup-command-face>\n <aup-icon *ngIf=\"!addCardFace\" icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<div class=\"no-scroll-container\" *ngIf=\"!enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<aup-scroll-container *ngIf=\"enableScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</aup-scroll-container>\n\n<div class=\"footer-container\">\n <ng-content select=\"[card-container-footer], [slot=footer]\"></ng-content>\n</div>\n\n", styles: [":host{--resolved-card-gap: var(--card-gap, 16px);--resolved-card-width: var(--card-width, 300px);--resolved-card-min-width: var(--card-min-width, var(--card-width, var(--card-max-width)));--resolved-card-max-width: var(--card-max-width, var(--card-width, var(--card-min-width)));--resolved-card-height: var(--card-height, auto);--resolved-card-min-height: var(--card-min-height, auto);--resolved-card-background: var(--card-background, var(--aup-card-container-default-background-color));flex:1;display:flex;flex-direction:column;align-items:stretch;background:var(--resolved-card-background)}:host.auto-columns>*>.card-container{grid-template-columns:repeat(auto-fill,minmax(var(--resolved-card-min-width),var(--resolved-card-max-width)))}:host:not(.auto-columns)>*>.card-container{grid-template-columns:repeat(var(--aup-card-container-column-count),1fr)}.card-container{display:grid;box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));max-width:100%;grid-auto-rows:minmax(var(--resolved-card-min-height),var(--resolved-card-height));grid-gap:var(--resolved-card-gap)}aup-scroll-container,.no-scroll-container{flex:1}.add-card-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:#0000008a;background-color:#fffc}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.add-card-container:hover{border-color:transparent;background-color:#fff;color:#0000008a}.add-card-template-container{height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}\n"] }]
117
117
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { columnCount: [{
118
118
  type: Input
119
119
  }], enableScroll: [{
@@ -125,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
125
125
  type: HostBinding,
126
126
  args: ['class.single-column']
127
127
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9jYXJkcy9jYXJkLWNvbnRhaW5lci9jYXJkLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NhcmRzL2NhcmQtY29udGFpbmVyL2NhcmQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWxELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7O0FBR3BGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkRHO0FBTUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLDhCQUE4QjtJQXdCM0M7SUF0QnJCLFlBQVksQ0FBcUI7SUFFekMsSUFDSSxXQUFXLENBQUMsS0FBeUI7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLCtDQUErQyxDQUFDLENBQUM7U0FDcEU7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFFSCxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXJCLFlBQTZCLFVBQXNCO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRG1CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFFakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRCxJQUNJLGFBQWE7UUFDZixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQ0ksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFUyx1QkFBdUI7UUFDL0IsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDekMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzVCLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLG1DQUFtQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO2FBQU07WUFDTCxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDOUU7SUFDSCxDQUFDO3VHQTlDVSxzQkFBc0I7MkZBQXRCLHNCQUFzQiwyUUMxRW5DLGdpQ0ErQkE7OzJGRDJDYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CO2lHQVMxQixXQUFXO3NCQURkLEtBQUs7Z0JBa0JOLFlBQVk7c0JBRFgsS0FBSztnQkFTRixhQUFhO3NCQURoQixXQUFXO3VCQUFDLG9CQUFvQjtnQkFNN0IsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7bGFuZ30gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5cbmltcG9ydCB7aXNJbnRlZ2VyLCBpc05pbH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7QWJzdHJhY3RDYXJkQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC1jYXJkLWNvbnRhaW5lci5jb21wb25lbnQnO1xuXG5cbi8qKlxuICogQGV4YW1wbGVcbiAqIC8vIGJhc2ljIHVzYWdlXG4gKiA8YXVwLWNhcmQtY29udGFpbmVyPlxuICogICA8bXktY2FyZCAqbmdGb3I9XCIuLi5cIj48L215LWNhcmQ+XG4gKiA8L2F1cC1jYXJkLWNvbnRhaW5lcj5cbiAqXG4gKiAvLyBhZGRzIGFuIGFkZCBidXR0b24gd2l0aCBhIHRoZSAnKycgaWNvbiB0byB0aGUgZW5kIG9mIHRoZSBjYXJkIGxpc3QuXG4gKiA8YXVwLWNhcmQtY29udGFpbmVyIFthZGRDYXJkQ29tbWFuZF09XCJhZGRDYXJkXCI+XG4gKiAgIDxteS1jYXJkICpuZ0Zvcj1cIi4uLlwiPjwvbXktY2FyZD5cbiAqIDwvYXVwLWNhcmQtY29udGFpbmVyPlxuICpcbiAqIC8vIGFkZHMgYW4gYWRkIGJ1dHRvbiB3aXRoIHRoZSBzcGVjaWZpZWQgZmFjZVxuICogPGF1cC1jYXJkLWNvbnRhaW5lciBbYWRkQ2FyZENvbW1hbmRdPVwiYWRkQ2FyZFwiIFthZGRDYXJkRmFjZV09XCJpMThuLmFkZENhcmRcIiA+XG4gKiAgIDxteS1jYXJkICpuZ0Zvcj1cIi4uLlwiPjwvbXktY2FyZD5cbiAqIDwvYXVwLWNhcmQtY29udGFpbmVyPlxuICpcbiAqIC8vIHVzZSB0aGUgYXVwLWFkZC1jYXJkLWFjdGl2aXR5IHRvIGRpc3BsYXkgYXMgdGhlIG5ldyBjYXJkIHBsYWNlIGhvbGRlciBhbmQgdG8gcnVuXG4gKiAvLyB0aGUgYWN0aXZpdHkgaW5zaWRlIHRlaCBjYXJkXG4gKiA8YXVwLWNhcmQtY29udGFpbmVyIFthZGRDYXJkQ29tbWFuZF09XCJhZGRDYXJkXCIgW2FkZENhcmRGYWNlXT1cImkxOG4uYWRkQ2FyZFwiID5cbiAqICAgPG15LWNhcmQgKm5nRm9yPVwiLi4uXCI+PC9teS1jYXJkPlxuICogICA8YXVwLWFkZC1jYXJkLWFjdGl2aXR5IHR5cGU9XCJpbmxpbmVcIiByZW5kZXJBcz1cImNhcmRcIiBbZmFjZV09XCJpMThuLmNvbW1hbmRzLmFkZE1vZGFsXCIgW2FjdGl2aXR5Q2xhc3NdPVwiQWRkQ2FyZEFjdGl2aXR5XCI+PC9hdXAtYWRkLWNhcmQtYWN0aXZpdHk+XG4gKiA8L2F1cC1jYXJkLWNvbnRhaW5lcj5cbiAqXG4gKiAvLyBhZGRzIGFuIGFkZCBjYXJkIGNvbXBvbmVudCB1c2luZyB0aGUgc3BlY2lmaWVkIHRlbXBsYXRlLiAgVGhlIHRlbXBsYXRlXG4gKiAvLyB3aWxsIGZpbGwgaXQncyBjb250YWluZXIgaW4gdGhlIGdyaWQuXG4gKiA8YXVwLWNhcmQtY29udGFpbmVyPlxuICogICA8bXktY2FyZCAqbmdGb3I9XCIuLi5cIj48L215LWNhcmQ+XG4gKiAgIDxuZy10ZW1wbGF0ZSAjYWRkQ2FyZFRlbXBsYXRlPlxuICogICAgIDxkaXY+VGhpcyBpcyBhIG5ldyBjYXJkIHRlbXBsYXRlLCBpdCB3aWxsIHRoZSB0aGUgc2l6ZSBvZiB0aGUgb3RoZXIgY2FyZHMuPC9kaXY+XG4gKiAgIDwvbmctdGVtcGxhdGU+XG4gKiA8L2F1cC1jYXJkLWNvbnRhaW5lcj5cbiAqXG4gKiAvLyBzaW5nIHRoZSBkZWZhdWx0IG5ldyBjYXJkIHN0eWxlcyBmb3IgeW91ciB0ZW1wbGF0ZVxuICogQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9zdHlsZXNcIjtcbiAqIC5teS1uZXctY2FyZCB7XG4gKiAgIEBpbmNsdWRlIGF1cC1jYXJkLWNvbnRhaW5lci1uZXctY2FyZC1zdHlsZSgpO1xuICogICAvLyBPUlxuICogICBAaW5jbHVkZSBhdXAtY2FyZC1jb250YWluZXItbmV3LWNhcmQtc3R5bGUoXG4gKiAgICAgICRjb2xvcjogcmdiYSgwLDAsMCwwLjU0KSxcbiAqICAgICAgJGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44KSxcbiAqICAgICAgJGhvdmVyLWNvbG9yOiAkY29sb3IsXG4gKiAgICAgICRiYWNrZ3JvdW5kLWhvdmVyLWNvbG9yOiB3aGl0ZVxuICogICApXG4gKiB9XG4gKiA8YXVwLWNhcmQtY29udGFpbmVyPlxuICogICA8bXktY2FyZCAqbmdGb3I9XCIuLi5cIj48L215LWNhcmQ+XG4gKiAgIDxuZy10ZW1wbGF0ZSAjYWRkQ2FyZFRlbXBsYXRlPlxuICogICAgIDxkaXYgY2xhc3M9XCJteS1uZXctY2FyZFwiID5UaGlzIGlzIGEgbmV3IGNhcmQgdGVtcGxhdGUsIGl0IHdpbGwgdGhlIHRoZSBzaXplIG9mIHRoZSBvdGhlciBjYXJkcy48L2Rpdj5cbiAqICAgPC9uZy10ZW1wbGF0ZT5cbiAqIDwvYXVwLWNhcmQtY29udGFpbmVyPlxuICpcbiAqIC8vIENTUyBWYXJzXG4gKiBhdXAtY2FyZC1jb250YWluZXIge1xuICogICAtLWNhcmQtZ2FwOiB2YXIoLS1jYXJkLWdhcCwgMTZweCk7XG4gKiAgIC0tY2FyZC13aWR0aDogdmFyKC0tY2FyZC13aWR0aCwgMzAwcHgpO1xuICogICAtLWNhcmQtbWF4LXdpZHRoOiBhdXRvO1xuICogICAtLWNhcmQtaGVpZ2h0OiB2YXIoLS1jYXJkLWhlaWdodCwgYXV0byk7XG4gKiAgIC0tY2FyZC1taW4taGVpZ2h0OiB2YXIoLS1jYXJkLW1pbi1oZWlnaHQsIGF1dG8pO1xuICogICAtLWNhcmQtYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iYWNrZ3JvdW5kLCAjZmNmY2ZiKTtcbiAqIH1cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWNhcmQtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXJkQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDYXJkQ29udGFpbmVyQ29tcG9uZW50IHtcblxuICBwcml2YXRlIF9jb2x1bW5Db3VudDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBjb2x1bW5Db3VudChjb3VudDogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFpc05pbChjb3VudCkgJiYgKCFpc0ludGVnZXIoY291bnQpIHx8IGNvdW50IDwgMSkpIHtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdjb2x1bW5Db3VudCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciBvciBuaWwnKTtcbiAgICB9XG4gICAgdGhpcy5fY29sdW1uQ291bnQgPSBjb3VudDtcbiAgICB0aGlzLnVwZGF0ZUNvbHVtbkNvdW50U3R5bGVzKCk7XG4gIH1cblxuICBnZXQgY29sdW1uQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbkNvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBzY3JvbGxpbmcuICBJZiB0cnVlIHRoZSBjb250YWluZXIgd2lsbCBoYXZlIGhlaWdodD09MCBzbyB5b3UgbXVzdCBzZXQgaXQncyBoZWlnaHQgZXhwbGljaXRseVxuICAgKiBvciBwbGFjZSBpbiBhIGxheW91dCB0aGF0IHdpbGwgc3RyZXRjaCBpdCBzdWNoIGFzIGEgZ3JpZCBvciBmbGV4IGxheW91dC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGVuYWJsZVNjcm9sbCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5vbkluaXQoKCkgPT4gdGhpcy51cGRhdGVDb2x1bW5Db3VudFN0eWxlcygpKVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hdXRvLWNvbHVtbnMnKVxuICBnZXQgaXNBdXRvQ29sdW1ucygpIHtcbiAgICByZXR1cm4gaXNOaWwodGhpcy5fY29sdW1uQ291bnQpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zaW5nbGUtY29sdW1uJylcbiAgZ2V0IGlzU2luZ2xlQ29sdW1uKCkge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5Db3VudCA9PT0gMTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVDb2x1bW5Db3VudFN0eWxlcygpIHtcbiAgICBjb25zdCBlbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChpc05pbCh0aGlzLl9jb2x1bW5Db3VudCkpIHtcbiAgICAgIGVsLnN0eWxlLnNldFByb3BlcnR5KCctLWF1cC1jYXJkLWNvbnRhaW5lci1jb2x1bW4tY291bnQnLCAnJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnN0eWxlLnNldFByb3BlcnR5KCctLWF1cC1jYXJkLWNvbnRhaW5lci1jb2x1bW4tY291bnQnLCB0aGlzLl9jb2x1bW5Db3VudCk7XG4gICAgfVxuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDYXJkQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgZXhwb3J0IGludGVyZmFjZSBDb2x1bW5Db25maWd1cmF0aW9uIHtcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIHN0cmV0Y2hUb0ZpbGw6IGJvb2xlYW47XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltjYXJkLWNvbnRhaW5lci1oZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgPGRpdiBjbGFzcz1cImNhcmQtY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdiBjbGFzcz1cImFkZC1jYXJkLWNvbnRhaW5lclwiICpuZ0lmPVwiYWRkQ2FyZENvbW1hbmQuZW5hYmxlZCQudmFsdWVcIiBbcGVjdGluQ29tbWFuZF09XCJhZGRDYXJkQ29tbWFuZFwiPlxuICAgICAgPGF1cC1jb21tYW5kLWZhY2UgKm5nSWY9XCJhZGRDYXJkRmFjZVwiIFtmYWNlc109XCJbYWRkQ2FyZEZhY2VdXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICAgICAgPGF1cC1pY29uICpuZ0lmPVwiIWFkZENhcmRGYWNlXCIgaWNvbj1cIm1hdDphZGRcIj48L2F1cC1pY29uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImFkZC1jYXJkLXRlbXBsYXRlXCIgKm5nSWY9XCJhZGRDYXJkVGVtcGxhdGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRkQ2FyZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPGRpdiBjbGFzcz1cIm5vLXNjcm9sbC1jb250YWluZXJcIiAqbmdJZj1cIiFlbmFibGVTY3JvbGxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxhdXAtc2Nyb2xsLWNvbnRhaW5lciAqbmdJZj1cImVuYWJsZVNjcm9sbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG48L2F1cC1zY3JvbGwtY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwiZm9vdGVyLWNvbnRhaW5lclwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbY2FyZC1jb250YWluZXItZm9vdGVyXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9jYXJkcy9jYXJkLWNvbnRhaW5lci9jYXJkLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NhcmRzL2NhcmQtY29udGFpbmVyL2NhcmQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWxELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7O0FBR3BGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkRHO0FBTUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLDhCQUE4QjtJQXdCM0M7SUF0QnJCLFlBQVksQ0FBcUI7SUFFekMsSUFDSSxXQUFXLENBQUMsS0FBeUI7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLCtDQUErQyxDQUFDLENBQUM7U0FDcEU7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFFSCxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXJCLFlBQTZCLFVBQXNCO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRG1CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFFakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRCxJQUNJLGFBQWE7UUFDZixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQ0ksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFUyx1QkFBdUI7UUFDL0IsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDekMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzVCLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLG1DQUFtQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO2FBQU07WUFDTCxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDOUU7SUFDSCxDQUFDO3VHQTlDVSxzQkFBc0I7MkZBQXRCLHNCQUFzQiwyUUMxRW5DLDBqQ0ErQkE7OzJGRDJDYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CO2lHQVMxQixXQUFXO3NCQURkLEtBQUs7Z0JBa0JOLFlBQVk7c0JBRFgsS0FBSztnQkFTRixhQUFhO3NCQURoQixXQUFXO3VCQUFDLG9CQUFvQjtnQkFNN0IsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7bGFuZ30gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5cbmltcG9ydCB7aXNJbnRlZ2VyLCBpc05pbH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7QWJzdHJhY3RDYXJkQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC1jYXJkLWNvbnRhaW5lci5jb21wb25lbnQnO1xuXG5cbi8qKlxuICogQGV4YW1wbGVcbiAqIC8vIGJhc2ljIHVzYWdlXG4gKiA8YXVwLWNhcmQtY29udGFpbmVyPlxuICogICA8bXktY2FyZCAqbmdGb3I9XCIuLi5cIj48L215LWNhcmQ+XG4gKiA8L2F1cC1jYXJkLWNvbnRhaW5lcj5cbiAqXG4gKiAvLyBhZGRzIGFuIGFkZCBidXR0b24gd2l0aCBhIHRoZSAnKycgaWNvbiB0byB0aGUgZW5kIG9mIHRoZSBjYXJkIGxpc3QuXG4gKiA8YXVwLWNhcmQtY29udGFpbmVyIFthZGRDYXJkQ29tbWFuZF09XCJhZGRDYXJkXCI+XG4gKiAgIDxteS1jYXJkICpuZ0Zvcj1cIi4uLlwiPjwvbXktY2FyZD5cbiAqIDwvYXVwLWNhcmQtY29udGFpbmVyPlxuICpcbiAqIC8vIGFkZHMgYW4gYWRkIGJ1dHRvbiB3aXRoIHRoZSBzcGVjaWZpZWQgZmFjZVxuICogPGF1cC1jYXJkLWNvbnRhaW5lciBbYWRkQ2FyZENvbW1hbmRdPVwiYWRkQ2FyZFwiIFthZGRDYXJkRmFjZV09XCJpMThuLmFkZENhcmRcIiA+XG4gKiAgIDxteS1jYXJkICpuZ0Zvcj1cIi4uLlwiPjwvbXktY2FyZD5cbiAqIDwvYXVwLWNhcmQtY29udGFpbmVyPlxuICpcbiAqIC8vIHVzZSB0aGUgYXVwLWFkZC1jYXJkLWFjdGl2aXR5IHRvIGRpc3BsYXkgYXMgdGhlIG5ldyBjYXJkIHBsYWNlIGhvbGRlciBhbmQgdG8gcnVuXG4gKiAvLyB0aGUgYWN0aXZpdHkgaW5zaWRlIHRlaCBjYXJkXG4gKiA8YXVwLWNhcmQtY29udGFpbmVyIFthZGRDYXJkQ29tbWFuZF09XCJhZGRDYXJkXCIgW2FkZENhcmRGYWNlXT1cImkxOG4uYWRkQ2FyZFwiID5cbiAqICAgPG15LWNhcmQgKm5nRm9yPVwiLi4uXCI+PC9teS1jYXJkPlxuICogICA8YXVwLWFkZC1jYXJkLWFjdGl2aXR5IHR5cGU9XCJpbmxpbmVcIiByZW5kZXJBcz1cImNhcmRcIiBbZmFjZV09XCJpMThuLmNvbW1hbmRzLmFkZE1vZGFsXCIgW2FjdGl2aXR5Q2xhc3NdPVwiQWRkQ2FyZEFjdGl2aXR5XCI+PC9hdXAtYWRkLWNhcmQtYWN0aXZpdHk+XG4gKiA8L2F1cC1jYXJkLWNvbnRhaW5lcj5cbiAqXG4gKiAvLyBhZGRzIGFuIGFkZCBjYXJkIGNvbXBvbmVudCB1c2luZyB0aGUgc3BlY2lmaWVkIHRlbXBsYXRlLiAgVGhlIHRlbXBsYXRlXG4gKiAvLyB3aWxsIGZpbGwgaXQncyBjb250YWluZXIgaW4gdGhlIGdyaWQuXG4gKiA8YXVwLWNhcmQtY29udGFpbmVyPlxuICogICA8bXktY2FyZCAqbmdGb3I9XCIuLi5cIj48L215LWNhcmQ+XG4gKiAgIDxuZy10ZW1wbGF0ZSAjYWRkQ2FyZFRlbXBsYXRlPlxuICogICAgIDxkaXY+VGhpcyBpcyBhIG5ldyBjYXJkIHRlbXBsYXRlLCBpdCB3aWxsIHRoZSB0aGUgc2l6ZSBvZiB0aGUgb3RoZXIgY2FyZHMuPC9kaXY+XG4gKiAgIDwvbmctdGVtcGxhdGU+XG4gKiA8L2F1cC1jYXJkLWNvbnRhaW5lcj5cbiAqXG4gKiAvLyBzaW5nIHRoZSBkZWZhdWx0IG5ldyBjYXJkIHN0eWxlcyBmb3IgeW91ciB0ZW1wbGF0ZVxuICogQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9zdHlsZXNcIjtcbiAqIC5teS1uZXctY2FyZCB7XG4gKiAgIEBpbmNsdWRlIGF1cC1jYXJkLWNvbnRhaW5lci1uZXctY2FyZC1zdHlsZSgpO1xuICogICAvLyBPUlxuICogICBAaW5jbHVkZSBhdXAtY2FyZC1jb250YWluZXItbmV3LWNhcmQtc3R5bGUoXG4gKiAgICAgICRjb2xvcjogcmdiYSgwLDAsMCwwLjU0KSxcbiAqICAgICAgJGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44KSxcbiAqICAgICAgJGhvdmVyLWNvbG9yOiAkY29sb3IsXG4gKiAgICAgICRiYWNrZ3JvdW5kLWhvdmVyLWNvbG9yOiB3aGl0ZVxuICogICApXG4gKiB9XG4gKiA8YXVwLWNhcmQtY29udGFpbmVyPlxuICogICA8bXktY2FyZCAqbmdGb3I9XCIuLi5cIj48L215LWNhcmQ+XG4gKiAgIDxuZy10ZW1wbGF0ZSAjYWRkQ2FyZFRlbXBsYXRlPlxuICogICAgIDxkaXYgY2xhc3M9XCJteS1uZXctY2FyZFwiID5UaGlzIGlzIGEgbmV3IGNhcmQgdGVtcGxhdGUsIGl0IHdpbGwgdGhlIHRoZSBzaXplIG9mIHRoZSBvdGhlciBjYXJkcy48L2Rpdj5cbiAqICAgPC9uZy10ZW1wbGF0ZT5cbiAqIDwvYXVwLWNhcmQtY29udGFpbmVyPlxuICpcbiAqIC8vIENTUyBWYXJzXG4gKiBhdXAtY2FyZC1jb250YWluZXIge1xuICogICAtLWNhcmQtZ2FwOiB2YXIoLS1jYXJkLWdhcCwgMTZweCk7XG4gKiAgIC0tY2FyZC13aWR0aDogdmFyKC0tY2FyZC13aWR0aCwgMzAwcHgpO1xuICogICAtLWNhcmQtbWF4LXdpZHRoOiBhdXRvO1xuICogICAtLWNhcmQtaGVpZ2h0OiB2YXIoLS1jYXJkLWhlaWdodCwgYXV0byk7XG4gKiAgIC0tY2FyZC1taW4taGVpZ2h0OiB2YXIoLS1jYXJkLW1pbi1oZWlnaHQsIGF1dG8pO1xuICogICAtLWNhcmQtYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iYWNrZ3JvdW5kLCAjZmNmY2ZiKTtcbiAqIH1cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWNhcmQtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXJkQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDYXJkQ29udGFpbmVyQ29tcG9uZW50IHtcblxuICBwcml2YXRlIF9jb2x1bW5Db3VudDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBjb2x1bW5Db3VudChjb3VudDogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFpc05pbChjb3VudCkgJiYgKCFpc0ludGVnZXIoY291bnQpIHx8IGNvdW50IDwgMSkpIHtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdjb2x1bW5Db3VudCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciBvciBuaWwnKTtcbiAgICB9XG4gICAgdGhpcy5fY29sdW1uQ291bnQgPSBjb3VudDtcbiAgICB0aGlzLnVwZGF0ZUNvbHVtbkNvdW50U3R5bGVzKCk7XG4gIH1cblxuICBnZXQgY29sdW1uQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbkNvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBzY3JvbGxpbmcuICBJZiB0cnVlIHRoZSBjb250YWluZXIgd2lsbCBoYXZlIGhlaWdodD09MCBzbyB5b3UgbXVzdCBzZXQgaXQncyBoZWlnaHQgZXhwbGljaXRseVxuICAgKiBvciBwbGFjZSBpbiBhIGxheW91dCB0aGF0IHdpbGwgc3RyZXRjaCBpdCBzdWNoIGFzIGEgZ3JpZCBvciBmbGV4IGxheW91dC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGVuYWJsZVNjcm9sbCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5vbkluaXQoKCkgPT4gdGhpcy51cGRhdGVDb2x1bW5Db3VudFN0eWxlcygpKVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hdXRvLWNvbHVtbnMnKVxuICBnZXQgaXNBdXRvQ29sdW1ucygpIHtcbiAgICByZXR1cm4gaXNOaWwodGhpcy5fY29sdW1uQ291bnQpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zaW5nbGUtY29sdW1uJylcbiAgZ2V0IGlzU2luZ2xlQ29sdW1uKCkge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5Db3VudCA9PT0gMTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVDb2x1bW5Db3VudFN0eWxlcygpIHtcbiAgICBjb25zdCBlbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChpc05pbCh0aGlzLl9jb2x1bW5Db3VudCkpIHtcbiAgICAgIGVsLnN0eWxlLnNldFByb3BlcnR5KCctLWF1cC1jYXJkLWNvbnRhaW5lci1jb2x1bW4tY291bnQnLCAnJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnN0eWxlLnNldFByb3BlcnR5KCctLWF1cC1jYXJkLWNvbnRhaW5lci1jb2x1bW4tY291bnQnLCB0aGlzLl9jb2x1bW5Db3VudCk7XG4gICAgfVxuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDYXJkQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgZXhwb3J0IGludGVyZmFjZSBDb2x1bW5Db25maWd1cmF0aW9uIHtcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIHN0cmV0Y2hUb0ZpbGw6IGJvb2xlYW47XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltjYXJkLWNvbnRhaW5lci1oZWFkZXJdLCBbc2xvdD1oZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgPGRpdiBjbGFzcz1cImNhcmQtY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdiBjbGFzcz1cImFkZC1jYXJkLWNvbnRhaW5lclwiICpuZ0lmPVwiYWRkQ2FyZENvbW1hbmQuZW5hYmxlZCQudmFsdWVcIiBbcGVjdGluQ29tbWFuZF09XCJhZGRDYXJkQ29tbWFuZFwiPlxuICAgICAgPGF1cC1jb21tYW5kLWZhY2UgKm5nSWY9XCJhZGRDYXJkRmFjZVwiIFtmYWNlc109XCJbYWRkQ2FyZEZhY2VdXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICAgICAgPGF1cC1pY29uICpuZ0lmPVwiIWFkZENhcmRGYWNlXCIgaWNvbj1cIm1hdDphZGRcIj48L2F1cC1pY29uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImFkZC1jYXJkLXRlbXBsYXRlXCIgKm5nSWY9XCJhZGRDYXJkVGVtcGxhdGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRkQ2FyZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPGRpdiBjbGFzcz1cIm5vLXNjcm9sbC1jb250YWluZXJcIiAqbmdJZj1cIiFlbmFibGVTY3JvbGxcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48YXVwLXNjcm9sbC1jb250YWluZXIgKm5nSWY9XCJlbmFibGVTY3JvbGxcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbjwvYXVwLXNjcm9sbC1jb250YWluZXI+XG5cbjxkaXYgY2xhc3M9XCJmb290ZXItY29udGFpbmVyXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltjYXJkLWNvbnRhaW5lci1mb290ZXJdLCBbc2xvdD1mb290ZXJdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbiJdfQ==