@lucca-front/ng 20.0.1 → 20.0.3-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/date2/index.d.ts CHANGED
@@ -317,4 +317,4 @@ declare class DateRangeInputComponent extends AbstractDateComponent implements C
317
317
  }
318
318
 
319
319
  export { Calendar2Component, DateInputComponent, DateRangeInputComponent, PremadeShortcuts, getDateFormat, getLocalizedDateFormat };
320
- export type { CalendarMode, CalendarShortcut, CellStatus, DateInputValidatorErrorType };
320
+ export type { CalendarMode, CalendarShortcut, CellStatus, DateInputValidatorErrorType, DateRange, DateRangeInput };
@@ -1,8 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ElementRef, Renderer2, input, booleanAttribute, signal, effect, HostBinding, Input, ViewEncapsulation, Component } from '@angular/core';
3
- import * as i1 from '@angular/router';
4
- import { RouterLink } from '@angular/router';
2
+ import { InjectionToken, Directive, inject, input, booleanAttribute, effect, HostBinding, Input, ViewEncapsulation, Component } from '@angular/core';
5
3
  import { getIntl } from '@lucca-front/ng/core';
4
+ import { RouterLink } from '@angular/router';
6
5
 
7
6
  const Translations = {
8
7
  en: {
@@ -33,11 +32,21 @@ const LU_LINK_TRANSLATIONS = new InjectionToken('luLinkTranslations', {
33
32
  });
34
33
  const luLinkTranslations = Translations;
35
34
 
35
+ class LuRouterLink extends RouterLink {
36
+ get publicReactiveHref() {
37
+ return this.reactiveHref;
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuRouterLink, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
40
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: LuRouterLink, isStandalone: true, selector: "[luRouterLink]", usesInheritance: true, ngImport: i0 }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuRouterLink, decorators: [{
43
+ type: Directive,
44
+ args: [{
45
+ selector: '[luRouterLink]',
46
+ }]
47
+ }] });
48
+
36
49
  class LinkComponent {
37
- #elementRef;
38
- #renderer;
39
- #routerLink;
40
- #observer;
41
50
  get relAttr() {
42
51
  return this.external && !this.disabled() ? 'noopener noreferrer' : null;
43
52
  }
@@ -52,53 +61,46 @@ class LinkComponent {
52
61
  }
53
62
  constructor() {
54
63
  this.intl = getIntl(LU_LINK_TRANSLATIONS);
55
- this.#elementRef = inject(ElementRef);
56
- this.#renderer = inject(Renderer2);
57
- this.#routerLink = inject(RouterLink);
64
+ this.routerLink = inject(LuRouterLink);
65
+ this.luHref = input('', { alias: 'href' });
58
66
  this.routerLinkCommands = input(null, { alias: 'luLink' });
59
67
  this.disabled = input(false, { transform: booleanAttribute });
60
68
  this.decorationHover = false;
61
69
  this.external = false;
62
- const href = signal(this.#elementRef.nativeElement.href);
63
- this.#observer = new MutationObserver(() => {
64
- href.set(this.#elementRef.nativeElement.href);
65
- });
66
- this.#observer.observe(this.#elementRef.nativeElement, { attributes: true, attributeFilter: ['href'] });
70
+ const href = this.luHref;
67
71
  effect(() => {
68
72
  if (href()) {
69
73
  this.hrefBackup = href();
74
+ this.routerLink.publicReactiveHref.set(this.hrefBackup);
70
75
  }
71
76
  if (this.disabled()) {
72
77
  if (this.routerLinkCommands()) {
73
- this.#routerLink.routerLink = null;
74
- this.#renderer.removeAttribute(this.#elementRef.nativeElement, 'href');
75
- }
76
- else {
77
- this.#renderer.removeAttribute(this.#elementRef.nativeElement, 'href');
78
+ this.routerLink.routerLink = null;
78
79
  }
80
+ this.routerLink.publicReactiveHref.set(null);
79
81
  }
80
82
  else if (this.routerLinkCommands()) {
81
- this.#routerLink.routerLink = this.routerLinkCommands();
83
+ this.routerLink.routerLink = this.routerLinkCommands();
82
84
  // We need to do this in order to have `routerLink` update the value for `href`:
83
85
  // See https://github.com/angular/angular/blob/main/packages/router/src/directives/router_link.ts#L281
84
- this.#routerLink.ngOnChanges({});
86
+ this.routerLink.ngOnChanges({});
85
87
  }
86
88
  else if (!href() && this.hrefBackup) {
87
- this.#renderer.setAttribute(this.#elementRef.nativeElement, 'href', this.hrefBackup);
89
+ this.routerLink.publicReactiveHref.set(this.hrefBackup);
88
90
  }
89
91
  });
90
92
  }
91
- ngOnDestroy() {
92
- this.#observer.disconnect();
93
- }
94
93
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
95
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LinkComponent, isStandalone: true, selector: "a[luLink], button[luLink]", inputs: { routerLinkCommands: { classPropertyName: "routerLinkCommands", publicName: "luLink", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, decorationHover: { classPropertyName: "decorationHover", publicName: "decorationHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, external: { classPropertyName: "external", publicName: "external", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, host: { properties: { "class.mod-decorationHover": "this.decorationHover", "class.mod-icon": "this.external", "attr.rel": "this.relAttr", "attr.target": "this.targetAttr", "attr.role": "this.roleAttr", "class.is-disabled": "this.disabledClass" }, classAttribute: "link" }, hostDirectives: [{ directive: i1.RouterLink, inputs: ["preserveFragment", "preserveFragment", "skipLocationChange", "skipLocationChange", "replaceUrl", "replaceUrl", "queryParams", "queryParams", "fragment", "fragment", "queryParamsHandling", "queryParamsHandling", "state", "state", "info", "info", "relativeTo", "relativeTo"] }], ngImport: i0, template: "<span class=\"link-text\"><ng-content /></span>\n@if (external) {\n<span class=\"link-icon\">\n\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowExternal\"></span>\n</span>\n<span class=\"u-mask\">{{ intl.external }}</span>\n}\n", styles: ["@charset \"UTF-8\";.link{background-color:transparent;border:0;color:var(--commons-text-link-color);cursor:pointer;font-family:inherit;margin:0;padding:0;text-decoration:underline}.link:not(:disabled,.is-disabled):hover{color:var(--commons-text-link-hover)}.link:not(:disabled,.is-disabled):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--commons-borderRadius-M)}.link.mod-icon .lucca-icon{text-decoration:none;font-size:1em;line-height:1lh;vertical-align:bottom}.link.mod-icon:has(.link-text){text-decoration:none}.link.mod-icon:not(:has(.link-icon)) .lucca-icon{margin-inline-start:.2em}.link-text{text-decoration:underline}.link-icon{white-space:nowrap}.link-icon:before{content:\"\\a0\"}.link.mod-decorationHover,.link.mod-decorationHover .link-text{text-decoration:none}.link.mod-decorationHover:not(:has(.link-text)):hover{text-decoration:underline}.link.mod-decorationHover:has(.link-text):hover .link-text{text-decoration:underline}.link:is(:disabled,.is-disabled){color:var(--commons-text-link-disabled);cursor:not-allowed}\n"], encapsulation: i0.ViewEncapsulation.None }); }
94
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LinkComponent, isStandalone: true, selector: "a[luLink], button[luLink]", inputs: { luHref: { classPropertyName: "luHref", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, routerLinkCommands: { classPropertyName: "routerLinkCommands", publicName: "luLink", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, decorationHover: { classPropertyName: "decorationHover", publicName: "decorationHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, external: { classPropertyName: "external", publicName: "external", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, host: { properties: { "attr.href": "routerLink.publicReactiveHref()", "class.mod-decorationHover": "this.decorationHover", "class.mod-icon": "this.external", "attr.rel": "this.relAttr", "attr.target": "this.targetAttr", "attr.role": "this.roleAttr", "class.is-disabled": "this.disabledClass" }, classAttribute: "link" }, hostDirectives: [{ directive: LuRouterLink, inputs: ["preserveFragment", "preserveFragment", "skipLocationChange", "skipLocationChange", "replaceUrl", "replaceUrl", "queryParams", "queryParams", "fragment", "fragment", "queryParamsHandling", "queryParamsHandling", "state", "state", "info", "info", "relativeTo", "relativeTo"] }], ngImport: i0, template: "<span class=\"link-text\"><ng-content /></span>\n@if (external) {\n<span class=\"link-icon\">\n\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowExternal\"></span>\n</span>\n<span class=\"u-mask\">{{ intl.external }}</span>\n}\n", styles: ["@charset \"UTF-8\";.link{background-color:transparent;border:0;color:var(--commons-text-link-color);cursor:pointer;font-family:inherit;margin:0;padding:0;text-decoration:underline}.link:not(:disabled,.is-disabled):hover{color:var(--commons-text-link-hover)}.link:not(:disabled,.is-disabled):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--commons-borderRadius-M)}.link.mod-icon .lucca-icon{text-decoration:none;font-size:1em;line-height:1lh;vertical-align:bottom}.link.mod-icon:has(.link-text){text-decoration:none}.link.mod-icon:not(:has(.link-icon)) .lucca-icon{margin-inline-start:.2em}.link-text{text-decoration:underline}.link-icon{white-space:nowrap}.link-icon:before{content:\"\\a0\"}.link.mod-decorationHover,.link.mod-decorationHover .link-text{text-decoration:none}.link.mod-decorationHover:not(:has(.link-text)):hover{text-decoration:underline}.link.mod-decorationHover:has(.link-text):hover .link-text{text-decoration:underline}.link:is(:disabled,.is-disabled){color:var(--commons-text-link-disabled);cursor:not-allowed}\n"], encapsulation: i0.ViewEncapsulation.None }); }
96
95
  }
97
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LinkComponent, decorators: [{
98
97
  type: Component,
99
- args: [{ selector: 'a[luLink], button[luLink]', standalone: true, encapsulation: ViewEncapsulation.None, host: { class: 'link' }, hostDirectives: [
98
+ args: [{ selector: 'a[luLink], button[luLink]', standalone: true, encapsulation: ViewEncapsulation.None, host: {
99
+ class: 'link',
100
+ '[attr.href]': 'routerLink.publicReactiveHref()',
101
+ }, hostDirectives: [
100
102
  {
101
- directive: RouterLink,
103
+ directive: LuRouterLink,
102
104
  inputs: ['preserveFragment', 'skipLocationChange', 'replaceUrl', 'queryParams', 'fragment', 'queryParamsHandling', 'state', 'info', 'relativeTo'],
103
105
  },
104
106
  ], template: "<span class=\"link-text\"><ng-content /></span>\n@if (external) {\n<span class=\"link-icon\">\n\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowExternal\"></span>\n</span>\n<span class=\"u-mask\">{{ intl.external }}</span>\n}\n", styles: ["@charset \"UTF-8\";.link{background-color:transparent;border:0;color:var(--commons-text-link-color);cursor:pointer;font-family:inherit;margin:0;padding:0;text-decoration:underline}.link:not(:disabled,.is-disabled):hover{color:var(--commons-text-link-hover)}.link:not(:disabled,.is-disabled):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--commons-borderRadius-M)}.link.mod-icon .lucca-icon{text-decoration:none;font-size:1em;line-height:1lh;vertical-align:bottom}.link.mod-icon:has(.link-text){text-decoration:none}.link.mod-icon:not(:has(.link-icon)) .lucca-icon{margin-inline-start:.2em}.link-text{text-decoration:underline}.link-icon{white-space:nowrap}.link-icon:before{content:\"\\a0\"}.link.mod-decorationHover,.link.mod-decorationHover .link-text{text-decoration:none}.link.mod-decorationHover:not(:has(.link-text)):hover{text-decoration:underline}.link.mod-decorationHover:has(.link-text):hover .link-text{text-decoration:underline}.link:is(:disabled,.is-disabled){color:var(--commons-text-link-disabled);cursor:not-allowed}\n"] }]
@@ -136,5 +138,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
136
138
  * Generated bundle index. Do not edit.
137
139
  */
138
140
 
139
- export { LinkComponent };
141
+ export { LinkComponent, LuRouterLink };
140
142
  //# sourceMappingURL=lucca-front-ng-link.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-link.mjs","sources":["../../../packages/ng/link/translations.ts","../../../packages/ng/link/link.translate.ts","../../../packages/ng/link/link.component.ts","../../../packages/ng/link/link.component.html","../../../packages/ng/link/lucca-front-ng-link.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\texternal: '(Open in a new window.)',\n\t},\n\tde: {\n\t\texternal: '(In einem neuen Fenster öffnen.)',\n\t},\n\tfr: {\n\t\texternal: '(Ouvrir dans une nouvelle fenêtre.)',\n\t},\n\tit: {\n\t\texternal: '(Aprire in una nuova finestra.)',\n\t},\n\tnl: {\n\t\texternal: '(Open in een nieuw venster.)',\n\t},\n\tes: {\n\t\texternal: '(Abrir en una nueva ventana.)',\n\t},\n\tpt: {\n\t\texternal: '(Abrir numa nova janela.)',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_LINK_TRANSLATIONS = new InjectionToken('luLinkTranslations', {\n\tfactory: () => luLinkTranslations,\n});\n\nexport interface LinkTranslate {\n\texternal: string;\n}\n\nexport const luLinkTranslations: LuTranslation<LinkTranslate> = Translations;\n","import { booleanAttribute, Component, effect, ElementRef, HostBinding, inject, input, Input, OnDestroy, Renderer2, signal, ViewEncapsulation } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LU_LINK_TRANSLATIONS } from './link.translate';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'a[luLink], button[luLink]',\n\tstandalone: true,\n\ttemplateUrl: './link.component.html',\n\tstyleUrls: ['./link.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\thost: { class: 'link' },\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: RouterLink,\n\t\t\tinputs: ['preserveFragment', 'skipLocationChange', 'replaceUrl', 'queryParams', 'fragment', 'queryParamsHandling', 'state', 'info', 'relativeTo'],\n\t\t},\n\t],\n})\nexport class LinkComponent implements OnDestroy {\n\tintl = getIntl(LU_LINK_TRANSLATIONS);\n\n\t#elementRef = inject<ElementRef<HTMLLinkElement>>(ElementRef);\n\t#renderer = inject(Renderer2);\n\t#routerLink = inject(RouterLink);\n\n\t#observer: MutationObserver;\n\n\trouterLinkCommands = input<RouterLink['routerLink'] | null>(null, { alias: 'luLink' });\n\n\tdisabled = input(false, { transform: booleanAttribute });\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\t@HostBinding('class.mod-decorationHover')\n\tdecorationHover = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\t@HostBinding('class.mod-icon')\n\texternal = false;\n\n\t@HostBinding('attr.rel')\n\tget relAttr() {\n\t\treturn this.external && !this.disabled() ? 'noopener noreferrer' : null;\n\t}\n\n\t@HostBinding('attr.target')\n\tget targetAttr() {\n\t\treturn this.external && !this.disabled() ? '_blank' : null;\n\t}\n\n\t@HostBinding('attr.role')\n\tget roleAttr() {\n\t\treturn this.disabled() ? 'presentation' : null;\n\t}\n\n\t@HostBinding('class.is-disabled')\n\tget disabledClass() {\n\t\treturn this.disabled();\n\t}\n\n\threfBackup: string;\n\n\tconstructor() {\n\t\tconst href = signal<string>(this.#elementRef.nativeElement.href);\n\n\t\tthis.#observer = new MutationObserver(() => {\n\t\t\thref.set(this.#elementRef.nativeElement.href);\n\t\t});\n\n\t\tthis.#observer.observe(this.#elementRef.nativeElement, { attributes: true, attributeFilter: ['href'] });\n\n\t\teffect(() => {\n\t\t\tif (href()) {\n\t\t\t\tthis.hrefBackup = href();\n\t\t\t}\n\t\t\tif (this.disabled()) {\n\t\t\t\tif (this.routerLinkCommands()) {\n\t\t\t\t\tthis.#routerLink.routerLink = null;\n\t\t\t\t\tthis.#renderer.removeAttribute(this.#elementRef.nativeElement, 'href');\n\t\t\t\t} else {\n\t\t\t\t\tthis.#renderer.removeAttribute(this.#elementRef.nativeElement, 'href');\n\t\t\t\t}\n\t\t\t} else if (this.routerLinkCommands()) {\n\t\t\t\tthis.#routerLink.routerLink = this.routerLinkCommands();\n\t\t\t\t// We need to do this in order to have `routerLink` update the value for `href`:\n\t\t\t\t// See https://github.com/angular/angular/blob/main/packages/router/src/directives/router_link.ts#L281\n\t\t\t\tthis.#routerLink.ngOnChanges({});\n\t\t\t} else if (!href() && this.hrefBackup) {\n\t\t\t\tthis.#renderer.setAttribute(this.#elementRef.nativeElement, 'href', this.hrefBackup);\n\t\t\t}\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.#observer.disconnect();\n\t}\n}\n","<span class=\"link-text\"><ng-content /></span>\n@if (external) {\n<span class=\"link-icon\">\n\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowExternal\"></span>\n</span>\n<span class=\"u-mask\">{{ intl.external }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-link.mjs","sources":["../../../packages/ng/link/translations.ts","../../../packages/ng/link/link.translate.ts","../../../packages/ng/link/lu-router-link.ts","../../../packages/ng/link/link.component.ts","../../../packages/ng/link/link.component.html","../../../packages/ng/link/lucca-front-ng-link.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\texternal: '(Open in a new window.)',\n\t},\n\tde: {\n\t\texternal: '(In einem neuen Fenster öffnen.)',\n\t},\n\tfr: {\n\t\texternal: '(Ouvrir dans une nouvelle fenêtre.)',\n\t},\n\tit: {\n\t\texternal: '(Aprire in una nuova finestra.)',\n\t},\n\tnl: {\n\t\texternal: '(Open in een nieuw venster.)',\n\t},\n\tes: {\n\t\texternal: '(Abrir en una nueva ventana.)',\n\t},\n\tpt: {\n\t\texternal: '(Abrir numa nova janela.)',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_LINK_TRANSLATIONS = new InjectionToken('luLinkTranslations', {\n\tfactory: () => luLinkTranslations,\n});\n\nexport interface LinkTranslate {\n\texternal: string;\n}\n\nexport const luLinkTranslations: LuTranslation<LinkTranslate> = Translations;\n","import { RouterLink } from '@angular/router';\nimport { Directive, WritableSignal } from '@angular/core';\n\n@Directive({\n\tselector: '[luRouterLink]',\n})\nexport class LuRouterLink extends RouterLink {\n\tget publicReactiveHref(): WritableSignal<string | null> {\n\t\treturn this.reactiveHref;\n\t}\n}\n","import { booleanAttribute, Component, effect, HostBinding, inject, input, Input, ViewEncapsulation } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LU_LINK_TRANSLATIONS } from './link.translate';\nimport { LuRouterLink } from './lu-router-link';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'a[luLink], button[luLink]',\n\tstandalone: true,\n\ttemplateUrl: './link.component.html',\n\tstyleUrls: ['./link.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'link',\n\t\t'[attr.href]': 'routerLink.publicReactiveHref()',\n\t},\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: LuRouterLink,\n\t\t\tinputs: ['preserveFragment', 'skipLocationChange', 'replaceUrl', 'queryParams', 'fragment', 'queryParamsHandling', 'state', 'info', 'relativeTo'],\n\t\t},\n\t],\n})\nexport class LinkComponent {\n\tintl = getIntl(LU_LINK_TRANSLATIONS);\n\trouterLink = inject(LuRouterLink);\n\n\tluHref = input('', { alias: 'href' });\n\n\trouterLinkCommands = input<LuRouterLink['routerLink'] | null>(null, { alias: 'luLink' });\n\n\tdisabled = input(false, { transform: booleanAttribute });\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\t@HostBinding('class.mod-decorationHover')\n\tdecorationHover = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\t@HostBinding('class.mod-icon')\n\texternal = false;\n\n\t@HostBinding('attr.rel')\n\tget relAttr() {\n\t\treturn this.external && !this.disabled() ? 'noopener noreferrer' : null;\n\t}\n\n\t@HostBinding('attr.target')\n\tget targetAttr() {\n\t\treturn this.external && !this.disabled() ? '_blank' : null;\n\t}\n\n\t@HostBinding('attr.role')\n\tget roleAttr() {\n\t\treturn this.disabled() ? 'presentation' : null;\n\t}\n\n\t@HostBinding('class.is-disabled')\n\tget disabledClass() {\n\t\treturn this.disabled();\n\t}\n\n\threfBackup: string;\n\n\tconstructor() {\n\t\tconst href = this.luHref;\n\n\t\teffect(() => {\n\t\t\tif (href()) {\n\t\t\t\tthis.hrefBackup = href();\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.hrefBackup);\n\t\t\t}\n\t\t\tif (this.disabled()) {\n\t\t\t\tif (this.routerLinkCommands()) {\n\t\t\t\t\tthis.routerLink.routerLink = null;\n\t\t\t\t}\n\t\t\t\tthis.routerLink.publicReactiveHref.set(null);\n\t\t\t} else if (this.routerLinkCommands()) {\n\t\t\t\tthis.routerLink.routerLink = this.routerLinkCommands();\n\t\t\t\t// We need to do this in order to have `routerLink` update the value for `href`:\n\t\t\t\t// See https://github.com/angular/angular/blob/main/packages/router/src/directives/router_link.ts#L281\n\t\t\t\tthis.routerLink.ngOnChanges({});\n\t\t\t} else if (!href() && this.hrefBackup) {\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.hrefBackup);\n\t\t\t}\n\t\t});\n\t}\n}\n","<span class=\"link-text\"><ng-content /></span>\n@if (external) {\n<span class=\"link-icon\">\n\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowExternal\"></span>\n</span>\n<span class=\"u-mask\">{{ intl.external }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAAO,MAAM,YAAY,GAAG;AAC3B,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,yBAAyB;AACnC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,kCAAkC;AAC5C,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,qCAAqC;AAC/C,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,iCAAiC;AAC3C,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,8BAA8B;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,+BAA+B;AACzC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,2BAA2B;AACrC,KAAA;CACD;;AClBM,MAAM,oBAAoB,GAAG,IAAI,cAAc,CAAC,oBAAoB,EAAE;AAC5E,IAAA,OAAO,EAAE,MAAM,kBAAkB;AACjC,CAAA,CAAC;AAMK,MAAM,kBAAkB,GAAiC,YAAY;;ACNtE,MAAO,YAAa,SAAQ,UAAU,CAAA;AAC3C,IAAA,IAAI,kBAAkB,GAAA;QACrB,OAAO,IAAI,CAAC,YAAY;;8GAFb,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,iBAAA;;;MCkBY,aAAa,CAAA;AAsBzB,IAAA,IACI,OAAO,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,qBAAqB,GAAG,IAAI;;AAGxE,IAAA,IACI,UAAU,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,GAAG,IAAI;;AAG3D,IAAA,IACI,QAAQ,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,cAAc,GAAG,IAAI;;AAG/C,IAAA,IACI,aAAa,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;;AAKvB,IAAA,WAAA,GAAA;AA3CA,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,oBAAoB,CAAC;AACpC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC;QAEjC,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAErC,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAoC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAExF,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAMxD,IAAe,CAAA,eAAA,GAAG,KAAK;QAMvB,IAAQ,CAAA,QAAA,GAAG,KAAK;AAyBf,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM;QAExB,MAAM,CAAC,MAAK;YACX,IAAI,IAAI,EAAE,EAAE;AACX,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE;gBACxB,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;;AAExD,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,gBAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC9B,oBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI;;gBAElC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;;AACtC,iBAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBACrC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE;;;AAGtD,gBAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;;iBACzB,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;gBACtC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;;AAEzD,SAAC,CAAC;;8GAjES,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAWb,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,gBAAgB,EAMhB,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,gBAAgB,0qBCxC7B,8OAOA,EAAA,MAAA,EAAA,CAAA,+jCAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDgBa,aAAa,EAAA,UAAA,EAAA,CAAA;kBAlBzB,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,cACzB,IAAI,EAAA,aAAA,EAGD,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA;AACL,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,aAAa,EAAE,iCAAiC;qBAChD,EACe,cAAA,EAAA;AACf,wBAAA;AACC,4BAAA,SAAS,EAAE,YAAY;AACvB,4BAAA,MAAM,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;AACjJ,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,8OAAA,EAAA,MAAA,EAAA,CAAA,+jCAAA,CAAA,EAAA;wDAgBD,eAAe,EAAA,CAAA;sBAJd,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA;AACN,wBAAA,SAAS,EAAE,gBAAgB;AAC3B,qBAAA;;sBACA,WAAW;uBAAC,2BAA2B;gBAOxC,QAAQ,EAAA,CAAA;sBAJP,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA;AACN,wBAAA,SAAS,EAAE,gBAAgB;AAC3B,qBAAA;;sBACA,WAAW;uBAAC,gBAAgB;gBAIzB,OAAO,EAAA,CAAA;sBADV,WAAW;uBAAC,UAAU;gBAMnB,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,aAAa;gBAMtB,QAAQ,EAAA,CAAA;sBADX,WAAW;uBAAC,WAAW;gBAMpB,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,mBAAmB;;;AE5DjC;;AAEG;;;;"}
package/link/index.d.ts CHANGED
@@ -1,16 +1,24 @@
1
- import * as _angular_core from '@angular/core';
2
- import { OnDestroy } from '@angular/core';
3
1
  import * as _angular_router from '@angular/router';
2
+ import { RouterLink } from '@angular/router';
3
+ import * as i0 from '@angular/core';
4
+ import { WritableSignal } from '@angular/core';
4
5
 
5
6
  interface LinkTranslate {
6
7
  external: string;
7
8
  }
8
9
 
9
- declare class LinkComponent implements OnDestroy {
10
- #private;
10
+ declare class LuRouterLink extends RouterLink {
11
+ get publicReactiveHref(): WritableSignal<string | null>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<LuRouterLink, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LuRouterLink, "[luRouterLink]", never, {}, {}, never, never, true, never>;
14
+ }
15
+
16
+ declare class LinkComponent {
11
17
  intl: LinkTranslate;
12
- routerLinkCommands: _angular_core.InputSignal<string | readonly any[] | _angular_router.UrlTree>;
13
- disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
18
+ routerLink: LuRouterLink;
19
+ luHref: i0.InputSignal<string>;
20
+ routerLinkCommands: i0.InputSignal<string | readonly any[] | _angular_router.UrlTree>;
21
+ disabled: i0.InputSignalWithTransform<boolean, unknown>;
14
22
  decorationHover: boolean;
15
23
  external: boolean;
16
24
  get relAttr(): string;
@@ -19,11 +27,10 @@ declare class LinkComponent implements OnDestroy {
19
27
  get disabledClass(): boolean;
20
28
  hrefBackup: string;
21
29
  constructor();
22
- ngOnDestroy(): void;
23
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LinkComponent, never>;
24
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LinkComponent, "a[luLink], button[luLink]", never, { "routerLinkCommands": { "alias": "luLink"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "decorationHover": { "alias": "decorationHover"; "required": false; }; "external": { "alias": "external"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof _angular_router.RouterLink; inputs: { "preserveFragment": "preserveFragment"; "skipLocationChange": "skipLocationChange"; "replaceUrl": "replaceUrl"; "queryParams": "queryParams"; "fragment": "fragment"; "queryParamsHandling": "queryParamsHandling"; "state": "state"; "info": "info"; "relativeTo": "relativeTo"; }; outputs: {}; }]>;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<LinkComponent, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<LinkComponent, "a[luLink], button[luLink]", never, { "luHref": { "alias": "href"; "required": false; "isSignal": true; }; "routerLinkCommands": { "alias": "luLink"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "decorationHover": { "alias": "decorationHover"; "required": false; }; "external": { "alias": "external"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof LuRouterLink; inputs: { "preserveFragment": "preserveFragment"; "skipLocationChange": "skipLocationChange"; "replaceUrl": "replaceUrl"; "queryParams": "queryParams"; "fragment": "fragment"; "queryParamsHandling": "queryParamsHandling"; "state": "state"; "info": "info"; "relativeTo": "relativeTo"; }; outputs: {}; }]>;
25
32
  static ngAcceptInputType_decorationHover: unknown;
26
33
  static ngAcceptInputType_external: unknown;
27
34
  }
28
35
 
29
- export { LinkComponent };
36
+ export { LinkComponent, LuRouterLink };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/ng",
3
- "version": "20.0.1",
3
+ "version": "20.0.3-rc.1",
4
4
  "description": "A library of icons made by the team @Lucca",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,8 +26,8 @@
26
26
  "@angular/common": "^20.0.0",
27
27
  "@angular/core": "^20.0.0",
28
28
  "@angular/cdk": "^20.0.0",
29
- "@lucca-front/icons": "20.0.1",
30
- "@lucca-front/scss": "20.0.1",
29
+ "@lucca-front/icons": "20.0.3-rc.1",
30
+ "@lucca-front/scss": "20.0.3-rc.1",
31
31
  "isomorphic-dompurify": "^2.17.0",
32
32
  "date-fns": "^3.6.0",
33
33
  "rxjs": "^7.8.0",
@@ -87,10 +87,6 @@
87
87
  "types": "./api/index.d.ts",
88
88
  "default": "./fesm2022/lucca-front-ng-api.mjs"
89
89
  },
90
- "./a11y": {
91
- "types": "./a11y/index.d.ts",
92
- "default": "./fesm2022/lucca-front-ng-a11y.mjs"
93
- },
94
90
  "./breadcrumbs": {
95
91
  "types": "./breadcrumbs/index.d.ts",
96
92
  "default": "./fesm2022/lucca-front-ng-breadcrumbs.mjs"
@@ -99,6 +95,10 @@
99
95
  "types": "./button/index.d.ts",
100
96
  "default": "./fesm2022/lucca-front-ng-button.mjs"
101
97
  },
98
+ "./a11y": {
99
+ "types": "./a11y/index.d.ts",
100
+ "default": "./fesm2022/lucca-front-ng-a11y.mjs"
101
+ },
102
102
  "./callout": {
103
103
  "types": "./callout/index.d.ts",
104
104
  "default": "./fesm2022/lucca-front-ng-callout.mjs"
@@ -291,14 +291,14 @@
291
291
  "types": "./simple-select/index.d.ts",
292
292
  "default": "./fesm2022/lucca-front-ng-simple-select.mjs"
293
293
  },
294
- "./skeleton": {
295
- "types": "./skeleton/index.d.ts",
296
- "default": "./fesm2022/lucca-front-ng-skeleton.mjs"
297
- },
298
294
  "./statusBadge": {
299
295
  "types": "./statusBadge/index.d.ts",
300
296
  "default": "./fesm2022/lucca-front-ng-statusBadge.mjs"
301
297
  },
298
+ "./skeleton": {
299
+ "types": "./skeleton/index.d.ts",
300
+ "default": "./fesm2022/lucca-front-ng-skeleton.mjs"
301
+ },
302
302
  "./tag": {
303
303
  "types": "./tag/index.d.ts",
304
304
  "default": "./fesm2022/lucca-front-ng-tag.mjs"