@enigmatry/entry-components 1.15.1-preview.12 → 1.15.1-preview.14

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.
package/button/README.md CHANGED
@@ -31,8 +31,8 @@ import { ENTRY_BUTTON_CONFIG, EntryButtonConfig, EntryButtonModule } from '@enig
31
31
  providers: [{
32
32
  provide: ENTRY_BUTTON_CONFIG,
33
33
  useValue: new EntryButtonConfig({
34
- submitButton: { type: 'raised', color: 'primary' },
35
- cancelButton: { type: 'basic', }
34
+ submit: { type: 'raised', color: 'primary' },
35
+ cancel: { type: 'basic', }
36
36
  })
37
37
  }]
38
38
  })
@@ -11,16 +11,16 @@ export interface MatButtonConfig {
11
11
  */
12
12
  export declare class EntryButtonConfig {
13
13
  /** Submit button configuration */
14
- submitButton: MatButtonConfig;
14
+ submit: MatButtonConfig;
15
15
  /** Cancel button configuration */
16
- cancelButton: MatButtonConfig;
16
+ cancel: MatButtonConfig;
17
17
  constructor(config?: Partial<EntryButtonConfig>);
18
18
  }
19
19
  /**
20
20
  * Entry button config injection token. Can be used to provide custom button configuration.
21
21
  *
22
22
  * Defaults:
23
- * - submitButton: type: 'flat', color: 'primary'
24
- * - cancelButton: type: 'basic'
23
+ * - submit: type: 'flat', color: 'primary'
24
+ * - cancel: type: 'basic', color: 'accent'
25
25
  */
26
26
  export declare const ENTRY_BUTTON_CONFIG: InjectionToken<EntryButtonConfig>;
@@ -7,16 +7,12 @@ export declare class EntryButtonDirective implements OnInit {
7
7
  private _config;
8
8
  private _matButton?;
9
9
  private _matAnchor?;
10
- attributes: {
11
- submit: string;
12
- cancel: string;
13
- };
14
- classes: {
10
+ matClasses: {
15
11
  [key: string]: string[];
16
12
  };
17
- constructor(_elementRef: ElementRef, _config: EntryButtonConfig, _matButton?: MatButton, _matAnchor?: MatAnchor);
13
+ constructor(_elementRef: ElementRef<HTMLElement>, _config: EntryButtonConfig, _matButton?: MatButton, _matAnchor?: MatAnchor);
18
14
  ngOnInit(): void;
19
- private getButtonConfig;
15
+ private getEntryType;
20
16
  static ɵfac: i0.ɵɵFactoryDeclaration<EntryButtonDirective, [null, null, { optional: true; }, { optional: true; }]>;
21
17
  static ɵdir: i0.ɵɵDirectiveDeclaration<EntryButtonDirective, "[mat-button][entry-submit-button],[mat-button][entry-cancel-button]", never, {}, {}, never, never, false, never>;
22
18
  }
@@ -4,19 +4,19 @@ import { InjectionToken } from '@angular/core';
4
4
  */
5
5
  export class EntryButtonConfig {
6
6
  constructor(config = {}) {
7
- this.submitButton = config.submitButton ?? { type: 'flat', color: 'primary' };
8
- this.cancelButton = config.cancelButton ?? { type: 'basic' };
7
+ this.submit = config.submit ?? { type: 'flat', color: 'primary' };
8
+ this.cancel = config.cancel ?? { type: 'basic', color: 'accent' };
9
9
  }
10
10
  }
11
11
  /**
12
12
  * Entry button config injection token. Can be used to provide custom button configuration.
13
13
  *
14
14
  * Defaults:
15
- * - submitButton: type: 'flat', color: 'primary'
16
- * - cancelButton: type: 'basic'
15
+ * - submit: type: 'flat', color: 'primary'
16
+ * - cancel: type: 'basic', color: 'accent'
17
17
  */
18
18
  export const ENTRY_BUTTON_CONFIG = new InjectionToken('EntryButtonConfig', {
19
19
  providedIn: 'root',
20
20
  factory: () => new EntryButtonConfig()
21
21
  });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktYnV0dG9uLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9idXR0b24vZW50cnktYnV0dG9uLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQU01QixZQUFZLFNBQXFDLEVBQUU7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDOUUsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFvQixtQkFBbUIsRUFDMUY7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxpQkFBaUIsRUFBRTtDQUN2QyxDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuXHJcbi8qKiBQb3NzaWJsZSBtYXQgYnV0dG9uIHZhcmlhbnRzICovXHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgTWF0QnV0dG9uVmFyaWFudHMgPSAnYmFzaWMnIHwgJ2ZsYXQnIHwgJ3JhaXNlZCcgfCAnc3Ryb2tlZCc7XHJcblxyXG4vLyoqIE1hdEJ1dHRvbkNvbmZpZyBjb250YWluaW5nIHR5cGUgYW5kIGNvbG9yICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWF0QnV0dG9uQ29uZmlnIHtcclxuICB0eXBlOiBNYXRCdXR0b25WYXJpYW50cztcclxuICBjb2xvcj86IFRoZW1lUGFsZXR0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFVzZWQgdG8gcHJvdmlkZSBidXR0b24gY29uZmlndXJhdGlvbiBvbiBtb2R1bGUgb3IgYXBwbGljYXRpb24gbGV2ZWwuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRW50cnlCdXR0b25Db25maWcge1xyXG4gIC8qKiBTdWJtaXQgYnV0dG9uIGNvbmZpZ3VyYXRpb24gKi9cclxuICBzdWJtaXRCdXR0b246IE1hdEJ1dHRvbkNvbmZpZztcclxuICAvKiogQ2FuY2VsIGJ1dHRvbiBjb25maWd1cmF0aW9uICovXHJcbiAgY2FuY2VsQnV0dG9uOiBNYXRCdXR0b25Db25maWc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogUGFydGlhbDxFbnRyeUJ1dHRvbkNvbmZpZz4gPSB7fSkge1xyXG4gICAgdGhpcy5zdWJtaXRCdXR0b24gPSBjb25maWcuc3VibWl0QnV0dG9uID8/IHsgdHlwZTogJ2ZsYXQnLCBjb2xvcjogJ3ByaW1hcnknIH07XHJcbiAgICB0aGlzLmNhbmNlbEJ1dHRvbiA9IGNvbmZpZy5jYW5jZWxCdXR0b24gPz8geyB0eXBlOiAnYmFzaWMnIH07XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogRW50cnkgYnV0dG9uIGNvbmZpZyBpbmplY3Rpb24gdG9rZW4uIENhbiBiZSB1c2VkIHRvIHByb3ZpZGUgY3VzdG9tIGJ1dHRvbiBjb25maWd1cmF0aW9uLlxyXG4gKlxyXG4gKiBEZWZhdWx0czpcclxuICogLSBzdWJtaXRCdXR0b246IHR5cGU6ICdmbGF0JywgY29sb3I6ICdwcmltYXJ5J1xyXG4gKiAtIGNhbmNlbEJ1dHRvbjogdHlwZTogJ2Jhc2ljJ1xyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEVOVFJZX0JVVFRPTl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RW50cnlCdXR0b25Db25maWc+KCdFbnRyeUJ1dHRvbkNvbmZpZycsXHJcbiAge1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG4gICAgZmFjdG9yeTogKCkgPT4gbmV3IEVudHJ5QnV0dG9uQ29uZmlnKClcclxuICB9XHJcbik7XHJcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktYnV0dG9uLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9idXR0b24vZW50cnktYnV0dG9uLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQU01QixZQUFZLFNBQXFDLEVBQUU7UUFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDcEUsQ0FBQztDQUNGO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQW9CLG1CQUFtQixFQUMxRjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLGlCQUFpQixFQUFFO0NBQ3ZDLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5cclxuLyoqIFBvc3NpYmxlIG1hdCBidXR0b24gdmFyaWFudHMgKi9cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBNYXRCdXR0b25WYXJpYW50cyA9ICdiYXNpYycgfCAnZmxhdCcgfCAncmFpc2VkJyB8ICdzdHJva2VkJztcclxuXHJcbi8vKiogTWF0QnV0dG9uQ29uZmlnIGNvbnRhaW5pbmcgdHlwZSBhbmQgY29sb3IgKi9cclxuZXhwb3J0IGludGVyZmFjZSBNYXRCdXR0b25Db25maWcge1xyXG4gIHR5cGU6IE1hdEJ1dHRvblZhcmlhbnRzO1xyXG4gIGNvbG9yPzogVGhlbWVQYWxldHRlO1xyXG59XHJcblxyXG4vKipcclxuICogVXNlZCB0byBwcm92aWRlIGJ1dHRvbiBjb25maWd1cmF0aW9uIG9uIG1vZHVsZSBvciBhcHBsaWNhdGlvbiBsZXZlbC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFbnRyeUJ1dHRvbkNvbmZpZyB7XHJcbiAgLyoqIFN1Ym1pdCBidXR0b24gY29uZmlndXJhdGlvbiAqL1xyXG4gIHN1Ym1pdDogTWF0QnV0dG9uQ29uZmlnO1xyXG4gIC8qKiBDYW5jZWwgYnV0dG9uIGNvbmZpZ3VyYXRpb24gKi9cclxuICBjYW5jZWw6IE1hdEJ1dHRvbkNvbmZpZztcclxuXHJcbiAgY29uc3RydWN0b3IoY29uZmlnOiBQYXJ0aWFsPEVudHJ5QnV0dG9uQ29uZmlnPiA9IHt9KSB7XHJcbiAgICB0aGlzLnN1Ym1pdCA9IGNvbmZpZy5zdWJtaXQgPz8geyB0eXBlOiAnZmxhdCcsIGNvbG9yOiAncHJpbWFyeScgfTtcclxuICAgIHRoaXMuY2FuY2VsID0gY29uZmlnLmNhbmNlbCA/PyB7IHR5cGU6ICdiYXNpYycsIGNvbG9yOiAnYWNjZW50JyB9O1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEVudHJ5IGJ1dHRvbiBjb25maWcgaW5qZWN0aW9uIHRva2VuLiBDYW4gYmUgdXNlZCB0byBwcm92aWRlIGN1c3RvbSBidXR0b24gY29uZmlndXJhdGlvbi5cclxuICpcclxuICogRGVmYXVsdHM6XHJcbiAqIC0gc3VibWl0OiB0eXBlOiAnZmxhdCcsIGNvbG9yOiAncHJpbWFyeSdcclxuICogLSBjYW5jZWw6IHR5cGU6ICdiYXNpYycsIGNvbG9yOiAnYWNjZW50J1xyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEVOVFJZX0JVVFRPTl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RW50cnlCdXR0b25Db25maWc+KCdFbnRyeUJ1dHRvbkNvbmZpZycsXHJcbiAge1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG4gICAgZmFjdG9yeTogKCkgPT4gbmV3IEVudHJ5QnV0dG9uQ29uZmlnKClcclxuICB9XHJcbik7XHJcbiJdfQ==
@@ -9,11 +9,7 @@ export class EntryButtonDirective {
9
9
  this._config = _config;
10
10
  this._matButton = _matButton;
11
11
  this._matAnchor = _matAnchor;
12
- this.attributes = {
13
- submit: `entry-submit-button`,
14
- cancel: `entry-cancel-button`
15
- };
16
- this.classes = {
12
+ this.matClasses = {
17
13
  basic: ['mdc-button', 'mat-mdc-button'],
18
14
  raised: ['mdc-button', 'mdc-button--raised', 'mat-mdc-raised-button'],
19
15
  stroked: ['mdc-button', 'mdc-button--outlined', 'mat-mdc-outlined-button'],
@@ -21,9 +17,11 @@ export class EntryButtonDirective {
21
17
  };
22
18
  }
23
19
  ngOnInit() {
24
- const buttonConfig = this.getButtonConfig();
25
- const classes = this.classes[buttonConfig.type];
26
- this._elementRef.nativeElement.classList.add(...classes);
20
+ const entryButtonType = this.getEntryType();
21
+ const buttonConfig = this._config[entryButtonType];
22
+ const entryClasses = ['entry-button', `entry-${entryButtonType}-button`];
23
+ const matClasses = this.matClasses[buttonConfig.type];
24
+ this._elementRef.nativeElement.classList.add(...entryClasses, ...matClasses);
27
25
  const color = buttonConfig.color;
28
26
  if (color) {
29
27
  if (this._matButton) {
@@ -34,9 +32,9 @@ export class EntryButtonDirective {
34
32
  }
35
33
  }
36
34
  }
37
- getButtonConfig() {
38
- return this._elementRef.nativeElement.hasAttribute(this.attributes.submit)
39
- ? this._config.submitButton : this._config.cancelButton;
35
+ getEntryType() {
36
+ return this._elementRef.nativeElement.hasAttribute('entry-submit-button')
37
+ ? 'submit' : 'cancel';
40
38
  }
41
39
  }
42
40
  EntryButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryButtonDirective, deps: [{ token: i0.ElementRef }, { token: ENTRY_BUTTON_CONFIG }, { token: i1.MatButton, optional: true }, { token: i1.MatAnchor, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
@@ -55,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
55
53
  }] }, { type: i1.MatAnchor, decorators: [{
56
54
  type: Optional
57
55
  }] }]; } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9idXR0b24vZW50cnktYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFzQyxNQUFNLHVCQUF1QixDQUFDOzs7O0FBTWhHLE1BQU0sT0FBTyxvQkFBb0I7SUFjL0IsWUFDVSxXQUF1QixFQUNNLE9BQTBCLEVBQzNDLFVBQXNCLEVBQ3RCLFVBQXNCO1FBSGxDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ00sWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDM0MsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBaEI1QyxlQUFVLEdBQUc7WUFDWCxNQUFNLEVBQUUscUJBQXFCO1lBQzdCLE1BQU0sRUFBRSxxQkFBcUI7U0FDOUIsQ0FBQztRQUVGLFlBQU8sR0FBZ0M7WUFDckMsS0FBSyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO1lBQ3ZDLE1BQU0sRUFBRSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsQ0FBQztZQUNyRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLEVBQUUseUJBQXlCLENBQUM7WUFDMUUsSUFBSSxFQUFFLENBQUMsWUFBWSxFQUFFLHdCQUF3QixFQUFFLDJCQUEyQixDQUFDO1NBQzVFLENBQUM7SUFPRixDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sWUFBWSxHQUFvQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFN0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBRXpELE1BQU0sS0FBSyxHQUFpQixZQUFZLENBQUMsS0FBSyxDQUFDO1FBQy9DLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUFFO1lBQ3ZELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7YUFBRTtTQUN4RDtJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3hFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7SUFDNUQsQ0FBQzs7aUhBckNVLG9CQUFvQiw0Q0FnQnJCLG1CQUFtQjtxR0FoQmxCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLHFFQUFxRTtpQkFDaEY7OzBCQWlCSSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uLCBNYXRBbmNob3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBFTlRSWV9CVVRUT05fQ09ORklHLCBFbnRyeUJ1dHRvbkNvbmZpZywgTWF0QnV0dG9uQ29uZmlnIH0gZnJvbSAnLi9lbnRyeS1idXR0b24tY29uZmlnJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiBgW21hdC1idXR0b25dW2VudHJ5LXN1Ym1pdC1idXR0b25dLFttYXQtYnV0dG9uXVtlbnRyeS1jYW5jZWwtYnV0dG9uXWBcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlCdXR0b25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGF0dHJpYnV0ZXMgPSB7XG4gICAgc3VibWl0OiBgZW50cnktc3VibWl0LWJ1dHRvbmAsXG4gICAgY2FuY2VsOiBgZW50cnktY2FuY2VsLWJ1dHRvbmBcbiAgfTtcblxuICBjbGFzc2VzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0gPSB7XG4gICAgYmFzaWM6IFsnbWRjLWJ1dHRvbicsICdtYXQtbWRjLWJ1dHRvbiddLFxuICAgIHJhaXNlZDogWydtZGMtYnV0dG9uJywgJ21kYy1idXR0b24tLXJhaXNlZCcsICdtYXQtbWRjLXJhaXNlZC1idXR0b24nXSxcbiAgICBzdHJva2VkOiBbJ21kYy1idXR0b24nLCAnbWRjLWJ1dHRvbi0tb3V0bGluZWQnLCAnbWF0LW1kYy1vdXRsaW5lZC1idXR0b24nXSxcbiAgICBmbGF0OiBbJ21kYy1idXR0b24nLCAnbWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCcsICdtYXQtbWRjLXVuZWxldmF0ZWQtYnV0dG9uJ11cbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoRU5UUllfQlVUVE9OX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBFbnRyeUJ1dHRvbkNvbmZpZyxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9tYXRCdXR0b24/OiBNYXRCdXR0b24sXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbWF0QW5jaG9yPzogTWF0QW5jaG9yKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBidXR0b25Db25maWc6IE1hdEJ1dHRvbkNvbmZpZyA9IHRoaXMuZ2V0QnV0dG9uQ29uZmlnKCk7XG5cbiAgICBjb25zdCBjbGFzc2VzID0gdGhpcy5jbGFzc2VzW2J1dHRvbkNvbmZpZy50eXBlXTtcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5jbGFzc2VzKTtcblxuICAgIGNvbnN0IGNvbG9yOiBUaGVtZVBhbGV0dGUgPSBidXR0b25Db25maWcuY29sb3I7XG4gICAgaWYgKGNvbG9yKSB7XG4gICAgICBpZiAodGhpcy5fbWF0QnV0dG9uKSB7IHRoaXMuX21hdEJ1dHRvbi5jb2xvciA9IGNvbG9yOyB9XG4gICAgICBpZiAodGhpcy5fbWF0QW5jaG9yKSB7IHRoaXMuX21hdEFuY2hvci5jb2xvciA9IGNvbG9yOyB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdXR0b25Db25maWcoKTogTWF0QnV0dG9uQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lmhhc0F0dHJpYnV0ZSh0aGlzLmF0dHJpYnV0ZXMuc3VibWl0KVxuICAgICAgPyB0aGlzLl9jb25maWcuc3VibWl0QnV0dG9uIDogdGhpcy5fY29uZmlnLmNhbmNlbEJ1dHRvbjtcbiAgfVxufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9idXR0b24vZW50cnktYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFzQyxNQUFNLHVCQUF1QixDQUFDOzs7O0FBTWhHLE1BQU0sT0FBTyxvQkFBb0I7SUFTL0IsWUFDVSxXQUFvQyxFQUNQLE9BQTBCLEVBQzNDLFVBQXNCLEVBQ3RCLFVBQXNCO1FBSGxDLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUNQLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQzNDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVg1QyxlQUFVLEdBQWdDO1lBQ3hDLEtBQUssRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztZQUN2QyxNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLENBQUM7WUFDckUsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLHNCQUFzQixFQUFFLHlCQUF5QixDQUFDO1lBQzFFLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRSx3QkFBd0IsRUFBRSwyQkFBMkIsQ0FBQztTQUM1RSxDQUFDO0lBT0YsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUMsTUFBTSxZQUFZLEdBQW9CLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFcEUsTUFBTSxZQUFZLEdBQWEsQ0FBQyxjQUFjLEVBQUUsU0FBUyxlQUFlLFNBQVMsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUU3RSxNQUFNLEtBQUssR0FBaUIsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUMvQyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7YUFBRTtZQUN2RCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2FBQUU7U0FDeEQ7SUFDSCxDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztZQUN2RSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDMUIsQ0FBQzs7aUhBbkNVLG9CQUFvQiw0Q0FXckIsbUJBQW1CO3FHQVhsQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxxRUFBcUU7aUJBQ2hGOzswQkFZSSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uLCBNYXRBbmNob3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBFTlRSWV9CVVRUT05fQ09ORklHLCBFbnRyeUJ1dHRvbkNvbmZpZywgTWF0QnV0dG9uQ29uZmlnIH0gZnJvbSAnLi9lbnRyeS1idXR0b24tY29uZmlnJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiBgW21hdC1idXR0b25dW2VudHJ5LXN1Ym1pdC1idXR0b25dLFttYXQtYnV0dG9uXVtlbnRyeS1jYW5jZWwtYnV0dG9uXWBcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlCdXR0b25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIG1hdENsYXNzZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHtcbiAgICBiYXNpYzogWydtZGMtYnV0dG9uJywgJ21hdC1tZGMtYnV0dG9uJ10sXG4gICAgcmFpc2VkOiBbJ21kYy1idXR0b24nLCAnbWRjLWJ1dHRvbi0tcmFpc2VkJywgJ21hdC1tZGMtcmFpc2VkLWJ1dHRvbiddLFxuICAgIHN0cm9rZWQ6IFsnbWRjLWJ1dHRvbicsICdtZGMtYnV0dG9uLS1vdXRsaW5lZCcsICdtYXQtbWRjLW91dGxpbmVkLWJ1dHRvbiddLFxuICAgIGZsYXQ6IFsnbWRjLWJ1dHRvbicsICdtZGMtYnV0dG9uLS11bmVsZXZhdGVkJywgJ21hdC1tZGMtdW5lbGV2YXRlZC1idXR0b24nXVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIEBJbmplY3QoRU5UUllfQlVUVE9OX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBFbnRyeUJ1dHRvbkNvbmZpZyxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9tYXRCdXR0b24/OiBNYXRCdXR0b24sXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbWF0QW5jaG9yPzogTWF0QW5jaG9yKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBlbnRyeUJ1dHRvblR5cGUgPSB0aGlzLmdldEVudHJ5VHlwZSgpO1xuICAgIGNvbnN0IGJ1dHRvbkNvbmZpZzogTWF0QnV0dG9uQ29uZmlnID0gdGhpcy5fY29uZmlnW2VudHJ5QnV0dG9uVHlwZV07XG5cbiAgICBjb25zdCBlbnRyeUNsYXNzZXM6IHN0cmluZ1tdID0gWydlbnRyeS1idXR0b24nLCBgZW50cnktJHtlbnRyeUJ1dHRvblR5cGV9LWJ1dHRvbmBdO1xuICAgIGNvbnN0IG1hdENsYXNzZXMgPSB0aGlzLm1hdENsYXNzZXNbYnV0dG9uQ29uZmlnLnR5cGVdO1xuXG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4uZW50cnlDbGFzc2VzLCAuLi5tYXRDbGFzc2VzKTtcblxuICAgIGNvbnN0IGNvbG9yOiBUaGVtZVBhbGV0dGUgPSBidXR0b25Db25maWcuY29sb3I7XG4gICAgaWYgKGNvbG9yKSB7XG4gICAgICBpZiAodGhpcy5fbWF0QnV0dG9uKSB7IHRoaXMuX21hdEJ1dHRvbi5jb2xvciA9IGNvbG9yOyB9XG4gICAgICBpZiAodGhpcy5fbWF0QW5jaG9yKSB7IHRoaXMuX21hdEFuY2hvci5jb2xvciA9IGNvbG9yOyB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbnRyeVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZW50cnktc3VibWl0LWJ1dHRvbicpXG4gICAgICA/ICdzdWJtaXQnIDogJ2NhbmNlbCc7XG4gIH1cbn1cbiJdfQ==
@@ -10,16 +10,16 @@ import { CommonModule } from '@angular/common';
10
10
  class EntryButtonConfig {
11
11
  constructor(config = {}) {
12
12
  var _a, _b;
13
- this.submitButton = (_a = config.submitButton) !== null && _a !== void 0 ? _a : { type: 'flat', color: 'primary' };
14
- this.cancelButton = (_b = config.cancelButton) !== null && _b !== void 0 ? _b : { type: 'basic' };
13
+ this.submit = (_a = config.submit) !== null && _a !== void 0 ? _a : { type: 'flat', color: 'primary' };
14
+ this.cancel = (_b = config.cancel) !== null && _b !== void 0 ? _b : { type: 'basic', color: 'accent' };
15
15
  }
16
16
  }
17
17
  /**
18
18
  * Entry button config injection token. Can be used to provide custom button configuration.
19
19
  *
20
20
  * Defaults:
21
- * - submitButton: type: 'flat', color: 'primary'
22
- * - cancelButton: type: 'basic'
21
+ * - submit: type: 'flat', color: 'primary'
22
+ * - cancel: type: 'basic', color: 'accent'
23
23
  */
24
24
  const ENTRY_BUTTON_CONFIG = new InjectionToken('EntryButtonConfig', {
25
25
  providedIn: 'root',
@@ -32,11 +32,7 @@ class EntryButtonDirective {
32
32
  this._config = _config;
33
33
  this._matButton = _matButton;
34
34
  this._matAnchor = _matAnchor;
35
- this.attributes = {
36
- submit: `entry-submit-button`,
37
- cancel: `entry-cancel-button`
38
- };
39
- this.classes = {
35
+ this.matClasses = {
40
36
  basic: ['mdc-button', 'mat-mdc-button'],
41
37
  raised: ['mdc-button', 'mdc-button--raised', 'mat-mdc-raised-button'],
42
38
  stroked: ['mdc-button', 'mdc-button--outlined', 'mat-mdc-outlined-button'],
@@ -44,9 +40,11 @@ class EntryButtonDirective {
44
40
  };
45
41
  }
46
42
  ngOnInit() {
47
- const buttonConfig = this.getButtonConfig();
48
- const classes = this.classes[buttonConfig.type];
49
- this._elementRef.nativeElement.classList.add(...classes);
43
+ const entryButtonType = this.getEntryType();
44
+ const buttonConfig = this._config[entryButtonType];
45
+ const entryClasses = ['entry-button', `entry-${entryButtonType}-button`];
46
+ const matClasses = this.matClasses[buttonConfig.type];
47
+ this._elementRef.nativeElement.classList.add(...entryClasses, ...matClasses);
50
48
  const color = buttonConfig.color;
51
49
  if (color) {
52
50
  if (this._matButton) {
@@ -57,9 +55,9 @@ class EntryButtonDirective {
57
55
  }
58
56
  }
59
57
  }
60
- getButtonConfig() {
61
- return this._elementRef.nativeElement.hasAttribute(this.attributes.submit)
62
- ? this._config.submitButton : this._config.cancelButton;
58
+ getEntryType() {
59
+ return this._elementRef.nativeElement.hasAttribute('entry-submit-button')
60
+ ? 'submit' : 'cancel';
63
61
  }
64
62
  }
65
63
  EntryButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryButtonDirective, deps: [{ token: i0.ElementRef }, { token: ENTRY_BUTTON_CONFIG }, { token: i1.MatButton, optional: true }, { token: i1.MatAnchor, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
@@ -1 +1 @@
1
- {"version":3,"file":"enigmatry-entry-components-button.mjs","sources":["../../../../libs/entry-components/button/entry-button-config.ts","../../../../libs/entry-components/button/entry-button.directive.ts","../../../../libs/entry-components/button/entry-button.module.ts","../../../../libs/entry-components/button/enigmatry-entry-components-button.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n/** Possible mat button variants */\r\nexport declare type MatButtonVariants = 'basic' | 'flat' | 'raised' | 'stroked';\r\n\r\n//** MatButtonConfig containing type and color */\r\nexport interface MatButtonConfig {\r\n type: MatButtonVariants;\r\n color?: ThemePalette;\r\n}\r\n\r\n/**\r\n * Used to provide button configuration on module or application level.\r\n */\r\nexport class EntryButtonConfig {\r\n /** Submit button configuration */\r\n submitButton: MatButtonConfig;\r\n /** Cancel button configuration */\r\n cancelButton: MatButtonConfig;\r\n\r\n constructor(config: Partial<EntryButtonConfig> = {}) {\r\n this.submitButton = config.submitButton ?? { type: 'flat', color: 'primary' };\r\n this.cancelButton = config.cancelButton ?? { type: 'basic' };\r\n }\r\n}\r\n\r\n/**\r\n * Entry button config injection token. Can be used to provide custom button configuration.\r\n *\r\n * Defaults:\r\n * - submitButton: type: 'flat', color: 'primary'\r\n * - cancelButton: type: 'basic'\r\n */\r\nexport const ENTRY_BUTTON_CONFIG = new InjectionToken<EntryButtonConfig>('EntryButtonConfig',\r\n {\r\n providedIn: 'root',\r\n factory: () => new EntryButtonConfig()\r\n }\r\n);\r\n","import { Directive, ElementRef, Inject, OnInit, Optional } from '@angular/core';\nimport { MatButton, MatAnchor } from '@angular/material/button';\nimport { ThemePalette } from '@angular/material/core';\nimport { ENTRY_BUTTON_CONFIG, EntryButtonConfig, MatButtonConfig } from './entry-button-config';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: `[mat-button][entry-submit-button],[mat-button][entry-cancel-button]`\n})\nexport class EntryButtonDirective implements OnInit {\n\n attributes = {\n submit: `entry-submit-button`,\n cancel: `entry-cancel-button`\n };\n\n classes: { [key: string]: string[] } = {\n basic: ['mdc-button', 'mat-mdc-button'],\n raised: ['mdc-button', 'mdc-button--raised', 'mat-mdc-raised-button'],\n stroked: ['mdc-button', 'mdc-button--outlined', 'mat-mdc-outlined-button'],\n flat: ['mdc-button', 'mdc-button--unelevated', 'mat-mdc-unelevated-button']\n };\n\n constructor(\n private _elementRef: ElementRef,\n @Inject(ENTRY_BUTTON_CONFIG) private _config: EntryButtonConfig,\n @Optional() private _matButton?: MatButton,\n @Optional() private _matAnchor?: MatAnchor) {\n }\n\n ngOnInit(): void {\n const buttonConfig: MatButtonConfig = this.getButtonConfig();\n\n const classes = this.classes[buttonConfig.type];\n this._elementRef.nativeElement.classList.add(...classes);\n\n const color: ThemePalette = buttonConfig.color;\n if (color) {\n if (this._matButton) { this._matButton.color = color; }\n if (this._matAnchor) { this._matAnchor.color = color; }\n }\n }\n\n private getButtonConfig(): MatButtonConfig {\n return this._elementRef.nativeElement.hasAttribute(this.attributes.submit)\n ? this._config.submitButton : this._config.cancelButton;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EntryButtonDirective } from './entry-button.directive';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n declarations: [\n EntryButtonDirective\n ],\n imports: [\n CommonModule,\n MatButtonModule\n ],\n exports: [\n EntryButtonDirective\n ]\n})\nexport class EntryButtonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enigmatry-entry-components-button.mjs","sources":["../../../../libs/entry-components/button/entry-button-config.ts","../../../../libs/entry-components/button/entry-button.directive.ts","../../../../libs/entry-components/button/entry-button.module.ts","../../../../libs/entry-components/button/enigmatry-entry-components-button.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n/** Possible mat button variants */\r\nexport declare type MatButtonVariants = 'basic' | 'flat' | 'raised' | 'stroked';\r\n\r\n//** MatButtonConfig containing type and color */\r\nexport interface MatButtonConfig {\r\n type: MatButtonVariants;\r\n color?: ThemePalette;\r\n}\r\n\r\n/**\r\n * Used to provide button configuration on module or application level.\r\n */\r\nexport class EntryButtonConfig {\r\n /** Submit button configuration */\r\n submit: MatButtonConfig;\r\n /** Cancel button configuration */\r\n cancel: MatButtonConfig;\r\n\r\n constructor(config: Partial<EntryButtonConfig> = {}) {\r\n this.submit = config.submit ?? { type: 'flat', color: 'primary' };\r\n this.cancel = config.cancel ?? { type: 'basic', color: 'accent' };\r\n }\r\n}\r\n\r\n/**\r\n * Entry button config injection token. Can be used to provide custom button configuration.\r\n *\r\n * Defaults:\r\n * - submit: type: 'flat', color: 'primary'\r\n * - cancel: type: 'basic', color: 'accent'\r\n */\r\nexport const ENTRY_BUTTON_CONFIG = new InjectionToken<EntryButtonConfig>('EntryButtonConfig',\r\n {\r\n providedIn: 'root',\r\n factory: () => new EntryButtonConfig()\r\n }\r\n);\r\n","import { Directive, ElementRef, Inject, OnInit, Optional } from '@angular/core';\nimport { MatButton, MatAnchor } from '@angular/material/button';\nimport { ThemePalette } from '@angular/material/core';\nimport { ENTRY_BUTTON_CONFIG, EntryButtonConfig, MatButtonConfig } from './entry-button-config';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: `[mat-button][entry-submit-button],[mat-button][entry-cancel-button]`\n})\nexport class EntryButtonDirective implements OnInit {\n\n matClasses: { [key: string]: string[] } = {\n basic: ['mdc-button', 'mat-mdc-button'],\n raised: ['mdc-button', 'mdc-button--raised', 'mat-mdc-raised-button'],\n stroked: ['mdc-button', 'mdc-button--outlined', 'mat-mdc-outlined-button'],\n flat: ['mdc-button', 'mdc-button--unelevated', 'mat-mdc-unelevated-button']\n };\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n @Inject(ENTRY_BUTTON_CONFIG) private _config: EntryButtonConfig,\n @Optional() private _matButton?: MatButton,\n @Optional() private _matAnchor?: MatAnchor) {\n }\n\n ngOnInit(): void {\n const entryButtonType = this.getEntryType();\n const buttonConfig: MatButtonConfig = this._config[entryButtonType];\n\n const entryClasses: string[] = ['entry-button', `entry-${entryButtonType}-button`];\n const matClasses = this.matClasses[buttonConfig.type];\n\n this._elementRef.nativeElement.classList.add(...entryClasses, ...matClasses);\n\n const color: ThemePalette = buttonConfig.color;\n if (color) {\n if (this._matButton) { this._matButton.color = color; }\n if (this._matAnchor) { this._matAnchor.color = color; }\n }\n }\n\n private getEntryType(): string {\n return this._elementRef.nativeElement.hasAttribute('entry-submit-button')\n ? 'submit' : 'cancel';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EntryButtonDirective } from './entry-button.directive';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n declarations: [\n EntryButtonDirective\n ],\n imports: [\n CommonModule,\n MatButtonModule\n ],\n exports: [\n EntryButtonDirective\n ]\n})\nexport class EntryButtonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -9,16 +9,16 @@ import { CommonModule } from '@angular/common';
9
9
  */
10
10
  class EntryButtonConfig {
11
11
  constructor(config = {}) {
12
- this.submitButton = config.submitButton ?? { type: 'flat', color: 'primary' };
13
- this.cancelButton = config.cancelButton ?? { type: 'basic' };
12
+ this.submit = config.submit ?? { type: 'flat', color: 'primary' };
13
+ this.cancel = config.cancel ?? { type: 'basic', color: 'accent' };
14
14
  }
15
15
  }
16
16
  /**
17
17
  * Entry button config injection token. Can be used to provide custom button configuration.
18
18
  *
19
19
  * Defaults:
20
- * - submitButton: type: 'flat', color: 'primary'
21
- * - cancelButton: type: 'basic'
20
+ * - submit: type: 'flat', color: 'primary'
21
+ * - cancel: type: 'basic', color: 'accent'
22
22
  */
23
23
  const ENTRY_BUTTON_CONFIG = new InjectionToken('EntryButtonConfig', {
24
24
  providedIn: 'root',
@@ -31,11 +31,7 @@ class EntryButtonDirective {
31
31
  this._config = _config;
32
32
  this._matButton = _matButton;
33
33
  this._matAnchor = _matAnchor;
34
- this.attributes = {
35
- submit: `entry-submit-button`,
36
- cancel: `entry-cancel-button`
37
- };
38
- this.classes = {
34
+ this.matClasses = {
39
35
  basic: ['mdc-button', 'mat-mdc-button'],
40
36
  raised: ['mdc-button', 'mdc-button--raised', 'mat-mdc-raised-button'],
41
37
  stroked: ['mdc-button', 'mdc-button--outlined', 'mat-mdc-outlined-button'],
@@ -43,9 +39,11 @@ class EntryButtonDirective {
43
39
  };
44
40
  }
45
41
  ngOnInit() {
46
- const buttonConfig = this.getButtonConfig();
47
- const classes = this.classes[buttonConfig.type];
48
- this._elementRef.nativeElement.classList.add(...classes);
42
+ const entryButtonType = this.getEntryType();
43
+ const buttonConfig = this._config[entryButtonType];
44
+ const entryClasses = ['entry-button', `entry-${entryButtonType}-button`];
45
+ const matClasses = this.matClasses[buttonConfig.type];
46
+ this._elementRef.nativeElement.classList.add(...entryClasses, ...matClasses);
49
47
  const color = buttonConfig.color;
50
48
  if (color) {
51
49
  if (this._matButton) {
@@ -56,9 +54,9 @@ class EntryButtonDirective {
56
54
  }
57
55
  }
58
56
  }
59
- getButtonConfig() {
60
- return this._elementRef.nativeElement.hasAttribute(this.attributes.submit)
61
- ? this._config.submitButton : this._config.cancelButton;
57
+ getEntryType() {
58
+ return this._elementRef.nativeElement.hasAttribute('entry-submit-button')
59
+ ? 'submit' : 'cancel';
62
60
  }
63
61
  }
64
62
  EntryButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EntryButtonDirective, deps: [{ token: i0.ElementRef }, { token: ENTRY_BUTTON_CONFIG }, { token: i1.MatButton, optional: true }, { token: i1.MatAnchor, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
@@ -1 +1 @@
1
- {"version":3,"file":"enigmatry-entry-components-button.mjs","sources":["../../../../libs/entry-components/button/entry-button-config.ts","../../../../libs/entry-components/button/entry-button.directive.ts","../../../../libs/entry-components/button/entry-button.module.ts","../../../../libs/entry-components/button/enigmatry-entry-components-button.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n/** Possible mat button variants */\r\nexport declare type MatButtonVariants = 'basic' | 'flat' | 'raised' | 'stroked';\r\n\r\n//** MatButtonConfig containing type and color */\r\nexport interface MatButtonConfig {\r\n type: MatButtonVariants;\r\n color?: ThemePalette;\r\n}\r\n\r\n/**\r\n * Used to provide button configuration on module or application level.\r\n */\r\nexport class EntryButtonConfig {\r\n /** Submit button configuration */\r\n submitButton: MatButtonConfig;\r\n /** Cancel button configuration */\r\n cancelButton: MatButtonConfig;\r\n\r\n constructor(config: Partial<EntryButtonConfig> = {}) {\r\n this.submitButton = config.submitButton ?? { type: 'flat', color: 'primary' };\r\n this.cancelButton = config.cancelButton ?? { type: 'basic' };\r\n }\r\n}\r\n\r\n/**\r\n * Entry button config injection token. Can be used to provide custom button configuration.\r\n *\r\n * Defaults:\r\n * - submitButton: type: 'flat', color: 'primary'\r\n * - cancelButton: type: 'basic'\r\n */\r\nexport const ENTRY_BUTTON_CONFIG = new InjectionToken<EntryButtonConfig>('EntryButtonConfig',\r\n {\r\n providedIn: 'root',\r\n factory: () => new EntryButtonConfig()\r\n }\r\n);\r\n","import { Directive, ElementRef, Inject, OnInit, Optional } from '@angular/core';\nimport { MatButton, MatAnchor } from '@angular/material/button';\nimport { ThemePalette } from '@angular/material/core';\nimport { ENTRY_BUTTON_CONFIG, EntryButtonConfig, MatButtonConfig } from './entry-button-config';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: `[mat-button][entry-submit-button],[mat-button][entry-cancel-button]`\n})\nexport class EntryButtonDirective implements OnInit {\n\n attributes = {\n submit: `entry-submit-button`,\n cancel: `entry-cancel-button`\n };\n\n classes: { [key: string]: string[] } = {\n basic: ['mdc-button', 'mat-mdc-button'],\n raised: ['mdc-button', 'mdc-button--raised', 'mat-mdc-raised-button'],\n stroked: ['mdc-button', 'mdc-button--outlined', 'mat-mdc-outlined-button'],\n flat: ['mdc-button', 'mdc-button--unelevated', 'mat-mdc-unelevated-button']\n };\n\n constructor(\n private _elementRef: ElementRef,\n @Inject(ENTRY_BUTTON_CONFIG) private _config: EntryButtonConfig,\n @Optional() private _matButton?: MatButton,\n @Optional() private _matAnchor?: MatAnchor) {\n }\n\n ngOnInit(): void {\n const buttonConfig: MatButtonConfig = this.getButtonConfig();\n\n const classes = this.classes[buttonConfig.type];\n this._elementRef.nativeElement.classList.add(...classes);\n\n const color: ThemePalette = buttonConfig.color;\n if (color) {\n if (this._matButton) { this._matButton.color = color; }\n if (this._matAnchor) { this._matAnchor.color = color; }\n }\n }\n\n private getButtonConfig(): MatButtonConfig {\n return this._elementRef.nativeElement.hasAttribute(this.attributes.submit)\n ? this._config.submitButton : this._config.cancelButton;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EntryButtonDirective } from './entry-button.directive';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n declarations: [\n EntryButtonDirective\n ],\n imports: [\n CommonModule,\n MatButtonModule\n ],\n exports: [\n EntryButtonDirective\n ]\n})\nexport class EntryButtonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enigmatry-entry-components-button.mjs","sources":["../../../../libs/entry-components/button/entry-button-config.ts","../../../../libs/entry-components/button/entry-button.directive.ts","../../../../libs/entry-components/button/entry-button.module.ts","../../../../libs/entry-components/button/enigmatry-entry-components-button.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n/** Possible mat button variants */\r\nexport declare type MatButtonVariants = 'basic' | 'flat' | 'raised' | 'stroked';\r\n\r\n//** MatButtonConfig containing type and color */\r\nexport interface MatButtonConfig {\r\n type: MatButtonVariants;\r\n color?: ThemePalette;\r\n}\r\n\r\n/**\r\n * Used to provide button configuration on module or application level.\r\n */\r\nexport class EntryButtonConfig {\r\n /** Submit button configuration */\r\n submit: MatButtonConfig;\r\n /** Cancel button configuration */\r\n cancel: MatButtonConfig;\r\n\r\n constructor(config: Partial<EntryButtonConfig> = {}) {\r\n this.submit = config.submit ?? { type: 'flat', color: 'primary' };\r\n this.cancel = config.cancel ?? { type: 'basic', color: 'accent' };\r\n }\r\n}\r\n\r\n/**\r\n * Entry button config injection token. Can be used to provide custom button configuration.\r\n *\r\n * Defaults:\r\n * - submit: type: 'flat', color: 'primary'\r\n * - cancel: type: 'basic', color: 'accent'\r\n */\r\nexport const ENTRY_BUTTON_CONFIG = new InjectionToken<EntryButtonConfig>('EntryButtonConfig',\r\n {\r\n providedIn: 'root',\r\n factory: () => new EntryButtonConfig()\r\n }\r\n);\r\n","import { Directive, ElementRef, Inject, OnInit, Optional } from '@angular/core';\nimport { MatButton, MatAnchor } from '@angular/material/button';\nimport { ThemePalette } from '@angular/material/core';\nimport { ENTRY_BUTTON_CONFIG, EntryButtonConfig, MatButtonConfig } from './entry-button-config';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: `[mat-button][entry-submit-button],[mat-button][entry-cancel-button]`\n})\nexport class EntryButtonDirective implements OnInit {\n\n matClasses: { [key: string]: string[] } = {\n basic: ['mdc-button', 'mat-mdc-button'],\n raised: ['mdc-button', 'mdc-button--raised', 'mat-mdc-raised-button'],\n stroked: ['mdc-button', 'mdc-button--outlined', 'mat-mdc-outlined-button'],\n flat: ['mdc-button', 'mdc-button--unelevated', 'mat-mdc-unelevated-button']\n };\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n @Inject(ENTRY_BUTTON_CONFIG) private _config: EntryButtonConfig,\n @Optional() private _matButton?: MatButton,\n @Optional() private _matAnchor?: MatAnchor) {\n }\n\n ngOnInit(): void {\n const entryButtonType = this.getEntryType();\n const buttonConfig: MatButtonConfig = this._config[entryButtonType];\n\n const entryClasses: string[] = ['entry-button', `entry-${entryButtonType}-button`];\n const matClasses = this.matClasses[buttonConfig.type];\n\n this._elementRef.nativeElement.classList.add(...entryClasses, ...matClasses);\n\n const color: ThemePalette = buttonConfig.color;\n if (color) {\n if (this._matButton) { this._matButton.color = color; }\n if (this._matAnchor) { this._matAnchor.color = color; }\n }\n }\n\n private getEntryType(): string {\n return this._elementRef.nativeElement.hasAttribute('entry-submit-button')\n ? 'submit' : 'cancel';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EntryButtonDirective } from './entry-button.directive';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n declarations: [\n EntryButtonDirective\n ],\n imports: [\n CommonModule,\n MatButtonModule\n ],\n exports: [\n EntryButtonDirective\n ]\n})\nexport class EntryButtonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enigmatry/entry-components",
3
- "version": "1.15.1-preview.12",
3
+ "version": "1.15.1-preview.14",
4
4
  "author": "Enigmatry",
5
5
  "description": "Enigmatry entry angular material components",
6
6
  "homepage": "https://github.com/enigmatry/entry-angular-building-blocks/tree/master/libs/entry-components#readme",