@enigmatry/entry-components 1.15.1-preview.10 → 1.15.1-preview.13

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.
@@ -21,6 +21,6 @@ export declare class EntryButtonConfig {
21
21
  *
22
22
  * Defaults:
23
23
  * - submitButton: type: 'flat', color: 'primary'
24
- * - cancelButton: type: 'basic'
24
+ * - cancelButton: type: 'basic', color: 'accent'
25
25
  */
26
26
  export declare const ENTRY_BUTTON_CONFIG: InjectionToken<EntryButtonConfig>;
@@ -5,7 +5,7 @@ import { InjectionToken } from '@angular/core';
5
5
  export class EntryButtonConfig {
6
6
  constructor(config = {}) {
7
7
  this.submitButton = config.submitButton ?? { type: 'flat', color: 'primary' };
8
- this.cancelButton = config.cancelButton ?? { type: 'basic' };
8
+ this.cancelButton = config.cancelButton ?? { type: 'basic', color: 'accent' };
9
9
  }
10
10
  }
11
11
  /**
@@ -13,10 +13,10 @@ export class EntryButtonConfig {
13
13
  *
14
14
  * Defaults:
15
15
  * - submitButton: type: 'flat', color: 'primary'
16
- * - cancelButton: type: 'basic'
16
+ * - cancelButton: 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktYnV0dG9uLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9idXR0b24vZW50cnktYnV0dG9uLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQU01QixZQUFZLFNBQXFDLEVBQUU7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDOUUsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDaEYsQ0FBQztDQUNGO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQW9CLG1CQUFtQixFQUMxRjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLGlCQUFpQixFQUFFO0NBQ3ZDLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5cclxuLyoqIFBvc3NpYmxlIG1hdCBidXR0b24gdmFyaWFudHMgKi9cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBNYXRCdXR0b25WYXJpYW50cyA9ICdiYXNpYycgfCAnZmxhdCcgfCAncmFpc2VkJyB8ICdzdHJva2VkJztcclxuXHJcbi8vKiogTWF0QnV0dG9uQ29uZmlnIGNvbnRhaW5pbmcgdHlwZSBhbmQgY29sb3IgKi9cclxuZXhwb3J0IGludGVyZmFjZSBNYXRCdXR0b25Db25maWcge1xyXG4gIHR5cGU6IE1hdEJ1dHRvblZhcmlhbnRzO1xyXG4gIGNvbG9yPzogVGhlbWVQYWxldHRlO1xyXG59XHJcblxyXG4vKipcclxuICogVXNlZCB0byBwcm92aWRlIGJ1dHRvbiBjb25maWd1cmF0aW9uIG9uIG1vZHVsZSBvciBhcHBsaWNhdGlvbiBsZXZlbC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFbnRyeUJ1dHRvbkNvbmZpZyB7XHJcbiAgLyoqIFN1Ym1pdCBidXR0b24gY29uZmlndXJhdGlvbiAqL1xyXG4gIHN1Ym1pdEJ1dHRvbjogTWF0QnV0dG9uQ29uZmlnO1xyXG4gIC8qKiBDYW5jZWwgYnV0dG9uIGNvbmZpZ3VyYXRpb24gKi9cclxuICBjYW5jZWxCdXR0b246IE1hdEJ1dHRvbkNvbmZpZztcclxuXHJcbiAgY29uc3RydWN0b3IoY29uZmlnOiBQYXJ0aWFsPEVudHJ5QnV0dG9uQ29uZmlnPiA9IHt9KSB7XHJcbiAgICB0aGlzLnN1Ym1pdEJ1dHRvbiA9IGNvbmZpZy5zdWJtaXRCdXR0b24gPz8geyB0eXBlOiAnZmxhdCcsIGNvbG9yOiAncHJpbWFyeScgfTtcclxuICAgIHRoaXMuY2FuY2VsQnV0dG9uID0gY29uZmlnLmNhbmNlbEJ1dHRvbiA/PyB7IHR5cGU6ICdiYXNpYycsIGNvbG9yOiAnYWNjZW50JyB9O1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEVudHJ5IGJ1dHRvbiBjb25maWcgaW5qZWN0aW9uIHRva2VuLiBDYW4gYmUgdXNlZCB0byBwcm92aWRlIGN1c3RvbSBidXR0b24gY29uZmlndXJhdGlvbi5cclxuICpcclxuICogRGVmYXVsdHM6XHJcbiAqIC0gc3VibWl0QnV0dG9uOiB0eXBlOiAnZmxhdCcsIGNvbG9yOiAncHJpbWFyeSdcclxuICogLSBjYW5jZWxCdXR0b246IHR5cGU6ICdiYXNpYycsIGNvbG9yOiAnYWNjZW50J1xyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEVOVFJZX0JVVFRPTl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RW50cnlCdXR0b25Db25maWc+KCdFbnRyeUJ1dHRvbkNvbmZpZycsXHJcbiAge1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG4gICAgZmFjdG9yeTogKCkgPT4gbmV3IEVudHJ5QnV0dG9uQ29uZmlnKClcclxuICB9XHJcbik7XHJcbiJdfQ==
@@ -11,7 +11,7 @@ class EntryButtonConfig {
11
11
  constructor(config = {}) {
12
12
  var _a, _b;
13
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' };
14
+ this.cancelButton = (_b = config.cancelButton) !== null && _b !== void 0 ? _b : { type: 'basic', color: 'accent' };
15
15
  }
16
16
  }
17
17
  /**
@@ -19,7 +19,7 @@ class EntryButtonConfig {
19
19
  *
20
20
  * Defaults:
21
21
  * - submitButton: type: 'flat', color: 'primary'
22
- * - cancelButton: type: 'basic'
22
+ * - cancelButton: type: 'basic', color: 'accent'
23
23
  */
24
24
  const ENTRY_BUTTON_CONFIG = new InjectionToken('EntryButtonConfig', {
25
25
  providedIn: 'root',
@@ -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 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', 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 * - submitButton: type: 'flat', color: 'primary'\r\n * - cancelButton: 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 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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"}
@@ -10,7 +10,7 @@ import { CommonModule } from '@angular/common';
10
10
  class EntryButtonConfig {
11
11
  constructor(config = {}) {
12
12
  this.submitButton = config.submitButton ?? { type: 'flat', color: 'primary' };
13
- this.cancelButton = config.cancelButton ?? { type: 'basic' };
13
+ this.cancelButton = config.cancelButton ?? { type: 'basic', color: 'accent' };
14
14
  }
15
15
  }
16
16
  /**
@@ -18,7 +18,7 @@ class EntryButtonConfig {
18
18
  *
19
19
  * Defaults:
20
20
  * - submitButton: type: 'flat', color: 'primary'
21
- * - cancelButton: type: 'basic'
21
+ * - cancelButton: type: 'basic', color: 'accent'
22
22
  */
23
23
  const ENTRY_BUTTON_CONFIG = new InjectionToken('EntryButtonConfig', {
24
24
  providedIn: 'root',
@@ -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 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', 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 * - submitButton: type: 'flat', color: 'primary'\r\n * - cancelButton: 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 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enigmatry/entry-components",
3
- "version": "1.15.1-preview.10",
3
+ "version": "1.15.1-preview.13",
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",
@@ -4,11 +4,13 @@
4
4
  @use 'modules/components/forms/generator' as form;
5
5
  @use 'modules/elements/generator' as elements;
6
6
  @use 'modules/default-theme' as default;
7
+ @use 'modules/angular-material-generator' as material-theme;
7
8
  @use 'sass:map';
8
9
 
9
10
  @mixin generate-from($custom-theme: ()) {
10
11
  $merged-theme: map.deep-merge(default.$theme, $custom-theme);
11
12
 
13
+ @include material-theme.generate-from($merged-theme);
12
14
  @include elements.generate-from($merged-theme);
13
15
  @include table.generate-from($merged-theme);
14
16
  @include form.generate-from($merged-theme);
@@ -0,0 +1,34 @@
1
+ @use '@angular/material' as theming;
2
+ @use 'palette-generator';
3
+ @use 'sass:map';
4
+
5
+ /* stylelint-disable scss/function-no-unknown */
6
+ @mixin generate-from($theme) {
7
+ @include theming.core();
8
+
9
+ $primary-palette: theming.define-palette(-get-material-palette-for('primary', $theme));
10
+ $accent-palette: theming.define-palette(-get-material-palette-for('accent', $theme));
11
+ $warn-palette: theming.define-palette(theming.$red-palette);
12
+
13
+ $default-theme: theming.define-light-theme((
14
+ color: (
15
+ primary: $primary-palette,
16
+ accent: $accent-palette,
17
+ warn: $warn-palette
18
+ ),
19
+ typography: theming.define-typography-config()
20
+ ));
21
+
22
+ @include theming.all-component-themes($default-theme);
23
+ }
24
+
25
+ @function -get-material-palette-for($key, $theme) {
26
+ $palette: map.get($theme, 'general', 'colors', $key + '-theme');
27
+
28
+ @if $palette {
29
+ @return $palette;
30
+ }
31
+
32
+ $color: map.get($theme, 'general', 'colors', $key);
33
+ @return palette-generator.generate-from($color);
34
+ }
@@ -2,6 +2,8 @@
2
2
  $theme: (
3
3
  general: (
4
4
  colors: (
5
+ primary-theme: null,
6
+ accent-theme: null,
5
7
  primary: #2581C4,
6
8
  accent: #EA518D,
7
9
  dark: #323232,
@@ -31,7 +33,7 @@ $theme: (
31
33
  border-right: none,
32
34
  border-left: none,
33
35
  disabled-background: #F5F5F5,
34
- disabled-hover: 2px solid #EBEBEB,
36
+ disabled-hover: 2px solid #EBEBEB
35
37
  )
36
38
  ),
37
39
  checkboxes: (
@@ -44,11 +46,11 @@ $theme: (
44
46
  border: 2px solid #0000008A,
45
47
  border-hover: 2px solid #0000008A,
46
48
  border-radius: 0,
47
- label-breaking: nowrap,
49
+ label-breaking: nowrap
48
50
  ),
49
51
  radio-buttons: (
50
52
  align: flex-start,
51
- white-space: nowrap,
53
+ white-space: nowrap
52
54
  ),
53
55
  ),
54
56
  tables: (
@@ -0,0 +1,32 @@
1
+ @use 'sass:color';
2
+ @use 'sass:map';
3
+
4
+ @function generate-from($color) {
5
+ $result: (
6
+ 50: color.adjust($color, $lightness: -30%),
7
+ contrast: (
8
+ 50: #212121,
9
+ 100: #212121,
10
+ 200: #212121,
11
+ 300: #212121,
12
+ 400: #212121,
13
+ 500: #FFF,
14
+ 600: #FFF,
15
+ 700: #FFF,
16
+ 800: #FFF,
17
+ 900: #FFF,
18
+ a100: #212121,
19
+ a200: #212121,
20
+ a400: #FFF,
21
+ a700: #FFF
22
+ )
23
+ );
24
+
25
+ @for $counter from 1 through 9 {
26
+ $blended-color: color.adjust($color, $lightness: -27 + $counter * 5%);
27
+ /* stylelint-disable-next-line scss/no-duplicate-dollar-variables */
28
+ $result: map.set($result, $counter * 100, $blended-color);
29
+ }
30
+
31
+ @return $result;
32
+ }
@@ -4,40 +4,20 @@
4
4
  @mixin generate-from($theme) {
5
5
  .mat-mdc-row {
6
6
  $edge-selected-color: map.get($theme, 'forms', 'checkboxes', 'selected-border-color');
7
-
7
+
8
8
  @include list.row-coloring(map.get($theme, 'tables', 'rows', 'odd-even-background'),
9
9
  map.get($theme, 'tables', 'rows', 'odd-even-row'));
10
10
 
11
- /* TODO(mdc-migration): The following rule targets internal classes of checkbox that may no longer apply for the MDC version. */
12
- .mat-checkbox-inner-container {
13
- background-color: map.get($theme, 'forms', 'checkboxes', 'background-color');
14
- }
15
-
16
11
  &.selected {
17
12
  background-color: map.get($theme, 'tables', 'rows', 'selected-background-color');
18
-
19
- .mat-mdc-cell {
13
+
14
+ &:hover {
15
+ background-color: map.get($theme, 'tables', 'rows', 'selected-background-color');
20
16
  color: map.get($theme, 'tables', 'rows', 'selected-color');
21
17
  }
22
18
 
23
- /* TODO(mdc-migration): The following rule targets internal classes of checkbox that may no longer apply for the MDC version. */
24
- .mat-checkbox-checked {
25
- /* TODO(mdc-migration): The following rule targets internal classes of checkbox that may no longer apply for the MDC version. */
26
- .mat-checkbox-background {
27
- background-color: map.get($theme, 'forms', 'checkboxes', 'selected-background-color');
28
-
29
- /* TODO(mdc-migration): The following rule targets internal classes of checkbox that may no longer apply for the MDC version. */
30
- /* stylelint-disable-next-line max-nesting-depth, selector-max-combinators, selector-max-compound-selectors */
31
- .mat-checkbox-checkmark-path {
32
- /* stylelint-disable-next-line declaration-no-important */
33
- stroke: $edge-selected-color !important;
34
- }
35
- }
36
-
37
- /* TODO(mdc-migration): The following rule targets internal classes of checkbox that may no longer apply for the MDC version. */
38
- .mat-checkbox-frame {
39
- border-color: $edge-selected-color;
40
- }
19
+ .mat-mdc-cell {
20
+ color: map.get($theme, 'tables', 'rows', 'selected-color');
41
21
  }
42
22
  }
43
23
  }
@@ -45,9 +25,4 @@
45
25
  .mat-row-disabled {
46
26
  background-color: map.get($theme, 'general', 'colors', 'disabled-light');
47
27
  }
48
-
49
- .entry-table-menu .context-menu-item:hover {
50
- background-color: map.get($theme, 'general', 'colors', 'accent');
51
- color: map.get($theme, 'general', 'colors', 'dark');
52
- }
53
28
  }
@@ -1,26 +1,16 @@
1
- @use '@enigmatry/scss-foundation/src/modules/display/items';
2
-
3
- .entry-table .mat-mdc-icon-button {
4
- width: unset;
5
- @include items.align-center();
1
+ .entry-table .mat-icon-button {
2
+ padding-top: 8px;
3
+ border: none;
4
+ background-color: transparent;
5
+ cursor: pointer;
6
6
  }
7
7
 
8
- .entry-table-checkbox-cell, .entry-table-context-menu-cell {
8
+ .entry-table-checkbox-cell {
9
9
  flex: none;
10
10
  width: 56px;
11
11
  max-width: 40px;
12
12
 
13
13
  .mat-mdc-checkbox {
14
14
  display: flex;
15
- margin: 0 10px;
16
- }
17
-
18
- /* TODO(mdc-migration): The following rule targets internal classes of checkbox that may no longer apply for the MDC version. */
19
- .mat-checkbox-inner-container {
20
- margin-left: 0;
21
- }
22
-
23
- .mat-mdc-icon-button {
24
- padding-top: 2px;
25
15
  }
26
16
  }
@@ -1,3 +1,5 @@
1
+ @use '@enigmatry/scss-foundation/src/modules/display/items';
2
+
1
3
  .entry-table {
2
4
  .mat-mdc-cell, .mat-mdc-header-cell {
3
5
  padding: 0 10px;
@@ -14,6 +16,12 @@
14
16
  left: 10px;
15
17
  }
16
18
  }
19
+
20
+ &.entry-table-context-menu-cell {
21
+ @include items.fully-align(center, flex-end);
22
+ /* stylelint-disable-next-line declaration-no-important */
23
+ min-width: unset !important;
24
+ }
17
25
  }
18
26
 
19
27
  .mat-mdc-table {
@@ -36,4 +44,4 @@
36
44
  justify-content: right;
37
45
  }
38
46
  }
39
- }
47
+ }
@@ -18,10 +18,6 @@
18
18
  min-width: 100%;
19
19
  border-collapse: separate;
20
20
  }
21
- /* TODO(mdc-migration): The following rule targets internal classes of paginator that may no longer apply for the MDC version. */
22
- .mat-paginator-hidden {
23
- display: none;
24
- }
25
21
  }
26
22
 
27
23
  .entry-table-layout {
@@ -1,13 +1,15 @@
1
1
  .entry-table {
2
- .mat-row, .mat-header-row {
3
- height: 36px;
2
+ .mat-mdc-table {
3
+ .mdc-data-table__header-row, .mdc-data-table__row {
4
+ height: 36px;
5
+ }
4
6
  }
5
7
  }
6
8
 
7
9
  .entry-table-menu {
8
10
  min-height: 40px;
9
11
 
10
- .mat-menu-content:not(:empty) {
12
+ .mat-mdc-menu-content:not(:empty) {
11
13
  padding: 0;
12
14
  }
13
15
  }