@energinet/watt 4.2.16 → 4.2.17

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.
@@ -166,7 +166,7 @@ class WattIconComponent {
166
166
  <ng-content />
167
167
  </div>
168
168
  }
169
- `, isInline: true, styles: [":root{--watt-icon-fill: 0;--watt-icon-size-xs: 16px;--watt-icon-size-s: 20px;--watt-icon-size-m: 24px;--watt-icon-size-l: 32px;--watt-icon-size-xl: 64px;--watt-icon-size-xxl: 128px}watt-icon{display:flex;justify-content:center;align-items:center}watt-icon[fill]{--watt-icon-fill: 1}watt-icon.icon-size-xs .mat-icon,watt-icon.icon-size-xs .watt-custom-icon{font-size:var(--watt-icon-size-xs);line-height:var(--watt-icon-size-xs);width:var(--watt-icon-size-xs);height:var(--watt-icon-size-xs)}watt-icon.icon-size-xs .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" 0,\"opsz\" 20}watt-icon.icon-size-s .mat-icon,watt-icon.icon-size-s .watt-custom-icon{font-size:var(--watt-icon-size-s);line-height:var(--watt-icon-size-s);width:var(--watt-icon-size-s);height:var(--watt-icon-size-s)}watt-icon.icon-size-s .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" regular,\"opsz\" 20}watt-icon.icon-size-m .mat-icon,watt-icon.icon-size-m .watt-custom-icon{font-size:var(--watt-icon-size-m);line-height:var(--watt-icon-size-m);width:var(--watt-icon-size-m);height:var(--watt-icon-size-m)}watt-icon.icon-size-m .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" 0,\"opsz\" 48}watt-icon.icon-size-l .mat-icon,watt-icon.icon-size-l .watt-custom-icon{font-size:var(--watt-icon-size-l);line-height:var(--watt-icon-size-l);width:var(--watt-icon-size-l);height:var(--watt-icon-size-l)}watt-icon.icon-size-l .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 200,\"GRAD\" 0,\"opsz\" 24}watt-icon.icon-size-xl .mat-icon,watt-icon.icon-size-xl .watt-custom-icon{font-size:var(--watt-icon-size-xl);line-height:var(--watt-icon-size-xl);width:var(--watt-icon-size-xl);height:var(--watt-icon-size-xl)}watt-icon.icon-size-xl .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 200,\"GRAD\" 0,\"opsz\" 48}watt-icon.icon-size-xxl .mat-icon,watt-icon.icon-size-xxl .watt-custom-icon{font-size:var(--watt-icon-size-xxl);line-height:var(--watt-icon-size-xxl);width:var(--watt-icon-size-xxl);height:var(--watt-icon-size-xxl)}watt-icon.icon-size-xxl .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 100,\"GRAD\" 0,\"opsz\" 48}watt-icon .mat-icon{color:currentColor}watt-icon.icon-state-success{color:var(--watt-color-state-success)}watt-icon.icon-state-danger{color:var(--watt-color-state-danger)}watt-icon.icon-state-warning{color:var(--watt-color-state-warning)}watt-icon.icon-state-info{color:var(--watt-color-state-info)}.watt-custom-icon svg{width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
169
+ `, isInline: true, styles: [":root{--watt-icon-fill: 0;--watt-icon-size-xs: 16px;--watt-icon-size-s: 20px;--watt-icon-size-m: 24px;--watt-icon-size-l: 32px;--watt-icon-size-xl: 64px;--watt-icon-size-xxl: 128px}watt-icon{display:flex;justify-content:center;align-items:center}watt-icon[fill]{--watt-icon-fill: 1}watt-icon.icon-size-xs .mat-icon,watt-icon.icon-size-xs .watt-custom-icon{font-size:var(--watt-icon-size-xs);line-height:var(--watt-icon-size-xs);width:var(--watt-icon-size-xs);height:var(--watt-icon-size-xs)}watt-icon.icon-size-xs .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" 0,\"opsz\" 20}watt-icon.icon-size-s .mat-icon,watt-icon.icon-size-s .watt-custom-icon{font-size:var(--watt-icon-size-s);line-height:var(--watt-icon-size-s);width:var(--watt-icon-size-s);height:var(--watt-icon-size-s)}watt-icon.icon-size-s .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" regular,\"opsz\" 20}watt-icon.icon-size-m .mat-icon,watt-icon.icon-size-m .watt-custom-icon{font-size:var(--watt-icon-size-m);line-height:var(--watt-icon-size-m);width:var(--watt-icon-size-m);height:var(--watt-icon-size-m)}watt-icon.icon-size-m .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" 0,\"opsz\" 24}watt-icon.icon-size-l .mat-icon,watt-icon.icon-size-l .watt-custom-icon{font-size:var(--watt-icon-size-l);line-height:var(--watt-icon-size-l);width:var(--watt-icon-size-l);height:var(--watt-icon-size-l)}watt-icon.icon-size-l .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 200,\"GRAD\" 0,\"opsz\" 24}watt-icon.icon-size-xl .mat-icon,watt-icon.icon-size-xl .watt-custom-icon{font-size:var(--watt-icon-size-xl);line-height:var(--watt-icon-size-xl);width:var(--watt-icon-size-xl);height:var(--watt-icon-size-xl)}watt-icon.icon-size-xl .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 200,\"GRAD\" 0,\"opsz\" 48}watt-icon.icon-size-xxl .mat-icon,watt-icon.icon-size-xxl .watt-custom-icon{font-size:var(--watt-icon-size-xxl);line-height:var(--watt-icon-size-xxl);width:var(--watt-icon-size-xxl);height:var(--watt-icon-size-xxl)}watt-icon.icon-size-xxl .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 100,\"GRAD\" 0,\"opsz\" 48}watt-icon .mat-icon{color:currentColor}watt-icon.icon-state-success{color:var(--watt-color-state-success)}watt-icon.icon-state-danger{color:var(--watt-color-state-danger)}watt-icon.icon-state-warning{color:var(--watt-color-state-warning)}watt-icon.icon-state-info{color:var(--watt-color-state-info)}.watt-custom-icon svg{width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
170
170
  }
171
171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattIconComponent, decorators: [{
172
172
  type: Component,
@@ -180,7 +180,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
180
180
  <ng-content />
181
181
  </div>
182
182
  }
183
- `, styles: [":root{--watt-icon-fill: 0;--watt-icon-size-xs: 16px;--watt-icon-size-s: 20px;--watt-icon-size-m: 24px;--watt-icon-size-l: 32px;--watt-icon-size-xl: 64px;--watt-icon-size-xxl: 128px}watt-icon{display:flex;justify-content:center;align-items:center}watt-icon[fill]{--watt-icon-fill: 1}watt-icon.icon-size-xs .mat-icon,watt-icon.icon-size-xs .watt-custom-icon{font-size:var(--watt-icon-size-xs);line-height:var(--watt-icon-size-xs);width:var(--watt-icon-size-xs);height:var(--watt-icon-size-xs)}watt-icon.icon-size-xs .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" 0,\"opsz\" 20}watt-icon.icon-size-s .mat-icon,watt-icon.icon-size-s .watt-custom-icon{font-size:var(--watt-icon-size-s);line-height:var(--watt-icon-size-s);width:var(--watt-icon-size-s);height:var(--watt-icon-size-s)}watt-icon.icon-size-s .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" regular,\"opsz\" 20}watt-icon.icon-size-m .mat-icon,watt-icon.icon-size-m .watt-custom-icon{font-size:var(--watt-icon-size-m);line-height:var(--watt-icon-size-m);width:var(--watt-icon-size-m);height:var(--watt-icon-size-m)}watt-icon.icon-size-m .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" 0,\"opsz\" 48}watt-icon.icon-size-l .mat-icon,watt-icon.icon-size-l .watt-custom-icon{font-size:var(--watt-icon-size-l);line-height:var(--watt-icon-size-l);width:var(--watt-icon-size-l);height:var(--watt-icon-size-l)}watt-icon.icon-size-l .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 200,\"GRAD\" 0,\"opsz\" 24}watt-icon.icon-size-xl .mat-icon,watt-icon.icon-size-xl .watt-custom-icon{font-size:var(--watt-icon-size-xl);line-height:var(--watt-icon-size-xl);width:var(--watt-icon-size-xl);height:var(--watt-icon-size-xl)}watt-icon.icon-size-xl .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 200,\"GRAD\" 0,\"opsz\" 48}watt-icon.icon-size-xxl .mat-icon,watt-icon.icon-size-xxl .watt-custom-icon{font-size:var(--watt-icon-size-xxl);line-height:var(--watt-icon-size-xxl);width:var(--watt-icon-size-xxl);height:var(--watt-icon-size-xxl)}watt-icon.icon-size-xxl .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 100,\"GRAD\" 0,\"opsz\" 48}watt-icon .mat-icon{color:currentColor}watt-icon.icon-state-success{color:var(--watt-color-state-success)}watt-icon.icon-state-danger{color:var(--watt-color-state-danger)}watt-icon.icon-state-warning{color:var(--watt-color-state-warning)}watt-icon.icon-state-info{color:var(--watt-color-state-info)}.watt-custom-icon svg{width:100%;height:100%}\n"] }]
183
+ `, styles: [":root{--watt-icon-fill: 0;--watt-icon-size-xs: 16px;--watt-icon-size-s: 20px;--watt-icon-size-m: 24px;--watt-icon-size-l: 32px;--watt-icon-size-xl: 64px;--watt-icon-size-xxl: 128px}watt-icon{display:flex;justify-content:center;align-items:center}watt-icon[fill]{--watt-icon-fill: 1}watt-icon.icon-size-xs .mat-icon,watt-icon.icon-size-xs .watt-custom-icon{font-size:var(--watt-icon-size-xs);line-height:var(--watt-icon-size-xs);width:var(--watt-icon-size-xs);height:var(--watt-icon-size-xs)}watt-icon.icon-size-xs .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" 0,\"opsz\" 20}watt-icon.icon-size-s .mat-icon,watt-icon.icon-size-s .watt-custom-icon{font-size:var(--watt-icon-size-s);line-height:var(--watt-icon-size-s);width:var(--watt-icon-size-s);height:var(--watt-icon-size-s)}watt-icon.icon-size-s .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" regular,\"opsz\" 20}watt-icon.icon-size-m .mat-icon,watt-icon.icon-size-m .watt-custom-icon{font-size:var(--watt-icon-size-m);line-height:var(--watt-icon-size-m);width:var(--watt-icon-size-m);height:var(--watt-icon-size-m)}watt-icon.icon-size-m .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 300,\"GRAD\" 0,\"opsz\" 24}watt-icon.icon-size-l .mat-icon,watt-icon.icon-size-l .watt-custom-icon{font-size:var(--watt-icon-size-l);line-height:var(--watt-icon-size-l);width:var(--watt-icon-size-l);height:var(--watt-icon-size-l)}watt-icon.icon-size-l .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 200,\"GRAD\" 0,\"opsz\" 24}watt-icon.icon-size-xl .mat-icon,watt-icon.icon-size-xl .watt-custom-icon{font-size:var(--watt-icon-size-xl);line-height:var(--watt-icon-size-xl);width:var(--watt-icon-size-xl);height:var(--watt-icon-size-xl)}watt-icon.icon-size-xl .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 200,\"GRAD\" 0,\"opsz\" 48}watt-icon.icon-size-xxl .mat-icon,watt-icon.icon-size-xxl .watt-custom-icon{font-size:var(--watt-icon-size-xxl);line-height:var(--watt-icon-size-xxl);width:var(--watt-icon-size-xxl);height:var(--watt-icon-size-xxl)}watt-icon.icon-size-xxl .material-symbols-sharp{font-variation-settings:\"FILL\" var(--watt-icon-fill),\"wght\" 100,\"GRAD\" 0,\"opsz\" 48}watt-icon .mat-icon{color:currentColor}watt-icon.icon-state-success{color:var(--watt-color-state-success)}watt-icon.icon-state-danger{color:var(--watt-color-state-danger)}watt-icon.icon-state-warning{color:var(--watt-color-state-warning)}watt-icon.icon-state-info{color:var(--watt-color-state-info)}.watt-custom-icon svg{width:100%;height:100%}\n"] }]
184
184
  }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }] } });
185
185
 
186
186
  //#region License
@@ -65,7 +65,7 @@ class WattMenuComponent {
65
65
  <mat-menu #menu="matMenu" class="watt-menu-panel">
66
66
  <ng-content />
67
67
  </mat-menu>
68
- `, isInline: true, styles: [":root{--watt-menu-padding-block: var(--watt-space-s);--watt-menu-padding-inline: var(--watt-space-m);--watt-menu-item-gap: var(--watt-space-s);--watt-menu-icon-space: calc(var(--watt-menu-icon-size) + var(--watt-menu-item-gap));--watt-menu-icon-size: var(--watt-icon-size-s)}.watt-menu-panel .mat-mdc-menu-content{padding-block:var(--watt-menu-padding-block)}.watt-menu-panel .mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{letter-spacing:0}.watt-menu-panel:not(:has(watt-icon)) .watt-menu-item-icon{display:none}\n"], dependencies: [{ kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
68
+ `, isInline: true, styles: ["watt-menu{display:contents}:root{--watt-menu-padding-block: var(--watt-space-s);--watt-menu-padding-inline: var(--watt-space-m);--watt-menu-item-gap: var(--watt-space-s);--watt-menu-icon-space: calc(var(--watt-menu-icon-size) + var(--watt-menu-item-gap));--watt-menu-icon-size: var(--watt-icon-size-s)}.watt-menu-panel .mat-mdc-menu-content{padding-block:var(--watt-menu-padding-block)}.watt-menu-panel .mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{letter-spacing:0}.watt-menu-panel:not(:has(watt-icon)) .watt-menu-item-icon{display:none}\n"], dependencies: [{ kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
69
69
  }
70
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: WattMenuComponent, decorators: [{
71
71
  type: Component,
@@ -73,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
73
73
  <mat-menu #menu="matMenu" class="watt-menu-panel">
74
74
  <ng-content />
75
75
  </mat-menu>
76
- `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatMenuModule], exportAs: 'wattMenu', styles: [":root{--watt-menu-padding-block: var(--watt-space-s);--watt-menu-padding-inline: var(--watt-space-m);--watt-menu-item-gap: var(--watt-space-s);--watt-menu-icon-space: calc(var(--watt-menu-icon-size) + var(--watt-menu-item-gap));--watt-menu-icon-size: var(--watt-icon-size-s)}.watt-menu-panel .mat-mdc-menu-content{padding-block:var(--watt-menu-padding-block)}.watt-menu-panel .mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{letter-spacing:0}.watt-menu-panel:not(:has(watt-icon)) .watt-menu-item-icon{display:none}\n"] }]
76
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatMenuModule], exportAs: 'wattMenu', styles: ["watt-menu{display:contents}:root{--watt-menu-padding-block: var(--watt-space-s);--watt-menu-padding-inline: var(--watt-space-m);--watt-menu-item-gap: var(--watt-space-s);--watt-menu-icon-space: calc(var(--watt-menu-icon-size) + var(--watt-menu-item-gap));--watt-menu-icon-size: var(--watt-icon-size-s)}.watt-menu-panel .mat-mdc-menu-content{padding-block:var(--watt-menu-padding-block)}.watt-menu-panel .mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{letter-spacing:0}.watt-menu-panel:not(:has(watt-icon)) .watt-menu-item-icon{display:none}\n"] }]
77
77
  }], propDecorators: { menu: [{ type: i0.ViewChild, args: ['menu', { isSignal: true }] }] } });
78
78
 
79
79
  //#region License
@@ -1 +1 @@
1
- {"version":3,"file":"energinet-watt-menu.mjs","sources":["../../../libs/watt/package/menu/watt-menu.component.ts","../../../libs/watt/package/menu/watt-menu-item.component.ts","../../../libs/watt/package/menu/watt-menu-group.component.ts","../../../libs/watt/package/menu/watt-menu-trigger.directive.ts","../../../libs/watt/package/menu/index.ts","../../../libs/watt/package/menu/energinet-watt-menu.ts"],"sourcesContent":["//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, viewChild } from '@angular/core';\nimport { MatMenu, MatMenuModule } from '@angular/material/menu';\n\n/**\n * Watt Menu Component\n *\n * A wrapper around Angular Material's menu component that provides consistent styling\n * and integration with the Watt design system.\n *\n * @example Basic usage\n * ```html\n * <watt-button [wattMenuTriggerFor]=\"menu\">\n * Open Menu\n * </watt-button>\n *\n * <watt-menu #menu>\n * <watt-menu-item>Option 1</watt-menu-item>\n * <watt-menu-item>Option 2</watt-menu-item>\n * </watt-menu>\n * ```\n *\n * @example With groups\n * ```html\n * <watt-menu #menu>\n * <watt-menu-group label=\"File\">\n * <watt-menu-item>New</watt-menu-item>\n * <watt-menu-item>Open</watt-menu-item>\n * </watt-menu-group>\n *\n * <watt-menu-group label=\"Edit\">\n * <watt-menu-item>Cut</watt-menu-item>\n * <watt-menu-item>Copy</watt-menu-item>\n * </watt-menu-group>\n * </watt-menu>\n * ```\n */\n@Component({\n selector: 'watt-menu',\n template: `\n <mat-menu #menu=\"matMenu\" class=\"watt-menu-panel\">\n <ng-content />\n </mat-menu>\n `,\n styles: [\n `\n :root {\n --watt-menu-padding-block: var(--watt-space-s);\n --watt-menu-padding-inline: var(--watt-space-m);\n --watt-menu-item-gap: var(--watt-space-s);\n --watt-menu-icon-space: calc(var(--watt-menu-icon-size) + var(--watt-menu-item-gap));\n --watt-menu-icon-size: var(--watt-icon-size-s);\n }\n\n /* Menu panel styles */\n .watt-menu-panel {\n /* Override Material menu padding to have consistent spacing */\n .mat-mdc-menu-content {\n padding-block: var(--watt-menu-padding-block);\n }\n\n /* Remove default letter-spacing */\n .mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text {\n letter-spacing: 0;\n }\n\n /* Hide icon space when no menu items have icons */\n &:not(:has(watt-icon)) .watt-menu-item-icon {\n display: none;\n }\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatMenuModule],\n exportAs: 'wattMenu',\n})\nexport class WattMenuComponent {\n /**\n * Reference to the underlying MatMenu instance.\n * @ignore\n */\n menu = viewChild.required<MatMenu>('menu');\n}\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, input } from '@angular/core';\nimport { MatMenuItem } from '@angular/material/menu';\n\n@Component({\n selector: 'watt-menu-item',\n imports: [MatMenuItem],\n template: `<button mat-menu-item [disabled]=\"disabled()\">\n <span class=\"watt-menu-item-content\">\n <span class=\"watt-menu-item-icon\">\n <ng-content select=\"watt-icon\" />\n </span>\n <ng-content />\n </span>\n </button>`,\n styles: [\n `\n watt-menu-item {\n .mat-mdc-menu-item {\n padding-inline: var(--watt-menu-padding-inline);\n }\n\n .watt-menu-item-content {\n display: flex;\n align-items: center;\n gap: var(--watt-menu-item-gap);\n width: 100%;\n }\n\n .watt-menu-item-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--watt-menu-icon-size);\n height: var(--watt-menu-icon-size);\n flex-shrink: 0;\n\n /* Icon space visibility is controlled by parent menu CSS */\n\n watt-icon {\n display: flex;\n }\n }\n\n .watt-menu-item-icon--show:empty {\n visibility: hidden;\n }\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.disabled]': 'disabled() || null',\n },\n})\nexport class WattMenuItemComponent {\n /**\n * Whether the menu item is disabled.\n */\n disabled = input(false);\n}\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, input } from '@angular/core';\n\n@Component({\n selector: 'watt-menu-group',\n template: `\n @if (label()) {\n <div class=\"watt-menu-group-heading watt-text-s-highlighted\">{{ label() }}</div>\n }\n <ng-content />\n `,\n styles: [\n `\n .watt-menu-group-heading {\n padding-block: var(--watt-menu-padding-block);\n padding-inline: var(--watt-menu-padding-inline);\n\n /* Align with menu items when icons are present */\n .watt-menu-panel--has-icons & {\n padding-inline-start: calc(var(--watt-menu-padding-inline) + var(--watt-menu-icon-space));\n }\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'watt-menu-group',\n },\n})\nexport class WattMenuGroupComponent {\n /**\n * The label for the menu group.\n */\n label = input<string>('');\n}\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { Directive, inject, input, effect } from '@angular/core';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { WattMenuComponent } from './watt-menu.component';\n\n/**\n * Watt Menu Trigger Directive\n *\n * A wrapper around Angular Material's MatMenuTrigger directive that maintains\n * the same API while keeping the Watt design system abstraction.\n *\n * @example\n * ```html\n * <watt-button [wattMenuTriggerFor]=\"menu\">\n * Open Menu\n * </watt-button>\n *\n * <watt-menu #menu>\n * <watt-menu-item>Option 1</watt-menu-item>\n * <watt-menu-item>Option 2</watt-menu-item>\n * </watt-menu>\n * ```\n */\n@Directive({\n selector: '[wattMenuTriggerFor]',\n exportAs: 'wattMenuTrigger',\n hostDirectives: [\n {\n directive: MatMenuTrigger,\n outputs: ['menuOpened', 'menuClosed'],\n },\n ],\n})\nexport class WattMenuTriggerDirective {\n private readonly matMenuTrigger = inject(MatMenuTrigger);\n\n wattMenuTriggerFor = input.required<WattMenuComponent>();\n\n constructor() {\n // Set the MatMenu instance from the WattMenuComponent when it changes\n effect(() => {\n const menu = this.wattMenuTriggerFor();\n if (menu) {\n this.matMenuTrigger.menu = menu.menu();\n }\n });\n }\n\n /** Opens the menu */\n openMenu(): void {\n this.matMenuTrigger.openMenu();\n }\n\n /** Closes the menu */\n closeMenu(): void {\n this.matMenuTrigger.closeMenu();\n }\n\n /** Toggles the menu between the open and closed states */\n toggleMenu(): void {\n this.matMenuTrigger.toggleMenu();\n }\n\n /** Whether the menu is open */\n get menuOpen(): boolean {\n return this.matMenuTrigger.menuOpen;\n }\n}\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\n// Individual exports\nexport { WattMenuComponent } from './watt-menu.component';\nexport { WattMenuItemComponent } from './watt-menu-item.component';\nexport { WattMenuGroupComponent } from './watt-menu-group.component';\nexport { WattMenuTriggerDirective } from './watt-menu-trigger.directive';\n\n// Import the components for the combined export\nimport { WattMenuComponent } from './watt-menu.component';\nimport { WattMenuItemComponent } from './watt-menu-item.component';\nimport { WattMenuGroupComponent } from './watt-menu-group.component';\nimport { WattMenuTriggerDirective } from './watt-menu-trigger.directive';\n\n// Combined export for convenience - all menu-related components\nexport const WATT_MENU = [\n WattMenuComponent,\n WattMenuItemComponent,\n WattMenuGroupComponent,\n WattMenuTriggerDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"energinet-watt-menu.mjs","sources":["../../../libs/watt/package/menu/watt-menu.component.ts","../../../libs/watt/package/menu/watt-menu-item.component.ts","../../../libs/watt/package/menu/watt-menu-group.component.ts","../../../libs/watt/package/menu/watt-menu-trigger.directive.ts","../../../libs/watt/package/menu/index.ts","../../../libs/watt/package/menu/energinet-watt-menu.ts"],"sourcesContent":["//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, viewChild } from '@angular/core';\nimport { MatMenu, MatMenuModule } from '@angular/material/menu';\n\n/**\n * Watt Menu Component\n *\n * A wrapper around Angular Material's menu component that provides consistent styling\n * and integration with the Watt design system.\n *\n * @example Basic usage\n * ```html\n * <watt-button [wattMenuTriggerFor]=\"menu\">\n * Open Menu\n * </watt-button>\n *\n * <watt-menu #menu>\n * <watt-menu-item>Option 1</watt-menu-item>\n * <watt-menu-item>Option 2</watt-menu-item>\n * </watt-menu>\n * ```\n *\n * @example With groups\n * ```html\n * <watt-menu #menu>\n * <watt-menu-group label=\"File\">\n * <watt-menu-item>New</watt-menu-item>\n * <watt-menu-item>Open</watt-menu-item>\n * </watt-menu-group>\n *\n * <watt-menu-group label=\"Edit\">\n * <watt-menu-item>Cut</watt-menu-item>\n * <watt-menu-item>Copy</watt-menu-item>\n * </watt-menu-group>\n * </watt-menu>\n * ```\n */\n@Component({\n selector: 'watt-menu',\n template: `\n <mat-menu #menu=\"matMenu\" class=\"watt-menu-panel\">\n <ng-content />\n </mat-menu>\n `,\n styles: [\n `\n watt-menu {\n display: contents;\n }\n\n :root {\n --watt-menu-padding-block: var(--watt-space-s);\n --watt-menu-padding-inline: var(--watt-space-m);\n --watt-menu-item-gap: var(--watt-space-s);\n --watt-menu-icon-space: calc(var(--watt-menu-icon-size) + var(--watt-menu-item-gap));\n --watt-menu-icon-size: var(--watt-icon-size-s);\n }\n\n /* Menu panel styles */\n .watt-menu-panel {\n /* Override Material menu padding to have consistent spacing */\n .mat-mdc-menu-content {\n padding-block: var(--watt-menu-padding-block);\n }\n\n /* Remove default letter-spacing */\n .mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text {\n letter-spacing: 0;\n }\n\n /* Hide icon space when no menu items have icons */\n &:not(:has(watt-icon)) .watt-menu-item-icon {\n display: none;\n }\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatMenuModule],\n exportAs: 'wattMenu',\n})\nexport class WattMenuComponent {\n /**\n * Reference to the underlying MatMenu instance.\n * @ignore\n */\n menu = viewChild.required<MatMenu>('menu');\n}\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, input } from '@angular/core';\nimport { MatMenuItem } from '@angular/material/menu';\n\n@Component({\n selector: 'watt-menu-item',\n imports: [MatMenuItem],\n template: `<button mat-menu-item [disabled]=\"disabled()\">\n <span class=\"watt-menu-item-content\">\n <span class=\"watt-menu-item-icon\">\n <ng-content select=\"watt-icon\" />\n </span>\n <ng-content />\n </span>\n </button>`,\n styles: [\n `\n watt-menu-item {\n .mat-mdc-menu-item {\n padding-inline: var(--watt-menu-padding-inline);\n }\n\n .watt-menu-item-content {\n display: flex;\n align-items: center;\n gap: var(--watt-menu-item-gap);\n width: 100%;\n }\n\n .watt-menu-item-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--watt-menu-icon-size);\n height: var(--watt-menu-icon-size);\n flex-shrink: 0;\n\n /* Icon space visibility is controlled by parent menu CSS */\n\n watt-icon {\n display: flex;\n }\n }\n\n .watt-menu-item-icon--show:empty {\n visibility: hidden;\n }\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.disabled]': 'disabled() || null',\n },\n})\nexport class WattMenuItemComponent {\n /**\n * Whether the menu item is disabled.\n */\n disabled = input(false);\n}\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, input } from '@angular/core';\n\n@Component({\n selector: 'watt-menu-group',\n template: `\n @if (label()) {\n <div class=\"watt-menu-group-heading watt-text-s-highlighted\">{{ label() }}</div>\n }\n <ng-content />\n `,\n styles: [\n `\n .watt-menu-group-heading {\n padding-block: var(--watt-menu-padding-block);\n padding-inline: var(--watt-menu-padding-inline);\n\n /* Align with menu items when icons are present */\n .watt-menu-panel--has-icons & {\n padding-inline-start: calc(var(--watt-menu-padding-inline) + var(--watt-menu-icon-space));\n }\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'watt-menu-group',\n },\n})\nexport class WattMenuGroupComponent {\n /**\n * The label for the menu group.\n */\n label = input<string>('');\n}\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { Directive, inject, input, effect } from '@angular/core';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { WattMenuComponent } from './watt-menu.component';\n\n/**\n * Watt Menu Trigger Directive\n *\n * A wrapper around Angular Material's MatMenuTrigger directive that maintains\n * the same API while keeping the Watt design system abstraction.\n *\n * @example\n * ```html\n * <watt-button [wattMenuTriggerFor]=\"menu\">\n * Open Menu\n * </watt-button>\n *\n * <watt-menu #menu>\n * <watt-menu-item>Option 1</watt-menu-item>\n * <watt-menu-item>Option 2</watt-menu-item>\n * </watt-menu>\n * ```\n */\n@Directive({\n selector: '[wattMenuTriggerFor]',\n exportAs: 'wattMenuTrigger',\n hostDirectives: [\n {\n directive: MatMenuTrigger,\n outputs: ['menuOpened', 'menuClosed'],\n },\n ],\n})\nexport class WattMenuTriggerDirective {\n private readonly matMenuTrigger = inject(MatMenuTrigger);\n\n wattMenuTriggerFor = input.required<WattMenuComponent>();\n\n constructor() {\n // Set the MatMenu instance from the WattMenuComponent when it changes\n effect(() => {\n const menu = this.wattMenuTriggerFor();\n if (menu) {\n this.matMenuTrigger.menu = menu.menu();\n }\n });\n }\n\n /** Opens the menu */\n openMenu(): void {\n this.matMenuTrigger.openMenu();\n }\n\n /** Closes the menu */\n closeMenu(): void {\n this.matMenuTrigger.closeMenu();\n }\n\n /** Toggles the menu between the open and closed states */\n toggleMenu(): void {\n this.matMenuTrigger.toggleMenu();\n }\n\n /** Whether the menu is open */\n get menuOpen(): boolean {\n return this.matMenuTrigger.menuOpen;\n }\n}\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\n// Individual exports\nexport { WattMenuComponent } from './watt-menu.component';\nexport { WattMenuItemComponent } from './watt-menu-item.component';\nexport { WattMenuGroupComponent } from './watt-menu-group.component';\nexport { WattMenuTriggerDirective } from './watt-menu-trigger.directive';\n\n// Import the components for the combined export\nimport { WattMenuComponent } from './watt-menu.component';\nimport { WattMenuItemComponent } from './watt-menu-item.component';\nimport { WattMenuGroupComponent } from './watt-menu-group.component';\nimport { WattMenuTriggerDirective } from './watt-menu-trigger.directive';\n\n// Combined export for convenience - all menu-related components\nexport const WATT_MENU = [\n WattMenuComponent,\n WattMenuItemComponent,\n WattMenuGroupComponent,\n WattMenuTriggerDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@energinet/watt",
4
- "version": "4.2.16",
4
+ "version": "4.2.17",
5
5
  "license": "Apache-2.0",
6
6
  "exports": {
7
7
  ".": {