@coolon/angular-ui-powerups 12.4.0-alpha.41 → 12.4.0-alpha.42

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 (42) hide show
  1. package/assets/{activities.scss → activities/activities.scss} +15 -11
  2. package/assets/activities/input-activities.scss +20 -0
  3. package/assets/interaction.scss +3 -4
  4. package/assets/mixins.scss +5 -7
  5. package/assets/styles.scss +5 -5
  6. package/bundles/coolon-angular-ui-powerups.umd.js +35 -13
  7. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  8. package/coolon-angular-ui-powerups.metadata.json +1 -1
  9. package/esm2015/lib/components/cards/card-container/card-container.component.js +1 -1
  10. package/esm2015/lib/components/cards/card-container/card-container.component.metadata.json +1 -1
  11. package/esm2015/lib/components/cards/card-stack/card-stack.component.js +1 -1
  12. package/esm2015/lib/components/cards/card-stack/card-stack.component.metadata.json +1 -1
  13. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +1 -1
  14. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  15. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  16. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js.map +1 -1
  17. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.metadata.json +1 -1
  18. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js +1 -1
  19. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.metadata.json +1 -1
  20. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +2 -1
  21. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js.map +1 -1
  22. package/esm2015/lib/interaction/components/input-activities/input-activity.js +21 -2
  23. package/esm2015/lib/interaction/components/input-activities/input-activity.js.map +1 -1
  24. package/esm2015/lib/interaction/components/input-activities/input-activity.metadata.json +1 -1
  25. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js +3 -1
  26. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js.map +1 -1
  27. package/esm2015/lib/interaction/components/input-activities/select-input-activity.metadata.json +1 -1
  28. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js +4 -1
  29. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js.map +1 -1
  30. package/esm2015/lib/interaction/components/input-activities/string-input-activity.metadata.json +1 -1
  31. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js +1 -0
  32. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js.map +1 -1
  33. package/esm2015/lib/interaction/interaction.module.js +2 -0
  34. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  35. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  36. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  37. package/fesm2015/coolon-angular-ui-powerups.js +35 -8
  38. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  39. package/lib/interaction/components/input-activities/input-activity.d.ts +8 -2
  40. package/lib/interaction/components/input-activities/string-input-activity.d.ts +4 -0
  41. package/package.json +1 -1
  42. package/assets/interaction/input-activity.scss +0 -12
@@ -1,5 +1,6 @@
1
- @use "~@angular/material/theming" as ng;
1
+ @use "~@angular/material" as mat;
2
2
  @use "sass:map";
3
+ @use "input-activities";
3
4
 
4
5
  @mixin apply-theme($color-config, $typography-config) {
5
6
 
@@ -19,10 +20,10 @@
19
20
 
20
21
  aup-activity-title {
21
22
  display: block;
22
- font-family: ng.mat-font-family($typography-config);
23
- font-size: ng.mat-font-size($typography-config, title);
24
- line-height: ng.mat-line-height($typography-config, title);
25
- letter-spacing: ng.mat-letter-spacing($typography-config, title);
23
+ font-family: mat.font-family($typography-config);
24
+ font-size: mat.font-size($typography-config, title);
25
+ line-height: mat.line-height($typography-config, title);
26
+ letter-spacing: mat.letter-spacing($typography-config, title);
26
27
  padding: var(--aup-activity-padding);
27
28
 
28
29
  &:not(.transparent-background) {
@@ -31,20 +32,20 @@
31
32
 
32
33
  &[color=primary] {
33
34
  $palette: $primary-palette;
34
- color: ng.mat-color($palette, default-contrast);
35
- background-color: ng.mat-color($palette, default);
35
+ color: mat.get-color-from-palette($palette, default-contrast);
36
+ background-color: mat.get-color-from-palette($palette, default);
36
37
  }
37
38
 
38
39
  &[color=accent] {
39
40
  $palette: $accent-palette;
40
- color: ng.mat-color($palette, default-contrast);
41
- background-color: ng.mat-color($palette, default);
41
+ color: mat.get-color-from-palette($palette, default-contrast);
42
+ background-color: mat.get-color-from-palette($palette, default);
42
43
  }
43
44
 
44
45
  &[color=warn] {
45
46
  $palette: $warn-palette;
46
- color: ng.mat-color($palette, default-contrast);
47
- background-color: ng.mat-color($palette, default);
47
+ color: mat.get-color-from-palette($palette, default-contrast);
48
+ background-color: mat.get-color-from-palette($palette, default);
48
49
  }
49
50
  }
50
51
 
@@ -65,6 +66,9 @@
65
66
  display: block;
66
67
  padding: var(--aup-activity-padding);
67
68
  }
69
+
70
+ @include input-activities.apply-theme($color-config, $typography-config)
71
+
68
72
  }
69
73
 
70
74
 
@@ -0,0 +1,20 @@
1
+ @mixin apply-theme($color-config, $typography-config) {
2
+
3
+ .aup-input-activity {
4
+
5
+ &[layout=block] {
6
+ padding: var(--aup-activity-padding);
7
+ }
8
+
9
+ // used for inline editors
10
+ &[layout=inline] {
11
+ padding: 0 var(--aup-activity-padding);
12
+ display: flex;
13
+ flex-direction: row;
14
+ }
15
+
16
+ aup-activity-actions {
17
+ padding: 0 0 0 var(--aup-activity-padding);
18
+ }
19
+ }
20
+ }
@@ -1,7 +1,6 @@
1
- @use "~@angular/material/theming";
1
+ @use "~@angular/material" as mat;
2
2
 
3
3
  @use "./interaction/editor/inline-string-editor";
4
- @use "./interaction/input-activity";
5
4
 
6
5
  @mixin apply-theme($color-config, $typography-config) {
7
6
  @include inline-string-editor.apply-theme($color-config, $typography-config)
@@ -27,7 +26,7 @@
27
26
 
28
27
  .aup-popup-interaction-panel {
29
28
  background: var(--aup-default-background, white);
30
- @include theming.mat-elevation(1);
31
- @include theming.mat-elevation-transition;
29
+ @include mat.elevation(1);
30
+ @include mat.elevation-transition;
32
31
  }
33
32
 
@@ -1,26 +1,24 @@
1
- @use "~@angular/material/theming" as ng;
1
+ @use "~@angular/material" as mat;
2
+ @use "~@angular/material/theming" as theme;
2
3
 
3
4
  @mixin elevate-on-hover($height:2) {
4
- @include ng.mat-elevation-transition();
5
+ @include mat.elevation-transition();
5
6
  &:hover {
6
- @include ng.mat-elevation($height);
7
+ @include mat.elevation($height);
7
8
  }
8
9
  }
9
10
 
10
11
  @mixin aup-card-container-new-card-style($color: rgba(0,0,0,0.54), $background-color: rgba(255,255,255,0.8), $hover-color: $color, $background-hover-color: white) {
12
+ @include elevate-on-hover();
11
13
  box-sizing: border-box;
12
14
  border: 2px dashed rgba(0, 0, 0, 0.1);
13
15
  border-radius: 6px;
14
-
15
16
  font-weight: 300;
16
17
  cursor: pointer;
17
18
  color: $color;
18
19
  background-color: $background-color;
19
- transition: all ng.$mat-elevation-transition-duration ng.$mat-elevation-transition-timing-function;
20
20
 
21
21
  &:hover {
22
- @include elevate-on-hover(4);
23
- transition: all ng.$mat-elevation-transition-duration ng.$mat-elevation-transition-timing-function;
24
22
  border-color: transparent;
25
23
  background-color: $background-hover-color;
26
24
  color: $hover-color;
@@ -1,7 +1,7 @@
1
- @use "~@angular/material/theming" as ng;
1
+ @use "~@angular/material" as mat;
2
2
 
3
3
  @use "./mixins";
4
- @use "./activities";
4
+ @use "./activities/activities";
5
5
  @use "./cards";
6
6
  @use "./router";
7
7
  @use "./tabs";
@@ -14,11 +14,11 @@
14
14
 
15
15
  @mixin apply-light-theme($theme, $typography) {
16
16
 
17
- $color-config: ng.mat-get-color-config($theme);
17
+ $color-config: mat.get-color-config($theme);
18
18
 
19
- @include activities.apply-theme($color-config, $typography);
20
- @include cards.apply-theme($color-config, $typography);
21
19
  @include interaction.apply-theme($color-config, $typography);
20
+ @include cards.apply-theme($color-config, $typography);
21
+ @include activities.apply-theme($color-config, $typography);
22
22
 
23
23
  :root {
24
24
  --aup-default-padding: var(--default-padding, 16px);
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/platform-browser/animations'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/material/autocomplete'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/divider'), require('@angular/material/icon'), require('@angular/material/menu'), require('@angular/material/progress-spinner'), require('@angular/material/table'), require('@angular/material/tooltip'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@coolon/pectin'), require('@angular/platform-browser'), require('lodash'), require('@coolon/typescript-utilities'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('typescript-string-enums'), require('resize-observer-polyfill'), require('immer'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('wake-event')) :
3
- typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/checkbox', '@angular/material/divider', '@angular/material/icon', '@angular/material/menu', '@angular/material/progress-spinner', '@angular/material/table', '@angular/material/tooltip', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@coolon/pectin', '@angular/platform-browser', 'lodash', '@coolon/typescript-utilities', '@typescript-plus/fast-memoize-decorator/dist/src', 'typescript-string-enums', 'resize-observer-polyfill', 'immer', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'wake-event'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.checkbox, global.ng.material.divider, global.ng.material.icon, global.ng.material.menu, global.ng.material.progressSpinner, global.ng.material.table, global.ng.material.tooltip, global.angularFontawesome, global.freeSolidSvgIcons, global.pectin, global.ng.platformBrowser, global._, global.typescriptUtilities, global.src, global.typescriptStringEnums, global.ResizeObserver, global.produce, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations, global.wakeEvent));
5
- }(this, (function (exports, i2, i0, forms, formField, input, select, tabs, animations, portal, scrolling, autocomplete, button, checkbox, divider, icon, menu, progressSpinner, table, tooltip, angularFontawesome, freeSolidSvgIcons, pectin, platformBrowser, _, typescriptUtilities, src, typescriptStringEnums, ResizeObserver, produce, flexLayout, i1, i1$1, overlay, list, fastMemoizeDecorator, reflectMetadata, animations$1, wakeEvent) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/platform-browser/animations'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/material/autocomplete'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/divider'), require('@angular/material/icon'), require('@angular/material/menu'), require('@angular/material/progress-spinner'), require('@angular/material/table'), require('@angular/material/tooltip'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@coolon/pectin'), require('@angular/platform-browser'), require('lodash'), require('@coolon/typescript-utilities'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('typescript-string-enums'), require('resize-observer-polyfill'), require('immer'), require('@angular/cdk/a11y'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('wake-event')) :
3
+ typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/checkbox', '@angular/material/divider', '@angular/material/icon', '@angular/material/menu', '@angular/material/progress-spinner', '@angular/material/table', '@angular/material/tooltip', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@coolon/pectin', '@angular/platform-browser', 'lodash', '@coolon/typescript-utilities', '@typescript-plus/fast-memoize-decorator/dist/src', 'typescript-string-enums', 'resize-observer-polyfill', 'immer', '@angular/cdk/a11y', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'wake-event'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.checkbox, global.ng.material.divider, global.ng.material.icon, global.ng.material.menu, global.ng.material.progressSpinner, global.ng.material.table, global.ng.material.tooltip, global.angularFontawesome, global.freeSolidSvgIcons, global.pectin, global.ng.platformBrowser, global._, global.typescriptUtilities, global.src, global.typescriptStringEnums, global.ResizeObserver, global.produce, global.ng.cdk.a11y, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations, global.wakeEvent));
5
+ }(this, (function (exports, i2, i0, forms, formField, input, select, tabs, animations, portal, scrolling, autocomplete, button, checkbox, divider, icon, menu, progressSpinner, table, tooltip, angularFontawesome, freeSolidSvgIcons, pectin, platformBrowser, _, typescriptUtilities, src, typescriptStringEnums, ResizeObserver, produce, a11y, flexLayout, i1, i1$1, overlay, list, fastMemoizeDecorator, reflectMetadata, animations$1, wakeEvent) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -915,7 +915,7 @@
915
915
  { type: i0.Component, args: [{
916
916
  selector: 'aup-card-container',
917
917
  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=\"!enabledScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<aup-scroll-container *ngIf=\"enabledScroll\">\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",
918
- styles: [":host{--resolved-card-gap:var(--card-gap,16px);--resolved-card-width:var(--card-width,300px);--resolved-card-width-max:var(--card-width-max,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),auto));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)}.no-scroll-container,aup-scroll-container{flex:1}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:hsla(0,0%,100%,.8);transition:all .28s cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:all .28s cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
918
+ styles: [":host{--resolved-card-gap:var(--card-gap,16px);--resolved-card-width:var(--card-width,300px);--resolved-card-width-max:var(--card-width-max,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),auto));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)}.no-scroll-container,aup-scroll-container{flex:1}.add-card-container{width:var(--resolved-card-width);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:rgba(0,0,0,.54);background-color:hsla(0,0%,100%,.8)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
919
919
  },] }
920
920
  ];
921
921
  CardContainerComponent.ctorParameters = function () { return [
@@ -1002,7 +1002,7 @@
1002
1002
  { type: i0.Component, args: [{
1003
1003
  selector: 'aup-card-stack',
1004
1004
  template: "<div class=\"card-container\">\n <ng-content></ng-content>\n</div>\n<div class=\"footer\">\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 <ng-content select=\"[aup-card-stack-footer]\"></ng-content>\n</div>\n",
1005
- styles: [":host{--resolved-card-gap:var(--card-gap,16px);--resolved-card-height:var(--card-height,auto);--resolved-card-min-height:var(--card-min-height,auto);--resolved-card-background:var(--card-background,#fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:grid;grid-template-columns:1fr;grid-auto-rows:minmax(var(--resolved-card-min-height),var(--resolved-card-height));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);max-width:100%}.footer{align-items:stretch;padding:0 var(--resolved-card-gap) var(--resolved-card-gap)}.add-card-container,.footer{display:flex;flex-direction:column}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:hsla(0,0%,100%,.8);transition:all .28s cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:all .28s cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
1005
+ styles: [":host{--resolved-card-gap:var(--card-gap,16px);--resolved-card-height:var(--card-height,auto);--resolved-card-min-height:var(--card-min-height,auto);--resolved-card-background:var(--card-background,#fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:grid;grid-template-columns:1fr;grid-auto-rows:minmax(var(--resolved-card-min-height),var(--resolved-card-height));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);max-width:100%}.footer{align-items:stretch;padding:0 var(--resolved-card-gap) var(--resolved-card-gap)}.add-card-container,.footer{display:flex;flex-direction:column}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);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:rgba(0,0,0,.54);background-color:hsla(0,0%,100%,.8)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
1006
1006
  },] }
1007
1007
  ];
1008
1008
  CardStackComponent.ctorParameters = function () { return []; };
@@ -5714,7 +5714,7 @@
5714
5714
  ActivityContainerComponent.decorators = [
5715
5715
  { type: i0.Component, args: [{
5716
5716
  selector: 'aup-activity-container',
5717
- template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busyModel]=\"busy\">\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </aup-busy-overlay>\n </mat-tab>\n</mat-tab-group>\n",
5717
+ template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busyModel]=\"busy\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </aup-busy-overlay>\n </mat-tab>\n</mat-tab-group>\n",
5718
5718
  styles: [":host{display:flex;flex-direction:column}aup-busy-overlay,mat-tab-group{flex:1}"]
5719
5719
  },] }
5720
5720
  ];
@@ -6235,7 +6235,7 @@
6235
6235
  { type: i0.Component, args: [{
6236
6236
  selector: 'aup-add-card-activity',
6237
6237
  template: "<aup-in-place-interaction-context [animateFirstActivity]=\"false\" [pectinCommand]=\"startActivityCommand\">\n <aup-command *ngIf=\"isRenderAsButton()\" [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n <section *ngIf=\"isRenderAsCard()\" class=\"face-wrapper\">\n <aup-command-face class=\"mat-button\" [faces]=\"faceList.value\"></aup-command-face>\n </section>\n</aup-in-place-interaction-context>\n",
6238
- styles: [":host{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}:host[interactionStyle=inline][renderas=card]:not(.active){box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:hsla(0,0%,100%,.8);transition:all .28s cubic-bezier(.4,0,.2,1)}:host[interactionStyle=inline][renderas=card]:not(.active):hover{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:all .28s cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}:host[interactionStyle=inline][renderas=card]:not(.active):hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}:host[interactionStyle=modal][renderas=card]{box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:hsla(0,0%,100%,.8);transition:all .28s cubic-bezier(.4,0,.2,1)}:host[interactionStyle=modal][renderas=card]:hover{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:all .28s cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}:host[interactionStyle=modal][renderas=card]:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}:host-context(aup-card-container)[renderas=button]{align-self:start}section.face-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}aup-in-place-interaction-context{flex:1}aup-in-place-interaction-context.active{border:3px solid #6273c7;border-radius:4px;overflow:hidden}"]
6238
+ styles: [":host{display:flex;flex-direction:column;align-items:stretch;background-color:#fff}:host[interactionStyle=inline][renderas=card]:not(.active){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:rgba(0,0,0,.54);background-color:hsla(0,0%,100%,.8)}:host[interactionStyle=inline][renderas=card]:not(.active):hover{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}:host[interactionStyle=inline][renderas=card]:not(.active):hover{border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}:host[interactionStyle=modal][renderas=card]{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:rgba(0,0,0,.54);background-color:hsla(0,0%,100%,.8)}:host[interactionStyle=modal][renderas=card]:hover{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}:host[interactionStyle=modal][renderas=card]:hover{border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}:host-context(aup-card-container)[renderas=button]{align-self:start}section.face-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}aup-in-place-interaction-context{flex:1}aup-in-place-interaction-context.active{border:3px solid #6273c7;border-radius:4px;overflow:hidden}"]
6239
6239
  },] }
6240
6240
  ];
6241
6241
  exports.AddCardActivityComponent.ctorParameters = function () { return [
@@ -6385,6 +6385,7 @@
6385
6385
  var self = this;
6386
6386
  var overlayRef = this._overlay.create({
6387
6387
  hasBackdrop: false,
6388
+ disposeOnNavigation: true,
6388
6389
  panelClass: 'aup-popup-interaction-panel',
6389
6390
  positionStrategy: this._overlay.position()
6390
6391
  .flexibleConnectedTo(this._element)
@@ -6523,12 +6524,21 @@
6523
6524
  exports.InputActivity = /** @class */ (function (_super) {
6524
6525
  __extends(InputActivity, _super);
6525
6526
  function InputActivity(data) {
6526
- var _this = _super.call(this) || this;
6527
+ var _this = this;
6528
+ var _a, _b;
6529
+ _this = _super.call(this) || this;
6527
6530
  _this.data = data;
6528
6531
  _this.class = 'aup-input-activity';
6529
6532
  var form = new pectin.DirtyTrackingForm();
6530
6533
  _this.valueModel = form.valueModel(_this.data.initialValue);
6531
6534
  _this.valueModel.validateUsing(data.validators || []);
6535
+ // TODO: move to global configuration
6536
+ _this.confirmFace = (_a = data.confirmFace) !== null && _a !== void 0 ? _a : {
6537
+ icon: function () { return 'mat:check'; }
6538
+ };
6539
+ _this.cancelFace = (_b = data.cancelFace) !== null && _b !== void 0 ? _b : {
6540
+ icon: function () { return 'mat:clear'; }
6541
+ };
6532
6542
  _this.confirmCommand = pectin.Command.create(function () { return __awaiter(_this, void 0, void 0, function () {
6533
6543
  var self_1, allGood_1, result, e_1;
6534
6544
  return __generator(this, function (_c) {
@@ -6582,6 +6592,15 @@
6582
6592
  InputActivity.prototype.onActivityReady = function () {
6583
6593
  this.valueModel.focusContext.requestFocus();
6584
6594
  };
6595
+ InputActivity.prototype.onEscape = function () {
6596
+ if (this.shouldCancelOnEscape() && this.cancelCommand.enabled.value) {
6597
+ this.cancelCommand.execute();
6598
+ }
6599
+ };
6600
+ InputActivity.prototype.shouldCancelOnEscape = function () {
6601
+ return ___namespace.isNil(this.data.cancelOnEscape) // we default to true..
6602
+ || this.data.cancelOnEscape;
6603
+ };
6585
6604
  return InputActivity;
6586
6605
  }(Activity));
6587
6606
  exports.InputActivity.decorators = [
@@ -6592,7 +6611,8 @@
6592
6611
  ]; };
6593
6612
  exports.InputActivity.propDecorators = {
6594
6613
  class: [{ type: i0.HostBinding, args: ['class',] }],
6595
- layout: [{ type: i0.Input }, { type: i0.HostBinding, args: ['attr.layout',] }]
6614
+ layout: [{ type: i0.Input }, { type: i0.HostBinding, args: ['attr.layout',] }],
6615
+ onEscape: [{ type: i0.HostListener, args: ['keydown.escape',] }]
6596
6616
  };
6597
6617
  (function (InputActivity) {
6598
6618
  InputActivity.Layout = typescriptStringEnums.Enum({
@@ -6611,7 +6631,7 @@
6611
6631
  StringInputActivity.decorators = [
6612
6632
  { type: i0.Component, args: [{
6613
6633
  selector: 'aup-string-input-activity',
6614
- template: "\n <aup-string-input [valueModel]=\"valueModel\"\n [label]=\"data.label\"\n [placeholder]=\"data.placeholder\"\n [command.enter]=\"confirmCommand\"\n [command.escape]=\"cancelCommand\"></aup-string-input>\n <aup-activity-actions [layout]=\"layout\" align=\"end\" [faces]=\"data.buttonStyle\"></aup-activity-actions>\n "
6634
+ template: "\n <aup-string-input [valueModel]=\"valueModel\"\n [label]=\"data.label\"\n [placeholder]=\"data.placeholder\"\n [command.enter]=\"confirmCommand\"\n [command.escape]=\"cancelCommand\"></aup-string-input>\n <aup-activity-actions [layout]=\"layout\" align=\"end\"\n [confirmFace]=\"confirmFace\"\n [cancelFace]=\"cancelFace\"\n ></aup-activity-actions>\n "
6615
6635
  },] }
6616
6636
  ];
6617
6637
 
@@ -6645,7 +6665,7 @@
6645
6665
  SelectInputActivity.decorators = [
6646
6666
  { type: i0.Component, args: [{
6647
6667
  selector: 'aup-select-input-activity',
6648
- template: "\n <aup-select-input [valueModel]=\"valueModel\"\n [label]=\"data.label\"\n [placeholder]=\"data.placeholder\"\n [command.enter]=\"confirmCommand\"\n [command.escape]=\"cancelCommand\"\n [options]=\"options\"\n [optionLabelFormat]=\"optionLabelFormat\"\n ></aup-select-input>\n <aup-activity-actions [layout]=\"layout\" align=\"end\" [faces]=\"data.buttonStyle\"\n ></aup-activity-actions>\n "
6668
+ template: "\n <aup-select-input [valueModel]=\"valueModel\"\n [label]=\"data.label\"\n [placeholder]=\"data.placeholder\"\n [command.enter]=\"confirmCommand\"\n [command.escape]=\"cancelCommand\"\n [options]=\"options\"\n [optionLabelFormat]=\"optionLabelFormat\"\n ></aup-select-input>\n <aup-activity-actions [layout]=\"layout\" align=\"end\"\n [confirmFace]=\"confirmFace\"\n [cancelFace]=\"cancelFace\"\n ></aup-activity-actions>\n "
6649
6669
  },] }
6650
6670
  ];
6651
6671
 
@@ -6959,7 +6979,8 @@
6959
6979
  var self = this;
6960
6980
  return {
6961
6981
  initialValue: self.editorModel.valueModel.value,
6962
- buttonStyle: { confirm: self.saveFace.value, cancel: self.cancelFace.value },
6982
+ confirmFace: self.saveFace.value,
6983
+ cancelFace: self.cancelFace.value,
6963
6984
  placeholder: self.placeHolderModel.value,
6964
6985
  label: self.label,
6965
6986
  layout: exports.InputActivity.Layout.INLINE,
@@ -7070,6 +7091,7 @@
7070
7091
  forms.FormsModule,
7071
7092
  input.MatInputModule,
7072
7093
  formField.MatFormFieldModule,
7094
+ a11y.A11yModule
7073
7095
  ],
7074
7096
  declarations: [
7075
7097
  ActivityContainerComponent,