@skyux/action-bars 5.0.2 → 5.5.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-action-bars.umd.js +16 -7
  3. package/documentation.json +58 -7
  4. package/esm2015/index.js +11 -0
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/lib/modules/shared/sky-action-bars-resources.module.js +50 -0
  7. package/esm2015/lib/modules/shared/sky-action-bars-resources.module.js.map +1 -0
  8. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-actions.component.js +19 -0
  9. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-actions.component.js.map +1 -0
  10. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-cancel.component.js +36 -0
  11. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-cancel.component.js.map +1 -0
  12. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-primary-action.component.js +37 -0
  13. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-primary-action.component.js.map +1 -0
  14. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-secondary-action.component.js +48 -0
  15. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-secondary-action.component.js.map +1 -0
  16. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-secondary-actions.component.js +73 -0
  17. package/esm2015/lib/modules/summary-action-bar/actions/summary-action-bar-secondary-actions.component.js.map +1 -0
  18. package/esm2015/lib/modules/summary-action-bar/summary/summary-action-bar-summary.component.js +18 -0
  19. package/esm2015/lib/modules/summary-action-bar/summary/summary-action-bar-summary.component.js.map +1 -0
  20. package/esm2015/lib/modules/summary-action-bar/summary-action-bar-adapter.service.js +81 -0
  21. package/esm2015/lib/modules/summary-action-bar/summary-action-bar-adapter.service.js.map +1 -0
  22. package/esm2015/lib/modules/summary-action-bar/summary-action-bar.component.js +179 -0
  23. package/esm2015/lib/modules/summary-action-bar/summary-action-bar.component.js.map +1 -0
  24. package/esm2015/lib/modules/summary-action-bar/summary-action-bar.module.js +79 -0
  25. package/esm2015/lib/modules/summary-action-bar/summary-action-bar.module.js.map +1 -0
  26. package/esm2015/lib/modules/summary-action-bar/types/summary-action-bar-type.js +12 -0
  27. package/esm2015/lib/modules/summary-action-bar/types/summary-action-bar-type.js.map +1 -0
  28. package/esm2015/skyux-action-bars.js +2 -2
  29. package/esm2015/skyux-action-bars.js.map +1 -0
  30. package/esm2015/testing/public-api.js +1 -1
  31. package/esm2015/testing/public-api.js.map +1 -0
  32. package/esm2015/testing/skyux-action-bars-testing.js +1 -1
  33. package/esm2015/testing/skyux-action-bars-testing.js.map +1 -0
  34. package/esm2015/testing/summary-action-bar/summary-action-bar-fixture-action.js +1 -1
  35. package/esm2015/testing/summary-action-bar/summary-action-bar-fixture-action.js.map +1 -0
  36. package/esm2015/testing/summary-action-bar/summary-action-bar-fixture.js +1 -1
  37. package/esm2015/testing/summary-action-bar/summary-action-bar-fixture.js.map +1 -0
  38. package/esm2015/testing/summary-action-bar/summary-action-bar.module.js +1 -1
  39. package/esm2015/testing/summary-action-bar/summary-action-bar.module.js.map +1 -0
  40. package/fesm2015/skyux-action-bars-testing.js.map +1 -1
  41. package/fesm2015/skyux-action-bars.js +16 -7
  42. package/fesm2015/skyux-action-bars.js.map +1 -1
  43. package/index.d.ts +8 -0
  44. package/{modules → lib/modules}/shared/sky-action-bars-resources.module.d.ts +0 -0
  45. package/{modules → lib/modules}/summary-action-bar/actions/summary-action-bar-actions.component.d.ts +0 -0
  46. package/{modules → lib/modules}/summary-action-bar/actions/summary-action-bar-cancel.component.d.ts +0 -0
  47. package/{modules → lib/modules}/summary-action-bar/actions/summary-action-bar-primary-action.component.d.ts +0 -0
  48. package/{modules → lib/modules}/summary-action-bar/actions/summary-action-bar-secondary-action.component.d.ts +0 -0
  49. package/{modules → lib/modules}/summary-action-bar/actions/summary-action-bar-secondary-actions.component.d.ts +0 -0
  50. package/{modules → lib/modules}/summary-action-bar/summary/summary-action-bar-summary.component.d.ts +0 -0
  51. package/{modules → lib/modules}/summary-action-bar/summary-action-bar-adapter.service.d.ts +0 -0
  52. package/{modules → lib/modules}/summary-action-bar/summary-action-bar.component.d.ts +0 -0
  53. package/{modules → lib/modules}/summary-action-bar/summary-action-bar.module.d.ts +0 -0
  54. package/{modules → lib/modules}/summary-action-bar/types/summary-action-bar-type.d.ts +0 -0
  55. package/package.json +6 -6
  56. package/skyux-action-bars.d.ts +1 -1
  57. package/LICENSE +0 -21
  58. package/esm2015/modules/shared/sky-action-bars-resources.module.js +0 -41
  59. package/esm2015/modules/summary-action-bar/actions/summary-action-bar-actions.component.js +0 -19
  60. package/esm2015/modules/summary-action-bar/actions/summary-action-bar-cancel.component.js +0 -36
  61. package/esm2015/modules/summary-action-bar/actions/summary-action-bar-primary-action.component.js +0 -37
  62. package/esm2015/modules/summary-action-bar/actions/summary-action-bar-secondary-action.component.js +0 -48
  63. package/esm2015/modules/summary-action-bar/actions/summary-action-bar-secondary-actions.component.js +0 -73
  64. package/esm2015/modules/summary-action-bar/summary/summary-action-bar-summary.component.js +0 -18
  65. package/esm2015/modules/summary-action-bar/summary-action-bar-adapter.service.js +0 -80
  66. package/esm2015/modules/summary-action-bar/summary-action-bar.component.js +0 -179
  67. package/esm2015/modules/summary-action-bar/summary-action-bar.module.js +0 -79
  68. package/esm2015/modules/summary-action-bar/types/summary-action-bar-type.js +0 -12
  69. package/esm2015/public-api.js +0 -11
  70. package/public-api.d.ts +0 -8
@@ -0,0 +1,73 @@
1
+ import { ChangeDetectorRef, Component, ContentChildren, QueryList, ChangeDetectionStrategy, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { SkyMediaBreakpoints, SkyMediaQueryService } from '@skyux/core';
4
+ import { SkyDropdownMessageType } from '@skyux/popovers';
5
+ import { SkySummaryActionBarSecondaryActionComponent } from './summary-action-bar-secondary-action.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@skyux/core";
8
+ import * as i2 from "@skyux/popovers";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@skyux/i18n";
11
+ /**
12
+ * Contains secondary actions specified with `sky-summary-action-bar-secondary-action`
13
+ * components.
14
+ */
15
+ export class SkySummaryActionBarSecondaryActionsComponent {
16
+ constructor(changeDetector, mediaQueryService) {
17
+ this.changeDetector = changeDetector;
18
+ this.mediaQueryService = mediaQueryService;
19
+ this.isMobile = false;
20
+ this.dropdownMessageStream = new Subject();
21
+ this.actionClicks = [];
22
+ }
23
+ ngAfterContentInit() {
24
+ this.mediaQuerySubscription = this.mediaQueryService.subscribe((args) => {
25
+ this.isMobile = args === SkyMediaBreakpoints.xs;
26
+ this.checkAndUpdateChildrenType();
27
+ });
28
+ this.actionChanges = this.secondaryActionComponents.changes.subscribe(() => {
29
+ this.checkAndUpdateChildrenType();
30
+ });
31
+ if (this.mediaQueryService.current === SkyMediaBreakpoints.xs) {
32
+ this.isMobile = true;
33
+ }
34
+ this.checkAndUpdateChildrenType();
35
+ }
36
+ ngOnDestroy() {
37
+ this.mediaQuerySubscription.unsubscribe();
38
+ this.actionChanges.unsubscribe();
39
+ this.actionClicks.forEach((actionClick) => actionClick.unsubscribe());
40
+ }
41
+ checkAndUpdateChildrenType() {
42
+ /* istanbul ignore else */
43
+ if (this.secondaryActionComponents) {
44
+ let isDropdown = false;
45
+ if (this.secondaryActionComponents.length >= 5 || this.isMobile) {
46
+ isDropdown = true;
47
+ }
48
+ this.secondaryActionComponents.forEach((action) => {
49
+ action.isDropdown = isDropdown;
50
+ this.actionClicks.push(action.actionClick.subscribe(() => {
51
+ this.dropdownMessageStream.next({
52
+ type: SkyDropdownMessageType.Close,
53
+ });
54
+ }));
55
+ });
56
+ }
57
+ this.changeDetector.detectChanges();
58
+ }
59
+ }
60
+ SkySummaryActionBarSecondaryActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarSecondaryActionsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyMediaQueryService }], target: i0.ɵɵFactoryTarget.Component });
61
+ SkySummaryActionBarSecondaryActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkySummaryActionBarSecondaryActionsComponent, selector: "sky-summary-action-bar-secondary-actions", queries: [{ propertyName: "secondaryActionComponents", predicate: SkySummaryActionBarSecondaryActionComponent }], ngImport: i0, template: "<div\n *ngIf=\"!isMobile && secondaryActionComponents.length < 5\"\n class=\"sky-summary-action-bar-secondary-buttons\"\n role=\"menubar\"\n>\n <ng-container\n *ngTemplateOutlet=\"summaryActionBarSecondaryActions\"\n ></ng-container>\n</div>\n<div *ngIf=\"isMobile || secondaryActionComponents.length > 4\">\n <sky-dropdown\n buttonType=\"ellipsis-h\"\n [attr.title]=\"'skyux_summary_action_bar_open_secondary' | skyLibResources\"\n [messageStream]=\"dropdownMessageStream\"\n >\n <sky-dropdown-menu>\n <ng-container\n *ngTemplateOutlet=\"summaryActionBarSecondaryActions\"\n ></ng-container>\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-template #summaryActionBarSecondaryActions>\n <ng-content select=\"sky-summary-action-bar-secondary-action\"></ng-content>\n</ng-template>\n", components: [{ type: i2.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "dismissOnBlur", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { type: i2.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i4.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarSecondaryActionsComponent, decorators: [{
63
+ type: Component,
64
+ args: [{
65
+ selector: 'sky-summary-action-bar-secondary-actions',
66
+ templateUrl: './summary-action-bar-secondary-actions.component.html',
67
+ changeDetection: ChangeDetectionStrategy.OnPush,
68
+ }]
69
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyMediaQueryService }]; }, propDecorators: { secondaryActionComponents: [{
70
+ type: ContentChildren,
71
+ args: [SkySummaryActionBarSecondaryActionComponent]
72
+ }] } });
73
+ //# sourceMappingURL=summary-action-bar-secondary-actions.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-action-bar-secondary-actions.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/action-bars/src/lib/modules/summary-action-bar/actions/summary-action-bar-secondary-actions.component.ts","../../../../../../../../../libs/components/action-bars/src/lib/modules/summary-action-bar/actions/summary-action-bar-secondary-actions.component.html"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,SAAS,EACT,eAAe,EAEf,SAAS,EACT,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAgB,MAAM,MAAM,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAsB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,OAAO,EAAE,2CAA2C,EAAE,MAAM,iDAAiD,CAAC;;;;;;AAE9G;;;GAGG;AAMH,MAAM,OAAO,4CAA4C;IAcvD,YACU,cAAiC,EACjC,iBAAuC;QADvC,mBAAc,GAAd,cAAc,CAAmB;QACjC,sBAAiB,GAAjB,iBAAiB,CAAsB;QAV1C,aAAQ,GAAG,KAAK,CAAC;QAEjB,0BAAqB,GAAG,IAAI,OAAO,EAAsB,CAAC;QAIzD,iBAAY,GAAmB,EAAE,CAAC;IAKvC,CAAC;IAEG,kBAAkB;QACvB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAC5D,CAAC,IAAyB,EAAE,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,mBAAmB,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CACnE,GAAG,EAAE;YACH,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC,CACF,CAAC;QACF,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,KAAK,mBAAmB,CAAC,EAAE,EAAE;YAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;QACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACxE,CAAC;IAEO,0BAA0B;QAChC,0BAA0B;QAC1B,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAClC,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC/D,UAAU,GAAG,IAAI,CAAC;aACnB;YACD,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChD,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE;oBAChC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;wBAC9B,IAAI,EAAE,sBAAsB,CAAC,KAAK;qBACnC,CAAC,CAAC;gBACL,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC;;0IA/DU,4CAA4C;8HAA5C,4CAA4C,0HAGtC,2CAA2C,6BC9B9D,i0BAyBA;4FDEa,4CAA4C;kBALxD,SAAS;mBAAC;oBACT,QAAQ,EAAE,0CAA0C;oBACpD,WAAW,EAAE,uDAAuD;oBACpE,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;2IAKQ,yBAAyB;sBAD/B,eAAe;uBAAC,2CAA2C","sourcesContent":["import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n OnDestroy,\n QueryList,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\nimport { Subject, Subscription } from 'rxjs';\n\nimport { SkyMediaBreakpoints, SkyMediaQueryService } from '@skyux/core';\n\nimport { SkyDropdownMessage, SkyDropdownMessageType } from '@skyux/popovers';\n\nimport { SkySummaryActionBarSecondaryActionComponent } from './summary-action-bar-secondary-action.component';\n\n/**\n * Contains secondary actions specified with `sky-summary-action-bar-secondary-action`\n * components.\n */\n@Component({\n selector: 'sky-summary-action-bar-secondary-actions',\n templateUrl: './summary-action-bar-secondary-actions.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkySummaryActionBarSecondaryActionsComponent\n implements AfterContentInit, OnDestroy\n{\n @ContentChildren(SkySummaryActionBarSecondaryActionComponent)\n public secondaryActionComponents: QueryList<SkySummaryActionBarSecondaryActionComponent>;\n\n public isMobile = false;\n\n public dropdownMessageStream = new Subject<SkyDropdownMessage>();\n\n private mediaQuerySubscription: Subscription;\n private actionChanges: Subscription;\n private actionClicks: Subscription[] = [];\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private mediaQueryService: SkyMediaQueryService\n ) {}\n\n public ngAfterContentInit(): void {\n this.mediaQuerySubscription = this.mediaQueryService.subscribe(\n (args: SkyMediaBreakpoints) => {\n this.isMobile = args === SkyMediaBreakpoints.xs;\n this.checkAndUpdateChildrenType();\n }\n );\n\n this.actionChanges = this.secondaryActionComponents.changes.subscribe(\n () => {\n this.checkAndUpdateChildrenType();\n }\n );\n if (this.mediaQueryService.current === SkyMediaBreakpoints.xs) {\n this.isMobile = true;\n }\n this.checkAndUpdateChildrenType();\n }\n\n public ngOnDestroy(): void {\n this.mediaQuerySubscription.unsubscribe();\n this.actionChanges.unsubscribe();\n this.actionClicks.forEach((actionClick) => actionClick.unsubscribe());\n }\n\n private checkAndUpdateChildrenType() {\n /* istanbul ignore else */\n if (this.secondaryActionComponents) {\n let isDropdown = false;\n if (this.secondaryActionComponents.length >= 5 || this.isMobile) {\n isDropdown = true;\n }\n this.secondaryActionComponents.forEach((action) => {\n action.isDropdown = isDropdown;\n this.actionClicks.push(\n action.actionClick.subscribe(() => {\n this.dropdownMessageStream.next({\n type: SkyDropdownMessageType.Close,\n });\n })\n );\n });\n }\n this.changeDetector.detectChanges();\n }\n}\n","<div\n *ngIf=\"!isMobile && secondaryActionComponents.length < 5\"\n class=\"sky-summary-action-bar-secondary-buttons\"\n role=\"menubar\"\n>\n <ng-container\n *ngTemplateOutlet=\"summaryActionBarSecondaryActions\"\n ></ng-container>\n</div>\n<div *ngIf=\"isMobile || secondaryActionComponents.length > 4\">\n <sky-dropdown\n buttonType=\"ellipsis-h\"\n [attr.title]=\"'skyux_summary_action_bar_open_secondary' | skyLibResources\"\n [messageStream]=\"dropdownMessageStream\"\n >\n <sky-dropdown-menu>\n <ng-container\n *ngTemplateOutlet=\"summaryActionBarSecondaryActions\"\n ></ng-container>\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-template #summaryActionBarSecondaryActions>\n <ng-content select=\"sky-summary-action-bar-secondary-action\"></ng-content>\n</ng-template>\n"]}
@@ -0,0 +1,18 @@
1
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Specifies the summary information to display.
5
+ */
6
+ export class SkySummaryActionBarSummaryComponent {
7
+ }
8
+ SkySummaryActionBarSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ SkySummaryActionBarSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkySummaryActionBarSummaryComponent, selector: "sky-summary-action-bar-summary", ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarSummaryComponent, decorators: [{
11
+ type: Component,
12
+ args: [{
13
+ selector: 'sky-summary-action-bar-summary',
14
+ templateUrl: './summary-action-bar-summary.component.html',
15
+ changeDetection: ChangeDetectionStrategy.OnPush,
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=summary-action-bar-summary.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-action-bar-summary.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/action-bars/src/lib/modules/summary-action-bar/summary/summary-action-bar-summary.component.ts","../../../../../../../../../libs/components/action-bars/src/lib/modules/summary-action-bar/summary/summary-action-bar-summary.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;;AAEnE;;GAEG;AAMH,MAAM,OAAO,mCAAmC;;iIAAnC,mCAAmC;qHAAnC,mCAAmC,sECVhD,6BACA;4FDSa,mCAAmC;kBAL/C,SAAS;mBAAC;oBACT,QAAQ,EAAE,gCAAgC;oBAC1C,WAAW,EAAE,6CAA6C;oBAC1D,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD","sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Specifies the summary information to display.\n */\n@Component({\n selector: 'sky-summary-action-bar-summary',\n templateUrl: './summary-action-bar-summary.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkySummaryActionBarSummaryComponent {}\n","<ng-content></ng-content>\n"]}
@@ -0,0 +1,81 @@
1
+ import { Injectable, RendererFactory2, } from '@angular/core';
2
+ import { SkyAppWindowRef } from '@skyux/core';
3
+ import { SkySummaryActionBarType } from './types/summary-action-bar-type';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@skyux/core";
6
+ /**
7
+ * @internal
8
+ */
9
+ export class SkySummaryActionBarAdapterService {
10
+ constructor(rendererFactory, windowRef) {
11
+ this.rendererFactory = rendererFactory;
12
+ this.windowRef = windowRef;
13
+ this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
14
+ }
15
+ styleBodyElementForActionBar(summaryActionBarRef) {
16
+ const window = this.windowRef.nativeWindow;
17
+ const body = window.document.body;
18
+ const actionBarEl = summaryActionBarRef.nativeElement.querySelector('.sky-summary-action-bar');
19
+ /* istanbul ignore else */
20
+ if (actionBarEl.style.visibility !== 'hidden') {
21
+ this.renderer.setStyle(body, 'margin-bottom', actionBarEl.offsetHeight + 'px');
22
+ }
23
+ }
24
+ styleSplitViewElementForActionBar(summaryActionBarRef) {
25
+ const splitViewWorkspaceContent = document.querySelector('.sky-split-view-workspace-content');
26
+ const splitViewWorkspaceFooter = document.querySelector('.sky-split-view-workspace-footer');
27
+ const actionBarEl = summaryActionBarRef.nativeElement.querySelector('.sky-summary-action-bar');
28
+ /* istanbul ignore else */
29
+ if (actionBarEl.style.visibility !== 'hidden') {
30
+ this.renderer.setStyle(splitViewWorkspaceContent, 'padding-bottom', '20px');
31
+ this.renderer.setStyle(splitViewWorkspaceFooter, 'padding', 0);
32
+ }
33
+ }
34
+ revertBodyElementStyles() {
35
+ const window = this.windowRef.nativeWindow;
36
+ const body = window.document.body;
37
+ this.renderer.removeStyle(body, 'margin-bottom');
38
+ }
39
+ revertSplitViewElementStyles() {
40
+ const splitViewWorkspaceContent = document.querySelector('.sky-split-view-workspace-content');
41
+ const splitViewWorkspaceFooter = document.querySelector('.sky-split-view-workspace-footer');
42
+ this.renderer.setStyle(splitViewWorkspaceContent, 'padding-bottom', 'none');
43
+ this.renderer.setStyle(splitViewWorkspaceFooter, 'padding', '10px');
44
+ }
45
+ styleModalFooter(summaryActionBarRef) {
46
+ const modalFooterEls = document.getElementsByClassName('sky-modal-footer-container');
47
+ for (let i = 0; i < modalFooterEls.length; i++) {
48
+ if (modalFooterEls.item(i).contains(summaryActionBarRef.nativeElement)) {
49
+ this.renderer.setStyle(modalFooterEls.item(i), 'padding', 0);
50
+ }
51
+ }
52
+ }
53
+ getSummaryActionBarType(el) {
54
+ do {
55
+ if (el.tagName.toLowerCase() === 'sky-modal-footer') {
56
+ while (el.tagName.toLowerCase() !== 'sky-modal') {
57
+ if (el.classList.contains('sky-modal-full-page')) {
58
+ return SkySummaryActionBarType.FullPageModal;
59
+ }
60
+ el = el.parentElement;
61
+ }
62
+ return SkySummaryActionBarType.StandardModal;
63
+ }
64
+ else if (el.classList.contains('sky-tab')) {
65
+ return SkySummaryActionBarType.Tab;
66
+ }
67
+ else if (el.tagName.toLowerCase() === 'sky-split-view-workspace') {
68
+ return SkySummaryActionBarType.SplitView;
69
+ }
70
+ el = el.parentElement;
71
+ // tslint:disable-next-line:no-null-keyword
72
+ } while (el !== null && el.nodeType === 1);
73
+ return SkySummaryActionBarType.Page;
74
+ }
75
+ }
76
+ SkySummaryActionBarAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
77
+ SkySummaryActionBarAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarAdapterService });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarAdapterService, decorators: [{
79
+ type: Injectable
80
+ }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: i1.SkyAppWindowRef }]; } });
81
+ //# sourceMappingURL=summary-action-bar-adapter.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-action-bar-adapter.service.js","sourceRoot":"","sources":["../../../../../../../../libs/components/action-bars/src/lib/modules/summary-action-bar/summary-action-bar-adapter.service.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\nimport { SkyAppWindowRef } from '@skyux/core';\n\nimport { SkySummaryActionBarType } from './types/summary-action-bar-type';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkySummaryActionBarAdapterService {\n private renderer: Renderer2;\n\n constructor(\n private rendererFactory: RendererFactory2,\n private windowRef: SkyAppWindowRef\n ) {\n this.renderer = this.rendererFactory.createRenderer(undefined, undefined);\n }\n\n public styleBodyElementForActionBar(summaryActionBarRef: ElementRef): void {\n const window = this.windowRef.nativeWindow;\n const body = window.document.body;\n const actionBarEl = summaryActionBarRef.nativeElement.querySelector(\n '.sky-summary-action-bar'\n );\n /* istanbul ignore else */\n if (actionBarEl.style.visibility !== 'hidden') {\n this.renderer.setStyle(\n body,\n 'margin-bottom',\n actionBarEl.offsetHeight + 'px'\n );\n }\n }\n\n public styleSplitViewElementForActionBar(\n summaryActionBarRef: ElementRef\n ): void {\n const splitViewWorkspaceContent = document.querySelector(\n '.sky-split-view-workspace-content'\n );\n const splitViewWorkspaceFooter = document.querySelector(\n '.sky-split-view-workspace-footer'\n );\n const actionBarEl = summaryActionBarRef.nativeElement.querySelector(\n '.sky-summary-action-bar'\n );\n /* istanbul ignore else */\n if (actionBarEl.style.visibility !== 'hidden') {\n this.renderer.setStyle(\n splitViewWorkspaceContent,\n 'padding-bottom',\n '20px'\n );\n this.renderer.setStyle(splitViewWorkspaceFooter, 'padding', 0);\n }\n }\n\n public revertBodyElementStyles(): void {\n const window = this.windowRef.nativeWindow;\n const body = window.document.body;\n this.renderer.removeStyle(body, 'margin-bottom');\n }\n\n public revertSplitViewElementStyles(): void {\n const splitViewWorkspaceContent = document.querySelector(\n '.sky-split-view-workspace-content'\n );\n const splitViewWorkspaceFooter = document.querySelector(\n '.sky-split-view-workspace-footer'\n );\n this.renderer.setStyle(splitViewWorkspaceContent, 'padding-bottom', 'none');\n this.renderer.setStyle(splitViewWorkspaceFooter, 'padding', '10px');\n }\n\n public styleModalFooter(summaryActionBarRef: ElementRef): void {\n const modalFooterEls = document.getElementsByClassName(\n 'sky-modal-footer-container'\n );\n for (let i = 0; i < modalFooterEls.length; i++) {\n if (modalFooterEls.item(i).contains(summaryActionBarRef.nativeElement)) {\n this.renderer.setStyle(modalFooterEls.item(i), 'padding', 0);\n }\n }\n }\n\n public getSummaryActionBarType(el: Element): SkySummaryActionBarType {\n do {\n if (el.tagName.toLowerCase() === 'sky-modal-footer') {\n while (el.tagName.toLowerCase() !== 'sky-modal') {\n if (el.classList.contains('sky-modal-full-page')) {\n return SkySummaryActionBarType.FullPageModal;\n }\n el = el.parentElement;\n }\n return SkySummaryActionBarType.StandardModal;\n } else if (el.classList.contains('sky-tab')) {\n return SkySummaryActionBarType.Tab;\n } else if (el.tagName.toLowerCase() === 'sky-split-view-workspace') {\n return SkySummaryActionBarType.SplitView;\n }\n el = el.parentElement;\n // tslint:disable-next-line:no-null-keyword\n } while (el !== null && el.nodeType === 1);\n return SkySummaryActionBarType.Page;\n }\n}\n"]}
@@ -0,0 +1,179 @@
1
+ import { ChangeDetectorRef, ChangeDetectionStrategy, Component, ContentChild, ElementRef, } from '@angular/core';
2
+ import { fromEvent } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { Subject } from 'rxjs';
5
+ import { skyAnimationSlide } from '@skyux/animations';
6
+ import { MutationObserverService, SkyMediaBreakpoints, SkyMediaQueryService, SkyAppWindowRef, } from '@skyux/core';
7
+ import { SkySummaryActionBarSummaryComponent } from './summary/summary-action-bar-summary.component';
8
+ import { SkySummaryActionBarType } from './types/summary-action-bar-type';
9
+ import { SkySummaryActionBarAdapterService } from './summary-action-bar-adapter.service';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "./summary-action-bar-adapter.service";
12
+ import * as i2 from "@skyux/core";
13
+ import * as i3 from "@skyux/indicators";
14
+ import * as i4 from "@angular/common";
15
+ import * as i5 from "@skyux/theme";
16
+ import * as i6 from "@skyux/i18n";
17
+ /**
18
+ * Auto-incrementing integer used to generate unique ids for summary action bar components.
19
+ */
20
+ let nextId = 0;
21
+ /**
22
+ * Contains the `sky-summary-action-bar-actions` and
23
+ * `sky-summary-action-bar-summary` components.
24
+ */
25
+ export class SkySummaryActionBarComponent {
26
+ constructor(adapterService, changeDetector, elementRef, mediaQueryService, observerService, windowRef) {
27
+ this.adapterService = adapterService;
28
+ this.changeDetector = changeDetector;
29
+ this.elementRef = elementRef;
30
+ this.mediaQueryService = mediaQueryService;
31
+ this.observerService = observerService;
32
+ this.windowRef = windowRef;
33
+ this.isSummaryCollapsed = false;
34
+ this.slideDirection = 'down';
35
+ this.summaryId = `sky-summary-action-bar-summary-${++nextId}`;
36
+ this.idled = new Subject();
37
+ }
38
+ get isSummaryCollapsible() {
39
+ return (this.type === SkySummaryActionBarType.StandardModal ||
40
+ this.mediaQueryService.current === SkyMediaBreakpoints.xs);
41
+ }
42
+ ngAfterViewInit() {
43
+ this.type = this.adapterService.getSummaryActionBarType(this.elementRef.nativeElement);
44
+ if (!(this.type === SkySummaryActionBarType.FullPageModal ||
45
+ this.type === SkySummaryActionBarType.StandardModal)) {
46
+ this.setupReactiveState();
47
+ if (this.type === SkySummaryActionBarType.SplitView) {
48
+ this.adapterService.styleSplitViewElementForActionBar(this.elementRef);
49
+ }
50
+ else {
51
+ this.adapterService.styleBodyElementForActionBar(this.elementRef);
52
+ }
53
+ this.setupResizeListener();
54
+ if (this.type === SkySummaryActionBarType.Tab) {
55
+ this.setupTabListener();
56
+ }
57
+ }
58
+ else {
59
+ this.adapterService.styleModalFooter(this.elementRef);
60
+ if (this.type === SkySummaryActionBarType.FullPageModal) {
61
+ this.setupReactiveState();
62
+ }
63
+ }
64
+ this.changeDetector.detectChanges();
65
+ }
66
+ ngOnDestroy() {
67
+ if (this.type === SkySummaryActionBarType.SplitView) {
68
+ this.adapterService.revertSplitViewElementStyles();
69
+ }
70
+ else if (this.type === SkySummaryActionBarType.Page ||
71
+ this.type === SkySummaryActionBarType.Tab) {
72
+ this.adapterService.revertBodyElementStyles();
73
+ }
74
+ this.removeResizeListener();
75
+ this.removeTabListener();
76
+ if (this.mediaQuerySubscription) {
77
+ this.mediaQuerySubscription.unsubscribe();
78
+ }
79
+ this.idled.complete();
80
+ }
81
+ onDirectionChange(direction) {
82
+ this.slideDirection = direction;
83
+ }
84
+ summaryContentExists() {
85
+ return (this.summaryElement &&
86
+ this.summaryElement.nativeElement.children.length > 0);
87
+ }
88
+ // NOTE: This function is needed so that the button is not removed until post-animation
89
+ summaryTransitionEnd() {
90
+ if (this.slideDirection === 'up') {
91
+ this.isSummaryCollapsed = true;
92
+ }
93
+ if (this.type === SkySummaryActionBarType.Page ||
94
+ this.type === SkySummaryActionBarType.Tab) {
95
+ this.adapterService.styleBodyElementForActionBar(this.elementRef);
96
+ }
97
+ }
98
+ // NOTE: This function is needed so that the button is added before animation
99
+ summaryTransitionStart() {
100
+ if (this.slideDirection === 'down') {
101
+ this.isSummaryCollapsed = false;
102
+ }
103
+ }
104
+ setupReactiveState() {
105
+ this.mediaQuerySubscription = this.mediaQueryService.subscribe((args) => {
106
+ if (args !== SkyMediaBreakpoints.xs) {
107
+ this.isSummaryCollapsed = false;
108
+ this.slideDirection = 'down';
109
+ }
110
+ this.changeDetector.detectChanges();
111
+ });
112
+ }
113
+ setupTabListener() {
114
+ /* istanbul ignore else */
115
+ if (!this.observer) {
116
+ this.observer = this.observerService.create((mutations) => {
117
+ if (mutations[0].target.attributes.getNamedItem('hidden')) {
118
+ this.adapterService.revertBodyElementStyles();
119
+ this.removeResizeListener();
120
+ }
121
+ else {
122
+ setTimeout(() => {
123
+ this.adapterService.styleBodyElementForActionBar(this.elementRef);
124
+ this.setupResizeListener();
125
+ });
126
+ }
127
+ });
128
+ }
129
+ const config = {
130
+ attributes: true,
131
+ attributeFilter: ['hidden'],
132
+ childList: false,
133
+ characterDate: false,
134
+ };
135
+ let el = this.elementRef.nativeElement;
136
+ do {
137
+ if (el.classList.contains('sky-tab')) {
138
+ this.observer.observe(el, config);
139
+ }
140
+ el = el.parentElement;
141
+ // tslint:disable-next-line:no-null-keyword
142
+ } while (el !== null && el.nodeType === 1);
143
+ }
144
+ removeTabListener() {
145
+ if (this.observer) {
146
+ this.observer.disconnect();
147
+ }
148
+ }
149
+ setupResizeListener() {
150
+ if (this.type !== SkySummaryActionBarType.SplitView) {
151
+ const windowObj = this.windowRef.nativeWindow;
152
+ fromEvent(windowObj, 'resize')
153
+ .pipe(takeUntil(this.idled))
154
+ .subscribe(() => {
155
+ this.adapterService.styleBodyElementForActionBar(this.elementRef);
156
+ });
157
+ }
158
+ }
159
+ removeResizeListener() {
160
+ this.idled.next(true);
161
+ }
162
+ }
163
+ SkySummaryActionBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarComponent, deps: [{ token: i1.SkySummaryActionBarAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i2.SkyMediaQueryService }, { token: i2.MutationObserverService }, { token: i2.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Component });
164
+ SkySummaryActionBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkySummaryActionBarComponent, selector: "sky-summary-action-bar", providers: [SkySummaryActionBarAdapterService], queries: [{ propertyName: "summaryElement", first: true, predicate: SkySummaryActionBarSummaryComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-summary-action-bar\"\n [ngClass]=\"{\n 'sky-summary-action-bar-summary-collapsible': isSummaryCollapsible,\n 'sky-summary-action-bar-modal': type === 1 || type === 2,\n 'sky-summary-action-bar-split-view': type === 4\n }\"\n>\n <div class=\"sky-summary-action-bar-actions\">\n <ng-content select=\"sky-summary-action-bar-actions\"></ng-content>\n </div>\n <ng-container *ngIf=\"summaryContentExists()\">\n <div\n class=\"sky-summary-action-bar-summary\"\n [id]=\"summaryId\"\n [@skyAnimationSlide]=\"slideDirection\"\n (@skyAnimationSlide.start)=\"summaryTransitionStart()\"\n (@skyAnimationSlide.done)=\"summaryTransitionEnd()\"\n >\n <div class=\"sky-summary-action-bar-summary-body\">\n <div class=\"sky-summary-action-bar-summary-items\">\n <ng-content select=\"sky-summary-action-bar-summary\"></ng-content>\n </div>\n <div\n *ngIf=\"isSummaryCollapsible && !isSummaryCollapsed\"\n class=\"sky-summary-action-bar-details-collapse\"\n >\n <ng-container *ngTemplateOutlet=\"chevron\"></ng-container>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"isSummaryCollapsible && isSummaryCollapsed\"\n class=\"sky-summary-action-bar-details-expand\"\n >\n <ng-container *ngTemplateOutlet=\"chevron\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #chevron>\n <sky-chevron\n [attr.aria-controls]=\"summaryId\"\n [ariaLabel]=\"'skyux_summary_action_bar_expand' | skyLibResources\"\n [direction]=\"isSummaryCollapsed ? 'up' : 'down'\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"onDirectionChange($event)\"\n >\n </sky-chevron>\n</ng-template>\n", styles: [".sky-summary-action-bar{display:flex;align-items:center;width:100%;margin-top:20px;position:fixed;bottom:0;left:0;z-index:999;background-color:#fff;box-shadow:0 -3px 3px #cdcfd2}.sky-summary-action-bar-modal,.sky-summary-action-bar-split-view{position:relative;margin-top:0}.sky-summary-action-bar-split-view{box-shadow:none}.sky-summary-action-bar-actions{padding:10px 20px 10px 10px;flex-shrink:0;background-color:#fff;z-index:999}.sky-summary-action-bar-summary{margin:10px 0;border-left:1px solid #e2e3e4}.sky-summary-action-bar-summary-body{padding-left:20px;display:flex}.sky-summary-action-bar-summary-items{display:flex;flex-wrap:wrap;flex-grow:1;margin-right:10px}.sky-summary-action-bar-details-expand{margin-left:auto;margin-right:10px}.sky-summary-action-bar-details-expand,.sky-summary-action-bar-details-collapse{display:none}.sky-summary-action-bar-summary-collapsible.sky-summary-action-bar{flex-wrap:wrap}.sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-summary{order:-1;width:100%;border-bottom:1px solid #e2e3e4;margin:0;border-left:none;z-index:998}.sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-summary-body{padding:10px}.sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-details-expand,.sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-details-collapse{display:block}:host-context(.sky-theme-modern) .sky-summary-action-bar-actions{padding:20px 30px}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary{border:none}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-body{padding-left:30px}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-actions{padding:20px}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-summary-body{padding:20px}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-items{margin-bottom:-10px}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-items ::ng-deep sky-key-info{margin:0 30px 10px 0;display:inline-block}:host-context(.sky-theme-modern) .sky-summary-action-bar-summary-items ::ng-deep sky-key-info:last-child{margin:0 0 10px}.sky-theme-modern .sky-summary-action-bar-actions{padding:20px 30px}.sky-theme-modern .sky-summary-action-bar-summary{border:none}.sky-theme-modern .sky-summary-action-bar-summary-body{padding-left:30px}.sky-theme-modern .sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-actions{padding:20px}.sky-theme-modern .sky-summary-action-bar-summary-collapsible .sky-summary-action-bar-summary-body{padding:20px}.sky-theme-modern .sky-summary-action-bar-summary-items{margin-bottom:-10px}.sky-theme-modern .sky-summary-action-bar-summary-items ::ng-deep sky-key-info{margin:0 30px 10px 0;display:inline-block}.sky-theme-modern .sky-summary-action-bar-summary-items ::ng-deep sky-key-info:last-child{margin:0 0 10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-summary-action-bar{background-color:#000;box-shadow:none}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-summary-action-bar-actions{background-color:#000}.sky-theme-modern.sky-theme-mode-dark .sky-summary-action-bar{background-color:#000;box-shadow:none}.sky-theme-modern.sky-theme-mode-dark .sky-summary-action-bar-actions{background-color:#000}\n"], components: [{ type: i3.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], pipes: { "skyLibResources": i6.SkyLibResourcesPipe }, animations: [skyAnimationSlide], changeDetection: i0.ChangeDetectionStrategy.OnPush });
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarComponent, decorators: [{
166
+ type: Component,
167
+ args: [{
168
+ selector: 'sky-summary-action-bar',
169
+ templateUrl: './summary-action-bar.component.html',
170
+ styleUrls: ['./summary-action-bar.component.scss'],
171
+ animations: [skyAnimationSlide],
172
+ providers: [SkySummaryActionBarAdapterService],
173
+ changeDetection: ChangeDetectionStrategy.OnPush,
174
+ }]
175
+ }], ctorParameters: function () { return [{ type: i1.SkySummaryActionBarAdapterService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2.SkyMediaQueryService }, { type: i2.MutationObserverService }, { type: i2.SkyAppWindowRef }]; }, propDecorators: { summaryElement: [{
176
+ type: ContentChild,
177
+ args: [SkySummaryActionBarSummaryComponent, { read: ElementRef }]
178
+ }] } });
179
+ //# sourceMappingURL=summary-action-bar.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-action-bar.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/action-bars/src/lib/modules/summary-action-bar/summary-action-bar.component.ts","../../../../../../../../libs/components/action-bars/src/lib/modules/summary-action-bar/summary-action-bar.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n OnDestroy,\n} from '@angular/core';\n\nimport { fromEvent } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Subject } from 'rxjs';\n\nimport { Subscription } from 'rxjs';\n\nimport { skyAnimationSlide } from '@skyux/animations';\n\nimport {\n MutationObserverService,\n SkyMediaBreakpoints,\n SkyMediaQueryService,\n SkyAppWindowRef,\n} from '@skyux/core';\n\nimport { SkySummaryActionBarSummaryComponent } from './summary/summary-action-bar-summary.component';\n\nimport { SkySummaryActionBarType } from './types/summary-action-bar-type';\n\nimport { SkySummaryActionBarAdapterService } from './summary-action-bar-adapter.service';\n\n/**\n * Auto-incrementing integer used to generate unique ids for summary action bar components.\n */\nlet nextId = 0;\n\n/**\n * Contains the `sky-summary-action-bar-actions` and\n * `sky-summary-action-bar-summary` components.\n */\n@Component({\n selector: 'sky-summary-action-bar',\n templateUrl: './summary-action-bar.component.html',\n styleUrls: ['./summary-action-bar.component.scss'],\n animations: [skyAnimationSlide],\n providers: [SkySummaryActionBarAdapterService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkySummaryActionBarComponent implements AfterViewInit, OnDestroy {\n public isSummaryCollapsed = false;\n\n public get isSummaryCollapsible(): boolean {\n return (\n this.type === SkySummaryActionBarType.StandardModal ||\n this.mediaQueryService.current === SkyMediaBreakpoints.xs\n );\n }\n\n public type: SkySummaryActionBarType;\n\n public slideDirection: string = 'down';\n\n public summaryId: string = `sky-summary-action-bar-summary-${++nextId}`;\n\n private mediaQuerySubscription: Subscription;\n\n private observer: MutationObserver;\n\n private idled = new Subject<boolean>();\n\n @ContentChild(SkySummaryActionBarSummaryComponent, { read: ElementRef })\n private summaryElement: ElementRef;\n\n constructor(\n private adapterService: SkySummaryActionBarAdapterService,\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef,\n private mediaQueryService: SkyMediaQueryService,\n private observerService: MutationObserverService,\n private windowRef: SkyAppWindowRef\n ) {}\n\n public ngAfterViewInit(): void {\n this.type = this.adapterService.getSummaryActionBarType(\n this.elementRef.nativeElement\n );\n if (\n !(\n this.type === SkySummaryActionBarType.FullPageModal ||\n this.type === SkySummaryActionBarType.StandardModal\n )\n ) {\n this.setupReactiveState();\n\n if (this.type === SkySummaryActionBarType.SplitView) {\n this.adapterService.styleSplitViewElementForActionBar(this.elementRef);\n } else {\n this.adapterService.styleBodyElementForActionBar(this.elementRef);\n }\n\n this.setupResizeListener();\n\n if (this.type === SkySummaryActionBarType.Tab) {\n this.setupTabListener();\n }\n } else {\n this.adapterService.styleModalFooter(this.elementRef);\n\n if (this.type === SkySummaryActionBarType.FullPageModal) {\n this.setupReactiveState();\n }\n }\n this.changeDetector.detectChanges();\n }\n\n public ngOnDestroy(): void {\n if (this.type === SkySummaryActionBarType.SplitView) {\n this.adapterService.revertSplitViewElementStyles();\n } else if (\n this.type === SkySummaryActionBarType.Page ||\n this.type === SkySummaryActionBarType.Tab\n ) {\n this.adapterService.revertBodyElementStyles();\n }\n\n this.removeResizeListener();\n this.removeTabListener();\n\n if (this.mediaQuerySubscription) {\n this.mediaQuerySubscription.unsubscribe();\n }\n this.idled.complete();\n }\n\n public onDirectionChange(direction: string): void {\n this.slideDirection = direction;\n }\n\n public summaryContentExists(): boolean {\n return (\n this.summaryElement &&\n this.summaryElement.nativeElement.children.length > 0\n );\n }\n\n // NOTE: This function is needed so that the button is not removed until post-animation\n public summaryTransitionEnd(): void {\n if (this.slideDirection === 'up') {\n this.isSummaryCollapsed = true;\n }\n\n if (\n this.type === SkySummaryActionBarType.Page ||\n this.type === SkySummaryActionBarType.Tab\n ) {\n this.adapterService.styleBodyElementForActionBar(this.elementRef);\n }\n }\n\n // NOTE: This function is needed so that the button is added before animation\n public summaryTransitionStart(): void {\n if (this.slideDirection === 'down') {\n this.isSummaryCollapsed = false;\n }\n }\n\n private setupReactiveState() {\n this.mediaQuerySubscription = this.mediaQueryService.subscribe(\n (args: SkyMediaBreakpoints) => {\n if (args !== SkyMediaBreakpoints.xs) {\n this.isSummaryCollapsed = false;\n this.slideDirection = 'down';\n }\n this.changeDetector.detectChanges();\n }\n );\n }\n\n private setupTabListener(): void {\n /* istanbul ignore else */\n if (!this.observer) {\n this.observer = this.observerService.create(\n (mutations: MutationRecord[]) => {\n if (\n (<HTMLElement>mutations[0].target).attributes.getNamedItem('hidden')\n ) {\n this.adapterService.revertBodyElementStyles();\n this.removeResizeListener();\n } else {\n setTimeout(() => {\n this.adapterService.styleBodyElementForActionBar(this.elementRef);\n this.setupResizeListener();\n });\n }\n }\n );\n }\n\n const config = {\n attributes: true,\n attributeFilter: ['hidden'],\n childList: false,\n characterDate: false,\n };\n let el = this.elementRef.nativeElement;\n do {\n if (el.classList.contains('sky-tab')) {\n this.observer.observe(el, config);\n }\n el = el.parentElement;\n // tslint:disable-next-line:no-null-keyword\n } while (el !== null && el.nodeType === 1);\n }\n\n private removeTabListener(): void {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n private setupResizeListener(): void {\n if (this.type !== SkySummaryActionBarType.SplitView) {\n const windowObj = this.windowRef.nativeWindow;\n fromEvent(windowObj, 'resize')\n .pipe(takeUntil(this.idled))\n .subscribe(() => {\n this.adapterService.styleBodyElementForActionBar(this.elementRef);\n });\n }\n }\n\n private removeResizeListener(): void {\n this.idled.next(true);\n }\n}\n","<div\n class=\"sky-summary-action-bar\"\n [ngClass]=\"{\n 'sky-summary-action-bar-summary-collapsible': isSummaryCollapsible,\n 'sky-summary-action-bar-modal': type === 1 || type === 2,\n 'sky-summary-action-bar-split-view': type === 4\n }\"\n>\n <div class=\"sky-summary-action-bar-actions\">\n <ng-content select=\"sky-summary-action-bar-actions\"></ng-content>\n </div>\n <ng-container *ngIf=\"summaryContentExists()\">\n <div\n class=\"sky-summary-action-bar-summary\"\n [id]=\"summaryId\"\n [@skyAnimationSlide]=\"slideDirection\"\n (@skyAnimationSlide.start)=\"summaryTransitionStart()\"\n (@skyAnimationSlide.done)=\"summaryTransitionEnd()\"\n >\n <div class=\"sky-summary-action-bar-summary-body\">\n <div class=\"sky-summary-action-bar-summary-items\">\n <ng-content select=\"sky-summary-action-bar-summary\"></ng-content>\n </div>\n <div\n *ngIf=\"isSummaryCollapsible && !isSummaryCollapsed\"\n class=\"sky-summary-action-bar-details-collapse\"\n >\n <ng-container *ngTemplateOutlet=\"chevron\"></ng-container>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"isSummaryCollapsible && isSummaryCollapsed\"\n class=\"sky-summary-action-bar-details-expand\"\n >\n <ng-container *ngTemplateOutlet=\"chevron\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #chevron>\n <sky-chevron\n [attr.aria-controls]=\"summaryId\"\n [ariaLabel]=\"'skyux_summary_action_bar_expand' | skyLibResources\"\n [direction]=\"isSummaryCollapsed ? 'up' : 'down'\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"onDirectionChange($event)\"\n >\n </sky-chevron>\n</ng-template>\n"]}
@@ -0,0 +1,79 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SkyI18nModule } from '@skyux/i18n';
4
+ import { SkyChevronModule, SkyIconModule } from '@skyux/indicators';
5
+ import { SkyDropdownModule } from '@skyux/popovers';
6
+ import { SkyThemeModule } from '@skyux/theme';
7
+ import { SkyActionBarsResourcesModule } from '../shared/sky-action-bars-resources.module';
8
+ import { SkySummaryActionBarComponent } from './summary-action-bar.component';
9
+ import { SkySummaryActionBarActionsComponent } from './actions/summary-action-bar-actions.component';
10
+ import { SkySummaryActionBarCancelComponent } from './actions/summary-action-bar-cancel.component';
11
+ import { SkySummaryActionBarPrimaryActionComponent } from './actions/summary-action-bar-primary-action.component';
12
+ import { SkySummaryActionBarSecondaryActionComponent } from './actions/summary-action-bar-secondary-action.component';
13
+ import { SkySummaryActionBarSecondaryActionsComponent } from './actions/summary-action-bar-secondary-actions.component';
14
+ import { SkySummaryActionBarSummaryComponent } from './summary/summary-action-bar-summary.component';
15
+ import * as i0 from "@angular/core";
16
+ export class SkySummaryActionBarModule {
17
+ }
18
+ SkySummaryActionBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ SkySummaryActionBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarModule, declarations: [SkySummaryActionBarActionsComponent,
20
+ SkySummaryActionBarCancelComponent,
21
+ SkySummaryActionBarComponent,
22
+ SkySummaryActionBarPrimaryActionComponent,
23
+ SkySummaryActionBarSecondaryActionComponent,
24
+ SkySummaryActionBarSecondaryActionsComponent,
25
+ SkySummaryActionBarSummaryComponent], imports: [CommonModule,
26
+ SkyChevronModule,
27
+ SkyDropdownModule,
28
+ SkyI18nModule,
29
+ SkyIconModule,
30
+ SkyActionBarsResourcesModule,
31
+ SkyThemeModule], exports: [SkySummaryActionBarComponent,
32
+ SkySummaryActionBarActionsComponent,
33
+ SkySummaryActionBarCancelComponent,
34
+ SkySummaryActionBarPrimaryActionComponent,
35
+ SkySummaryActionBarSecondaryActionComponent,
36
+ SkySummaryActionBarSecondaryActionsComponent,
37
+ SkySummaryActionBarSummaryComponent] });
38
+ SkySummaryActionBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarModule, imports: [[
39
+ CommonModule,
40
+ SkyChevronModule,
41
+ SkyDropdownModule,
42
+ SkyI18nModule,
43
+ SkyIconModule,
44
+ SkyActionBarsResourcesModule,
45
+ SkyThemeModule,
46
+ ]] });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySummaryActionBarModule, decorators: [{
48
+ type: NgModule,
49
+ args: [{
50
+ declarations: [
51
+ SkySummaryActionBarActionsComponent,
52
+ SkySummaryActionBarCancelComponent,
53
+ SkySummaryActionBarComponent,
54
+ SkySummaryActionBarPrimaryActionComponent,
55
+ SkySummaryActionBarSecondaryActionComponent,
56
+ SkySummaryActionBarSecondaryActionsComponent,
57
+ SkySummaryActionBarSummaryComponent,
58
+ ],
59
+ imports: [
60
+ CommonModule,
61
+ SkyChevronModule,
62
+ SkyDropdownModule,
63
+ SkyI18nModule,
64
+ SkyIconModule,
65
+ SkyActionBarsResourcesModule,
66
+ SkyThemeModule,
67
+ ],
68
+ exports: [
69
+ SkySummaryActionBarComponent,
70
+ SkySummaryActionBarActionsComponent,
71
+ SkySummaryActionBarCancelComponent,
72
+ SkySummaryActionBarPrimaryActionComponent,
73
+ SkySummaryActionBarSecondaryActionComponent,
74
+ SkySummaryActionBarSecondaryActionsComponent,
75
+ SkySummaryActionBarSummaryComponent,
76
+ ],
77
+ }]
78
+ }] });
79
+ //# sourceMappingURL=summary-action-bar.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-action-bar.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/action-bars/src/lib/modules/summary-action-bar/summary-action-bar.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAE1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,mCAAmC,EAAE,MAAM,gDAAgD,CAAC;AAErG,OAAO,EAAE,kCAAkC,EAAE,MAAM,+CAA+C,CAAC;AAEnG,OAAO,EAAE,yCAAyC,EAAE,MAAM,uDAAuD,CAAC;AAElH,OAAO,EAAE,2CAA2C,EAAE,MAAM,yDAAyD,CAAC;AAEtH,OAAO,EAAE,4CAA4C,EAAE,MAAM,0DAA0D,CAAC;AAExH,OAAO,EAAE,mCAAmC,EAAE,MAAM,gDAAgD,CAAC;;AA+BrG,MAAM,OAAO,yBAAyB;;uHAAzB,yBAAyB;wHAAzB,yBAAyB,iBA3BlC,mCAAmC;QACnC,kCAAkC;QAClC,4BAA4B;QAC5B,yCAAyC;QACzC,2CAA2C;QAC3C,4CAA4C;QAC5C,mCAAmC,aAGnC,YAAY;QACZ,gBAAgB;QAChB,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,4BAA4B;QAC5B,cAAc,aAGd,4BAA4B;QAC5B,mCAAmC;QACnC,kCAAkC;QAClC,yCAAyC;QACzC,2CAA2C;QAC3C,4CAA4C;QAC5C,mCAAmC;wHAG1B,yBAAyB,YAnB3B;YACP,YAAY;YACZ,gBAAgB;YAChB,iBAAiB;YACjB,aAAa;YACb,aAAa;YACb,4BAA4B;YAC5B,cAAc;SACf;4FAWU,yBAAyB;kBA7BrC,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,mCAAmC;wBACnC,kCAAkC;wBAClC,4BAA4B;wBAC5B,yCAAyC;wBACzC,2CAA2C;wBAC3C,4CAA4C;wBAC5C,mCAAmC;qBACpC;oBACD,OAAO,EAAE;wBACP,YAAY;wBACZ,gBAAgB;wBAChB,iBAAiB;wBACjB,aAAa;wBACb,aAAa;wBACb,4BAA4B;wBAC5B,cAAc;qBACf;oBACD,OAAO,EAAE;wBACP,4BAA4B;wBAC5B,mCAAmC;wBACnC,kCAAkC;wBAClC,yCAAyC;wBACzC,2CAA2C;wBAC3C,4CAA4C;wBAC5C,mCAAmC;qBACpC;iBACF","sourcesContent":["import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\n\nimport { SkyI18nModule } from '@skyux/i18n';\n\nimport { SkyChevronModule, SkyIconModule } from '@skyux/indicators';\n\nimport { SkyDropdownModule } from '@skyux/popovers';\n\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyActionBarsResourcesModule } from '../shared/sky-action-bars-resources.module';\n\nimport { SkySummaryActionBarComponent } from './summary-action-bar.component';\n\nimport { SkySummaryActionBarActionsComponent } from './actions/summary-action-bar-actions.component';\n\nimport { SkySummaryActionBarCancelComponent } from './actions/summary-action-bar-cancel.component';\n\nimport { SkySummaryActionBarPrimaryActionComponent } from './actions/summary-action-bar-primary-action.component';\n\nimport { SkySummaryActionBarSecondaryActionComponent } from './actions/summary-action-bar-secondary-action.component';\n\nimport { SkySummaryActionBarSecondaryActionsComponent } from './actions/summary-action-bar-secondary-actions.component';\n\nimport { SkySummaryActionBarSummaryComponent } from './summary/summary-action-bar-summary.component';\n\n@NgModule({\n declarations: [\n SkySummaryActionBarActionsComponent,\n SkySummaryActionBarCancelComponent,\n SkySummaryActionBarComponent,\n SkySummaryActionBarPrimaryActionComponent,\n SkySummaryActionBarSecondaryActionComponent,\n SkySummaryActionBarSecondaryActionsComponent,\n SkySummaryActionBarSummaryComponent,\n ],\n imports: [\n CommonModule,\n SkyChevronModule,\n SkyDropdownModule,\n SkyI18nModule,\n SkyIconModule,\n SkyActionBarsResourcesModule,\n SkyThemeModule,\n ],\n exports: [\n SkySummaryActionBarComponent,\n SkySummaryActionBarActionsComponent,\n SkySummaryActionBarCancelComponent,\n SkySummaryActionBarPrimaryActionComponent,\n SkySummaryActionBarSecondaryActionComponent,\n SkySummaryActionBarSecondaryActionsComponent,\n SkySummaryActionBarSummaryComponent,\n ],\n})\nexport class SkySummaryActionBarModule {}\n"]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export var SkySummaryActionBarType;
5
+ (function (SkySummaryActionBarType) {
6
+ SkySummaryActionBarType[SkySummaryActionBarType["Page"] = 0] = "Page";
7
+ SkySummaryActionBarType[SkySummaryActionBarType["StandardModal"] = 1] = "StandardModal";
8
+ SkySummaryActionBarType[SkySummaryActionBarType["FullPageModal"] = 2] = "FullPageModal";
9
+ SkySummaryActionBarType[SkySummaryActionBarType["Tab"] = 3] = "Tab";
10
+ SkySummaryActionBarType[SkySummaryActionBarType["SplitView"] = 4] = "SplitView";
11
+ })(SkySummaryActionBarType || (SkySummaryActionBarType = {}));
12
+ //# sourceMappingURL=summary-action-bar-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-action-bar-type.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/action-bars/src/lib/modules/summary-action-bar/types/summary-action-bar-type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,uBAMX;AAND,WAAY,uBAAuB;IACjC,qEAAQ,CAAA;IACR,uFAAiB,CAAA;IACjB,uFAAiB,CAAA;IACjB,mEAAO,CAAA;IACP,+EAAa,CAAA;AACf,CAAC,EANW,uBAAuB,KAAvB,uBAAuB,QAMlC","sourcesContent":["/**\n * @internal\n */\nexport enum SkySummaryActionBarType {\n Page = 0,\n StandardModal = 1,\n FullPageModal = 2,\n Tab = 3,\n SplitView = 4,\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtYWN0aW9uLWJhcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hY3Rpb24tYmFycy9zcmMvc2t5dXgtYWN0aW9uLWJhcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
4
+ export * from './index';
5
+ //# sourceMappingURL=skyux-action-bars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skyux-action-bars.js","sourceRoot":"","sources":["../../../../../libs/components/action-bars/src/skyux-action-bars.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
@@ -1,4 +1,4 @@
1
1
  export * from './summary-action-bar/summary-action-bar-fixture';
2
2
  export * from './summary-action-bar/summary-action-bar-fixture-action';
3
3
  export * from './summary-action-bar/summary-action-bar.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FjdGlvbi1iYXJzL3Rlc3Rpbmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsZ0RBQWdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N1bW1hcnktYWN0aW9uLWJhci9zdW1tYXJ5LWFjdGlvbi1iYXItZml4dHVyZSc7XG5leHBvcnQgKiBmcm9tICcuL3N1bW1hcnktYWN0aW9uLWJhci9zdW1tYXJ5LWFjdGlvbi1iYXItZml4dHVyZS1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zdW1tYXJ5LWFjdGlvbi1iYXIvc3VtbWFyeS1hY3Rpb24tYmFyLm1vZHVsZSc7XG4iXX0=
4
+ //# sourceMappingURL=public-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../../../../libs/components/action-bars/testing/src/public-api.ts"],"names":[],"mappings":"AAAA,cAAc,iDAAiD,CAAC;AAChE,cAAc,wDAAwD,CAAC;AACvE,cAAc,gDAAgD,CAAC","sourcesContent":["export * from './summary-action-bar/summary-action-bar-fixture';\nexport * from './summary-action-bar/summary-action-bar-fixture-action';\nexport * from './summary-action-bar/summary-action-bar.module';\n"]}
@@ -2,4 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtYWN0aW9uLWJhcnMtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FjdGlvbi1iYXJzL3Rlc3Rpbmcvc3JjL3NreXV4LWFjdGlvbi1iYXJzLXRlc3RpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
5
+ //# sourceMappingURL=skyux-action-bars-testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skyux-action-bars-testing.js","sourceRoot":"","sources":["../../../../../../libs/components/action-bars/testing/src/skyux-action-bars-testing.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,cAAc,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"]}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1hY3Rpb24tYmFyLWZpeHR1cmUtYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWN0aW9uLWJhcnMvdGVzdGluZy9zcmMvc3VtbWFyeS1hY3Rpb24tYmFyL3N1bW1hcnktYWN0aW9uLWJhci1maXh0dXJlLWFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTa3lTdW1tYXJ5QWN0aW9uQmFyRml4dHVyZUFjdGlvbiB7XG4gIGJ1dHRvblRleHQ6IHN0cmluZztcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcblxuICBjbGljaygpOiBQcm9taXNlPHZvaWQ+O1xufVxuIl19
2
+ //# sourceMappingURL=summary-action-bar-fixture-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-action-bar-fixture-action.js","sourceRoot":"","sources":["../../../../../../../libs/components/action-bars/testing/src/summary-action-bar/summary-action-bar-fixture-action.ts"],"names":[],"mappings":"","sourcesContent":["export interface SkySummaryActionBarFixtureAction {\n buttonText: string;\n isDisabled: boolean;\n\n click(): Promise<void>;\n}\n"]}