@crowdfarming/oliva-ds 1.17.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3625,12 +3625,18 @@ class LinkComponent {
3625
3625
  onMouseUp() {
3626
3626
  this.active.set(false);
3627
3627
  }
3628
+ onExternalClick(event) {
3629
+ if (this.external() && this.href()) {
3630
+ event.preventDefault();
3631
+ window.open(this.href(), '_blank', 'noopener,noreferrer');
3632
+ }
3633
+ }
3628
3634
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3629
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: LinkComponent, isStandalone: true, selector: "lib-link", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, loadingText: { classPropertyName: "loadingText", publicName: "loadingText", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, external: { classPropertyName: "external", publicName: "external", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, weight: { classPropertyName: "weight", publicName: "weight", isSignal: true, isRequired: false, transformFunction: null }, iconBefore: { classPropertyName: "iconBefore", publicName: "iconBefore", isSignal: true, isRequired: false, transformFunction: null }, iconAfter: { classPropertyName: "iconAfter", publicName: "iconAfter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<a\n [ngClass]=\"[\n 'c-link',\n variantClass(),\n sizeClass(),\n weightClass(),\n disabled() ? 'c-link--disabled' : ''\n ]\"\n [routerLink]=\"!external() ? href() : null\"\n [href]=\"external() ? href() : null\"\n [target]=\"target()\"\n [attr.rel]=\"rel()\"\n [attr.aria-disabled]=\"disabled() ? 'true' : null\"\n [attr.aria-label]=\"external() ? text() + ' (opens in a new tab)' : null\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n>\n @if (iconBefore()) {\n <span class=\"c-link__icon\">\n <lib-icon\n [name]=\"iconBefore()!\"\n [size]=\"iconSize()\"\n [color]=\"iconColor()\"\n ></lib-icon>\n </span>\n }\n <span class=\"c-link__text\">{{ text() }}</span>\n @if (external()) {\n <span class=\"sr-only\">(opens in a new tab)</span>\n } @if (iconAfter()) {\n <span class=\"c-link__icon\">\n <lib-icon\n [name]=\"iconAfter()!\"\n [size]=\"iconSize()\"\n [color]=\"iconColor()\"\n ></lib-icon>\n </span>\n }\n</a>\n", styles: [".sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.c-link{display:flex;align-items:center;width:max-content;gap:var(--space-component-gap-xs);font-family:var(--typography-label-md-default-family),sans-serif;font-weight:var(--typography-label-md-default-weight);font-size:var(--typography-label-md-default-size);line-height:var(--typography-label-md-default-line-height);letter-spacing:var(--typography-label-md-default-letter-spacing);text-decoration:none;border-radius:var(--size-border-radius-sm)}.c-link--sm{font-family:var(--typography-label-sm-default-family),sans-serif;font-weight:var(--typography-label-sm-default-weight);font-size:var(--typography-label-sm-default-size);line-height:var(--typography-label-sm-default-line-height);letter-spacing:var(--typography-label-sm-default-letter-spacing)}.c-link--xs{font-family:var(--typography-label-xs-default-family),sans-serif;font-weight:var(--typography-label-xs-default-weight);font-size:var(--typography-label-xs-default-size);line-height:var(--typography-label-xs-default-line-height);letter-spacing:var(--typography-label-xs-default-letter-spacing)}.c-link--bold{font-weight:var(--typography-font-weight-bold)}.c-link__icon{display:flex;align-items:center}.c-link:hover{text-decoration:underline}.c-link:focus-visible{box-shadow:var(--focus-outset);outline:none}.c-link--primary{color:var(--color-action-primary-content-default)}.c-link--primary:hover{color:var(--color-action-primary-content-hover)}.c-link--primary:active{color:var(--color-action-primary-content-pressed)}.c-link--neutral{color:var(--color-action-neutral-content-default)}.c-link--neutral:hover{color:var(--color-action-neutral-content-hover)}.c-link--neutral:active{color:var(--color-action-neutral-content-pressed)}.c-link--inverse{color:var(--color-action-inverse-content-default)}.c-link--inverse:hover{color:var(--color-action-inverse-content-hover)}.c-link--inverse:active{color:var(--color-action-inverse-content-pressed)}.c-link--danger{color:var(--color-action-danger-content-default)}.c-link--danger:hover{color:var(--color-action-danger-content-hover)}.c-link--danger:active{color:var(--color-action-danger-content-pressed)}.c-link--disabled{pointer-events:none;text-decoration:none}.c-link--disabled:hover{text-decoration:none}.c-link--disabled.c-link--primary{color:var(--color-action-primary-content-disabled)}.c-link--disabled.c-link--neutral{color:var(--color-action-neutral-content-disabled)}.c-link--disabled.c-link--inverse{color:var(--color-action-inverse-content-disabled)}.c-link--disabled.c-link--danger{color:var(--color-action-danger-content-disabled)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconComponent, selector: "lib-icon", inputs: ["size", "icon", "name", "color"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
3635
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: LinkComponent, isStandalone: true, selector: "lib-link", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, loadingText: { classPropertyName: "loadingText", publicName: "loadingText", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, external: { classPropertyName: "external", publicName: "external", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, weight: { classPropertyName: "weight", publicName: "weight", isSignal: true, isRequired: false, transformFunction: null }, iconBefore: { classPropertyName: "iconBefore", publicName: "iconBefore", isSignal: true, isRequired: false, transformFunction: null }, iconAfter: { classPropertyName: "iconAfter", publicName: "iconAfter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<a\n [ngClass]=\"[\n 'c-link',\n variantClass(),\n sizeClass(),\n weightClass(),\n disabled() ? 'c-link--disabled' : ''\n ]\"\n [routerLink]=\"!external() ? href() : null\"\n [href]=\"external() ? href() : null\"\n [target]=\"external() ? '_blank' : '_self'\"\n [attr.rel]=\"external() ? 'noopener noreferrer' : null\"\n [attr.aria-disabled]=\"disabled() ? 'true' : null\"\n [attr.aria-label]=\"external() ? text() + ' (opens in a new tab)' : null\"\n (click)=\"external() ? onExternalClick($event) : null\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n>\n @if (iconBefore()) {\n <span class=\"c-link__icon\">\n <lib-icon\n [name]=\"iconBefore()!\"\n [size]=\"iconSize()\"\n [color]=\"iconColor()\"\n ></lib-icon>\n </span>\n }\n <span class=\"c-link__text\">{{ text() }}</span>\n @if (external()) {\n <span class=\"sr-only\">(opens in a new tab)</span>\n } @if (iconAfter()) {\n <span class=\"c-link__icon\">\n <lib-icon\n [name]=\"iconAfter()!\"\n [size]=\"iconSize()\"\n [color]=\"iconColor()\"\n ></lib-icon>\n </span>\n }\n</a>\n", styles: [".sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.c-link{display:flex;align-items:center;width:max-content;gap:var(--space-component-gap-xs);font-family:var(--typography-label-md-default-family),sans-serif;font-weight:var(--typography-label-md-default-weight);font-size:var(--typography-label-md-default-size);line-height:var(--typography-label-md-default-line-height);letter-spacing:var(--typography-label-md-default-letter-spacing);text-decoration:none;border-radius:var(--size-border-radius-sm);cursor:pointer}.c-link--sm{font-family:var(--typography-label-sm-default-family),sans-serif;font-weight:var(--typography-label-sm-default-weight);font-size:var(--typography-label-sm-default-size);line-height:var(--typography-label-sm-default-line-height);letter-spacing:var(--typography-label-sm-default-letter-spacing)}.c-link--xs{font-family:var(--typography-label-xs-default-family),sans-serif;font-weight:var(--typography-label-xs-default-weight);font-size:var(--typography-label-xs-default-size);line-height:var(--typography-label-xs-default-line-height);letter-spacing:var(--typography-label-xs-default-letter-spacing)}.c-link--bold{font-weight:var(--typography-font-weight-bold)}.c-link__icon{display:flex;align-items:center}.c-link:hover{text-decoration:underline}.c-link:focus-visible{box-shadow:var(--focus-outset);outline:none}.c-link--primary{color:var(--color-action-primary-content-default)}.c-link--primary:hover{color:var(--color-action-primary-content-hover)}.c-link--primary:active{color:var(--color-action-primary-content-pressed)}.c-link--neutral{color:var(--color-action-neutral-content-default)}.c-link--neutral:hover{color:var(--color-action-neutral-content-hover)}.c-link--neutral:active{color:var(--color-action-neutral-content-pressed)}.c-link--inverse{color:var(--color-action-inverse-content-default)}.c-link--inverse:hover{color:var(--color-action-inverse-content-hover)}.c-link--inverse:active{color:var(--color-action-inverse-content-pressed)}.c-link--danger{color:var(--color-action-danger-content-default)}.c-link--danger:hover{color:var(--color-action-danger-content-hover)}.c-link--danger:active{color:var(--color-action-danger-content-pressed)}.c-link--disabled{pointer-events:none;text-decoration:none;cursor:not-allowed}.c-link--disabled:hover{text-decoration:none}.c-link--disabled.c-link--primary{color:var(--color-action-primary-content-disabled)}.c-link--disabled.c-link--neutral{color:var(--color-action-neutral-content-disabled)}.c-link--disabled.c-link--inverse{color:var(--color-action-inverse-content-disabled)}.c-link--disabled.c-link--danger{color:var(--color-action-danger-content-disabled)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconComponent, selector: "lib-icon", inputs: ["size", "icon", "name", "color"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
3630
3636
  }
3631
3637
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: LinkComponent, decorators: [{
3632
3638
  type: Component,
3633
- args: [{ selector: 'lib-link', imports: [NgClass, IconComponent, RouterLink], template: "<a\n [ngClass]=\"[\n 'c-link',\n variantClass(),\n sizeClass(),\n weightClass(),\n disabled() ? 'c-link--disabled' : ''\n ]\"\n [routerLink]=\"!external() ? href() : null\"\n [href]=\"external() ? href() : null\"\n [target]=\"target()\"\n [attr.rel]=\"rel()\"\n [attr.aria-disabled]=\"disabled() ? 'true' : null\"\n [attr.aria-label]=\"external() ? text() + ' (opens in a new tab)' : null\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n>\n @if (iconBefore()) {\n <span class=\"c-link__icon\">\n <lib-icon\n [name]=\"iconBefore()!\"\n [size]=\"iconSize()\"\n [color]=\"iconColor()\"\n ></lib-icon>\n </span>\n }\n <span class=\"c-link__text\">{{ text() }}</span>\n @if (external()) {\n <span class=\"sr-only\">(opens in a new tab)</span>\n } @if (iconAfter()) {\n <span class=\"c-link__icon\">\n <lib-icon\n [name]=\"iconAfter()!\"\n [size]=\"iconSize()\"\n [color]=\"iconColor()\"\n ></lib-icon>\n </span>\n }\n</a>\n", styles: [".sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.c-link{display:flex;align-items:center;width:max-content;gap:var(--space-component-gap-xs);font-family:var(--typography-label-md-default-family),sans-serif;font-weight:var(--typography-label-md-default-weight);font-size:var(--typography-label-md-default-size);line-height:var(--typography-label-md-default-line-height);letter-spacing:var(--typography-label-md-default-letter-spacing);text-decoration:none;border-radius:var(--size-border-radius-sm)}.c-link--sm{font-family:var(--typography-label-sm-default-family),sans-serif;font-weight:var(--typography-label-sm-default-weight);font-size:var(--typography-label-sm-default-size);line-height:var(--typography-label-sm-default-line-height);letter-spacing:var(--typography-label-sm-default-letter-spacing)}.c-link--xs{font-family:var(--typography-label-xs-default-family),sans-serif;font-weight:var(--typography-label-xs-default-weight);font-size:var(--typography-label-xs-default-size);line-height:var(--typography-label-xs-default-line-height);letter-spacing:var(--typography-label-xs-default-letter-spacing)}.c-link--bold{font-weight:var(--typography-font-weight-bold)}.c-link__icon{display:flex;align-items:center}.c-link:hover{text-decoration:underline}.c-link:focus-visible{box-shadow:var(--focus-outset);outline:none}.c-link--primary{color:var(--color-action-primary-content-default)}.c-link--primary:hover{color:var(--color-action-primary-content-hover)}.c-link--primary:active{color:var(--color-action-primary-content-pressed)}.c-link--neutral{color:var(--color-action-neutral-content-default)}.c-link--neutral:hover{color:var(--color-action-neutral-content-hover)}.c-link--neutral:active{color:var(--color-action-neutral-content-pressed)}.c-link--inverse{color:var(--color-action-inverse-content-default)}.c-link--inverse:hover{color:var(--color-action-inverse-content-hover)}.c-link--inverse:active{color:var(--color-action-inverse-content-pressed)}.c-link--danger{color:var(--color-action-danger-content-default)}.c-link--danger:hover{color:var(--color-action-danger-content-hover)}.c-link--danger:active{color:var(--color-action-danger-content-pressed)}.c-link--disabled{pointer-events:none;text-decoration:none}.c-link--disabled:hover{text-decoration:none}.c-link--disabled.c-link--primary{color:var(--color-action-primary-content-disabled)}.c-link--disabled.c-link--neutral{color:var(--color-action-neutral-content-disabled)}.c-link--disabled.c-link--inverse{color:var(--color-action-inverse-content-disabled)}.c-link--disabled.c-link--danger{color:var(--color-action-danger-content-disabled)}\n"] }]
3639
+ args: [{ selector: 'lib-link', imports: [NgClass, IconComponent, RouterLink], template: "<a\n [ngClass]=\"[\n 'c-link',\n variantClass(),\n sizeClass(),\n weightClass(),\n disabled() ? 'c-link--disabled' : ''\n ]\"\n [routerLink]=\"!external() ? href() : null\"\n [href]=\"external() ? href() : null\"\n [target]=\"external() ? '_blank' : '_self'\"\n [attr.rel]=\"external() ? 'noopener noreferrer' : null\"\n [attr.aria-disabled]=\"disabled() ? 'true' : null\"\n [attr.aria-label]=\"external() ? text() + ' (opens in a new tab)' : null\"\n (click)=\"external() ? onExternalClick($event) : null\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n>\n @if (iconBefore()) {\n <span class=\"c-link__icon\">\n <lib-icon\n [name]=\"iconBefore()!\"\n [size]=\"iconSize()\"\n [color]=\"iconColor()\"\n ></lib-icon>\n </span>\n }\n <span class=\"c-link__text\">{{ text() }}</span>\n @if (external()) {\n <span class=\"sr-only\">(opens in a new tab)</span>\n } @if (iconAfter()) {\n <span class=\"c-link__icon\">\n <lib-icon\n [name]=\"iconAfter()!\"\n [size]=\"iconSize()\"\n [color]=\"iconColor()\"\n ></lib-icon>\n </span>\n }\n</a>\n", styles: [".sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.c-link{display:flex;align-items:center;width:max-content;gap:var(--space-component-gap-xs);font-family:var(--typography-label-md-default-family),sans-serif;font-weight:var(--typography-label-md-default-weight);font-size:var(--typography-label-md-default-size);line-height:var(--typography-label-md-default-line-height);letter-spacing:var(--typography-label-md-default-letter-spacing);text-decoration:none;border-radius:var(--size-border-radius-sm);cursor:pointer}.c-link--sm{font-family:var(--typography-label-sm-default-family),sans-serif;font-weight:var(--typography-label-sm-default-weight);font-size:var(--typography-label-sm-default-size);line-height:var(--typography-label-sm-default-line-height);letter-spacing:var(--typography-label-sm-default-letter-spacing)}.c-link--xs{font-family:var(--typography-label-xs-default-family),sans-serif;font-weight:var(--typography-label-xs-default-weight);font-size:var(--typography-label-xs-default-size);line-height:var(--typography-label-xs-default-line-height);letter-spacing:var(--typography-label-xs-default-letter-spacing)}.c-link--bold{font-weight:var(--typography-font-weight-bold)}.c-link__icon{display:flex;align-items:center}.c-link:hover{text-decoration:underline}.c-link:focus-visible{box-shadow:var(--focus-outset);outline:none}.c-link--primary{color:var(--color-action-primary-content-default)}.c-link--primary:hover{color:var(--color-action-primary-content-hover)}.c-link--primary:active{color:var(--color-action-primary-content-pressed)}.c-link--neutral{color:var(--color-action-neutral-content-default)}.c-link--neutral:hover{color:var(--color-action-neutral-content-hover)}.c-link--neutral:active{color:var(--color-action-neutral-content-pressed)}.c-link--inverse{color:var(--color-action-inverse-content-default)}.c-link--inverse:hover{color:var(--color-action-inverse-content-hover)}.c-link--inverse:active{color:var(--color-action-inverse-content-pressed)}.c-link--danger{color:var(--color-action-danger-content-default)}.c-link--danger:hover{color:var(--color-action-danger-content-hover)}.c-link--danger:active{color:var(--color-action-danger-content-pressed)}.c-link--disabled{pointer-events:none;text-decoration:none;cursor:not-allowed}.c-link--disabled:hover{text-decoration:none}.c-link--disabled.c-link--primary{color:var(--color-action-primary-content-disabled)}.c-link--disabled.c-link--neutral{color:var(--color-action-neutral-content-disabled)}.c-link--disabled.c-link--inverse{color:var(--color-action-inverse-content-disabled)}.c-link--disabled.c-link--danger{color:var(--color-action-danger-content-disabled)}\n"] }]
3634
3640
  }] });
3635
3641
 
3636
3642
  class PaginationComponent {