@atlasng/design-system 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +39 -0
  2. package/fesm2022/atlasng-design-system-buttons-breadcrumbs.mjs +24 -0
  3. package/fesm2022/atlasng-design-system-buttons-breadcrumbs.mjs.map +1 -0
  4. package/fesm2022/atlasng-design-system-buttons-help.mjs +35 -0
  5. package/fesm2022/atlasng-design-system-buttons-help.mjs.map +1 -0
  6. package/fesm2022/atlasng-design-system-buttons-navigation-toggle.mjs +28 -0
  7. package/fesm2022/atlasng-design-system-buttons-navigation-toggle.mjs.map +1 -0
  8. package/fesm2022/atlasng-design-system-buttons-navigation.mjs +24 -0
  9. package/fesm2022/atlasng-design-system-buttons-navigation.mjs.map +1 -0
  10. package/fesm2022/atlasng-design-system-buttons-social-media.mjs +121 -0
  11. package/fesm2022/atlasng-design-system-buttons-social-media.mjs.map +1 -0
  12. package/fesm2022/atlasng-design-system-cookie-banner.mjs +274 -0
  13. package/fesm2022/atlasng-design-system-cookie-banner.mjs.map +1 -0
  14. package/fesm2022/atlasng-design-system-indicators-end-of-results.mjs +31 -0
  15. package/fesm2022/atlasng-design-system-indicators-end-of-results.mjs.map +1 -0
  16. package/fesm2022/atlasng-design-system-indicators-no-results.mjs +33 -0
  17. package/fesm2022/atlasng-design-system-indicators-no-results.mjs.map +1 -0
  18. package/fesm2022/atlasng-design-system-indicators-results.mjs +50 -0
  19. package/fesm2022/atlasng-design-system-indicators-results.mjs.map +1 -0
  20. package/fesm2022/atlasng-design-system-text-link.mjs +49 -0
  21. package/fesm2022/atlasng-design-system-text-link.mjs.map +1 -0
  22. package/fesm2022/atlasng-design-system.mjs +6 -0
  23. package/fesm2022/atlasng-design-system.mjs.map +1 -0
  24. package/package.json +70 -0
  25. package/sass/_index.scss +3 -0
  26. package/sass/_mat-defaults.scss +27 -0
  27. package/sass/internal/_breakpoints.scss +150 -0
  28. package/sass/internal/_sass-utils.scss +45 -0
  29. package/sass/internal/_token-utils.scss +59 -0
  30. package/types/atlasng-design-system-buttons-breadcrumbs.d.ts +20 -0
  31. package/types/atlasng-design-system-buttons-help.d.ts +17 -0
  32. package/types/atlasng-design-system-buttons-navigation-toggle.d.ts +10 -0
  33. package/types/atlasng-design-system-buttons-navigation.d.ts +11 -0
  34. package/types/atlasng-design-system-buttons-social-media.d.ts +54 -0
  35. package/types/atlasng-design-system-cookie-banner.d.ts +132 -0
  36. package/types/atlasng-design-system-indicators-end-of-results.d.ts +17 -0
  37. package/types/atlasng-design-system-indicators-no-results.d.ts +20 -0
  38. package/types/atlasng-design-system-indicators-results.d.ts +30 -0
  39. package/types/atlasng-design-system-text-link.d.ts +24 -0
  40. package/types/atlasng-design-system.d.ts +2 -0
package/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # @atlasng/design-system
2
+
3
+ An opinionated Angular UI component library that implements the AtlasNG design language. This library provides a cohesive set of accessible, themeable components, design tokens, and layout utilities for building consistent user interfaces across all AtlasNG applications.
4
+
5
+ ## Overview
6
+
7
+ The design system enables teams to:
8
+
9
+ - **Use Ready-Made Components**: A catalog of accessible Angular components (buttons, inputs, modals, tables, and more) built on `@angular/material`
10
+ - **Apply Design Tokens**: Consistent color, typography, spacing, and elevation tokens exposed as CSS custom properties
11
+ - **Theme Applications**: Light and dark mode support with a theming API for customizing brand colors
12
+ - **Ensure Accessibility**: All components meet WCAG 2.1 AA requirements by default
13
+ - **Compose Layouts**: Flexible layout primitives for building responsive page structures
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ npm install @atlasng/design-system
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ ### Configuration
24
+
25
+ Provide the design system in your application bootstrap:
26
+
27
+ ```ts
28
+ import { provideDesignSystem } from '@atlasng/design-system';
29
+
30
+ bootstrapApplication(AppComponent, {
31
+ providers: [provideDesignSystem()],
32
+ });
33
+ ```
34
+
35
+ ### TODO: Component Catalog
36
+
37
+ ### TODO: Design Tokens
38
+
39
+ ### TODO: Theming
@@ -0,0 +1,24 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { AnyLink } from '@atlasng/common';
4
+ import { TextLink } from '@atlasng/design-system/text-link';
5
+
6
+ class Breadcrumbs {
7
+ /** Crumbs to display */
8
+ items = input.required(...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
9
+ /** Separator to display between crumbs */
10
+ separator = input('/', ...(ngDevMode ? [{ debugName: "separator" }] : /* istanbul ignore next */ []));
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: Breadcrumbs, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: Breadcrumbs, isStandalone: true, selector: "ang-breadcrumbs", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<nav class=\"ang-breadcrumbs-navigation\" aria-label=\"Breadcrumb\">\n <ol class=\"ang-breadcrumbs-crumbs\">\n @for (crumb of items(); track $index) {\n <li class=\"ang-breadcrumbs-crumb\">\n @if (crumb.command) {\n <a\n angTextLink\n class=\"ang-breadcrumbs-label\"\n [angAnyLink]=\"crumb.command\"\n [attr.aria-current]=\"$last ? 'page' : null\"\n >{{ crumb.name }}</a\n >\n } @else {\n <span class=\"ang-breadcrumbs-label\">{{ crumb.name }}</span>\n }\n\n @if (!$last) {\n <span class=\"ang-breadcrumbs-separator\" aria-hidden=\"true\">{{ separator() }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: [":host{display:block}:host .ang-breadcrumbs-crumbs{list-style-type:none;margin:0;padding:.125rem 0;color:var(--ang-breadcrumbs-crumb-color, var(--mat-sys-on-surface-variant));font-family:var(--ang-breadcrumbs-text-font, var(--mat-sys-body-medium-font));font-size:var(--ang-breadcrumbs-text-size, var(--mat-sys-body-medium-size));font-weight:var(--ang-breadcrumbs-text-weight, 600);line-height:var(--ang-breadcrumbs-text-line-height, var(--mat-sys-body-medium-line-height));letter-spacing:var(--ang-breadcrumbs-text-tracking, var(--mat-sys-body-medium-tracking))}:host .ang-breadcrumbs-crumbs .ang-breadcrumbs-crumb{display:contents}:host .ang-breadcrumbs-crumbs .ang-breadcrumbs-crumb .ang-breadcrumbs-label{text-underline-offset:.125rem}:host .ang-breadcrumbs-crumbs .ang-breadcrumbs-crumb .ang-breadcrumbs-separator{display:inline-block;padding:0 .375rem;text-align:center;-webkit-user-select:none;user-select:none;color:var(--ang-breadcrumbs-separator-color, var(--mat-sys-on-surface-variant))}\n"], dependencies: [{ kind: "component", type: TextLink, selector: "a[angTextLink]" }, { kind: "directive", type: AnyLink, selector: "[angAnyLink]", inputs: ["angAnyLink", "target", "rel", "download", "queryParams", "queryParamsHandling", "fragment", "preserveFragment", "skipLocationChange", "relativeTo", "browserUrl", "replaceUrl", "state", "info"], exportAs: ["angAnyLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: Breadcrumbs, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'ang-breadcrumbs', imports: [TextLink, AnyLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav class=\"ang-breadcrumbs-navigation\" aria-label=\"Breadcrumb\">\n <ol class=\"ang-breadcrumbs-crumbs\">\n @for (crumb of items(); track $index) {\n <li class=\"ang-breadcrumbs-crumb\">\n @if (crumb.command) {\n <a\n angTextLink\n class=\"ang-breadcrumbs-label\"\n [angAnyLink]=\"crumb.command\"\n [attr.aria-current]=\"$last ? 'page' : null\"\n >{{ crumb.name }}</a\n >\n } @else {\n <span class=\"ang-breadcrumbs-label\">{{ crumb.name }}</span>\n }\n\n @if (!$last) {\n <span class=\"ang-breadcrumbs-separator\" aria-hidden=\"true\">{{ separator() }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: [":host{display:block}:host .ang-breadcrumbs-crumbs{list-style-type:none;margin:0;padding:.125rem 0;color:var(--ang-breadcrumbs-crumb-color, var(--mat-sys-on-surface-variant));font-family:var(--ang-breadcrumbs-text-font, var(--mat-sys-body-medium-font));font-size:var(--ang-breadcrumbs-text-size, var(--mat-sys-body-medium-size));font-weight:var(--ang-breadcrumbs-text-weight, 600);line-height:var(--ang-breadcrumbs-text-line-height, var(--mat-sys-body-medium-line-height));letter-spacing:var(--ang-breadcrumbs-text-tracking, var(--mat-sys-body-medium-tracking))}:host .ang-breadcrumbs-crumbs .ang-breadcrumbs-crumb{display:contents}:host .ang-breadcrumbs-crumbs .ang-breadcrumbs-crumb .ang-breadcrumbs-label{text-underline-offset:.125rem}:host .ang-breadcrumbs-crumbs .ang-breadcrumbs-crumb .ang-breadcrumbs-separator{display:inline-block;padding:0 .375rem;text-align:center;-webkit-user-select:none;user-select:none;color:var(--ang-breadcrumbs-separator-color, var(--mat-sys-on-surface-variant))}\n"] }]
17
+ }], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], separator: [{ type: i0.Input, args: [{ isSignal: true, alias: "separator", required: false }] }] } });
18
+
19
+ /**
20
+ * Generated bundle index. Do not edit.
21
+ */
22
+
23
+ export { Breadcrumbs };
24
+ //# sourceMappingURL=atlasng-design-system-buttons-breadcrumbs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlasng-design-system-buttons-breadcrumbs.mjs","sources":["../../../../libs/design-system/buttons/breadcrumbs/src/lib/breadcrumbs.ts","../../../../libs/design-system/buttons/breadcrumbs/src/lib/breadcrumbs.html","../../../../libs/design-system/buttons/breadcrumbs/src/atlasng-design-system-buttons-breadcrumbs.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { AnyLink, AnyLinkCommand } from '@atlasng/common';\nimport { TextLink } from '@atlasng/design-system/text-link';\n\n/** Breadcrumb item */\nexport interface BreadcrumbItem {\n /** Name of item */\n name: string;\n /** Command to execute when the breadcrumb is clicked */\n command?: AnyLinkCommand;\n}\n\n@Component({\n selector: 'ang-breadcrumbs',\n imports: [TextLink, AnyLink],\n templateUrl: './breadcrumbs.html',\n styleUrl: './breadcrumbs.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Breadcrumbs {\n /** Crumbs to display */\n readonly items = input.required<BreadcrumbItem[]>();\n\n /** Separator to display between crumbs */\n readonly separator = input<string>('/');\n}\n","<nav class=\"ang-breadcrumbs-navigation\" aria-label=\"Breadcrumb\">\n <ol class=\"ang-breadcrumbs-crumbs\">\n @for (crumb of items(); track $index) {\n <li class=\"ang-breadcrumbs-crumb\">\n @if (crumb.command) {\n <a\n angTextLink\n class=\"ang-breadcrumbs-label\"\n [angAnyLink]=\"crumb.command\"\n [attr.aria-current]=\"$last ? 'page' : null\"\n >{{ crumb.name }}</a\n >\n } @else {\n <span class=\"ang-breadcrumbs-label\">{{ crumb.name }}</span>\n }\n\n @if (!$last) {\n <span class=\"ang-breadcrumbs-separator\" aria-hidden=\"true\">{{ separator() }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAmBa,WAAW,CAAA;;AAEb,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAAoB;;AAG1C,IAAA,SAAS,GAAG,KAAK,CAAS,GAAG,gFAAC;uGAL5B,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnBxB,uuBAuBA,EAAA,MAAA,EAAA,CAAA,w+BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDTY,QAAQ,2DAAE,OAAO,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAKhB,WAAW,EAAA,UAAA,EAAA,CAAA;kBAPvB,SAAS;+BACE,iBAAiB,EAAA,OAAA,EAClB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,uuBAAA,EAAA,MAAA,EAAA,CAAA,w+BAAA,CAAA,EAAA;;;AEjBjD;;AAEG;;;;"}
@@ -0,0 +1,35 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import * as i1 from '@angular/material/button';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import * as i2 from '@angular/material/icon';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import * as i3 from '@angular/material/menu';
8
+ import { MatMenuModule } from '@angular/material/menu';
9
+ import * as i4 from '@angular/material/tooltip';
10
+ import { MatTooltipModule } from '@angular/material/tooltip';
11
+ import { TrackClick } from '@atlasng/analytics';
12
+ import { AnyLink } from '@atlasng/common';
13
+
14
+ /**
15
+ * Display a help icon button that either opens a menu or a link in a new tab.
16
+ */
17
+ class HelpButton {
18
+ /** Optional menu attached to the help button trigger. */
19
+ menu = input(...(ngDevMode ? [undefined, { debugName: "menu" }] : /* istanbul ignore next */ []));
20
+ /** Optional destination used when the help button acts as a link. */
21
+ link = input(...(ngDevMode ? [undefined, { debugName: "link" }] : /* istanbul ignore next */ []));
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: HelpButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: HelpButton, isStandalone: true, selector: "ang-help-button", inputs: { menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (menu(); as menuRef) {\n <button\n matIconButton\n angTrackClick\n aria-label=\"Open help menu\"\n matTooltip=\"Help & documentation\"\n [matMenuTriggerFor]=\"menuRef\"\n >\n <mat-icon fontIcon=\"help\" />\n </button>\n} @else {\n <a\n matIconButton\n angTrackClick\n aria-label=\"Open help page in a new tab\"\n matTooltip=\"Help & documentation\"\n target=\"_blank\"\n [angAnyLink]=\"link()\"\n >\n <mat-icon fontIcon=\"help\" />\n </a>\n}\n", dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: TrackClick, selector: "[angTrackClick]", inputs: ["angTrackClick", "angTrackClickOptions", "angTrackClickOn", "angTrackClickDisabled"], exportAs: ["angTrackClick"] }, { kind: "directive", type: AnyLink, selector: "[angAnyLink]", inputs: ["angAnyLink", "target", "rel", "download", "queryParams", "queryParamsHandling", "fragment", "preserveFragment", "skipLocationChange", "relativeTo", "browserUrl", "replaceUrl", "state", "info"], exportAs: ["angAnyLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: HelpButton, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'ang-help-button', imports: [MatButtonModule, MatIconModule, MatMenuModule, MatTooltipModule, TrackClick, AnyLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (menu(); as menuRef) {\n <button\n matIconButton\n angTrackClick\n aria-label=\"Open help menu\"\n matTooltip=\"Help & documentation\"\n [matMenuTriggerFor]=\"menuRef\"\n >\n <mat-icon fontIcon=\"help\" />\n </button>\n} @else {\n <a\n matIconButton\n angTrackClick\n aria-label=\"Open help page in a new tab\"\n matTooltip=\"Help & documentation\"\n target=\"_blank\"\n [angAnyLink]=\"link()\"\n >\n <mat-icon fontIcon=\"help\" />\n </a>\n}\n" }]
28
+ }], propDecorators: { menu: [{ type: i0.Input, args: [{ isSignal: true, alias: "menu", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }] } });
29
+
30
+ /**
31
+ * Generated bundle index. Do not edit.
32
+ */
33
+
34
+ export { HelpButton };
35
+ //# sourceMappingURL=atlasng-design-system-buttons-help.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlasng-design-system-buttons-help.mjs","sources":["../../../../libs/design-system/buttons/help/src/lib/help.ts","../../../../libs/design-system/buttons/help/src/lib/help.html","../../../../libs/design-system/buttons/help/src/atlasng-design-system-buttons-help.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule, MatMenuPanel } from '@angular/material/menu';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TrackClick } from '@atlasng/analytics';\nimport { AnyLink, AnyLinkCommand } from '@atlasng/common';\n\n/**\n * Display a help icon button that either opens a menu or a link in a new tab.\n */\n@Component({\n selector: 'ang-help-button',\n imports: [MatButtonModule, MatIconModule, MatMenuModule, MatTooltipModule, TrackClick, AnyLink],\n templateUrl: './help.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HelpButton {\n /** Optional menu attached to the help button trigger. */\n readonly menu = input<MatMenuPanel<unknown>>();\n\n /** Optional destination used when the help button acts as a link. */\n readonly link = input<AnyLinkCommand>();\n}\n","@if (menu(); as menuRef) {\n <button\n matIconButton\n angTrackClick\n aria-label=\"Open help menu\"\n matTooltip=\"Help & documentation\"\n [matMenuTriggerFor]=\"menuRef\"\n >\n <mat-icon fontIcon=\"help\" />\n </button>\n} @else {\n <a\n matIconButton\n angTrackClick\n aria-label=\"Open help page in a new tab\"\n matTooltip=\"Help & documentation\"\n target=\"_blank\"\n [angAnyLink]=\"link()\"\n >\n <mat-icon fontIcon=\"help\" />\n </a>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import * as i0 from '@angular/core';
2
+ import { model, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import * as i1 from '@angular/material/button';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import * as i2 from '@angular/material/icon';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { TrackClick, provideEventScope } from '@atlasng/analytics';
8
+
9
+ class NavigationToggle {
10
+ /** Whether the button is currently selected */
11
+ selected = model(false, ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: NavigationToggle, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", type: NavigationToggle, isStandalone: true, selector: "ang-navigation-toggle", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange" }, host: { listeners: { "click": "selected.update(s => !s)" }, properties: { "class.ang-navigation-toggle-selected": "selected()" } }, providers: [provideEventScope('navigation-toggle')], ngImport: i0, template: "<button matButton angTrackClick class=\"ang-navigation-toggle-button\" disableRipple>\n <span class=\"ang-navigation-toggle-text\"><ng-content /></span>\n\n <mat-icon\n iconPositionEnd\n class=\"ang-navigation-toggle-icon\"\n [fontIcon]=\"selected() ? 'expand_less' : 'expand_more'\"\n />\n</button>\n", styles: [":host{display:block;width:fit-content;--mat-button-text-container-height: 3rem;--mat-button-text-label-text-color: var(--ang-navigation-label-color, var(--mat-sys-on-surface));--mat-button-text-icon-spacing: .125rem;--mat-button-text-label-text-font: var(--ang-navigation-label-font, var(--mat-sys-title-medium-font));--mat-button-text-label-text-size: var(--ang-navigation-label-font-size, var(--mat-sys-title-medium-size));--mat-button-text-label-text-tracking: var(--ang-navigation-label-letter-spacing, var(--mat-sys-title-medium-tracking));--mat-button-text-label-text-weight: var(--ang-navigation-label-font-weight, var(--mat-sys-title-medium-weight));--mat-button-text-with-icon-horizontal-padding: .75rem;--mat-button-text-state-layer-color: transparent;--mat-icon-color: var(--ang-navigation-icon-color, var(--mat-sys-on-surface-variant))}:host .ang-navigation-toggle-button:focus-visible{outline:solid .125rem var(--ang-navigation-focus-outline-color, var(--mat-sys-on-surface))}:is(:host.ang-navigation-toggle-selected,:host:hover,:host:active) .ang-navigation-toggle-text,:host .ang-navigation-toggle-button:focus-visible .ang-navigation-toggle-text{text-decoration:underline;text-underline-offset:.25rem;text-decoration-thickness:.125rem;text-decoration-color:var(--ang-navigation-underline-color, var(--mat-sys-primary))}:host .ang-navigation-toggle-icon{height:1.25rem;width:1.25rem;font-size:1.25rem}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.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: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TrackClick, selector: "[angTrackClick]", inputs: ["angTrackClick", "angTrackClickOptions", "angTrackClickOn", "angTrackClickDisabled"], exportAs: ["angTrackClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: NavigationToggle, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'ang-navigation-toggle', imports: [MatButtonModule, MatIconModule, TrackClick], providers: [provideEventScope('navigation-toggle')], changeDetection: ChangeDetectionStrategy.OnPush, host: {
18
+ '[class.ang-navigation-toggle-selected]': 'selected()',
19
+ '(click)': 'selected.update(s => !s)',
20
+ }, template: "<button matButton angTrackClick class=\"ang-navigation-toggle-button\" disableRipple>\n <span class=\"ang-navigation-toggle-text\"><ng-content /></span>\n\n <mat-icon\n iconPositionEnd\n class=\"ang-navigation-toggle-icon\"\n [fontIcon]=\"selected() ? 'expand_less' : 'expand_more'\"\n />\n</button>\n", styles: [":host{display:block;width:fit-content;--mat-button-text-container-height: 3rem;--mat-button-text-label-text-color: var(--ang-navigation-label-color, var(--mat-sys-on-surface));--mat-button-text-icon-spacing: .125rem;--mat-button-text-label-text-font: var(--ang-navigation-label-font, var(--mat-sys-title-medium-font));--mat-button-text-label-text-size: var(--ang-navigation-label-font-size, var(--mat-sys-title-medium-size));--mat-button-text-label-text-tracking: var(--ang-navigation-label-letter-spacing, var(--mat-sys-title-medium-tracking));--mat-button-text-label-text-weight: var(--ang-navigation-label-font-weight, var(--mat-sys-title-medium-weight));--mat-button-text-with-icon-horizontal-padding: .75rem;--mat-button-text-state-layer-color: transparent;--mat-icon-color: var(--ang-navigation-icon-color, var(--mat-sys-on-surface-variant))}:host .ang-navigation-toggle-button:focus-visible{outline:solid .125rem var(--ang-navigation-focus-outline-color, var(--mat-sys-on-surface))}:is(:host.ang-navigation-toggle-selected,:host:hover,:host:active) .ang-navigation-toggle-text,:host .ang-navigation-toggle-button:focus-visible .ang-navigation-toggle-text{text-decoration:underline;text-underline-offset:.25rem;text-decoration-thickness:.125rem;text-decoration-color:var(--ang-navigation-underline-color, var(--mat-sys-primary))}:host .ang-navigation-toggle-icon{height:1.25rem;width:1.25rem;font-size:1.25rem}\n"] }]
21
+ }], propDecorators: { selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }, { type: i0.Output, args: ["selectedChange"] }] } });
22
+
23
+ /**
24
+ * Generated bundle index. Do not edit.
25
+ */
26
+
27
+ export { NavigationToggle };
28
+ //# sourceMappingURL=atlasng-design-system-buttons-navigation-toggle.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlasng-design-system-buttons-navigation-toggle.mjs","sources":["../../../../libs/design-system/buttons/navigation-toggle/src/lib/navigation-toggle.ts","../../../../libs/design-system/buttons/navigation-toggle/src/lib/navigation-toggle.html","../../../../libs/design-system/buttons/navigation-toggle/src/atlasng-design-system-buttons-navigation-toggle.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, model } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { provideEventScope, TrackClick } from '@atlasng/analytics';\n\n@Component({\n selector: 'ang-navigation-toggle',\n imports: [MatButtonModule, MatIconModule, TrackClick],\n templateUrl: './navigation-toggle.html',\n styleUrl: './navigation-toggle.scss',\n providers: [provideEventScope('navigation-toggle')],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.ang-navigation-toggle-selected]': 'selected()',\n '(click)': 'selected.update(s => !s)',\n },\n})\nexport class NavigationToggle {\n /** Whether the button is currently selected */\n readonly selected = model(false);\n}\n","<button matButton angTrackClick class=\"ang-navigation-toggle-button\" disableRipple>\n <span class=\"ang-navigation-toggle-text\"><ng-content /></span>\n\n <mat-icon\n iconPositionEnd\n class=\"ang-navigation-toggle-icon\"\n [fontIcon]=\"selected() ? 'expand_less' : 'expand_more'\"\n />\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAiBa,gBAAgB,CAAA;;AAElB,IAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,+EAAC;uGAFrB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,0BAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sCAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAPhB,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVrD,2TASA,EAAA,MAAA,EAAA,CAAA,44CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFY,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,oLAAE,UAAU,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAUzC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAZ5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,WACxB,CAAC,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC,EAAA,SAAA,EAG1C,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,mBAClC,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,wCAAwC,EAAE,YAAY;AACtD,wBAAA,SAAS,EAAE,0BAA0B;AACtC,qBAAA,EAAA,QAAA,EAAA,2TAAA,EAAA,MAAA,EAAA,CAAA,44CAAA,CAAA,EAAA;;;AEfH;;AAEG;;;;"}
@@ -0,0 +1,24 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import * as i1 from '@angular/material/button';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { TrackClick, provideEventScope } from '@atlasng/analytics';
6
+ import { AnyLink } from '@atlasng/common';
7
+
8
+ class NavigationButton {
9
+ /** The link to navigate to */
10
+ link = input(...(ngDevMode ? [undefined, { debugName: "link" }] : /* istanbul ignore next */ []));
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: NavigationButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.7", type: NavigationButton, isStandalone: true, selector: "ang-navigation-button", inputs: { link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideEventScope('navigation-button')], ngImport: i0, template: "<a matButton angTrackClick class=\"ang-navigation-button\" target=\"_blank\" disableRipple [angAnyLink]=\"link()\">\n <span class=\"ang-navigation-text\"><ng-content /></span>\n</a>\n", styles: [":host{display:block;width:fit-content;--mat-button-text-container-height: 3rem;--mat-button-text-label-text-color: var(--ang-navigation-label-color, var(--mat-sys-on-surface));--mat-button-text-icon-spacing: .125rem;--mat-button-text-label-text-font: var(--ang-navigation-label-font, var(--mat-sys-title-medium-font));--mat-button-text-label-text-size: var(--ang-navigation-label-font-size, var(--mat-sys-title-medium-size));--mat-button-text-label-text-tracking: var(--ang-navigation-label-letter-spacing, var(--mat-sys-title-medium-tracking));--mat-button-text-label-text-weight: var(--ang-navigation-label-font-weight, var(--mat-sys-title-medium-weight));--mat-button-text-with-icon-horizontal-padding: .75rem;--mat-button-text-state-layer-color: transparent}:host .ang-navigation-button:focus-visible{outline:solid .125rem var(--ang-navigation-focus-outline-color, var(--mat-sys-on-surface))}:is(:host .ang-navigation-button:hover,:host .ang-navigation-button:active,:host .ang-navigation-button:focus-visible) .ang-navigation-text{text-decoration:underline;text-underline-offset:.25rem;text-decoration-thickness:.125rem;text-decoration-color:var(--ang-navigation-underline-color, var(--mat-sys-primary))}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.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: "directive", type: AnyLink, selector: "[angAnyLink]", inputs: ["angAnyLink", "target", "rel", "download", "queryParams", "queryParamsHandling", "fragment", "preserveFragment", "skipLocationChange", "relativeTo", "browserUrl", "replaceUrl", "state", "info"], exportAs: ["angAnyLink"] }, { kind: "directive", type: TrackClick, selector: "[angTrackClick]", inputs: ["angTrackClick", "angTrackClickOptions", "angTrackClickOn", "angTrackClickDisabled"], exportAs: ["angTrackClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: NavigationButton, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'ang-navigation-button', imports: [MatButtonModule, AnyLink, TrackClick], providers: [provideEventScope('navigation-button')], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a matButton angTrackClick class=\"ang-navigation-button\" target=\"_blank\" disableRipple [angAnyLink]=\"link()\">\n <span class=\"ang-navigation-text\"><ng-content /></span>\n</a>\n", styles: [":host{display:block;width:fit-content;--mat-button-text-container-height: 3rem;--mat-button-text-label-text-color: var(--ang-navigation-label-color, var(--mat-sys-on-surface));--mat-button-text-icon-spacing: .125rem;--mat-button-text-label-text-font: var(--ang-navigation-label-font, var(--mat-sys-title-medium-font));--mat-button-text-label-text-size: var(--ang-navigation-label-font-size, var(--mat-sys-title-medium-size));--mat-button-text-label-text-tracking: var(--ang-navigation-label-letter-spacing, var(--mat-sys-title-medium-tracking));--mat-button-text-label-text-weight: var(--ang-navigation-label-font-weight, var(--mat-sys-title-medium-weight));--mat-button-text-with-icon-horizontal-padding: .75rem;--mat-button-text-state-layer-color: transparent}:host .ang-navigation-button:focus-visible{outline:solid .125rem var(--ang-navigation-focus-outline-color, var(--mat-sys-on-surface))}:is(:host .ang-navigation-button:hover,:host .ang-navigation-button:active,:host .ang-navigation-button:focus-visible) .ang-navigation-text{text-decoration:underline;text-underline-offset:.25rem;text-decoration-thickness:.125rem;text-decoration-color:var(--ang-navigation-underline-color, var(--mat-sys-primary))}\n"] }]
17
+ }], propDecorators: { link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }] } });
18
+
19
+ /**
20
+ * Generated bundle index. Do not edit.
21
+ */
22
+
23
+ export { NavigationButton };
24
+ //# sourceMappingURL=atlasng-design-system-buttons-navigation.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlasng-design-system-buttons-navigation.mjs","sources":["../../../../libs/design-system/buttons/navigation/src/lib/navigation.ts","../../../../libs/design-system/buttons/navigation/src/lib/navigation.html","../../../../libs/design-system/buttons/navigation/src/atlasng-design-system-buttons-navigation.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { provideEventScope, TrackClick } from '@atlasng/analytics';\nimport { AnyLink, AnyLinkCommand } from '@atlasng/common';\n\n@Component({\n selector: 'ang-navigation-button',\n imports: [MatButtonModule, AnyLink, TrackClick],\n templateUrl: './navigation.html',\n styleUrl: './navigation.scss',\n providers: [provideEventScope('navigation-button')],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavigationButton {\n /** The link to navigate to */\n readonly link = input<AnyLinkCommand>();\n}\n","<a matButton angTrackClick class=\"ang-navigation-button\" target=\"_blank\" disableRipple [angAnyLink]=\"link()\">\n <span class=\"ang-navigation-text\"><ng-content /></span>\n</a>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAaa,gBAAgB,CAAA;;IAElB,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAkB;uGAF5B,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAHhB,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVrD,0LAGA,EAAA,MAAA,EAAA,CAAA,6rCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIY,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,+RAAE,UAAU,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAMnC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,WACxB,CAAC,eAAe,EAAE,OAAO,EAAE,UAAU,CAAC,EAAA,SAAA,EAGpC,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,EAAA,eAAA,EAClC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0LAAA,EAAA,MAAA,EAAA,CAAA,6rCAAA,CAAA,EAAA;;;AEXjD;;AAEG;;;;"}
@@ -0,0 +1,121 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, input, computed, inject, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import * as i1 from '@angular/material/button';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import * as i2 from '@angular/material/icon';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { TrackClick, provideEventScope } from '@atlasng/analytics';
8
+
9
+ /** DI token for optional application-specific button definitions. */
10
+ const SOCIAL_MEDIA_BUTTON_DEFS = new InjectionToken('SOCIAL_MEDIA_BUTTON_DEFS');
11
+ /** Built-in definitions used when no matching injected definition exists. */
12
+ const DEFAULT_SOCIAL_MEDIA_BUTTON_DEFS = [
13
+ {
14
+ id: 'linkedin',
15
+ label: 'LinkedIn',
16
+ url: 'https://www.linkedin.com/',
17
+ classes: ['linkedin'],
18
+ },
19
+ {
20
+ id: 'youtube',
21
+ label: 'YouTube',
22
+ url: 'https://www.youtube.com/',
23
+ classes: ['youtube'],
24
+ },
25
+ {
26
+ id: 'instagram',
27
+ label: 'Instagram',
28
+ url: 'https://www.instagram.com/',
29
+ classes: ['instagram'],
30
+ },
31
+ {
32
+ id: 'facebook',
33
+ label: 'Facebook',
34
+ url: 'https://www.facebook.com/',
35
+ classes: ['facebook'],
36
+ },
37
+ {
38
+ id: 'github',
39
+ label: 'GitHub',
40
+ url: 'https://github.com/',
41
+ classes: ['github'],
42
+ },
43
+ {
44
+ id: 'bluesky',
45
+ label: 'Bluesky',
46
+ url: 'https://bsky.app/',
47
+ classes: ['bluesky'],
48
+ },
49
+ {
50
+ id: 'x',
51
+ label: 'X (formerly Twitter)',
52
+ url: 'https://twitter.com/',
53
+ classes: ['x'],
54
+ },
55
+ ];
56
+ /** Fallback definition used in production when no candidate resolves. */
57
+ const FALLBACK_SOCIAL_MEDIA_BUTTON_DEF = {
58
+ id: '',
59
+ label: 'Not available',
60
+ url: '#',
61
+ icon: 'error',
62
+ };
63
+ /**
64
+ * Registers custom button definitions for `id`-based resolution.
65
+ *
66
+ * @param defs Array of button definitions to register.
67
+ * @return Provider to include in the application module or component providers.
68
+ */
69
+ function provideSocialMediaButtons(defs) {
70
+ return { provide: SOCIAL_MEDIA_BUTTON_DEFS, useValue: defs };
71
+ }
72
+ class SocialMediaButton {
73
+ /** Identifier used to resolve a definition from injected or built-in sets. */
74
+ id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
75
+ /** Explicit definition with precedence over any `id`-based resolution. */
76
+ def = input(...(ngDevMode ? [undefined, { debugName: "def" }] : /* istanbul ignore next */ []));
77
+ /** Resolved definition from either `def` input or `id` lookup. */
78
+ resolvedDef = computed(() => {
79
+ for (const def of this.getDefCandidates()) {
80
+ if (def) {
81
+ return def;
82
+ }
83
+ }
84
+ return FALLBACK_SOCIAL_MEDIA_BUTTON_DEF;
85
+ }, ...(ngDevMode ? [{ debugName: "resolvedDef" }] : /* istanbul ignore next */ []));
86
+ /** Optional custom definitions provided via dependency injection. */
87
+ defs = inject(SOCIAL_MEDIA_BUTTON_DEFS, { optional: true });
88
+ /**
89
+ * Yields candidate definitions in precedence order:
90
+ * 1) explicit `def` input
91
+ * 2) injected definition matching `id`
92
+ * 3) built-in definition matching `id`
93
+ *
94
+ * In dev mode, missing inputs or unresolved `id` will throw.
95
+ */
96
+ *getDefCandidates() {
97
+ yield this.def();
98
+ const id = this.id();
99
+ if (!id && (typeof ngDevMode === 'undefined' || ngDevMode)) {
100
+ throw new Error('SocialMediaButton requires an id or def input');
101
+ }
102
+ yield this.defs?.find((d) => d.id === id);
103
+ yield DEFAULT_SOCIAL_MEDIA_BUTTON_DEFS.find((d) => d.id === id);
104
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
105
+ throw new Error(`No definition found for SocialMediaButton with id "${id}"`);
106
+ }
107
+ }
108
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SocialMediaButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
109
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: SocialMediaButton, isStandalone: true, selector: "ang-social-media-button", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, def: { classPropertyName: "def", publicName: "def", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideEventScope('social-media-button')], ngImport: i0, template: "@let def = resolvedDef();\n<a matIconButton angTrackClick target=\"_blank\" [attr.aria-label]=\"def.label\" [attr.href]=\"def.url\">\n @if (def.icon; as icon) {\n <mat-icon [class]=\"def.classes\" [svgIcon]=\"icon\" />\n } @else {\n <div class=\"mask-icon\" [class]=\"def.classes\"></div>\n }\n</a>\n", styles: [":host{display:inline-block;--mat-icon-button-icon-color: var(--ang-social-media-button-color, var(--mat-sys-on-surface));--mat-icon-button-state-layer-color: var(--ang-social-media-button-color, var(--mat-sys-on-surface));--mat-icon-button-disabled-state-layer-color: var(--ang-social-media-button-color, var(--mat-sys-on-surface))}:host .mask-icon{height:100%;background-color:currentColor}:host .mask-icon.instagram{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.46867 4.34784C2 5.26766 2 6.47177 2 8.88V15.12C2 17.5282 2 18.7323 2.46867 19.6522C2.88093 20.4613 3.53874 21.1191 4.34784 21.5313C5.26766 22 6.47177 22 8.88 22H15.12C17.5282 22 18.7323 22 19.6522 21.5313C20.4613 21.1191 21.1191 20.4613 21.5313 19.6522C22 18.7323 22 17.5282 22 15.12V8.88C22 6.47177 22 5.26766 21.5313 4.34784C21.1191 3.53874 20.4613 2.88093 19.6522 2.46867C18.7323 2 17.5282 2 15.12 2H8.88C6.47177 2 5.26766 2 4.34784 2.46867C3.53874 2.88093 2.88093 3.53874 2.46867 4.34784ZM5.32429 7.19746C4.85718 8.11423 4.85718 9.31434 4.85718 11.7146V12.286C4.85718 14.6862 4.85718 15.8863 5.32429 16.8031C5.73518 17.6095 6.39081 18.2651 7.19722 18.676C8.11398 19.1431 9.3141 19.1431 11.7143 19.1431H12.2857C14.686 19.1431 15.8861 19.1431 16.8029 18.676C17.6093 18.2651 18.2649 17.6095 18.6758 16.8031C19.1429 15.8863 19.1429 14.6862 19.1429 12.286V11.7146C19.1429 9.31434 19.1429 8.11423 18.6758 7.19746C18.2649 6.39105 17.6093 5.73542 16.8029 5.32454C15.8861 4.85742 14.686 4.85742 12.2857 4.85742H11.7143C9.3141 4.85742 8.11398 4.85742 7.19722 5.32454C6.39081 5.73542 5.73518 6.39105 5.32429 7.19746ZM12.2857 6.28599H11.7143C10.4906 6.28599 9.65879 6.2871 9.0158 6.33964C8.3895 6.39081 8.0692 6.48356 7.84578 6.5974C7.30817 6.87133 6.87108 7.30841 6.59716 7.84602C6.48332 8.06945 6.39057 8.38974 6.33939 9.01605C6.28686 9.65903 6.28575 10.4909 6.28575 11.7146V12.286C6.28575 13.5097 6.28686 14.3415 6.33939 14.9845C6.39057 15.6108 6.48332 15.9311 6.59716 16.1545C6.87108 16.6921 7.30817 17.1292 7.84578 17.4032C8.0692 17.517 8.3895 17.6097 9.0158 17.6609C9.65879 17.7135 10.4906 17.7146 11.7143 17.7146H12.2857C13.5094 17.7146 14.3413 17.7135 14.9843 17.6609C15.6106 17.6097 15.9309 17.517 16.1543 17.4032C16.6919 17.1292 17.129 16.6921 17.4029 16.1545C17.5168 15.9311 17.6095 15.6108 17.6607 14.9845C17.7132 14.3415 17.7143 13.5097 17.7143 12.286V11.7146C17.7143 10.4909 17.7132 9.65903 17.6607 9.01605C17.6095 8.38974 17.5168 8.06945 17.4029 7.84602C17.129 7.30841 16.6919 6.87133 16.1543 6.5974C15.9309 6.48356 15.6106 6.39081 14.9843 6.33964C14.3413 6.2871 13.5094 6.28599 12.2857 6.28599ZM17 8.07171C17 8.66344 16.5203 9.14314 15.9286 9.14314C15.3369 9.14314 14.8572 8.66344 14.8572 8.07171C14.8572 7.47997 15.3369 7.00028 15.9286 7.00028C16.5203 7.00028 17 7.47997 17 8.07171ZM12 15.5717C13.9725 15.5717 15.5715 13.9727 15.5715 12.0003C15.5715 10.0278 13.9725 8.42885 12 8.42885C10.0276 8.42885 8.42861 10.0278 8.42861 12.0003C8.42861 13.9727 10.0276 15.5717 12 15.5717ZM12 14.1431C13.1835 14.1431 14.1429 13.1837 14.1429 12.0003C14.1429 10.8168 13.1835 9.85742 12 9.85742C10.8166 9.85742 9.85718 10.8168 9.85718 12.0003C9.85718 13.1837 10.8166 14.1431 12 14.1431Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.46867 4.34784C2 5.26766 2 6.47177 2 8.88V15.12C2 17.5282 2 18.7323 2.46867 19.6522C2.88093 20.4613 3.53874 21.1191 4.34784 21.5313C5.26766 22 6.47177 22 8.88 22H15.12C17.5282 22 18.7323 22 19.6522 21.5313C20.4613 21.1191 21.1191 20.4613 21.5313 19.6522C22 18.7323 22 17.5282 22 15.12V8.88C22 6.47177 22 5.26766 21.5313 4.34784C21.1191 3.53874 20.4613 2.88093 19.6522 2.46867C18.7323 2 17.5282 2 15.12 2H8.88C6.47177 2 5.26766 2 4.34784 2.46867C3.53874 2.88093 2.88093 3.53874 2.46867 4.34784ZM5.32429 7.19746C4.85718 8.11423 4.85718 9.31434 4.85718 11.7146V12.286C4.85718 14.6862 4.85718 15.8863 5.32429 16.8031C5.73518 17.6095 6.39081 18.2651 7.19722 18.676C8.11398 19.1431 9.3141 19.1431 11.7143 19.1431H12.2857C14.686 19.1431 15.8861 19.1431 16.8029 18.676C17.6093 18.2651 18.2649 17.6095 18.6758 16.8031C19.1429 15.8863 19.1429 14.6862 19.1429 12.286V11.7146C19.1429 9.31434 19.1429 8.11423 18.6758 7.19746C18.2649 6.39105 17.6093 5.73542 16.8029 5.32454C15.8861 4.85742 14.686 4.85742 12.2857 4.85742H11.7143C9.3141 4.85742 8.11398 4.85742 7.19722 5.32454C6.39081 5.73542 5.73518 6.39105 5.32429 7.19746ZM12.2857 6.28599H11.7143C10.4906 6.28599 9.65879 6.2871 9.0158 6.33964C8.3895 6.39081 8.0692 6.48356 7.84578 6.5974C7.30817 6.87133 6.87108 7.30841 6.59716 7.84602C6.48332 8.06945 6.39057 8.38974 6.33939 9.01605C6.28686 9.65903 6.28575 10.4909 6.28575 11.7146V12.286C6.28575 13.5097 6.28686 14.3415 6.33939 14.9845C6.39057 15.6108 6.48332 15.9311 6.59716 16.1545C6.87108 16.6921 7.30817 17.1292 7.84578 17.4032C8.0692 17.517 8.3895 17.6097 9.0158 17.6609C9.65879 17.7135 10.4906 17.7146 11.7143 17.7146H12.2857C13.5094 17.7146 14.3413 17.7135 14.9843 17.6609C15.6106 17.6097 15.9309 17.517 16.1543 17.4032C16.6919 17.1292 17.129 16.6921 17.4029 16.1545C17.5168 15.9311 17.6095 15.6108 17.6607 14.9845C17.7132 14.3415 17.7143 13.5097 17.7143 12.286V11.7146C17.7143 10.4909 17.7132 9.65903 17.6607 9.01605C17.6095 8.38974 17.5168 8.06945 17.4029 7.84602C17.129 7.30841 16.6919 6.87133 16.1543 6.5974C15.9309 6.48356 15.6106 6.39081 14.9843 6.33964C14.3413 6.2871 13.5094 6.28599 12.2857 6.28599ZM17 8.07171C17 8.66344 16.5203 9.14314 15.9286 9.14314C15.3369 9.14314 14.8572 8.66344 14.8572 8.07171C14.8572 7.47997 15.3369 7.00028 15.9286 7.00028C16.5203 7.00028 17 7.47997 17 8.07171ZM12 15.5717C13.9725 15.5717 15.5715 13.9727 15.5715 12.0003C15.5715 10.0278 13.9725 8.42885 12 8.42885C10.0276 8.42885 8.42861 10.0278 8.42861 12.0003C8.42861 13.9727 10.0276 15.5717 12 15.5717ZM12 14.1431C13.1835 14.1431 14.1429 13.1837 14.1429 12.0003C14.1429 10.8168 13.1835 9.85742 12 9.85742C10.8166 9.85742 9.85718 10.8168 9.85718 12.0003C9.85718 13.1837 10.8166 14.1431 12 14.1431Z\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.facebook{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22 12C22 17.1122 18.1633 21.3283 13.2117 21.9278L13.2116 21.9276C13.2118 21.9276 13.212 21.9276 13.2122 21.9276V15.0553H15.9161L16.4761 11.9998H13.2078V10.9192C13.2078 9.30313 13.84 8.68313 15.48 8.68313C15.9878 8.68313 16.4 8.69535 16.6361 8.71924V5.9509C16.1878 5.82701 15.0961 5.70312 14.4639 5.70312C11.1239 5.70312 9.58391 7.27924 9.58391 10.6831V11.9998H7.52002V15.0559H9.58391V21.7059H9.58446L9.58444 21.7061C5.22833 20.6256 2 16.69 2 12C2 6.47722 6.47722 2 12 2C17.5228 2 22 6.47722 22 12Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22 12C22 17.1122 18.1633 21.3283 13.2117 21.9278L13.2116 21.9276C13.2118 21.9276 13.212 21.9276 13.2122 21.9276V15.0553H15.9161L16.4761 11.9998H13.2078V10.9192C13.2078 9.30313 13.84 8.68313 15.48 8.68313C15.9878 8.68313 16.4 8.69535 16.6361 8.71924V5.9509C16.1878 5.82701 15.0961 5.70312 14.4639 5.70312C11.1239 5.70312 9.58391 7.27924 9.58391 10.6831V11.9998H7.52002V15.0559H9.58391V21.7059H9.58446L9.58444 21.7061C5.22833 20.6256 2 16.69 2 12C2 6.47722 6.47722 2 12 2C17.5228 2 22 6.47722 22 12Z\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.linkedin{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M18.3368 18.3371H15.6698V14.1603C15.6698 13.1643 15.652 11.8822 14.2827 11.8822C12.8936 11.8822 12.681 12.9674 12.681 14.0878V18.3368H10.0141V9.74773H12.5744V10.9215H12.6102C12.8665 10.4834 13.2367 10.123 13.6816 9.87866C14.1264 9.63432 14.6292 9.51523 15.1364 9.53405C17.8396 9.53405 18.338 11.3121 18.338 13.6252L18.3368 18.3371ZM7.00472 8.57372C6.14993 8.57386 5.45686 7.881 5.45672 7.02621C5.45658 6.17142 6.14937 5.47835 7.00416 5.47821C7.85895 5.478 8.55202 6.17086 8.55216 7.02565C8.55223 7.43613 8.38924 7.82984 8.09904 8.12016C7.80884 8.41047 7.41521 8.57362 7.00472 8.57372ZM8.33827 18.3372H5.66843V9.74773H8.3382V18.3371L8.33827 18.3372ZM19.6665 3.00131H4.32827C3.60335 2.99315 3.00886 3.57386 3 4.29879V19.701C3.00858 20.4262 3.603 21.0075 4.3282 20.9999H19.6665C20.3932 21.0089 20.9899 20.4276 21 19.701V4.29759C20.9897 3.57126 20.3929 2.99062 19.6665 3.00011\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M18.3368 18.3371H15.6698V14.1603C15.6698 13.1643 15.652 11.8822 14.2827 11.8822C12.8936 11.8822 12.681 12.9674 12.681 14.0878V18.3368H10.0141V9.74773H12.5744V10.9215H12.6102C12.8665 10.4834 13.2367 10.123 13.6816 9.87866C14.1264 9.63432 14.6292 9.51523 15.1364 9.53405C17.8396 9.53405 18.338 11.3121 18.338 13.6252L18.3368 18.3371ZM7.00472 8.57372C6.14993 8.57386 5.45686 7.881 5.45672 7.02621C5.45658 6.17142 6.14937 5.47835 7.00416 5.47821C7.85895 5.478 8.55202 6.17086 8.55216 7.02565C8.55223 7.43613 8.38924 7.82984 8.09904 8.12016C7.80884 8.41047 7.41521 8.57362 7.00472 8.57372ZM8.33827 18.3372H5.66843V9.74773H8.3382V18.3371L8.33827 18.3372ZM19.6665 3.00131H4.32827C3.60335 2.99315 3.00886 3.57386 3 4.29879V19.701C3.00858 20.4262 3.603 21.0075 4.3282 20.9999H19.6665C20.3932 21.0089 20.9899 20.4276 21 19.701V4.29759C20.9897 3.57126 20.3929 2.99062 19.6665 3.00011\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.github{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M8.99035 20.75C8.99035 20.6142 8.98794 20.3372 8.9848 19.9772C8.981 19.5405 8.97614 18.9816 8.97323 18.4047C5.46859 19.1666 4.72909 16.9183 4.72909 16.9183C4.15601 15.4622 3.33029 15.0749 3.33029 15.0749C2.18737 14.2931 3.4165 14.3093 3.4165 14.3093C4.68145 14.398 5.34754 15.6074 5.34754 15.6074C6.47117 17.5332 8.29464 16.9765 9.01348 16.6545C9.12656 15.8404 9.45301 15.2846 9.81331 14.97C7.01522 14.6515 4.07383 13.5713 4.07383 8.74436C4.07383 7.36898 4.56591 6.24515 5.37175 5.36294C5.24096 5.04565 4.80979 3.76445 5.49379 2.02916C5.49379 2.02916 6.55167 1.69061 8.95905 3.3205C9.96389 3.04138 11.0416 2.90143 12.1121 2.89661C13.1827 2.90143 14.2613 3.04129 15.268 3.3205C17.6724 1.69071 18.7288 2.02926 18.7288 2.02926C19.4145 3.76436 18.9831 5.04575 18.8523 5.36294C19.66 6.24515 20.1488 7.36898 20.1488 8.74436C20.1488 13.5828 17.2018 14.6482 14.3966 14.9601C14.8484 15.351 15.2511 16.1177 15.2511 17.293C15.2511 18.4195 15.2445 19.3991 15.2402 20.0488C15.2381 20.3712 15.2365 20.6124 15.2365 20.75C15.2365 21.8821 15.2222 22 12.112 22C9.01154 22 8.99035 21.8844 8.99035 20.75Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M8.99035 20.75C8.99035 20.6142 8.98794 20.3372 8.9848 19.9772C8.981 19.5405 8.97614 18.9816 8.97323 18.4047C5.46859 19.1666 4.72909 16.9183 4.72909 16.9183C4.15601 15.4622 3.33029 15.0749 3.33029 15.0749C2.18737 14.2931 3.4165 14.3093 3.4165 14.3093C4.68145 14.398 5.34754 15.6074 5.34754 15.6074C6.47117 17.5332 8.29464 16.9765 9.01348 16.6545C9.12656 15.8404 9.45301 15.2846 9.81331 14.97C7.01522 14.6515 4.07383 13.5713 4.07383 8.74436C4.07383 7.36898 4.56591 6.24515 5.37175 5.36294C5.24096 5.04565 4.80979 3.76445 5.49379 2.02916C5.49379 2.02916 6.55167 1.69061 8.95905 3.3205C9.96389 3.04138 11.0416 2.90143 12.1121 2.89661C13.1827 2.90143 14.2613 3.04129 15.268 3.3205C17.6724 1.69071 18.7288 2.02926 18.7288 2.02926C19.4145 3.76436 18.9831 5.04575 18.8523 5.36294C19.66 6.24515 20.1488 7.36898 20.1488 8.74436C20.1488 13.5828 17.2018 14.6482 14.3966 14.9601C14.8484 15.351 15.2511 16.1177 15.2511 17.293C15.2511 18.4195 15.2445 19.3991 15.2402 20.0488C15.2381 20.3712 15.2365 20.6124 15.2365 20.75C15.2365 21.8821 15.2222 22 12.112 22C9.01154 22 8.99035 21.8844 8.99035 20.75Z\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.bluesky{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M5.89237 2.93006C4.11292 1.8712 2.0792 3.3761 2.26142 5.2894L2.65999 9.47446C2.83669 11.3298 4.50032 13.5004 6.85532 13.2972C4.50032 14.0004 3.13187 15.8657 4.87934 18.1454C5.16504 18.5181 5.47619 18.8905 5.79322 19.2075C6.11024 19.5245 6.4826 19.8357 6.85532 20.1214C8.73568 21.5627 11.2305 19.4722 11.9105 17.4323L12.0002 17.1632L12.0899 17.4323C12.7698 19.4722 15.2646 21.5627 17.145 20.1214C17.5177 19.8357 17.8901 19.5245 18.2071 19.2075C18.5241 18.8905 18.8353 18.5181 19.121 18.1454C20.8684 15.8657 19.5 14.0004 17.145 13.2972C19.5 13.5004 21.1636 11.3298 21.3403 9.47446L21.7389 5.2894C21.9211 3.3761 19.8874 1.8712 18.108 2.93006C15.2004 4.66018 13.4847 7.39247 12.0002 9.90107C10.5156 7.39247 8.79989 4.66018 5.89237 2.93006Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M5.89237 2.93006C4.11292 1.8712 2.0792 3.3761 2.26142 5.2894L2.65999 9.47446C2.83669 11.3298 4.50032 13.5004 6.85532 13.2972C4.50032 14.0004 3.13187 15.8657 4.87934 18.1454C5.16504 18.5181 5.47619 18.8905 5.79322 19.2075C6.11024 19.5245 6.4826 19.8357 6.85532 20.1214C8.73568 21.5627 11.2305 19.4722 11.9105 17.4323L12.0002 17.1632L12.0899 17.4323C12.7698 19.4722 15.2646 21.5627 17.145 20.1214C17.5177 19.8357 17.8901 19.5245 18.2071 19.2075C18.5241 18.8905 18.8353 18.5181 19.121 18.1454C20.8684 15.8657 19.5 14.0004 17.145 13.2972C19.5 13.5004 21.1636 11.3298 21.3403 9.47446L21.7389 5.2894C21.9211 3.3761 19.8874 1.8712 18.108 2.93006C15.2004 4.66018 13.4847 7.39247 12.0002 9.90107C10.5156 7.39247 8.79989 4.66018 5.89237 2.93006Z\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.x{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M17.769 3H20.8226L14.1515 10.6246L21.9995 21H15.8546L11.0416 14.7074L5.53455 21H2.47917L9.61455 12.8446L2.08594 3H8.38686L12.7373 8.75169L17.769 3ZM16.6973 19.1723H18.3893L7.46748 4.73169H5.65178L16.6973 19.1723Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M17.769 3H20.8226L14.1515 10.6246L21.9995 21H15.8546L11.0416 14.7074L5.53455 21H2.47917L9.61455 12.8446L2.08594 3H8.38686L12.7373 8.75169L17.769 3ZM16.6973 19.1723H18.3893L7.46748 4.73169H5.65178L16.6973 19.1723Z\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.youtube{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.9056 6.04286C21.2161 6.35336 21.4398 6.73978 21.5545 7.16363C22.2149 9.82202 22.0623 14.0207 21.5673 16.7817C21.4526 17.2055 21.2288 17.592 20.9183 17.9025C20.6078 18.213 20.2214 18.4367 19.7976 18.5514C18.2459 18.9746 12.0006 18.9746 12.0006 18.9746C12.0006 18.9746 5.7553 18.9746 4.20357 18.5514C3.77972 18.4367 3.39331 18.213 3.08282 17.9025C2.77234 17.592 2.54861 17.2055 2.43391 16.7817C1.76959 14.1349 1.95167 9.93364 2.42103 7.17652C2.53571 6.75265 2.75943 6.36622 3.06992 6.0557C3.3804 5.74519 3.76682 5.52143 4.19068 5.40671C5.74241 4.98351 11.9879 4.9707 11.9879 4.9707C11.9879 4.9707 18.2331 4.9707 19.7848 5.3939C20.2087 5.50861 20.5951 5.73236 20.9056 6.04286ZM15.1806 11.9725L9.99976 14.9733V8.97168L15.1806 11.9725Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.9056 6.04286C21.2161 6.35336 21.4398 6.73978 21.5545 7.16363C22.2149 9.82202 22.0623 14.0207 21.5673 16.7817C21.4526 17.2055 21.2288 17.592 20.9183 17.9025C20.6078 18.213 20.2214 18.4367 19.7976 18.5514C18.2459 18.9746 12.0006 18.9746 12.0006 18.9746C12.0006 18.9746 5.7553 18.9746 4.20357 18.5514C3.77972 18.4367 3.39331 18.213 3.08282 17.9025C2.77234 17.592 2.54861 17.2055 2.43391 16.7817C1.76959 14.1349 1.95167 9.93364 2.42103 7.17652C2.53571 6.75265 2.75943 6.36622 3.06992 6.0557C3.3804 5.74519 3.76682 5.52143 4.19068 5.40671C5.74241 4.98351 11.9879 4.9707 11.9879 4.9707C11.9879 4.9707 18.2331 4.9707 19.7848 5.3939C20.2087 5.50861 20.5951 5.73236 20.9056 6.04286ZM15.1806 11.9725L9.99976 14.9733V8.97168L15.1806 11.9725Z\" fill=\"currentColor\"/>%0A</svg>%0A')}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TrackClick, selector: "[angTrackClick]", inputs: ["angTrackClick", "angTrackClickOptions", "angTrackClickOn", "angTrackClickDisabled"], exportAs: ["angTrackClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
+ }
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SocialMediaButton, decorators: [{
112
+ type: Component,
113
+ args: [{ selector: 'ang-social-media-button', imports: [MatButtonModule, MatIconModule, TrackClick], providers: [provideEventScope('social-media-button')], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let def = resolvedDef();\n<a matIconButton angTrackClick target=\"_blank\" [attr.aria-label]=\"def.label\" [attr.href]=\"def.url\">\n @if (def.icon; as icon) {\n <mat-icon [class]=\"def.classes\" [svgIcon]=\"icon\" />\n } @else {\n <div class=\"mask-icon\" [class]=\"def.classes\"></div>\n }\n</a>\n", styles: [":host{display:inline-block;--mat-icon-button-icon-color: var(--ang-social-media-button-color, var(--mat-sys-on-surface));--mat-icon-button-state-layer-color: var(--ang-social-media-button-color, var(--mat-sys-on-surface));--mat-icon-button-disabled-state-layer-color: var(--ang-social-media-button-color, var(--mat-sys-on-surface))}:host .mask-icon{height:100%;background-color:currentColor}:host .mask-icon.instagram{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.46867 4.34784C2 5.26766 2 6.47177 2 8.88V15.12C2 17.5282 2 18.7323 2.46867 19.6522C2.88093 20.4613 3.53874 21.1191 4.34784 21.5313C5.26766 22 6.47177 22 8.88 22H15.12C17.5282 22 18.7323 22 19.6522 21.5313C20.4613 21.1191 21.1191 20.4613 21.5313 19.6522C22 18.7323 22 17.5282 22 15.12V8.88C22 6.47177 22 5.26766 21.5313 4.34784C21.1191 3.53874 20.4613 2.88093 19.6522 2.46867C18.7323 2 17.5282 2 15.12 2H8.88C6.47177 2 5.26766 2 4.34784 2.46867C3.53874 2.88093 2.88093 3.53874 2.46867 4.34784ZM5.32429 7.19746C4.85718 8.11423 4.85718 9.31434 4.85718 11.7146V12.286C4.85718 14.6862 4.85718 15.8863 5.32429 16.8031C5.73518 17.6095 6.39081 18.2651 7.19722 18.676C8.11398 19.1431 9.3141 19.1431 11.7143 19.1431H12.2857C14.686 19.1431 15.8861 19.1431 16.8029 18.676C17.6093 18.2651 18.2649 17.6095 18.6758 16.8031C19.1429 15.8863 19.1429 14.6862 19.1429 12.286V11.7146C19.1429 9.31434 19.1429 8.11423 18.6758 7.19746C18.2649 6.39105 17.6093 5.73542 16.8029 5.32454C15.8861 4.85742 14.686 4.85742 12.2857 4.85742H11.7143C9.3141 4.85742 8.11398 4.85742 7.19722 5.32454C6.39081 5.73542 5.73518 6.39105 5.32429 7.19746ZM12.2857 6.28599H11.7143C10.4906 6.28599 9.65879 6.2871 9.0158 6.33964C8.3895 6.39081 8.0692 6.48356 7.84578 6.5974C7.30817 6.87133 6.87108 7.30841 6.59716 7.84602C6.48332 8.06945 6.39057 8.38974 6.33939 9.01605C6.28686 9.65903 6.28575 10.4909 6.28575 11.7146V12.286C6.28575 13.5097 6.28686 14.3415 6.33939 14.9845C6.39057 15.6108 6.48332 15.9311 6.59716 16.1545C6.87108 16.6921 7.30817 17.1292 7.84578 17.4032C8.0692 17.517 8.3895 17.6097 9.0158 17.6609C9.65879 17.7135 10.4906 17.7146 11.7143 17.7146H12.2857C13.5094 17.7146 14.3413 17.7135 14.9843 17.6609C15.6106 17.6097 15.9309 17.517 16.1543 17.4032C16.6919 17.1292 17.129 16.6921 17.4029 16.1545C17.5168 15.9311 17.6095 15.6108 17.6607 14.9845C17.7132 14.3415 17.7143 13.5097 17.7143 12.286V11.7146C17.7143 10.4909 17.7132 9.65903 17.6607 9.01605C17.6095 8.38974 17.5168 8.06945 17.4029 7.84602C17.129 7.30841 16.6919 6.87133 16.1543 6.5974C15.9309 6.48356 15.6106 6.39081 14.9843 6.33964C14.3413 6.2871 13.5094 6.28599 12.2857 6.28599ZM17 8.07171C17 8.66344 16.5203 9.14314 15.9286 9.14314C15.3369 9.14314 14.8572 8.66344 14.8572 8.07171C14.8572 7.47997 15.3369 7.00028 15.9286 7.00028C16.5203 7.00028 17 7.47997 17 8.07171ZM12 15.5717C13.9725 15.5717 15.5715 13.9727 15.5715 12.0003C15.5715 10.0278 13.9725 8.42885 12 8.42885C10.0276 8.42885 8.42861 10.0278 8.42861 12.0003C8.42861 13.9727 10.0276 15.5717 12 15.5717ZM12 14.1431C13.1835 14.1431 14.1429 13.1837 14.1429 12.0003C14.1429 10.8168 13.1835 9.85742 12 9.85742C10.8166 9.85742 9.85718 10.8168 9.85718 12.0003C9.85718 13.1837 10.8166 14.1431 12 14.1431Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.46867 4.34784C2 5.26766 2 6.47177 2 8.88V15.12C2 17.5282 2 18.7323 2.46867 19.6522C2.88093 20.4613 3.53874 21.1191 4.34784 21.5313C5.26766 22 6.47177 22 8.88 22H15.12C17.5282 22 18.7323 22 19.6522 21.5313C20.4613 21.1191 21.1191 20.4613 21.5313 19.6522C22 18.7323 22 17.5282 22 15.12V8.88C22 6.47177 22 5.26766 21.5313 4.34784C21.1191 3.53874 20.4613 2.88093 19.6522 2.46867C18.7323 2 17.5282 2 15.12 2H8.88C6.47177 2 5.26766 2 4.34784 2.46867C3.53874 2.88093 2.88093 3.53874 2.46867 4.34784ZM5.32429 7.19746C4.85718 8.11423 4.85718 9.31434 4.85718 11.7146V12.286C4.85718 14.6862 4.85718 15.8863 5.32429 16.8031C5.73518 17.6095 6.39081 18.2651 7.19722 18.676C8.11398 19.1431 9.3141 19.1431 11.7143 19.1431H12.2857C14.686 19.1431 15.8861 19.1431 16.8029 18.676C17.6093 18.2651 18.2649 17.6095 18.6758 16.8031C19.1429 15.8863 19.1429 14.6862 19.1429 12.286V11.7146C19.1429 9.31434 19.1429 8.11423 18.6758 7.19746C18.2649 6.39105 17.6093 5.73542 16.8029 5.32454C15.8861 4.85742 14.686 4.85742 12.2857 4.85742H11.7143C9.3141 4.85742 8.11398 4.85742 7.19722 5.32454C6.39081 5.73542 5.73518 6.39105 5.32429 7.19746ZM12.2857 6.28599H11.7143C10.4906 6.28599 9.65879 6.2871 9.0158 6.33964C8.3895 6.39081 8.0692 6.48356 7.84578 6.5974C7.30817 6.87133 6.87108 7.30841 6.59716 7.84602C6.48332 8.06945 6.39057 8.38974 6.33939 9.01605C6.28686 9.65903 6.28575 10.4909 6.28575 11.7146V12.286C6.28575 13.5097 6.28686 14.3415 6.33939 14.9845C6.39057 15.6108 6.48332 15.9311 6.59716 16.1545C6.87108 16.6921 7.30817 17.1292 7.84578 17.4032C8.0692 17.517 8.3895 17.6097 9.0158 17.6609C9.65879 17.7135 10.4906 17.7146 11.7143 17.7146H12.2857C13.5094 17.7146 14.3413 17.7135 14.9843 17.6609C15.6106 17.6097 15.9309 17.517 16.1543 17.4032C16.6919 17.1292 17.129 16.6921 17.4029 16.1545C17.5168 15.9311 17.6095 15.6108 17.6607 14.9845C17.7132 14.3415 17.7143 13.5097 17.7143 12.286V11.7146C17.7143 10.4909 17.7132 9.65903 17.6607 9.01605C17.6095 8.38974 17.5168 8.06945 17.4029 7.84602C17.129 7.30841 16.6919 6.87133 16.1543 6.5974C15.9309 6.48356 15.6106 6.39081 14.9843 6.33964C14.3413 6.2871 13.5094 6.28599 12.2857 6.28599ZM17 8.07171C17 8.66344 16.5203 9.14314 15.9286 9.14314C15.3369 9.14314 14.8572 8.66344 14.8572 8.07171C14.8572 7.47997 15.3369 7.00028 15.9286 7.00028C16.5203 7.00028 17 7.47997 17 8.07171ZM12 15.5717C13.9725 15.5717 15.5715 13.9727 15.5715 12.0003C15.5715 10.0278 13.9725 8.42885 12 8.42885C10.0276 8.42885 8.42861 10.0278 8.42861 12.0003C8.42861 13.9727 10.0276 15.5717 12 15.5717ZM12 14.1431C13.1835 14.1431 14.1429 13.1837 14.1429 12.0003C14.1429 10.8168 13.1835 9.85742 12 9.85742C10.8166 9.85742 9.85718 10.8168 9.85718 12.0003C9.85718 13.1837 10.8166 14.1431 12 14.1431Z\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.facebook{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22 12C22 17.1122 18.1633 21.3283 13.2117 21.9278L13.2116 21.9276C13.2118 21.9276 13.212 21.9276 13.2122 21.9276V15.0553H15.9161L16.4761 11.9998H13.2078V10.9192C13.2078 9.30313 13.84 8.68313 15.48 8.68313C15.9878 8.68313 16.4 8.69535 16.6361 8.71924V5.9509C16.1878 5.82701 15.0961 5.70312 14.4639 5.70312C11.1239 5.70312 9.58391 7.27924 9.58391 10.6831V11.9998H7.52002V15.0559H9.58391V21.7059H9.58446L9.58444 21.7061C5.22833 20.6256 2 16.69 2 12C2 6.47722 6.47722 2 12 2C17.5228 2 22 6.47722 22 12Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22 12C22 17.1122 18.1633 21.3283 13.2117 21.9278L13.2116 21.9276C13.2118 21.9276 13.212 21.9276 13.2122 21.9276V15.0553H15.9161L16.4761 11.9998H13.2078V10.9192C13.2078 9.30313 13.84 8.68313 15.48 8.68313C15.9878 8.68313 16.4 8.69535 16.6361 8.71924V5.9509C16.1878 5.82701 15.0961 5.70312 14.4639 5.70312C11.1239 5.70312 9.58391 7.27924 9.58391 10.6831V11.9998H7.52002V15.0559H9.58391V21.7059H9.58446L9.58444 21.7061C5.22833 20.6256 2 16.69 2 12C2 6.47722 6.47722 2 12 2C17.5228 2 22 6.47722 22 12Z\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.linkedin{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M18.3368 18.3371H15.6698V14.1603C15.6698 13.1643 15.652 11.8822 14.2827 11.8822C12.8936 11.8822 12.681 12.9674 12.681 14.0878V18.3368H10.0141V9.74773H12.5744V10.9215H12.6102C12.8665 10.4834 13.2367 10.123 13.6816 9.87866C14.1264 9.63432 14.6292 9.51523 15.1364 9.53405C17.8396 9.53405 18.338 11.3121 18.338 13.6252L18.3368 18.3371ZM7.00472 8.57372C6.14993 8.57386 5.45686 7.881 5.45672 7.02621C5.45658 6.17142 6.14937 5.47835 7.00416 5.47821C7.85895 5.478 8.55202 6.17086 8.55216 7.02565C8.55223 7.43613 8.38924 7.82984 8.09904 8.12016C7.80884 8.41047 7.41521 8.57362 7.00472 8.57372ZM8.33827 18.3372H5.66843V9.74773H8.3382V18.3371L8.33827 18.3372ZM19.6665 3.00131H4.32827C3.60335 2.99315 3.00886 3.57386 3 4.29879V19.701C3.00858 20.4262 3.603 21.0075 4.3282 20.9999H19.6665C20.3932 21.0089 20.9899 20.4276 21 19.701V4.29759C20.9897 3.57126 20.3929 2.99062 19.6665 3.00011\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M18.3368 18.3371H15.6698V14.1603C15.6698 13.1643 15.652 11.8822 14.2827 11.8822C12.8936 11.8822 12.681 12.9674 12.681 14.0878V18.3368H10.0141V9.74773H12.5744V10.9215H12.6102C12.8665 10.4834 13.2367 10.123 13.6816 9.87866C14.1264 9.63432 14.6292 9.51523 15.1364 9.53405C17.8396 9.53405 18.338 11.3121 18.338 13.6252L18.3368 18.3371ZM7.00472 8.57372C6.14993 8.57386 5.45686 7.881 5.45672 7.02621C5.45658 6.17142 6.14937 5.47835 7.00416 5.47821C7.85895 5.478 8.55202 6.17086 8.55216 7.02565C8.55223 7.43613 8.38924 7.82984 8.09904 8.12016C7.80884 8.41047 7.41521 8.57362 7.00472 8.57372ZM8.33827 18.3372H5.66843V9.74773H8.3382V18.3371L8.33827 18.3372ZM19.6665 3.00131H4.32827C3.60335 2.99315 3.00886 3.57386 3 4.29879V19.701C3.00858 20.4262 3.603 21.0075 4.3282 20.9999H19.6665C20.3932 21.0089 20.9899 20.4276 21 19.701V4.29759C20.9897 3.57126 20.3929 2.99062 19.6665 3.00011\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.github{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M8.99035 20.75C8.99035 20.6142 8.98794 20.3372 8.9848 19.9772C8.981 19.5405 8.97614 18.9816 8.97323 18.4047C5.46859 19.1666 4.72909 16.9183 4.72909 16.9183C4.15601 15.4622 3.33029 15.0749 3.33029 15.0749C2.18737 14.2931 3.4165 14.3093 3.4165 14.3093C4.68145 14.398 5.34754 15.6074 5.34754 15.6074C6.47117 17.5332 8.29464 16.9765 9.01348 16.6545C9.12656 15.8404 9.45301 15.2846 9.81331 14.97C7.01522 14.6515 4.07383 13.5713 4.07383 8.74436C4.07383 7.36898 4.56591 6.24515 5.37175 5.36294C5.24096 5.04565 4.80979 3.76445 5.49379 2.02916C5.49379 2.02916 6.55167 1.69061 8.95905 3.3205C9.96389 3.04138 11.0416 2.90143 12.1121 2.89661C13.1827 2.90143 14.2613 3.04129 15.268 3.3205C17.6724 1.69071 18.7288 2.02926 18.7288 2.02926C19.4145 3.76436 18.9831 5.04575 18.8523 5.36294C19.66 6.24515 20.1488 7.36898 20.1488 8.74436C20.1488 13.5828 17.2018 14.6482 14.3966 14.9601C14.8484 15.351 15.2511 16.1177 15.2511 17.293C15.2511 18.4195 15.2445 19.3991 15.2402 20.0488C15.2381 20.3712 15.2365 20.6124 15.2365 20.75C15.2365 21.8821 15.2222 22 12.112 22C9.01154 22 8.99035 21.8844 8.99035 20.75Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M8.99035 20.75C8.99035 20.6142 8.98794 20.3372 8.9848 19.9772C8.981 19.5405 8.97614 18.9816 8.97323 18.4047C5.46859 19.1666 4.72909 16.9183 4.72909 16.9183C4.15601 15.4622 3.33029 15.0749 3.33029 15.0749C2.18737 14.2931 3.4165 14.3093 3.4165 14.3093C4.68145 14.398 5.34754 15.6074 5.34754 15.6074C6.47117 17.5332 8.29464 16.9765 9.01348 16.6545C9.12656 15.8404 9.45301 15.2846 9.81331 14.97C7.01522 14.6515 4.07383 13.5713 4.07383 8.74436C4.07383 7.36898 4.56591 6.24515 5.37175 5.36294C5.24096 5.04565 4.80979 3.76445 5.49379 2.02916C5.49379 2.02916 6.55167 1.69061 8.95905 3.3205C9.96389 3.04138 11.0416 2.90143 12.1121 2.89661C13.1827 2.90143 14.2613 3.04129 15.268 3.3205C17.6724 1.69071 18.7288 2.02926 18.7288 2.02926C19.4145 3.76436 18.9831 5.04575 18.8523 5.36294C19.66 6.24515 20.1488 7.36898 20.1488 8.74436C20.1488 13.5828 17.2018 14.6482 14.3966 14.9601C14.8484 15.351 15.2511 16.1177 15.2511 17.293C15.2511 18.4195 15.2445 19.3991 15.2402 20.0488C15.2381 20.3712 15.2365 20.6124 15.2365 20.75C15.2365 21.8821 15.2222 22 12.112 22C9.01154 22 8.99035 21.8844 8.99035 20.75Z\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.bluesky{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M5.89237 2.93006C4.11292 1.8712 2.0792 3.3761 2.26142 5.2894L2.65999 9.47446C2.83669 11.3298 4.50032 13.5004 6.85532 13.2972C4.50032 14.0004 3.13187 15.8657 4.87934 18.1454C5.16504 18.5181 5.47619 18.8905 5.79322 19.2075C6.11024 19.5245 6.4826 19.8357 6.85532 20.1214C8.73568 21.5627 11.2305 19.4722 11.9105 17.4323L12.0002 17.1632L12.0899 17.4323C12.7698 19.4722 15.2646 21.5627 17.145 20.1214C17.5177 19.8357 17.8901 19.5245 18.2071 19.2075C18.5241 18.8905 18.8353 18.5181 19.121 18.1454C20.8684 15.8657 19.5 14.0004 17.145 13.2972C19.5 13.5004 21.1636 11.3298 21.3403 9.47446L21.7389 5.2894C21.9211 3.3761 19.8874 1.8712 18.108 2.93006C15.2004 4.66018 13.4847 7.39247 12.0002 9.90107C10.5156 7.39247 8.79989 4.66018 5.89237 2.93006Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M5.89237 2.93006C4.11292 1.8712 2.0792 3.3761 2.26142 5.2894L2.65999 9.47446C2.83669 11.3298 4.50032 13.5004 6.85532 13.2972C4.50032 14.0004 3.13187 15.8657 4.87934 18.1454C5.16504 18.5181 5.47619 18.8905 5.79322 19.2075C6.11024 19.5245 6.4826 19.8357 6.85532 20.1214C8.73568 21.5627 11.2305 19.4722 11.9105 17.4323L12.0002 17.1632L12.0899 17.4323C12.7698 19.4722 15.2646 21.5627 17.145 20.1214C17.5177 19.8357 17.8901 19.5245 18.2071 19.2075C18.5241 18.8905 18.8353 18.5181 19.121 18.1454C20.8684 15.8657 19.5 14.0004 17.145 13.2972C19.5 13.5004 21.1636 11.3298 21.3403 9.47446L21.7389 5.2894C21.9211 3.3761 19.8874 1.8712 18.108 2.93006C15.2004 4.66018 13.4847 7.39247 12.0002 9.90107C10.5156 7.39247 8.79989 4.66018 5.89237 2.93006Z\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.x{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M17.769 3H20.8226L14.1515 10.6246L21.9995 21H15.8546L11.0416 14.7074L5.53455 21H2.47917L9.61455 12.8446L2.08594 3H8.38686L12.7373 8.75169L17.769 3ZM16.6973 19.1723H18.3893L7.46748 4.73169H5.65178L16.6973 19.1723Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M17.769 3H20.8226L14.1515 10.6246L21.9995 21H15.8546L11.0416 14.7074L5.53455 21H2.47917L9.61455 12.8446L2.08594 3H8.38686L12.7373 8.75169L17.769 3ZM16.6973 19.1723H18.3893L7.46748 4.73169H5.65178L16.6973 19.1723Z\" fill=\"currentColor\"/>%0A</svg>%0A')}:host .mask-icon.youtube{-webkit-mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.9056 6.04286C21.2161 6.35336 21.4398 6.73978 21.5545 7.16363C22.2149 9.82202 22.0623 14.0207 21.5673 16.7817C21.4526 17.2055 21.2288 17.592 20.9183 17.9025C20.6078 18.213 20.2214 18.4367 19.7976 18.5514C18.2459 18.9746 12.0006 18.9746 12.0006 18.9746C12.0006 18.9746 5.7553 18.9746 4.20357 18.5514C3.77972 18.4367 3.39331 18.213 3.08282 17.9025C2.77234 17.592 2.54861 17.2055 2.43391 16.7817C1.76959 14.1349 1.95167 9.93364 2.42103 7.17652C2.53571 6.75265 2.75943 6.36622 3.06992 6.0557C3.3804 5.74519 3.76682 5.52143 4.19068 5.40671C5.74241 4.98351 11.9879 4.9707 11.9879 4.9707C11.9879 4.9707 18.2331 4.9707 19.7848 5.3939C20.2087 5.50861 20.5951 5.73236 20.9056 6.04286ZM15.1806 11.9725L9.99976 14.9733V8.97168L15.1806 11.9725Z\" fill=\"currentColor\"/>%0A</svg>%0A');mask:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.9056 6.04286C21.2161 6.35336 21.4398 6.73978 21.5545 7.16363C22.2149 9.82202 22.0623 14.0207 21.5673 16.7817C21.4526 17.2055 21.2288 17.592 20.9183 17.9025C20.6078 18.213 20.2214 18.4367 19.7976 18.5514C18.2459 18.9746 12.0006 18.9746 12.0006 18.9746C12.0006 18.9746 5.7553 18.9746 4.20357 18.5514C3.77972 18.4367 3.39331 18.213 3.08282 17.9025C2.77234 17.592 2.54861 17.2055 2.43391 16.7817C1.76959 14.1349 1.95167 9.93364 2.42103 7.17652C2.53571 6.75265 2.75943 6.36622 3.06992 6.0557C3.3804 5.74519 3.76682 5.52143 4.19068 5.40671C5.74241 4.98351 11.9879 4.9707 11.9879 4.9707C11.9879 4.9707 18.2331 4.9707 19.7848 5.3939C20.2087 5.50861 20.5951 5.73236 20.9056 6.04286ZM15.1806 11.9725L9.99976 14.9733V8.97168L15.1806 11.9725Z\" fill=\"currentColor\"/>%0A</svg>%0A')}\n"] }]
114
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], def: [{ type: i0.Input, args: [{ isSignal: true, alias: "def", required: false }] }] } });
115
+
116
+ /**
117
+ * Generated bundle index. Do not edit.
118
+ */
119
+
120
+ export { SocialMediaButton, provideSocialMediaButtons };
121
+ //# sourceMappingURL=atlasng-design-system-buttons-social-media.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlasng-design-system-buttons-social-media.mjs","sources":["../../../../libs/design-system/buttons/social-media/src/lib/social-media.ts","../../../../libs/design-system/buttons/social-media/src/lib/social-media.html","../../../../libs/design-system/buttons/social-media/src/atlasng-design-system-buttons-social-media.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, InjectionToken, input, Provider } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { provideEventScope, TrackClick } from '@atlasng/analytics';\n\n/**\n * Definition for a single social media button.\n *\n * Rendering supports two icon strategies:\n * - Set `icon` to render a `mat-icon` using `[svgIcon]`.\n * - Omit `icon` and set `classes` so CSS can apply a mask icon\n * (for example one of the built-in class names).\n */\nexport interface SocialMediaButtonDef {\n /** Key used for `id`-based lookup. */\n id: string;\n /** Accessible label for the anchor button. */\n label: string;\n /** Destination URL for the external social media link. */\n url: string;\n /** CSS classes applied to the icon element. Can be used to create a mask icon instead of an SVG icon. */\n classes?: string | string[];\n /** Svg icon name registered with `MatIconRegistry` to render within the button. */\n icon?: string;\n}\n\n/** DI token for optional application-specific button definitions. */\nconst SOCIAL_MEDIA_BUTTON_DEFS = new InjectionToken<SocialMediaButtonDef[]>('SOCIAL_MEDIA_BUTTON_DEFS');\n\n/** Built-in definitions used when no matching injected definition exists. */\nexport const DEFAULT_SOCIAL_MEDIA_BUTTON_DEFS: SocialMediaButtonDef[] = [\n {\n id: 'linkedin',\n label: 'LinkedIn',\n url: 'https://www.linkedin.com/',\n classes: ['linkedin'],\n },\n {\n id: 'youtube',\n label: 'YouTube',\n url: 'https://www.youtube.com/',\n classes: ['youtube'],\n },\n {\n id: 'instagram',\n label: 'Instagram',\n url: 'https://www.instagram.com/',\n classes: ['instagram'],\n },\n {\n id: 'facebook',\n label: 'Facebook',\n url: 'https://www.facebook.com/',\n classes: ['facebook'],\n },\n {\n id: 'github',\n label: 'GitHub',\n url: 'https://github.com/',\n classes: ['github'],\n },\n {\n id: 'bluesky',\n label: 'Bluesky',\n url: 'https://bsky.app/',\n classes: ['bluesky'],\n },\n {\n id: 'x',\n label: 'X (formerly Twitter)',\n url: 'https://twitter.com/',\n classes: ['x'],\n },\n];\n\n/** Fallback definition used in production when no candidate resolves. */\nconst FALLBACK_SOCIAL_MEDIA_BUTTON_DEF: SocialMediaButtonDef = {\n id: '',\n label: 'Not available',\n url: '#',\n icon: 'error',\n};\n\n/**\n * Registers custom button definitions for `id`-based resolution.\n *\n * @param defs Array of button definitions to register.\n * @return Provider to include in the application module or component providers.\n */\nexport function provideSocialMediaButtons(defs: SocialMediaButtonDef[]): Provider {\n return { provide: SOCIAL_MEDIA_BUTTON_DEFS, useValue: defs };\n}\n\n@Component({\n selector: 'ang-social-media-button',\n imports: [MatButtonModule, MatIconModule, TrackClick],\n templateUrl: './social-media.html',\n styleUrl: './social-media.scss',\n providers: [provideEventScope('social-media-button')],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SocialMediaButton {\n /** Identifier used to resolve a definition from injected or built-in sets. */\n readonly id = input<string>();\n\n /** Explicit definition with precedence over any `id`-based resolution. */\n readonly def = input<SocialMediaButtonDef>();\n\n /** Resolved definition from either `def` input or `id` lookup. */\n protected readonly resolvedDef = computed(() => {\n for (const def of this.getDefCandidates()) {\n if (def) {\n return def;\n }\n }\n\n return FALLBACK_SOCIAL_MEDIA_BUTTON_DEF;\n });\n\n /** Optional custom definitions provided via dependency injection. */\n private readonly defs = inject(SOCIAL_MEDIA_BUTTON_DEFS, { optional: true });\n\n /**\n * Yields candidate definitions in precedence order:\n * 1) explicit `def` input\n * 2) injected definition matching `id`\n * 3) built-in definition matching `id`\n *\n * In dev mode, missing inputs or unresolved `id` will throw.\n */\n private *getDefCandidates(): Iterable<SocialMediaButtonDef | undefined> {\n yield this.def();\n\n const id = this.id();\n if (!id && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw new Error('SocialMediaButton requires an id or def input');\n }\n\n yield this.defs?.find((d) => d.id === id);\n yield DEFAULT_SOCIAL_MEDIA_BUTTON_DEFS.find((d) => d.id === id);\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw new Error(`No definition found for SocialMediaButton with id \"${id}\"`);\n }\n }\n}\n","@let def = resolvedDef();\n<a matIconButton angTrackClick target=\"_blank\" [attr.aria-label]=\"def.label\" [attr.href]=\"def.url\">\n @if (def.icon; as icon) {\n <mat-icon [class]=\"def.classes\" [svgIcon]=\"icon\" />\n } @else {\n <div class=\"mask-icon\" [class]=\"def.classes\"></div>\n }\n</a>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}