@feature23/ngx-mat-split-button 0.3.0 → 0.5.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.
@@ -20,10 +20,10 @@ class NgxMatSplitButtonService {
20
20
  initialize() {
21
21
  // noop, ensure service is injected and constructor run
22
22
  }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NgxMatSplitButtonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NgxMatSplitButtonService, providedIn: 'root' });
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: NgxMatSplitButtonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: NgxMatSplitButtonService, providedIn: 'root' });
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NgxMatSplitButtonService, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: NgxMatSplitButtonService, decorators: [{
27
27
  type: Injectable,
28
28
  args: [{
29
29
  providedIn: 'root'
@@ -35,10 +35,10 @@ class NgxMatSplitPrimaryAction {
35
35
  constructor(templateRef) {
36
36
  this.templateRef = templateRef;
37
37
  }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NgxMatSplitPrimaryAction, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
39
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: NgxMatSplitPrimaryAction, isStandalone: true, selector: "[ngx-mat-split-primary-action]", ngImport: i0 });
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: NgxMatSplitPrimaryAction, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
39
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: NgxMatSplitPrimaryAction, isStandalone: true, selector: "[ngx-mat-split-primary-action]", ngImport: i0 });
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NgxMatSplitPrimaryAction, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: NgxMatSplitPrimaryAction, decorators: [{
42
42
  type: Directive,
43
43
  args: [{
44
44
  selector: '[ngx-mat-split-primary-action]',
@@ -47,10 +47,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
47
47
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
48
48
 
49
49
  class NgxMatSplitButton {
50
- color = input();
51
- buttonStyle = input('basic');
52
- primaryDisabled = input();
53
- menuTriggerDisabled = input();
50
+ color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : /* istanbul ignore next */ []));
51
+ buttonStyle = input('basic', ...(ngDevMode ? [{ debugName: "buttonStyle" }] : /* istanbul ignore next */ []));
52
+ primaryDisabled = input(...(ngDevMode ? [undefined, { debugName: "primaryDisabled" }] : /* istanbul ignore next */ []));
53
+ menuTriggerDisabled = input(...(ngDevMode ? [undefined, { debugName: "menuTriggerDisabled" }] : /* istanbul ignore next */ []));
54
54
  primaryClick = output();
55
55
  menuTriggerClick = output();
56
56
  primaryAction = contentChild.required(NgxMatSplitPrimaryAction);
@@ -58,8 +58,8 @@ class NgxMatSplitButton {
58
58
  const service = inject(NgxMatSplitButtonService);
59
59
  service.initialize();
60
60
  }
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NgxMatSplitButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: NgxMatSplitButton, isStandalone: true, selector: "ngx-mat-split-button", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, buttonStyle: { classPropertyName: "buttonStyle", publicName: "buttonStyle", isSignal: true, isRequired: false, transformFunction: null }, primaryDisabled: { classPropertyName: "primaryDisabled", publicName: "primaryDisabled", isSignal: true, isRequired: false, transformFunction: null }, menuTriggerDisabled: { classPropertyName: "menuTriggerDisabled", publicName: "menuTriggerDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { primaryClick: "primaryClick", menuTriggerClick: "menuTriggerClick" }, queries: [{ propertyName: "primaryAction", first: true, predicate: NgxMatSplitPrimaryAction, descendants: true, isSignal: true }], ngImport: i0, template: `
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: NgxMatSplitButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: NgxMatSplitButton, isStandalone: true, selector: "ngx-mat-split-button", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, buttonStyle: { classPropertyName: "buttonStyle", publicName: "buttonStyle", isSignal: true, isRequired: false, transformFunction: null }, primaryDisabled: { classPropertyName: "primaryDisabled", publicName: "primaryDisabled", isSignal: true, isRequired: false, transformFunction: null }, menuTriggerDisabled: { classPropertyName: "menuTriggerDisabled", publicName: "menuTriggerDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { primaryClick: "primaryClick", menuTriggerClick: "menuTriggerClick" }, queries: [{ propertyName: "primaryAction", first: true, predicate: NgxMatSplitPrimaryAction, descendants: true, isSignal: true }], ngImport: i0, template: `
63
63
  @if (buttonStyle() === 'basic') {
64
64
  <button mat-button [color]="color()" (click)="primaryClick.emit($event)"
65
65
  class="ngx-mat-split-button-primary ngx-mat-split-button-basic"
@@ -118,9 +118,9 @@ class NgxMatSplitButton {
118
118
  <mat-menu #menu="matMenu" xPosition="before">
119
119
  <ng-content />
120
120
  </mat-menu>
121
- `, isInline: true, styles: [":host{display:inline-flex;&:not(:disabled){&.mat-primary{color:var(--mat-sys-primary)}&.mat-secondary{color:var(--mat-sys-secondary)}&.mat-tertiary{color:var(--mat-sys-tertiary)}}}.ngx-mat-split-button-primary{border-top-right-radius:0;border-bottom-right-radius:0}.ngx-mat-split-button-trigger{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0;min-width:3rem;mat-icon{--mat-text-button-icon-spacing: 0;--mat-filled-button-icon-spacing: 0;--mat-protected-button-icon-spacing: 0;--mat-outlined-button-icon-spacing: 0}}.ngx-mat-split-button-raised-wrapper{display:inline-flex;border-radius:var(--mat-sys-corner-full, var(--mdc-filled-button-container-shape, var(--mat-app-corner-full)));box-shadow:var(--mat-sys-level1, var(--mdc-protected-button-container-elevation-shadow, var(--mat-app-level1)));transition:box-shadow .28s cubic-bezier(.4,0,.2,1);&:hover{box-shadow:var(--mat-sys-level2, var(--mdc-protected-button-container-elevation-shadow, var(--mat-app-level2)))}}.ngx-mat-split-button-flat{mat-icon svg{fill:var(--mdc-filled-button-label-text-color, var(--mat-app-on-primary))}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] });
121
+ `, isInline: true, styles: [":host{display:inline-flex}:host:not(:disabled).mat-primary{color:var(--mat-sys-primary)}:host:not(:disabled).mat-secondary{color:var(--mat-sys-secondary)}:host:not(:disabled).mat-tertiary{color:var(--mat-sys-tertiary)}.ngx-mat-split-button-primary{border-top-right-radius:0;border-bottom-right-radius:0}.ngx-mat-split-button-trigger{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0;min-width:3rem}.ngx-mat-split-button-trigger mat-icon{--mat-button-text-icon-spacing: 0;--mat-button-filled-icon-spacing: 0;--mat-button-protected-icon-spacing: 0;--mat-button-outlined-icon-spacing: 0}.ngx-mat-split-button-raised-wrapper{display:inline-flex;border-radius:var(--mat-sys-corner-full, var(--mat-button-filled-container-shape, var(--mat-app-corner-full)));box-shadow:var(--mat-sys-level1, var(--mat-button-protected-container-elevation-shadow, var(--mat-app-level1)));transition:box-shadow .28s cubic-bezier(.4,0,.2,1)}.ngx-mat-split-button-raised-wrapper:hover{box-shadow:var(--mat-sys-level2, var(--mat-button-protected-container-elevation-shadow, var(--mat-app-level2)))}.ngx-mat-split-button-flat mat-icon svg{fill:var(--mat-button-filled-label-text-color, var(--mat-app-on-primary))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] });
122
122
  }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NgxMatSplitButton, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: NgxMatSplitButton, decorators: [{
124
124
  type: Component,
125
125
  args: [{ selector: 'ngx-mat-split-button', imports: [
126
126
  CommonModule,
@@ -186,8 +186,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
186
186
  <mat-menu #menu="matMenu" xPosition="before">
187
187
  <ng-content />
188
188
  </mat-menu>
189
- `, styles: [":host{display:inline-flex;&:not(:disabled){&.mat-primary{color:var(--mat-sys-primary)}&.mat-secondary{color:var(--mat-sys-secondary)}&.mat-tertiary{color:var(--mat-sys-tertiary)}}}.ngx-mat-split-button-primary{border-top-right-radius:0;border-bottom-right-radius:0}.ngx-mat-split-button-trigger{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0;min-width:3rem;mat-icon{--mat-text-button-icon-spacing: 0;--mat-filled-button-icon-spacing: 0;--mat-protected-button-icon-spacing: 0;--mat-outlined-button-icon-spacing: 0}}.ngx-mat-split-button-raised-wrapper{display:inline-flex;border-radius:var(--mat-sys-corner-full, var(--mdc-filled-button-container-shape, var(--mat-app-corner-full)));box-shadow:var(--mat-sys-level1, var(--mdc-protected-button-container-elevation-shadow, var(--mat-app-level1)));transition:box-shadow .28s cubic-bezier(.4,0,.2,1);&:hover{box-shadow:var(--mat-sys-level2, var(--mdc-protected-button-container-elevation-shadow, var(--mat-app-level2)))}}.ngx-mat-split-button-flat{mat-icon svg{fill:var(--mdc-filled-button-label-text-color, var(--mat-app-on-primary))}}\n"] }]
190
- }], ctorParameters: () => [] });
189
+ `, styles: [":host{display:inline-flex}:host:not(:disabled).mat-primary{color:var(--mat-sys-primary)}:host:not(:disabled).mat-secondary{color:var(--mat-sys-secondary)}:host:not(:disabled).mat-tertiary{color:var(--mat-sys-tertiary)}.ngx-mat-split-button-primary{border-top-right-radius:0;border-bottom-right-radius:0}.ngx-mat-split-button-trigger{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0;min-width:3rem}.ngx-mat-split-button-trigger mat-icon{--mat-button-text-icon-spacing: 0;--mat-button-filled-icon-spacing: 0;--mat-button-protected-icon-spacing: 0;--mat-button-outlined-icon-spacing: 0}.ngx-mat-split-button-raised-wrapper{display:inline-flex;border-radius:var(--mat-sys-corner-full, var(--mat-button-filled-container-shape, var(--mat-app-corner-full)));box-shadow:var(--mat-sys-level1, var(--mat-button-protected-container-elevation-shadow, var(--mat-app-level1)));transition:box-shadow .28s cubic-bezier(.4,0,.2,1)}.ngx-mat-split-button-raised-wrapper:hover{box-shadow:var(--mat-sys-level2, var(--mat-button-protected-container-elevation-shadow, var(--mat-app-level2)))}.ngx-mat-split-button-flat mat-icon svg{fill:var(--mat-button-filled-label-text-color, var(--mat-app-on-primary))}\n"] }]
190
+ }], ctorParameters: () => [], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], buttonStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonStyle", required: false }] }], primaryDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "primaryDisabled", required: false }] }], menuTriggerDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "menuTriggerDisabled", required: false }] }], primaryClick: [{ type: i0.Output, args: ["primaryClick"] }], menuTriggerClick: [{ type: i0.Output, args: ["menuTriggerClick"] }], primaryAction: [{ type: i0.ContentChild, args: [i0.forwardRef(() => NgxMatSplitPrimaryAction), { isSignal: true }] }] } });
191
191
 
192
192
  /*
193
193
  * Public API Surface of ngx-mat-split-button
@@ -1 +1 @@
1
- {"version":3,"file":"feature23-ngx-mat-split-button.mjs","sources":["../../../projects/ngx-mat-split-button/src/lib/ngx-mat-split-button.service.ts","../../../projects/ngx-mat-split-button/src/lib/ngx-mat-split-primary-action.directive.ts","../../../projects/ngx-mat-split-button/src/lib/ngx-mat-split-button.component.ts","../../../projects/ngx-mat-split-button/src/public-api.ts","../../../projects/ngx-mat-split-button/src/feature23-ngx-mat-split-button.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nconst ARROW_DOWN_ICON = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 10l5 5 5-5z\"/></svg>\n`;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxMatSplitButtonService {\n\n constructor() {\n const iconRegistry = inject(MatIconRegistry);\n const sanitizer = inject(DomSanitizer);\n iconRegistry.addSvgIconLiteral('ngx-mat-split-arrow-down-icon', sanitizer.bypassSecurityTrustHtml(ARROW_DOWN_ICON));\n }\n\n initialize() {\n // noop, ensure service is injected and constructor run\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngx-mat-split-primary-action]',\n standalone: true,\n})\nexport class NgxMatSplitPrimaryAction {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n }\n","import { CommonModule } from '@angular/common';\nimport { Component, contentChild, inject, input, output } from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { NgxMatSplitButtonService } from './ngx-mat-split-button.service';\nimport { NgxMatSplitPrimaryAction } from './ngx-mat-split-primary-action.directive';\n\n@Component({\n selector: 'ngx-mat-split-button',\n imports: [\n CommonModule,\n MatButton,\n MatIcon,\n MatMenuModule,\n ],\n // NOTE: the repetitive code here is required because it doesn't appear that you can conditionally add directives like `mat-button` vs `mat-flat-button`.\n template: `\n @if (buttonStyle() === 'basic') {\n <button mat-button [color]=\"color()\" (click)=\"primaryClick.emit($event)\"\n class=\"ngx-mat-split-button-primary ngx-mat-split-button-basic\"\n [disabled]=\"primaryDisabled()\">\n <ng-container [ngTemplateOutlet]=\"primaryAction().templateRef\" />\n </button>\n <button mat-button [color]=\"color()\" [matMenuTriggerFor]=\"menu\"\n class=\"ngx-mat-split-button-trigger\"\n aria-label=\"Toggle menu\"\n [disabled]=\"menuTriggerDisabled()\"\n (click)=\"menuTriggerClick.emit($event)\">\n <mat-icon svgIcon=\"ngx-mat-split-arrow-down-icon\" aria-label=\"Down arrow icon\" />\n </button>\n } @else if (buttonStyle() === 'raised') {\n <div class=\"ngx-mat-split-button-raised-wrapper\">\n <button mat-flat-button [color]=\"color()\" (click)=\"primaryClick.emit($event)\"\n class=\"ngx-mat-split-button-primary ngx-mat-split-button-raised\"\n [disabled]=\"primaryDisabled()\">\n <ng-container [ngTemplateOutlet]=\"primaryAction().templateRef\" />\n </button>\n <button mat-flat-button [color]=\"color()\" [matMenuTriggerFor]=\"menu\"\n class=\"ngx-mat-split-button-trigger\"\n aria-label=\"Toggle menu\"\n [disabled]=\"menuTriggerDisabled()\"\n (click)=\"menuTriggerClick.emit($event)\">\n <mat-icon svgIcon=\"ngx-mat-split-arrow-down-icon\" aria-label=\"Down arrow icon\" />\n </button>\n </div>\n } @else if (buttonStyle() === 'stroked') {\n <button mat-stroked-button [color]=\"color()\" (click)=\"primaryClick.emit($event)\"\n class=\"ngx-mat-split-button-primary ngx-mat-split-button-stroked\"\n [disabled]=\"primaryDisabled()\">\n <ng-container [ngTemplateOutlet]=\"primaryAction().templateRef\" />\n </button>\n <button mat-stroked-button [color]=\"color()\" [matMenuTriggerFor]=\"menu\"\n class=\"ngx-mat-split-button-trigger\"\n aria-label=\"Toggle menu\"\n [disabled]=\"menuTriggerDisabled()\"\n (click)=\"menuTriggerClick.emit($event)\">\n <mat-icon svgIcon=\"ngx-mat-split-arrow-down-icon\" aria-label=\"Down arrow icon\" />\n </button>\n } @else if (buttonStyle() === 'flat') {\n <button mat-flat-button [color]=\"color()\" (click)=\"primaryClick.emit($event)\"\n class=\"ngx-mat-split-button-primary ngx-mat-split-button-flat\"\n [disabled]=\"primaryDisabled()\">\n <ng-container [ngTemplateOutlet]=\"primaryAction().templateRef\" />\n </button>\n <button mat-flat-button [color]=\"color()\" [matMenuTriggerFor]=\"menu\"\n class=\"ngx-mat-split-button-trigger\"\n aria-label=\"Toggle menu\"\n [disabled]=\"menuTriggerDisabled()\"\n (click)=\"menuTriggerClick.emit($event)\">\n <mat-icon svgIcon=\"ngx-mat-split-arrow-down-icon\" aria-label=\"Down arrow icon\" />\n </button>\n }\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <ng-content />\n </mat-menu>\n `,\n styles: `\n :host {\n display: inline-flex;\n\n &:not(:disabled) {\n &.mat-primary {\n color: var(--mat-sys-primary);\n }\n\n &.mat-secondary {\n color: var(--mat-sys-secondary);\n }\n\n &.mat-tertiary {\n color: var(--mat-sys-tertiary);\n }\n }\n }\n .ngx-mat-split-button-primary {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .ngx-mat-split-button-trigger {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-left-width: 0;\n min-width: 3rem;\n\n mat-icon {\n --mat-text-button-icon-spacing: 0;\n --mat-filled-button-icon-spacing: 0;\n --mat-protected-button-icon-spacing: 0;\n --mat-outlined-button-icon-spacing: 0;\n }\n }\n .ngx-mat-split-button-raised-wrapper {\n display: inline-flex;\n border-radius: var(--mat-sys-corner-full, var(--mdc-filled-button-container-shape, var(--mat-app-corner-full)));\n box-shadow: var(--mat-sys-level1, var(--mdc-protected-button-container-elevation-shadow, var(--mat-app-level1)));\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n\n &:hover {\n box-shadow: var(--mat-sys-level2, var(--mdc-protected-button-container-elevation-shadow, var(--mat-app-level2)));\n }\n }\n .ngx-mat-split-button-flat {\n mat-icon svg {\n fill: var(--mdc-filled-button-label-text-color, var(--mat-app-on-primary));\n }\n }\n `\n})\nexport class NgxMatSplitButton {\n readonly color = input<string>();\n readonly buttonStyle = input<'basic' | 'raised' | 'stroked' | 'flat'>('basic');\n readonly primaryDisabled = input<boolean>();\n readonly menuTriggerDisabled = input<boolean>();\n\n readonly primaryClick = output<MouseEvent>();\n readonly menuTriggerClick = output<MouseEvent>();\n\n readonly primaryAction = contentChild.required(NgxMatSplitPrimaryAction);\n\n constructor() {\n const service = inject(NgxMatSplitButtonService);\n service.initialize();\n }\n}\n","/*\n * Public API Surface of ngx-mat-split-button\n */\n\nexport * from './lib/ngx-mat-split-button.component';\nexport * from './lib/ngx-mat-split-primary-action.directive';\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":"feature23-ngx-mat-split-button.mjs","sources":["../../../projects/ngx-mat-split-button/src/lib/ngx-mat-split-button.service.ts","../../../projects/ngx-mat-split-button/src/lib/ngx-mat-split-primary-action.directive.ts","../../../projects/ngx-mat-split-button/src/lib/ngx-mat-split-button.component.ts","../../../projects/ngx-mat-split-button/src/public-api.ts","../../../projects/ngx-mat-split-button/src/feature23-ngx-mat-split-button.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nconst ARROW_DOWN_ICON = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 10l5 5 5-5z\"/></svg>\n`;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxMatSplitButtonService {\n\n constructor() {\n const iconRegistry = inject(MatIconRegistry);\n const sanitizer = inject(DomSanitizer);\n iconRegistry.addSvgIconLiteral('ngx-mat-split-arrow-down-icon', sanitizer.bypassSecurityTrustHtml(ARROW_DOWN_ICON));\n }\n\n initialize() {\n // noop, ensure service is injected and constructor run\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngx-mat-split-primary-action]',\n standalone: true,\n})\nexport class NgxMatSplitPrimaryAction {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n }\n","import { CommonModule } from '@angular/common';\nimport { Component, contentChild, inject, input, output } from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { NgxMatSplitButtonService } from './ngx-mat-split-button.service';\nimport { NgxMatSplitPrimaryAction } from './ngx-mat-split-primary-action.directive';\n\n@Component({\n selector: 'ngx-mat-split-button',\n imports: [\n CommonModule,\n MatButton,\n MatIcon,\n MatMenuModule,\n ],\n // NOTE: the repetitive code here is required because it doesn't appear that you can conditionally add directives like `mat-button` vs `mat-flat-button`.\n template: `\n @if (buttonStyle() === 'basic') {\n <button mat-button [color]=\"color()\" (click)=\"primaryClick.emit($event)\"\n class=\"ngx-mat-split-button-primary ngx-mat-split-button-basic\"\n [disabled]=\"primaryDisabled()\">\n <ng-container [ngTemplateOutlet]=\"primaryAction().templateRef\" />\n </button>\n <button mat-button [color]=\"color()\" [matMenuTriggerFor]=\"menu\"\n class=\"ngx-mat-split-button-trigger\"\n aria-label=\"Toggle menu\"\n [disabled]=\"menuTriggerDisabled()\"\n (click)=\"menuTriggerClick.emit($event)\">\n <mat-icon svgIcon=\"ngx-mat-split-arrow-down-icon\" aria-label=\"Down arrow icon\" />\n </button>\n } @else if (buttonStyle() === 'raised') {\n <div class=\"ngx-mat-split-button-raised-wrapper\">\n <button mat-flat-button [color]=\"color()\" (click)=\"primaryClick.emit($event)\"\n class=\"ngx-mat-split-button-primary ngx-mat-split-button-raised\"\n [disabled]=\"primaryDisabled()\">\n <ng-container [ngTemplateOutlet]=\"primaryAction().templateRef\" />\n </button>\n <button mat-flat-button [color]=\"color()\" [matMenuTriggerFor]=\"menu\"\n class=\"ngx-mat-split-button-trigger\"\n aria-label=\"Toggle menu\"\n [disabled]=\"menuTriggerDisabled()\"\n (click)=\"menuTriggerClick.emit($event)\">\n <mat-icon svgIcon=\"ngx-mat-split-arrow-down-icon\" aria-label=\"Down arrow icon\" />\n </button>\n </div>\n } @else if (buttonStyle() === 'stroked') {\n <button mat-stroked-button [color]=\"color()\" (click)=\"primaryClick.emit($event)\"\n class=\"ngx-mat-split-button-primary ngx-mat-split-button-stroked\"\n [disabled]=\"primaryDisabled()\">\n <ng-container [ngTemplateOutlet]=\"primaryAction().templateRef\" />\n </button>\n <button mat-stroked-button [color]=\"color()\" [matMenuTriggerFor]=\"menu\"\n class=\"ngx-mat-split-button-trigger\"\n aria-label=\"Toggle menu\"\n [disabled]=\"menuTriggerDisabled()\"\n (click)=\"menuTriggerClick.emit($event)\">\n <mat-icon svgIcon=\"ngx-mat-split-arrow-down-icon\" aria-label=\"Down arrow icon\" />\n </button>\n } @else if (buttonStyle() === 'flat') {\n <button mat-flat-button [color]=\"color()\" (click)=\"primaryClick.emit($event)\"\n class=\"ngx-mat-split-button-primary ngx-mat-split-button-flat\"\n [disabled]=\"primaryDisabled()\">\n <ng-container [ngTemplateOutlet]=\"primaryAction().templateRef\" />\n </button>\n <button mat-flat-button [color]=\"color()\" [matMenuTriggerFor]=\"menu\"\n class=\"ngx-mat-split-button-trigger\"\n aria-label=\"Toggle menu\"\n [disabled]=\"menuTriggerDisabled()\"\n (click)=\"menuTriggerClick.emit($event)\">\n <mat-icon svgIcon=\"ngx-mat-split-arrow-down-icon\" aria-label=\"Down arrow icon\" />\n </button>\n }\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <ng-content />\n </mat-menu>\n `,\n styles: `\n :host {\n display: inline-flex;\n\n &:not(:disabled) {\n &.mat-primary {\n color: var(--mat-sys-primary);\n }\n\n &.mat-secondary {\n color: var(--mat-sys-secondary);\n }\n\n &.mat-tertiary {\n color: var(--mat-sys-tertiary);\n }\n }\n }\n .ngx-mat-split-button-primary {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .ngx-mat-split-button-trigger {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-left-width: 0;\n min-width: 3rem;\n\n mat-icon {\n --mat-button-text-icon-spacing: 0;\n --mat-button-filled-icon-spacing: 0;\n --mat-button-protected-icon-spacing: 0;\n --mat-button-outlined-icon-spacing: 0;\n }\n }\n .ngx-mat-split-button-raised-wrapper {\n display: inline-flex;\n border-radius: var(--mat-sys-corner-full, var(--mat-button-filled-container-shape, var(--mat-app-corner-full)));\n box-shadow: var(--mat-sys-level1, var(--mat-button-protected-container-elevation-shadow, var(--mat-app-level1)));\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n\n &:hover {\n box-shadow: var(--mat-sys-level2, var(--mat-button-protected-container-elevation-shadow, var(--mat-app-level2)));\n }\n }\n .ngx-mat-split-button-flat {\n mat-icon svg {\n fill: var(--mat-button-filled-label-text-color, var(--mat-app-on-primary));\n }\n }\n `\n})\nexport class NgxMatSplitButton {\n readonly color = input<string>();\n readonly buttonStyle = input<'basic' | 'raised' | 'stroked' | 'flat'>('basic');\n readonly primaryDisabled = input<boolean>();\n readonly menuTriggerDisabled = input<boolean>();\n\n readonly primaryClick = output<MouseEvent>();\n readonly menuTriggerClick = output<MouseEvent>();\n\n readonly primaryAction = contentChild.required(NgxMatSplitPrimaryAction);\n\n constructor() {\n const service = inject(NgxMatSplitButtonService);\n service.initialize();\n }\n}\n","/*\n * Public API Surface of ngx-mat-split-button\n */\n\nexport * from './lib/ngx-mat-split-button.component';\nexport * from './lib/ngx-mat-split-primary-action.directive';\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": "@feature23/ngx-mat-split-button",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "repository": {
@@ -8,19 +8,19 @@
8
8
  "url": "git+https://github.com/feature23/ngx-mat-split-button.git"
9
9
  },
10
10
  "peerDependencies": {
11
- "@angular/common": "^19.2.0",
12
- "@angular/core": "^19.2.0",
13
- "@angular/material": "^19.2.0"
11
+ "@angular/common": "^21.0.0",
12
+ "@angular/core": "^21.0.0",
13
+ "@angular/material": "^21.0.0"
14
14
  },
15
15
  "sideEffects": false,
16
16
  "module": "fesm2022/feature23-ngx-mat-split-button.mjs",
17
- "typings": "index.d.ts",
17
+ "typings": "types/feature23-ngx-mat-split-button.d.ts",
18
18
  "exports": {
19
19
  "./package.json": {
20
20
  "default": "./package.json"
21
21
  },
22
22
  ".": {
23
- "types": "./index.d.ts",
23
+ "types": "./types/feature23-ngx-mat-split-button.d.ts",
24
24
  "default": "./fesm2022/feature23-ngx-mat-split-button.mjs"
25
25
  }
26
26
  },
@@ -0,0 +1,24 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+
4
+ declare class NgxMatSplitPrimaryAction {
5
+ templateRef: TemplateRef<unknown>;
6
+ constructor(templateRef: TemplateRef<unknown>);
7
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxMatSplitPrimaryAction, never>;
8
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgxMatSplitPrimaryAction, "[ngx-mat-split-primary-action]", never, {}, {}, never, never, true, never>;
9
+ }
10
+
11
+ declare class NgxMatSplitButton {
12
+ readonly color: _angular_core.InputSignal<string | undefined>;
13
+ readonly buttonStyle: _angular_core.InputSignal<"basic" | "raised" | "stroked" | "flat">;
14
+ readonly primaryDisabled: _angular_core.InputSignal<boolean | undefined>;
15
+ readonly menuTriggerDisabled: _angular_core.InputSignal<boolean | undefined>;
16
+ readonly primaryClick: _angular_core.OutputEmitterRef<MouseEvent>;
17
+ readonly menuTriggerClick: _angular_core.OutputEmitterRef<MouseEvent>;
18
+ readonly primaryAction: _angular_core.Signal<NgxMatSplitPrimaryAction>;
19
+ constructor();
20
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxMatSplitButton, never>;
21
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxMatSplitButton, "ngx-mat-split-button", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "buttonStyle": { "alias": "buttonStyle"; "required": false; "isSignal": true; }; "primaryDisabled": { "alias": "primaryDisabled"; "required": false; "isSignal": true; }; "menuTriggerDisabled": { "alias": "menuTriggerDisabled"; "required": false; "isSignal": true; }; }, { "primaryClick": "primaryClick"; "menuTriggerClick": "menuTriggerClick"; }, ["primaryAction"], ["*"], true, never>;
22
+ }
23
+
24
+ export { NgxMatSplitButton, NgxMatSplitPrimaryAction };
package/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@feature23/ngx-mat-split-button" />
5
- export * from './public-api';
@@ -1,14 +0,0 @@
1
- import { NgxMatSplitPrimaryAction } from './ngx-mat-split-primary-action.directive';
2
- import * as i0 from "@angular/core";
3
- export declare class NgxMatSplitButton {
4
- readonly color: import("@angular/core").InputSignal<string | undefined>;
5
- readonly buttonStyle: import("@angular/core").InputSignal<"basic" | "raised" | "stroked" | "flat">;
6
- readonly primaryDisabled: import("@angular/core").InputSignal<boolean | undefined>;
7
- readonly menuTriggerDisabled: import("@angular/core").InputSignal<boolean | undefined>;
8
- readonly primaryClick: import("@angular/core").OutputEmitterRef<MouseEvent>;
9
- readonly menuTriggerClick: import("@angular/core").OutputEmitterRef<MouseEvent>;
10
- readonly primaryAction: import("@angular/core").Signal<NgxMatSplitPrimaryAction>;
11
- constructor();
12
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatSplitButton, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatSplitButton, "ngx-mat-split-button", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "buttonStyle": { "alias": "buttonStyle"; "required": false; "isSignal": true; }; "primaryDisabled": { "alias": "primaryDisabled"; "required": false; "isSignal": true; }; "menuTriggerDisabled": { "alias": "menuTriggerDisabled"; "required": false; "isSignal": true; }; }, { "primaryClick": "primaryClick"; "menuTriggerClick": "menuTriggerClick"; }, ["primaryAction"], ["*"], true, never>;
14
- }
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class NgxMatSplitButtonService {
3
- constructor();
4
- initialize(): void;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatSplitButtonService, never>;
6
- static ɵprov: i0.ɵɵInjectableDeclaration<NgxMatSplitButtonService>;
7
- }
@@ -1,8 +0,0 @@
1
- import { TemplateRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class NgxMatSplitPrimaryAction {
4
- templateRef: TemplateRef<unknown>;
5
- constructor(templateRef: TemplateRef<unknown>);
6
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatSplitPrimaryAction, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgxMatSplitPrimaryAction, "[ngx-mat-split-primary-action]", never, {}, {}, never, never, true, never>;
8
- }
package/public-api.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './lib/ngx-mat-split-button.component';
2
- export * from './lib/ngx-mat-split-primary-action.directive';