@wawjs/ngx-prime 22.0.0 → 22.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.
- package/fesm2022/wawjs-ngx-prime-button.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-button.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-buylicense.mjs +60 -0
- package/fesm2022/wawjs-ngx-prime-buylicense.mjs.map +1 -0
- package/fesm2022/wawjs-ngx-prime-checkbox.mjs +5 -1
- package/fesm2022/wawjs-ngx-prime-checkbox.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-colorpicker.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-colorpicker.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-config.mjs +109 -6
- package/fesm2022/wawjs-ngx-prime-config.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs +11 -0
- package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dataview.mjs +8 -8
- package/fesm2022/wawjs-ngx-prime-dataview.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-fileupload.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-fileupload.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icon.mjs +107 -0
- package/fesm2022/wawjs-ngx-prime-icon.mjs.map +1 -0
- package/fesm2022/wawjs-ngx-prime-inputmask.mjs +5 -1
- package/fesm2022/wawjs-ngx-prime-inputmask.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputnumber.mjs +5 -1
- package/fesm2022/wawjs-ngx-prime-inputnumber.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-panelmenu.mjs +2 -1
- package/fesm2022/wawjs-ngx-prime-panelmenu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-password.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-password.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-picklist.mjs +8 -8
- package/fesm2022/wawjs-ngx-prime-picklist.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-radiobutton.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-radiobutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-rating.mjs +14 -3
- package/fesm2022/wawjs-ngx-prime-rating.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-selectbutton.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-selectbutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-slider.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-slider.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-stepper.mjs +2 -2
- package/fesm2022/wawjs-ngx-prime-stepper.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-table.mjs +47 -46
- package/fesm2022/wawjs-ngx-prime-table.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tabs.mjs +3 -4
- package/fesm2022/wawjs-ngx-prime-tabs.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-togglebutton.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-togglebutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs +10 -3
- package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-treetable.mjs +2 -2
- package/fesm2022/wawjs-ngx-prime-treetable.mjs.map +1 -1
- package/package.json +9 -1
- package/types/wawjs-ngx-prime-button.d.ts +1 -0
- package/types/wawjs-ngx-prime-buylicense.d.ts +23 -0
- package/types/wawjs-ngx-prime-colorpicker.d.ts +1 -0
- package/types/wawjs-ngx-prime-config.d.ts +64 -2
- package/types/wawjs-ngx-prime-dataview.d.ts +8 -8
- package/types/wawjs-ngx-prime-fileupload.d.ts +1 -0
- package/types/wawjs-ngx-prime-icon.d.ts +33 -0
- package/types/wawjs-ngx-prime-password.d.ts +1 -0
- package/types/wawjs-ngx-prime-picklist.d.ts +8 -8
- package/types/wawjs-ngx-prime-radiobutton.d.ts +1 -0
- package/types/wawjs-ngx-prime-rating.d.ts +5 -0
- package/types/wawjs-ngx-prime-selectbutton.d.ts +1 -0
- package/types/wawjs-ngx-prime-slider.d.ts +1 -0
- package/types/wawjs-ngx-prime-stepper.d.ts +2 -2
- package/types/wawjs-ngx-prime-table.d.ts +24 -24
- package/types/wawjs-ngx-prime-togglebutton.d.ts +1 -0
- package/types/wawjs-ngx-prime-toggleswitch.d.ts +1 -0
|
@@ -2,7 +2,7 @@ export * from '@wawjs/ngx-prime/types/button';
|
|
|
2
2
|
import * as i2 from '@angular/common';
|
|
3
3
|
import { isPlatformBrowser, CommonModule } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { Injectable, InjectionToken, input, inject, effect, Directive, booleanAttribute, contentChild, computed, numberAttribute, output, contentChildren, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
5
|
+
import { Injectable, InjectionToken, input, inject, effect, Directive, booleanAttribute, contentChild, computed, isDevMode, numberAttribute, output, contentChildren, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
6
6
|
import { addClass, isEmpty, findSingle, createElement } from '@wawjs/css-prime-utils';
|
|
7
7
|
import { PrimeTemplate, SharedModule } from '@wawjs/ngx-prime/api';
|
|
8
8
|
import { AutoFocus } from '@wawjs/ngx-prime/autofocus';
|
|
@@ -579,6 +579,13 @@ class Button extends BaseComponent {
|
|
|
579
579
|
onAfterViewChecked() {
|
|
580
580
|
this.bindDirectiveInstance.setAttrs(this.ptm('host'));
|
|
581
581
|
}
|
|
582
|
+
constructor() {
|
|
583
|
+
super();
|
|
584
|
+
if (isDevMode()) {
|
|
585
|
+
// eslint-disable-next-line no-console
|
|
586
|
+
console.warn('`<p-button>` is deprecated and will be removed in a future major version. ' + 'Use a plain `<button pButton>` (or `<a pButton>`) with the `pButton` styling directive instead.');
|
|
587
|
+
}
|
|
588
|
+
}
|
|
582
589
|
/**
|
|
583
590
|
* Type of the button.
|
|
584
591
|
* @group Props
|
|
@@ -853,7 +860,7 @@ class Button extends BaseComponent {
|
|
|
853
860
|
'icon-only': this.hasIcon && !this.label() && !this.badge()
|
|
854
861
|
});
|
|
855
862
|
}
|
|
856
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Button, deps:
|
|
863
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Button, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
857
864
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: Button, isStandalone: true, selector: "p-button", inputs: { hostName: { classPropertyName: "hostName", publicName: "hostName", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, raised: { classPropertyName: "raised", publicName: "raised", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, plain: { classPropertyName: "plain", publicName: "plain", isSignal: true, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, badgeClass: { classPropertyName: "badgeClass", publicName: "badgeClass", isSignal: true, isRequired: false, transformFunction: null }, badgeSeverity: { classPropertyName: "badgeSeverity", publicName: "badgeSeverity", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, iconPos: { classPropertyName: "iconPos", publicName: "iconPos", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: true, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: false, transformFunction: null }, buttonProps: { classPropertyName: "buttonProps", publicName: "buttonProps", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, providers: [ButtonStyle, { provide: BUTTON_INSTANCE, useExisting: Button }, { provide: PARENT_INSTANCE, useExisting: Button }], queries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true, isSignal: true }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"], descendants: true, isSignal: true }, { propertyName: "iconTemplate", first: true, predicate: ["icon"], descendants: true, isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
|
|
858
865
|
<button
|
|
859
866
|
[attr.type]="type() || buttonProps()?.type"
|
|
@@ -960,7 +967,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
960
967
|
providers: [ButtonStyle, { provide: BUTTON_INSTANCE, useExisting: Button }, { provide: PARENT_INSTANCE, useExisting: Button }],
|
|
961
968
|
hostDirectives: [Bind]
|
|
962
969
|
}]
|
|
963
|
-
}], propDecorators: { hostName: [{ type: i0.Input, args: [{ isSignal: true, alias: "hostName", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], raised: [{ type: i0.Input, args: [{ isSignal: true, alias: "raised", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], plain: [{ type: i0.Input, args: [{ isSignal: true, alias: "plain", required: false }] }], outlined: [{ type: i0.Input, args: [{ isSignal: true, alias: "outlined", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], style: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], badgeClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeClass", required: false }] }], badgeSeverity: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeSeverity", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], iconPos: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconPos", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], loadingIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingIcon", required: false }] }], severity: [{ type: i0.Input, args: [{ isSignal: true, alias: "severity", required: false }] }], buttonProps: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonProps", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], onClick: [{ type: i0.Output, args: ["onClick"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], contentTemplate: [{ type: i0.ContentChild, args: ['content', { isSignal: true }] }], loadingIconTemplate: [{ type: i0.ContentChild, args: ['loadingicon', { isSignal: true }] }], iconTemplate: [{ type: i0.ContentChild, args: ['icon', { isSignal: true }] }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }] } });
|
|
970
|
+
}], ctorParameters: () => [], propDecorators: { hostName: [{ type: i0.Input, args: [{ isSignal: true, alias: "hostName", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], raised: [{ type: i0.Input, args: [{ isSignal: true, alias: "raised", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], plain: [{ type: i0.Input, args: [{ isSignal: true, alias: "plain", required: false }] }], outlined: [{ type: i0.Input, args: [{ isSignal: true, alias: "outlined", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], style: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], badgeClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeClass", required: false }] }], badgeSeverity: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeSeverity", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], iconPos: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconPos", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], loadingIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingIcon", required: false }] }], severity: [{ type: i0.Input, args: [{ isSignal: true, alias: "severity", required: false }] }], buttonProps: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonProps", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], onClick: [{ type: i0.Output, args: ["onClick"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], contentTemplate: [{ type: i0.ContentChild, args: ['content', { isSignal: true }] }], loadingIconTemplate: [{ type: i0.ContentChild, args: ['loadingicon', { isSignal: true }] }], iconTemplate: [{ type: i0.ContentChild, args: ['icon', { isSignal: true }] }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }] } });
|
|
964
971
|
class ButtonModule {
|
|
965
972
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
966
973
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.2", ngImport: i0, type: ButtonModule, imports: [CommonModule, ButtonDirective, Button, SharedModule, ButtonLabel, ButtonIcon], exports: [ButtonDirective, Button, ButtonLabel, ButtonIcon, SharedModule] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wawjs-ngx-prime-button.mjs","sources":["../../src/button/style/buttonstyle.ts","../../src/button/button.ts","../../src/button/public_api.ts","../../src/button/wawjs-ngx-prime-button.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@wawjs/css-prime-styles/button';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-button p-component',\n {\n 'p-button-icon-only': instance.hasIcon && !instance.label() && !instance.buttonProps()?.label && !instance.badge(),\n 'p-button-vertical': (instance.iconPos() === 'top' || instance.iconPos() === 'bottom') && instance.label(),\n 'p-button-loading': instance.loading() || instance.buttonProps()?.loading,\n 'p-button-link': instance.link() || instance.buttonProps()?.link,\n [`p-button-${instance.severity() || instance.buttonProps()?.severity}`]: instance.severity() || instance.buttonProps()?.severity,\n 'p-button-raised': instance.raised() || instance.buttonProps()?.raised,\n 'p-button-rounded': instance.rounded() || instance.buttonProps()?.rounded,\n 'p-button-text': instance.text() || instance.variant() === 'text' || instance.buttonProps()?.text || instance.buttonProps()?.variant === 'text',\n 'p-button-outlined': instance.outlined() || instance.variant() === 'outlined' || instance.buttonProps()?.outlined || instance.buttonProps()?.variant === 'outlined',\n 'p-button-sm': instance.size() === 'small' || instance.buttonProps()?.size === 'small',\n 'p-button-lg': instance.size() === 'large' || instance.buttonProps()?.size === 'large',\n 'p-button-plain': instance.plain() || instance.buttonProps()?.plain,\n 'p-button-fluid': instance.hasFluid\n }\n ],\n loadingIcon: 'p-button-loading-icon',\n icon: ({ instance }) => [\n 'p-button-icon',\n {\n [`p-button-icon-${instance.iconPos() || instance.buttonProps()?.iconPos}`]: instance.label() || instance.buttonProps()?.label,\n 'p-button-icon-left': ((instance.iconPos() === 'left' || instance.buttonProps()?.iconPos === 'left') && instance.label()) || instance.buttonProps()?.label,\n 'p-button-icon-right': ((instance.iconPos() === 'right' || instance.buttonProps()?.iconPos === 'right') && instance.label()) || instance.buttonProps()?.label,\n 'p-button-icon-top': ((instance.iconPos() === 'top' || instance.buttonProps()?.iconPos === 'top') && instance.label()) || instance.buttonProps()?.label,\n 'p-button-icon-bottom': ((instance.iconPos() === 'bottom' || instance.buttonProps()?.iconPos === 'bottom') && instance.label()) || instance.buttonProps()?.label\n },\n instance.icon(),\n instance.buttonProps()?.icon\n ],\n spinnerIcon: ({ instance }) =>\n Object.entries(instance.cx('icon'))\n .filter(([, value]) => !!value)\n .reduce((acc, [key]) => acc + ` ${key}`, 'p-button-loading-icon'),\n label: 'p-button-label'\n};\n\n@Injectable()\nexport class ButtonStyle extends BaseStyle {\n name = 'button';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Button is an extension to standard button element with icons and theming.\n *\n * [Live Demo](https://www.ngx-prime.org/button/)\n *\n * @module buttonstyle\n *\n */\nexport enum ButtonClasses {\n /**\n * Class name of the root element\n */\n root = 'p-button',\n /**\n * Class name of the loading icon element\n */\n loadingIcon = 'p-button-loading-icon',\n /**\n * Class name of the icon element\n */\n icon = 'p-button-icon',\n /**\n * Class name of the label element\n */\n label = 'p-button-label'\n}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, contentChildren, Directive, effect, inject, InjectionToken, input, NgModule, numberAttribute, output, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { addClass, createElement, findSingle, isEmpty } from '@wawjs/css-prime-utils';\nimport { PrimeTemplate, SharedModule } from '@wawjs/ngx-prime/api';\nimport { AutoFocus } from '@wawjs/ngx-prime/autofocus';\nimport { BadgeModule } from '@wawjs/ngx-prime/badge';\nimport { BaseComponent, PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';\nimport { Bind } from '@wawjs/ngx-prime/bind';\nimport { Fluid } from '@wawjs/ngx-prime/fluid';\nimport { SpinnerIcon } from '@wawjs/ngx-prime/icons';\nimport { Ripple } from '@wawjs/ngx-prime/ripple';\nimport type { ButtonIconTemplateContext, ButtonLoadingIconTemplateContext, ButtonPassThrough, ButtonProps, ButtonSeverity } from '@wawjs/ngx-prime/types/button';\nimport { ButtonStyle } from './style/buttonstyle';\n\nconst BUTTON_INSTANCE = new InjectionToken<Button>('BUTTON_INSTANCE');\n\nconst BUTTON_DIRECTIVE_INSTANCE = new InjectionToken<ButtonDirective>('BUTTON_DIRECTIVE_INSTANCE');\n\nconst BUTTON_LABEL_INSTANCE = new InjectionToken<ButtonLabel>('BUTTON_LABEL_INSTANCE');\n\nconst BUTTON_ICON_INSTANCE = new InjectionToken<ButtonIcon>('BUTTON_ICON_INSTANCE');\n\nexport type ButtonIconPosition = 'left' | 'right' | 'top' | 'bottom';\n\nconst INTERNAL_BUTTON_CLASSES = {\n button: 'p-button',\n component: 'p-component',\n iconOnly: 'p-button-icon-only',\n disabled: 'p-disabled',\n loading: 'p-button-loading',\n labelOnly: 'p-button-loading-label-only'\n} as const;\n\n@Directive({\n selector: '[pButtonLabel]',\n providers: [ButtonStyle, { provide: BUTTON_LABEL_INSTANCE, useExisting: ButtonLabel }, { provide: PARENT_INSTANCE, useExisting: ButtonLabel }],\n standalone: true,\n host: {\n '[class.p-button-label]': '!$unstyled() && true'\n },\n hostDirectives: [Bind]\n})\nexport class ButtonLabel extends BaseComponent {\n componentName = 'ButtonLabel';\n\n /**\n * Used to pass attributes to DOM elements inside the pButtonLabel.\n * @defaultValue undefined\n * @deprecated use pButtonLabelPT instead.\n * @group Props\n */\n ptButtonLabel = input<any>();\n /**\n * Used to pass attributes to DOM elements inside the pButtonLabel.\n * @defaultValue undefined\n * @group Props\n */\n pButtonLabelPT = input<any>();\n /**\n * Indicates whether the component should be rendered without styles.\n * @defaultValue undefined\n * @group Props\n */\n pButtonLabelUnstyled = input<boolean | undefined>();\n\n $pcButtonLabel: ButtonLabel | undefined = inject(BUTTON_LABEL_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n constructor() {\n super();\n effect(() => {\n const pt = this.ptButtonLabel() || this.pButtonLabelPT();\n\n pt && this.directivePT.set(pt);\n });\n\n effect(() => {\n this.pButtonLabelUnstyled() && this.directiveUnstyled.set(this.pButtonLabelUnstyled());\n });\n }\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n\n@Directive({\n selector: '[pButtonIcon]',\n providers: [ButtonStyle, { provide: BUTTON_ICON_INSTANCE, useExisting: ButtonIcon }, { provide: PARENT_INSTANCE, useExisting: ButtonIcon }],\n standalone: true,\n host: {\n '[class.p-button-icon]': '!$unstyled() && true'\n },\n hostDirectives: [Bind]\n})\nexport class ButtonIcon extends BaseComponent {\n componentName = 'ButtonIcon';\n\n /**\n * Used to pass attributes to DOM elements inside the pButtonIcon.\n * @defaultValue undefined\n * @deprecated use pButtonIconPT instead.\n * @group Props\n */\n ptButtonIcon = input<any>();\n /**\n * Used to pass attributes to DOM elements inside the pButtonIcon.\n * @defaultValue undefined\n * @group Props\n */\n pButtonIconPT = input<any>();\n /**\n * Indicates whether the component should be rendered without styles.\n * @defaultValue undefined\n * @group Props\n */\n pButtonUnstyled = input<boolean | undefined>();\n\n $pcButtonIcon: ButtonIcon | undefined = inject(BUTTON_ICON_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n constructor() {\n super();\n effect(() => {\n const pt = this.ptButtonIcon() || this.pButtonIconPT();\n\n pt && this.directivePT.set(pt);\n });\n\n effect(() => {\n this.pButtonUnstyled() && this.directiveUnstyled.set(this.pButtonUnstyled());\n });\n }\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n/**\n * Button directive is an extension to button component.\n * @group Components\n */\n@Directive({\n selector: '[pButton]',\n standalone: true,\n providers: [ButtonStyle, { provide: BUTTON_DIRECTIVE_INSTANCE, useExisting: ButtonDirective }, { provide: PARENT_INSTANCE, useExisting: ButtonDirective }],\n host: {\n '[class.p-button-icon-only]': '!$unstyled() && isIconOnly()',\n '[class.p-button-text]': ' !$unstyled() && isTextButton()'\n },\n hostDirectives: [Bind]\n})\nexport class ButtonDirective extends BaseComponent {\n componentName = 'Button';\n\n $pcButtonDirective: ButtonDirective | undefined = inject(BUTTON_DIRECTIVE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(ButtonStyle);\n\n /**\n * Used to pass attributes to DOM elements inside the Button component.\n * @defaultValue undefined\n * @deprecated use pButtonPT instead.\n * @group Props\n */\n ptButtonDirective = input<ButtonPassThrough>();\n /**\n * Used to pass attributes to DOM elements inside the Button component.\n * @defaultValue undefined\n * @group Props\n */\n pButtonPT = input<ButtonPassThrough>();\n /**\n * Indicates whether the component should be rendered without styles.\n * @defaultValue undefined\n * @group Props\n */\n pButtonUnstyled = input<boolean | undefined>();\n\n readonly hostName = input<any>('');\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('root'));\n }\n\n constructor() {\n super();\n effect(() => {\n const pt = this.ptButtonDirective() || this.pButtonPT();\n\n pt && this.directivePT.set(pt);\n });\n\n effect(() => {\n this.pButtonUnstyled() && this.directiveUnstyled.set(this.pButtonUnstyled());\n });\n\n effect(() => {\n const unstyled = this.$unstyled();\n\n if (this.initialized && unstyled) {\n this.setStyleClass();\n }\n });\n\n effect(() => {\n this._label = this.label();\n\n if (this.initialized) {\n this.updateLabel();\n this.updateIcon();\n this.setStyleClass();\n }\n });\n\n effect(() => {\n this._icon = this.icon();\n\n if (this.initialized) {\n this.updateIcon();\n this.setStyleClass();\n }\n });\n\n effect(() => {\n this._loading = this.loading();\n\n if (this.initialized) {\n this.updateIcon();\n this.setStyleClass();\n }\n });\n\n effect(() => {\n this._severity = this.severity() as ButtonSeverity;\n\n if (this.initialized) {\n this.setStyleClass();\n }\n });\n\n effect(() => {\n const val = this.buttonProps();\n\n this._buttonProps = val as ButtonProps;\n\n if (val && typeof val === 'object') {\n Object.entries(val).forEach(([k, v]) => this[`_${k}`] !== v && (this[`_${k}`] = v));\n }\n });\n }\n\n /**\n * Add a textual class to the button without a background initially.\n * @group Props\n */\n readonly text = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a plain textual class to the button without a background initially.\n * @group Props\n */\n readonly plain = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a shadow to indicate elevation.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // Your application code writes to the input. This prevents migration.\n // TODO: Skipped for migration because:\n // Your application code writes to the input. This prevents migration.\n readonly raised = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Defines the size of the button.\n * @group Props\n */\n readonly size = input<'small' | 'large'>();\n\n /**\n * Add a border class without a background initially.\n * @group Props\n */\n readonly outlined = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a circular border radius to the button.\n * @group Props\n */\n readonly rounded = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Position of the icon.\n * @group Props\n */\n readonly iconPos = input<ButtonIconPosition>('left');\n\n /**\n * Icon to display in loading state.\n * @group Props\n */\n readonly loadingIcon = input<string>();\n\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n\n private iconSignal = contentChild(ButtonIcon);\n\n private labelSignal = contentChild(ButtonLabel);\n\n isIconOnly = computed(() => !!(!this.labelSignal() && this.iconSignal()));\n\n public _label: string | undefined;\n\n public _icon: string | undefined;\n\n public _loading: boolean = false;\n\n private _severity: ButtonSeverity;\n\n _buttonProps!: ButtonProps;\n\n public initialized: boolean | undefined;\n\n private get htmlElement(): HTMLElement {\n return this.el.nativeElement as HTMLElement;\n }\n\n private _internalClasses: string[] = Object.values(INTERNAL_BUTTON_CLASSES);\n\n pcFluid: Fluid | null = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n isTextButton = computed(() => !!(!this.iconSignal() && this.labelSignal() && this.text()));\n\n /**\n * Text of the button.\n * @deprecated use pButtonLabel directive instead.\n * @group Props\n */\n readonly label = input<string>();\n\n /**\n * Name of the icon.\n * @deprecated use pButtonIcon directive instead\n * @group Props\n */\n readonly icon = input<string>();\n\n /**\n * Whether the button is in loading state.\n * @group Props\n */\n readonly loading = input<boolean>(false);\n\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @deprecated assign props directly to the button element.\n * @group Props\n */\n readonly buttonProps = input<ButtonProps>();\n\n /**\n * Defines the style of the button.\n * @group Props\n */\n readonly severity = input<ButtonSeverity>();\n\n spinnerIcon = `<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"p-icon-spin\">\n <g clip-path=\"url(#clip0_417_21408)\">\n <path\n d=\"M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_417_21408\">\n <rect width=\"14\" height=\"14\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>`;\n\n onAfterViewInit() {\n !this.$unstyled() && addClass(this.htmlElement, this.getStyleClass().join(' '));\n\n if (isPlatformBrowser(this.platformId)) {\n this.createIcon();\n this.createLabel();\n this.initialized = true;\n }\n }\n\n getStyleClass(): string[] {\n const styleClass: string[] = [INTERNAL_BUTTON_CLASSES.button, INTERNAL_BUTTON_CLASSES.component];\n\n if (this._icon && !this._label && isEmpty(this.htmlElement.textContent)) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.iconOnly);\n }\n\n if (this._loading) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.disabled, INTERNAL_BUTTON_CLASSES.loading);\n\n if (!this._icon && this._label) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.labelOnly);\n }\n\n if (this._icon && !this._label && !isEmpty(this.htmlElement.textContent)) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.iconOnly);\n }\n }\n\n if (this.text()) {\n styleClass.push('p-button-text');\n }\n\n if (this._severity) {\n styleClass.push(`p-button-${this._severity}`);\n }\n\n if (this.plain()) {\n styleClass.push('p-button-plain');\n }\n\n if (this.raised()) {\n styleClass.push('p-button-raised');\n }\n\n const size = this.size();\n\n if (size) {\n styleClass.push(`p-button-${size}`);\n }\n\n if (this.outlined()) {\n styleClass.push('p-button-outlined');\n }\n\n if (this.rounded()) {\n styleClass.push('p-button-rounded');\n }\n\n if (size === 'small') {\n styleClass.push('p-button-sm');\n }\n\n if (size === 'large') {\n styleClass.push('p-button-lg');\n }\n\n if (this.hasFluid) {\n styleClass.push('p-button-fluid');\n }\n\n return this.$unstyled() ? [] : styleClass;\n }\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n setStyleClass() {\n const styleClass = this.getStyleClass();\n\n this.removeExistingSeverityClass();\n\n this.htmlElement.classList.remove(...this._internalClasses);\n this.htmlElement.classList.add(...styleClass);\n }\n\n removeExistingSeverityClass() {\n const severityArray = ['success', 'info', 'warn', 'danger', 'help', 'primary', 'secondary', 'contrast'];\n const existingSeverityClass = this.htmlElement.classList.value.split(' ').find((cls) => severityArray.some((severity) => cls === `p-button-${severity}`));\n\n if (existingSeverityClass) {\n this.htmlElement.classList.remove(existingSeverityClass);\n }\n }\n\n createLabel() {\n const created = findSingle(this.htmlElement, '[data-pc-section=\"buttonlabel\"]');\n\n if (!created && this._label) {\n let labelElement = <HTMLElement>createElement('span', { class: this.cx('label'), 'p-bind': this.ptm('buttonlabel'), 'aria-hidden': this._icon && !this._label ? 'true' : null });\n\n labelElement.appendChild(this.document.createTextNode(this._label));\n this.htmlElement.appendChild(labelElement);\n }\n }\n\n createIcon() {\n const created = findSingle(this.htmlElement, '[data-pc-section=\"buttonicon\"]');\n\n if (!created && (this._icon || this._loading)) {\n let iconPosClass = this._label && !this.$unstyled() ? 'p-button-icon-' + this.iconPos() : null;\n let iconClass = !this.$unstyled() && this.getIconClass();\n let iconElement: HTMLElement = <HTMLElement>createElement('span', { class: this.cn(this.cx('icon'), iconPosClass, iconClass), 'aria-hidden': 'true', 'p-bind': this.ptm('buttonicon') });\n\n if (!this.loadingIcon() && this._loading) {\n iconElement.innerHTML = this.spinnerIcon;\n }\n\n this.htmlElement.insertBefore(iconElement, this.htmlElement.firstChild);\n }\n }\n\n updateLabel() {\n let labelElement = findSingle(this.htmlElement, '[data-pc-section=\"buttonlabel\"]');\n\n if (!this._label) {\n labelElement && this.htmlElement.removeChild(labelElement);\n\n return;\n }\n\n labelElement ? (labelElement.textContent = this._label) : this.createLabel();\n }\n\n updateIcon() {\n let iconElement = findSingle(this.htmlElement, '[data-pc-section=\"buttonicon\"]');\n let labelElement = findSingle(this.htmlElement, '[data-pc-section=\"buttonlabel\"]');\n\n if (this._loading && !this.loadingIcon() && iconElement) {\n iconElement.innerHTML = this.spinnerIcon;\n } else if (iconElement?.innerHTML) {\n iconElement.innerHTML = '';\n }\n\n if (iconElement && !this.$unstyled()) {\n const iconPos = this.iconPos();\n\n if (iconPos) {\n iconElement.className = 'p-button-icon ' + (labelElement ? 'p-button-icon-' + iconPos : '') + ' ' + this.getIconClass();\n } else {\n iconElement.className = 'p-button-icon ' + this.getIconClass();\n }\n } else {\n this.createIcon();\n }\n }\n\n getIconClass() {\n const loadingIcon = this.loadingIcon();\n\n return this._loading ? 'p-button-loading-icon ' + (loadingIcon ? loadingIcon : 'p-icon') : this._icon || 'p-hidden';\n }\n\n onDestroy() {\n this.initialized = false;\n }\n}\n/**\n * Button is an extension to standard button element with icons and theming.\n *\n * @deprecated Use a native `<button pButton>` instead. This component remains\n * available for compatibility and is planned for removal in v23.\n * @group Components\n */\n@Component({\n selector: 'p-button',\n standalone: true,\n imports: [CommonModule, Ripple, AutoFocus, SpinnerIcon, BadgeModule, SharedModule, Bind],\n template: `\n <button\n [attr.type]=\"type() || buttonProps()?.type\"\n [attr.aria-label]=\"ariaLabel() || buttonProps()?.ariaLabel\"\n [ngStyle]=\"style() || buttonProps()?.style\"\n [disabled]=\"disabled() || loading() || buttonProps()?.disabled\"\n [class]=\"cn(cx('root'), styleClass(), buttonProps()?.styleClass)\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"onFocus.emit($event)\"\n (blur)=\"onBlur.emit($event)\"\n pRipple\n [attr.tabindex]=\"tabindex() || buttonProps()?.tabindex\"\n [pAutoFocus]=\"autofocus() || buttonProps()?.autofocus\"\n [pBind]=\"ptm('root')\"\n [attr.data-p]=\"dataP\"\n [attr.data-p-disabled]=\"disabled() || loading() || buttonProps()?.disabled\"\n [attr.data-p-severity]=\"severity() || buttonProps()?.severity\"\n >\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate() || _contentTemplate\"></ng-container>\n @if (loading() || buttonProps()?.loading) {\n @if (!loadingIconTemplate() && !_loadingIconTemplate) {\n @if (loadingIcon() || buttonProps()?.loadingIcon) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi-spin', loadingIcon() || buttonProps()?.loadingIcon)\" [pBind]=\"ptm('loadingIcon')\" [attr.aria-hidden]=\"true\"></span>\n } @else {\n <svg data-p-icon=\"spinner\" [class]=\"cn(cx('loadingIcon'), cx('spinnerIcon'))\" [pBind]=\"ptm('loadingIcon')\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\n }\n }\n @if (loadingIconTemplate() || _loadingIconTemplate) {\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate() || _loadingIconTemplate; context: { class: cx('loadingIcon'), pt: ptm('loadingIcon') }\"></ng-template>\n }\n } @else {\n @if ((icon() || buttonProps()?.icon) && !iconTemplate() && !_iconTemplate) {\n <span [class]=\"cn(cx('icon'), icon() || buttonProps()?.icon)\" [pBind]=\"ptm('icon')\" [attr.data-p]=\"dataIconP\"></span>\n }\n @if (!icon() && (iconTemplate() || _iconTemplate)) {\n <ng-template *ngTemplateOutlet=\"iconTemplate() || _iconTemplate; context: { class: cx('icon'), pt: ptm('icon') }\"></ng-template>\n }\n }\n @if (!contentTemplate() && !_contentTemplate && (label() || buttonProps()?.label)) {\n <span [class]=\"cx('label')\" [attr.aria-hidden]=\"(icon() || buttonProps()?.icon) && !(label() || buttonProps()?.label)\" [pBind]=\"ptm('label')\" [attr.data-p]=\"dataLabelP\">{{ label() || buttonProps()?.label }}</span>\n }\n @if (!contentTemplate() && !_contentTemplate && (badge() || buttonProps()?.badge)) {\n <p-badge [value]=\"badge() || buttonProps()?.badge\" [severity]=\"badgeSeverity() || buttonProps()?.badgeSeverity\" [pt]=\"ptm('pcBadge')\" [unstyled]=\"unstyled()\" />\n }\n </button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ButtonStyle, { provide: BUTTON_INSTANCE, useExisting: Button }, { provide: PARENT_INSTANCE, useExisting: Button }],\n hostDirectives: [Bind]\n})\nexport class Button extends BaseComponent<ButtonPassThrough> {\n componentName = 'Button';\n\n readonly hostName = input<any>('');\n\n $pcButton: Button | undefined = inject(BUTTON_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(ButtonStyle);\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n }\n\n /**\n * Type of the button.\n * @group Props\n */\n readonly type = input<string>('button');\n\n /**\n * Value of the badge.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n readonly badge = input<string>();\n\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n readonly disabled = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Add a shadow to indicate elevation.\n * @group Props\n */\n readonly raised = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a circular border radius to the button.\n * @group Props\n */\n readonly rounded = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a textual class to the button without a background initially.\n * @group Props\n */\n readonly text = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a plain textual class to the button without a background initially.\n * @group Props\n */\n readonly plain = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a border class without a background initially.\n * @group Props\n */\n readonly outlined = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a link style to the button.\n * @group Props\n */\n readonly link = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a tabindex to the button.\n * @group Props\n */\n readonly tabindex = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * Defines the size of the button.\n * @group Props\n */\n readonly size = input<'small' | 'large'>();\n\n /**\n * Specifies the variant of the component.\n * @group Props\n */\n readonly variant = input<'outlined' | 'text'>();\n\n /**\n * Inline style of the element.\n * @group Props\n */\n readonly style = input<{\n [klass: string]: any;\n } | null>();\n\n /**\n * Class of the element.\n * @group Props\n */\n readonly styleClass = input<string>();\n\n /**\n * Style class of the badge.\n * @group Props\n * @deprecated use badgeSeverity instead.\n */\n readonly badgeClass = input<string>();\n\n /**\n * Severity type of the badge.\n * @group Props\n * @defaultValue secondary\n */\n readonly badgeSeverity = input<'success' | 'info' | 'warn' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | undefined>('secondary');\n\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n readonly ariaLabel = input<string>();\n\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n readonly autofocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Position of the icon.\n * @group Props\n */\n readonly iconPos = input<ButtonIconPosition>('left');\n\n /**\n * Name of the icon.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n readonly icon = input<string>();\n\n /**\n * Text of the button.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n readonly label = input<string>();\n\n /**\n * Whether the button is in loading state.\n * @group Props\n */\n readonly loading = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Icon to display in loading state.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n readonly loadingIcon = input<string>();\n\n /**\n * Defines the style of the button.\n * @group Props\n */\n readonly severity = input<ButtonSeverity>();\n\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n readonly buttonProps = input<ButtonProps>();\n\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n\n /**\n * Callback to execute when button is clicked.\n * This event is intended to be used with the <p-button> component. Using a regular <button> element, use (click).\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n readonly onClick = output<MouseEvent>();\n\n /**\n * Callback to execute when button is focused.\n * This event is intended to be used with the <p-button> component. Using a regular <button> element, use (focus).\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n readonly onFocus = output<FocusEvent>();\n\n /**\n * Callback to execute when button loses focus.\n * This event is intended to be used with the <p-button> component. Using a regular <button> element, use (blur).\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n readonly onBlur = output<FocusEvent>();\n\n /**\n * Custom content template.\n * @group Templates\n **/\n readonly contentTemplate = contentChild<TemplateRef<void>>('content');\n\n /**\n * Custom loading icon template.\n * @group Templates\n **/\n readonly loadingIconTemplate = contentChild<TemplateRef<ButtonLoadingIconTemplateContext>>('loadingicon');\n\n /**\n * Custom icon template.\n * @group Templates\n **/\n readonly iconTemplate = contentChild<TemplateRef<ButtonIconTemplateContext>>('icon');\n\n readonly templates = contentChildren(PrimeTemplate);\n\n pcFluid: Fluid | null = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n get hasIcon() {\n return this.icon() || this.buttonProps()?.icon || this.iconTemplate() || this._iconTemplate || this.loadingIcon() || this.loadingIconTemplate() || this._loadingIconTemplate;\n }\n\n _contentTemplate: TemplateRef<void> | undefined;\n\n _iconTemplate: TemplateRef<ButtonIconTemplateContext> | undefined;\n\n _loadingIconTemplate: TemplateRef<ButtonLoadingIconTemplateContext> | undefined;\n\n onAfterContentInit() {\n this.templates()?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this._contentTemplate = item.template;\n break;\n\n case 'icon':\n this._iconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this._loadingIconTemplate = item.template;\n break;\n\n default:\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n\n get dataP() {\n const iconPos = this.iconPos();\n\n return this.cn({\n [this.size() as string]: this.size(),\n 'icon-only': this.hasIcon && !this.label() && !this.badge(),\n loading: this.loading(),\n fluid: this.hasFluid,\n rounded: this.rounded(),\n raised: this.raised(),\n outlined: this.outlined() || this.variant() === 'outlined',\n text: this.text() || this.variant() === 'text',\n link: this.link(),\n vertical: (iconPos === 'top' || iconPos === 'bottom') && this.label()\n });\n }\n\n get dataIconP() {\n return this.cn({\n [this.iconPos()]: this.iconPos(),\n [this.size() as string]: this.size()\n });\n }\n\n get dataLabelP() {\n return this.cn({\n [this.size() as string]: this.size(),\n 'icon-only': this.hasIcon && !this.label() && !this.badge()\n });\n }\n}\n\n@NgModule({\n imports: [CommonModule, ButtonDirective, Button, SharedModule, ButtonLabel, ButtonIcon],\n exports: [ButtonDirective, Button, ButtonLabel, ButtonIcon, SharedModule]\n})\nexport class ButtonModule {}\n","// Backward compatibility\nexport * from '@wawjs/ngx-prime/types/button';\nexport * from './button';\nexport * from './style/buttonstyle';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,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,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,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,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAHJ,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EA2PzF,aAAa,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA5SxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA/CS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,MAAM,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,WAAW,EAAA,QAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,IAAI,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAqD9E,MAAM,EAAA,UAAA,EAAA,CAAA;kBAxDlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC;AACxF,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CT,IAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,MAAQ,EAAE,CAAC;oBAC9H,cAAc,EAAE,CAAC,IAAI;AACxB,iBAAA;AA2O8D,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EA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"}
|
|
1
|
+
{"version":3,"file":"wawjs-ngx-prime-button.mjs","sources":["../../src/button/style/buttonstyle.ts","../../src/button/button.ts","../../src/button/public_api.ts","../../src/button/wawjs-ngx-prime-button.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@wawjs/css-prime-styles/button';\nimport { BaseStyle } from '@wawjs/ngx-prime/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-button p-component',\n {\n 'p-button-icon-only': instance.hasIcon && !instance.label() && !instance.buttonProps()?.label && !instance.badge(),\n 'p-button-vertical': (instance.iconPos() === 'top' || instance.iconPos() === 'bottom') && instance.label(),\n 'p-button-loading': instance.loading() || instance.buttonProps()?.loading,\n 'p-button-link': instance.link() || instance.buttonProps()?.link,\n [`p-button-${instance.severity() || instance.buttonProps()?.severity}`]: instance.severity() || instance.buttonProps()?.severity,\n 'p-button-raised': instance.raised() || instance.buttonProps()?.raised,\n 'p-button-rounded': instance.rounded() || instance.buttonProps()?.rounded,\n 'p-button-text': instance.text() || instance.variant() === 'text' || instance.buttonProps()?.text || instance.buttonProps()?.variant === 'text',\n 'p-button-outlined': instance.outlined() || instance.variant() === 'outlined' || instance.buttonProps()?.outlined || instance.buttonProps()?.variant === 'outlined',\n 'p-button-sm': instance.size() === 'small' || instance.buttonProps()?.size === 'small',\n 'p-button-lg': instance.size() === 'large' || instance.buttonProps()?.size === 'large',\n 'p-button-plain': instance.plain() || instance.buttonProps()?.plain,\n 'p-button-fluid': instance.hasFluid\n }\n ],\n loadingIcon: 'p-button-loading-icon',\n icon: ({ instance }) => [\n 'p-button-icon',\n {\n [`p-button-icon-${instance.iconPos() || instance.buttonProps()?.iconPos}`]: instance.label() || instance.buttonProps()?.label,\n 'p-button-icon-left': ((instance.iconPos() === 'left' || instance.buttonProps()?.iconPos === 'left') && instance.label()) || instance.buttonProps()?.label,\n 'p-button-icon-right': ((instance.iconPos() === 'right' || instance.buttonProps()?.iconPos === 'right') && instance.label()) || instance.buttonProps()?.label,\n 'p-button-icon-top': ((instance.iconPos() === 'top' || instance.buttonProps()?.iconPos === 'top') && instance.label()) || instance.buttonProps()?.label,\n 'p-button-icon-bottom': ((instance.iconPos() === 'bottom' || instance.buttonProps()?.iconPos === 'bottom') && instance.label()) || instance.buttonProps()?.label\n },\n instance.icon(),\n instance.buttonProps()?.icon\n ],\n spinnerIcon: ({ instance }) =>\n Object.entries(instance.cx('icon'))\n .filter(([, value]) => !!value)\n .reduce((acc, [key]) => acc + ` ${key}`, 'p-button-loading-icon'),\n label: 'p-button-label'\n};\n\n@Injectable()\nexport class ButtonStyle extends BaseStyle {\n name = 'button';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Button is an extension to standard button element with icons and theming.\n *\n * [Live Demo](https://www.ngx-prime.org/button/)\n *\n * @module buttonstyle\n *\n */\nexport enum ButtonClasses {\n /**\n * Class name of the root element\n */\n root = 'p-button',\n /**\n * Class name of the loading icon element\n */\n loadingIcon = 'p-button-loading-icon',\n /**\n * Class name of the icon element\n */\n icon = 'p-button-icon',\n /**\n * Class name of the label element\n */\n label = 'p-button-label'\n}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n contentChildren,\n Directive,\n effect,\n inject,\n InjectionToken,\n input,\n isDevMode,\n NgModule,\n numberAttribute,\n output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { addClass, createElement, findSingle, isEmpty } from '@wawjs/css-prime-utils';\nimport { PrimeTemplate, SharedModule } from '@wawjs/ngx-prime/api';\nimport { AutoFocus } from '@wawjs/ngx-prime/autofocus';\nimport { BadgeModule } from '@wawjs/ngx-prime/badge';\nimport { BaseComponent, PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';\nimport { Bind } from '@wawjs/ngx-prime/bind';\nimport { Fluid } from '@wawjs/ngx-prime/fluid';\nimport { SpinnerIcon } from '@wawjs/ngx-prime/icons';\nimport { Ripple } from '@wawjs/ngx-prime/ripple';\nimport type { ButtonIconTemplateContext, ButtonLoadingIconTemplateContext, ButtonPassThrough, ButtonProps, ButtonSeverity } from '@wawjs/ngx-prime/types/button';\nimport { ButtonStyle } from './style/buttonstyle';\n\nconst BUTTON_INSTANCE = new InjectionToken<Button>('BUTTON_INSTANCE');\n\nconst BUTTON_DIRECTIVE_INSTANCE = new InjectionToken<ButtonDirective>('BUTTON_DIRECTIVE_INSTANCE');\n\nconst BUTTON_LABEL_INSTANCE = new InjectionToken<ButtonLabel>('BUTTON_LABEL_INSTANCE');\n\nconst BUTTON_ICON_INSTANCE = new InjectionToken<ButtonIcon>('BUTTON_ICON_INSTANCE');\n\nexport type ButtonIconPosition = 'left' | 'right' | 'top' | 'bottom';\n\nconst INTERNAL_BUTTON_CLASSES = {\n button: 'p-button',\n component: 'p-component',\n iconOnly: 'p-button-icon-only',\n disabled: 'p-disabled',\n loading: 'p-button-loading',\n labelOnly: 'p-button-loading-label-only'\n} as const;\n\n@Directive({\n selector: '[pButtonLabel]',\n providers: [ButtonStyle, { provide: BUTTON_LABEL_INSTANCE, useExisting: ButtonLabel }, { provide: PARENT_INSTANCE, useExisting: ButtonLabel }],\n standalone: true,\n host: {\n '[class.p-button-label]': '!$unstyled() && true'\n },\n hostDirectives: [Bind]\n})\nexport class ButtonLabel extends BaseComponent {\n componentName = 'ButtonLabel';\n\n /**\n * Used to pass attributes to DOM elements inside the pButtonLabel.\n * @defaultValue undefined\n * @deprecated use pButtonLabelPT instead.\n * @group Props\n */\n ptButtonLabel = input<any>();\n /**\n * Used to pass attributes to DOM elements inside the pButtonLabel.\n * @defaultValue undefined\n * @group Props\n */\n pButtonLabelPT = input<any>();\n /**\n * Indicates whether the component should be rendered without styles.\n * @defaultValue undefined\n * @group Props\n */\n pButtonLabelUnstyled = input<boolean | undefined>();\n\n $pcButtonLabel: ButtonLabel | undefined = inject(BUTTON_LABEL_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n constructor() {\n super();\n effect(() => {\n const pt = this.ptButtonLabel() || this.pButtonLabelPT();\n\n pt && this.directivePT.set(pt);\n });\n\n effect(() => {\n this.pButtonLabelUnstyled() && this.directiveUnstyled.set(this.pButtonLabelUnstyled());\n });\n }\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n\n@Directive({\n selector: '[pButtonIcon]',\n providers: [ButtonStyle, { provide: BUTTON_ICON_INSTANCE, useExisting: ButtonIcon }, { provide: PARENT_INSTANCE, useExisting: ButtonIcon }],\n standalone: true,\n host: {\n '[class.p-button-icon]': '!$unstyled() && true'\n },\n hostDirectives: [Bind]\n})\nexport class ButtonIcon extends BaseComponent {\n componentName = 'ButtonIcon';\n\n /**\n * Used to pass attributes to DOM elements inside the pButtonIcon.\n * @defaultValue undefined\n * @deprecated use pButtonIconPT instead.\n * @group Props\n */\n ptButtonIcon = input<any>();\n /**\n * Used to pass attributes to DOM elements inside the pButtonIcon.\n * @defaultValue undefined\n * @group Props\n */\n pButtonIconPT = input<any>();\n /**\n * Indicates whether the component should be rendered without styles.\n * @defaultValue undefined\n * @group Props\n */\n pButtonUnstyled = input<boolean | undefined>();\n\n $pcButtonIcon: ButtonIcon | undefined = inject(BUTTON_ICON_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n constructor() {\n super();\n effect(() => {\n const pt = this.ptButtonIcon() || this.pButtonIconPT();\n\n pt && this.directivePT.set(pt);\n });\n\n effect(() => {\n this.pButtonUnstyled() && this.directiveUnstyled.set(this.pButtonUnstyled());\n });\n }\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n/**\n * Button directive is an extension to button component.\n * @group Components\n */\n@Directive({\n selector: '[pButton]',\n standalone: true,\n providers: [ButtonStyle, { provide: BUTTON_DIRECTIVE_INSTANCE, useExisting: ButtonDirective }, { provide: PARENT_INSTANCE, useExisting: ButtonDirective }],\n host: {\n '[class.p-button-icon-only]': '!$unstyled() && isIconOnly()',\n '[class.p-button-text]': ' !$unstyled() && isTextButton()'\n },\n hostDirectives: [Bind]\n})\nexport class ButtonDirective extends BaseComponent {\n componentName = 'Button';\n\n $pcButtonDirective: ButtonDirective | undefined = inject(BUTTON_DIRECTIVE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(ButtonStyle);\n\n /**\n * Used to pass attributes to DOM elements inside the Button component.\n * @defaultValue undefined\n * @deprecated use pButtonPT instead.\n * @group Props\n */\n ptButtonDirective = input<ButtonPassThrough>();\n /**\n * Used to pass attributes to DOM elements inside the Button component.\n * @defaultValue undefined\n * @group Props\n */\n pButtonPT = input<ButtonPassThrough>();\n /**\n * Indicates whether the component should be rendered without styles.\n * @defaultValue undefined\n * @group Props\n */\n pButtonUnstyled = input<boolean | undefined>();\n\n readonly hostName = input<any>('');\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('root'));\n }\n\n constructor() {\n super();\n effect(() => {\n const pt = this.ptButtonDirective() || this.pButtonPT();\n\n pt && this.directivePT.set(pt);\n });\n\n effect(() => {\n this.pButtonUnstyled() && this.directiveUnstyled.set(this.pButtonUnstyled());\n });\n\n effect(() => {\n const unstyled = this.$unstyled();\n\n if (this.initialized && unstyled) {\n this.setStyleClass();\n }\n });\n\n effect(() => {\n this._label = this.label();\n\n if (this.initialized) {\n this.updateLabel();\n this.updateIcon();\n this.setStyleClass();\n }\n });\n\n effect(() => {\n this._icon = this.icon();\n\n if (this.initialized) {\n this.updateIcon();\n this.setStyleClass();\n }\n });\n\n effect(() => {\n this._loading = this.loading();\n\n if (this.initialized) {\n this.updateIcon();\n this.setStyleClass();\n }\n });\n\n effect(() => {\n this._severity = this.severity() as ButtonSeverity;\n\n if (this.initialized) {\n this.setStyleClass();\n }\n });\n\n effect(() => {\n const val = this.buttonProps();\n\n this._buttonProps = val as ButtonProps;\n\n if (val && typeof val === 'object') {\n Object.entries(val).forEach(([k, v]) => this[`_${k}`] !== v && (this[`_${k}`] = v));\n }\n });\n }\n\n /**\n * Add a textual class to the button without a background initially.\n * @group Props\n */\n readonly text = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a plain textual class to the button without a background initially.\n * @group Props\n */\n readonly plain = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a shadow to indicate elevation.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // Your application code writes to the input. This prevents migration.\n // TODO: Skipped for migration because:\n // Your application code writes to the input. This prevents migration.\n readonly raised = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Defines the size of the button.\n * @group Props\n */\n readonly size = input<'small' | 'large'>();\n\n /**\n * Add a border class without a background initially.\n * @group Props\n */\n readonly outlined = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a circular border radius to the button.\n * @group Props\n */\n readonly rounded = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Position of the icon.\n * @group Props\n */\n readonly iconPos = input<ButtonIconPosition>('left');\n\n /**\n * Icon to display in loading state.\n * @group Props\n */\n readonly loadingIcon = input<string>();\n\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n\n private iconSignal = contentChild(ButtonIcon);\n\n private labelSignal = contentChild(ButtonLabel);\n\n isIconOnly = computed(() => !!(!this.labelSignal() && this.iconSignal()));\n\n public _label: string | undefined;\n\n public _icon: string | undefined;\n\n public _loading: boolean = false;\n\n private _severity: ButtonSeverity;\n\n _buttonProps!: ButtonProps;\n\n public initialized: boolean | undefined;\n\n private get htmlElement(): HTMLElement {\n return this.el.nativeElement as HTMLElement;\n }\n\n private _internalClasses: string[] = Object.values(INTERNAL_BUTTON_CLASSES);\n\n pcFluid: Fluid | null = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n isTextButton = computed(() => !!(!this.iconSignal() && this.labelSignal() && this.text()));\n\n /**\n * Text of the button.\n * @deprecated use pButtonLabel directive instead.\n * @group Props\n */\n readonly label = input<string>();\n\n /**\n * Name of the icon.\n * @deprecated use pButtonIcon directive instead\n * @group Props\n */\n readonly icon = input<string>();\n\n /**\n * Whether the button is in loading state.\n * @group Props\n */\n readonly loading = input<boolean>(false);\n\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @deprecated assign props directly to the button element.\n * @group Props\n */\n readonly buttonProps = input<ButtonProps>();\n\n /**\n * Defines the style of the button.\n * @group Props\n */\n readonly severity = input<ButtonSeverity>();\n\n spinnerIcon = `<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"p-icon-spin\">\n <g clip-path=\"url(#clip0_417_21408)\">\n <path\n d=\"M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_417_21408\">\n <rect width=\"14\" height=\"14\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>`;\n\n onAfterViewInit() {\n !this.$unstyled() && addClass(this.htmlElement, this.getStyleClass().join(' '));\n\n if (isPlatformBrowser(this.platformId)) {\n this.createIcon();\n this.createLabel();\n this.initialized = true;\n }\n }\n\n getStyleClass(): string[] {\n const styleClass: string[] = [INTERNAL_BUTTON_CLASSES.button, INTERNAL_BUTTON_CLASSES.component];\n\n if (this._icon && !this._label && isEmpty(this.htmlElement.textContent)) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.iconOnly);\n }\n\n if (this._loading) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.disabled, INTERNAL_BUTTON_CLASSES.loading);\n\n if (!this._icon && this._label) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.labelOnly);\n }\n\n if (this._icon && !this._label && !isEmpty(this.htmlElement.textContent)) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.iconOnly);\n }\n }\n\n if (this.text()) {\n styleClass.push('p-button-text');\n }\n\n if (this._severity) {\n styleClass.push(`p-button-${this._severity}`);\n }\n\n if (this.plain()) {\n styleClass.push('p-button-plain');\n }\n\n if (this.raised()) {\n styleClass.push('p-button-raised');\n }\n\n const size = this.size();\n\n if (size) {\n styleClass.push(`p-button-${size}`);\n }\n\n if (this.outlined()) {\n styleClass.push('p-button-outlined');\n }\n\n if (this.rounded()) {\n styleClass.push('p-button-rounded');\n }\n\n if (size === 'small') {\n styleClass.push('p-button-sm');\n }\n\n if (size === 'large') {\n styleClass.push('p-button-lg');\n }\n\n if (this.hasFluid) {\n styleClass.push('p-button-fluid');\n }\n\n return this.$unstyled() ? [] : styleClass;\n }\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n setStyleClass() {\n const styleClass = this.getStyleClass();\n\n this.removeExistingSeverityClass();\n\n this.htmlElement.classList.remove(...this._internalClasses);\n this.htmlElement.classList.add(...styleClass);\n }\n\n removeExistingSeverityClass() {\n const severityArray = ['success', 'info', 'warn', 'danger', 'help', 'primary', 'secondary', 'contrast'];\n const existingSeverityClass = this.htmlElement.classList.value.split(' ').find((cls) => severityArray.some((severity) => cls === `p-button-${severity}`));\n\n if (existingSeverityClass) {\n this.htmlElement.classList.remove(existingSeverityClass);\n }\n }\n\n createLabel() {\n const created = findSingle(this.htmlElement, '[data-pc-section=\"buttonlabel\"]');\n\n if (!created && this._label) {\n let labelElement = <HTMLElement>createElement('span', { class: this.cx('label'), 'p-bind': this.ptm('buttonlabel'), 'aria-hidden': this._icon && !this._label ? 'true' : null });\n\n labelElement.appendChild(this.document.createTextNode(this._label));\n this.htmlElement.appendChild(labelElement);\n }\n }\n\n createIcon() {\n const created = findSingle(this.htmlElement, '[data-pc-section=\"buttonicon\"]');\n\n if (!created && (this._icon || this._loading)) {\n let iconPosClass = this._label && !this.$unstyled() ? 'p-button-icon-' + this.iconPos() : null;\n let iconClass = !this.$unstyled() && this.getIconClass();\n let iconElement: HTMLElement = <HTMLElement>createElement('span', { class: this.cn(this.cx('icon'), iconPosClass, iconClass), 'aria-hidden': 'true', 'p-bind': this.ptm('buttonicon') });\n\n if (!this.loadingIcon() && this._loading) {\n iconElement.innerHTML = this.spinnerIcon;\n }\n\n this.htmlElement.insertBefore(iconElement, this.htmlElement.firstChild);\n }\n }\n\n updateLabel() {\n let labelElement = findSingle(this.htmlElement, '[data-pc-section=\"buttonlabel\"]');\n\n if (!this._label) {\n labelElement && this.htmlElement.removeChild(labelElement);\n\n return;\n }\n\n labelElement ? (labelElement.textContent = this._label) : this.createLabel();\n }\n\n updateIcon() {\n let iconElement = findSingle(this.htmlElement, '[data-pc-section=\"buttonicon\"]');\n let labelElement = findSingle(this.htmlElement, '[data-pc-section=\"buttonlabel\"]');\n\n if (this._loading && !this.loadingIcon() && iconElement) {\n iconElement.innerHTML = this.spinnerIcon;\n } else if (iconElement?.innerHTML) {\n iconElement.innerHTML = '';\n }\n\n if (iconElement && !this.$unstyled()) {\n const iconPos = this.iconPos();\n\n if (iconPos) {\n iconElement.className = 'p-button-icon ' + (labelElement ? 'p-button-icon-' + iconPos : '') + ' ' + this.getIconClass();\n } else {\n iconElement.className = 'p-button-icon ' + this.getIconClass();\n }\n } else {\n this.createIcon();\n }\n }\n\n getIconClass() {\n const loadingIcon = this.loadingIcon();\n\n return this._loading ? 'p-button-loading-icon ' + (loadingIcon ? loadingIcon : 'p-icon') : this._icon || 'p-hidden';\n }\n\n onDestroy() {\n this.initialized = false;\n }\n}\n/**\n * Button is an extension to standard button element with icons and theming.\n *\n * @deprecated Use a native `<button pButton>` instead. This component remains\n * available for compatibility and is planned for removal in v23.\n * @group Components\n */\n@Component({\n selector: 'p-button',\n standalone: true,\n imports: [CommonModule, Ripple, AutoFocus, SpinnerIcon, BadgeModule, SharedModule, Bind],\n template: `\n <button\n [attr.type]=\"type() || buttonProps()?.type\"\n [attr.aria-label]=\"ariaLabel() || buttonProps()?.ariaLabel\"\n [ngStyle]=\"style() || buttonProps()?.style\"\n [disabled]=\"disabled() || loading() || buttonProps()?.disabled\"\n [class]=\"cn(cx('root'), styleClass(), buttonProps()?.styleClass)\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"onFocus.emit($event)\"\n (blur)=\"onBlur.emit($event)\"\n pRipple\n [attr.tabindex]=\"tabindex() || buttonProps()?.tabindex\"\n [pAutoFocus]=\"autofocus() || buttonProps()?.autofocus\"\n [pBind]=\"ptm('root')\"\n [attr.data-p]=\"dataP\"\n [attr.data-p-disabled]=\"disabled() || loading() || buttonProps()?.disabled\"\n [attr.data-p-severity]=\"severity() || buttonProps()?.severity\"\n >\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate() || _contentTemplate\"></ng-container>\n @if (loading() || buttonProps()?.loading) {\n @if (!loadingIconTemplate() && !_loadingIconTemplate) {\n @if (loadingIcon() || buttonProps()?.loadingIcon) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi-spin', loadingIcon() || buttonProps()?.loadingIcon)\" [pBind]=\"ptm('loadingIcon')\" [attr.aria-hidden]=\"true\"></span>\n } @else {\n <svg data-p-icon=\"spinner\" [class]=\"cn(cx('loadingIcon'), cx('spinnerIcon'))\" [pBind]=\"ptm('loadingIcon')\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\n }\n }\n @if (loadingIconTemplate() || _loadingIconTemplate) {\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate() || _loadingIconTemplate; context: { class: cx('loadingIcon'), pt: ptm('loadingIcon') }\"></ng-template>\n }\n } @else {\n @if ((icon() || buttonProps()?.icon) && !iconTemplate() && !_iconTemplate) {\n <span [class]=\"cn(cx('icon'), icon() || buttonProps()?.icon)\" [pBind]=\"ptm('icon')\" [attr.data-p]=\"dataIconP\"></span>\n }\n @if (!icon() && (iconTemplate() || _iconTemplate)) {\n <ng-template *ngTemplateOutlet=\"iconTemplate() || _iconTemplate; context: { class: cx('icon'), pt: ptm('icon') }\"></ng-template>\n }\n }\n @if (!contentTemplate() && !_contentTemplate && (label() || buttonProps()?.label)) {\n <span [class]=\"cx('label')\" [attr.aria-hidden]=\"(icon() || buttonProps()?.icon) && !(label() || buttonProps()?.label)\" [pBind]=\"ptm('label')\" [attr.data-p]=\"dataLabelP\">{{ label() || buttonProps()?.label }}</span>\n }\n @if (!contentTemplate() && !_contentTemplate && (badge() || buttonProps()?.badge)) {\n <p-badge [value]=\"badge() || buttonProps()?.badge\" [severity]=\"badgeSeverity() || buttonProps()?.badgeSeverity\" [pt]=\"ptm('pcBadge')\" [unstyled]=\"unstyled()\" />\n }\n </button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ButtonStyle, { provide: BUTTON_INSTANCE, useExisting: Button }, { provide: PARENT_INSTANCE, useExisting: Button }],\n hostDirectives: [Bind]\n})\nexport class Button extends BaseComponent<ButtonPassThrough> {\n componentName = 'Button';\n\n readonly hostName = input<any>('');\n\n $pcButton: Button | undefined = inject(BUTTON_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(ButtonStyle);\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n }\n\n constructor() {\n super();\n\n if (isDevMode()) {\n // eslint-disable-next-line no-console\n console.warn('`<p-button>` is deprecated and will be removed in a future major version. ' + 'Use a plain `<button pButton>` (or `<a pButton>`) with the `pButton` styling directive instead.');\n }\n }\n\n /**\n * Type of the button.\n * @group Props\n */\n readonly type = input<string>('button');\n\n /**\n * Value of the badge.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n readonly badge = input<string>();\n\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n readonly disabled = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Add a shadow to indicate elevation.\n * @group Props\n */\n readonly raised = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a circular border radius to the button.\n * @group Props\n */\n readonly rounded = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a textual class to the button without a background initially.\n * @group Props\n */\n readonly text = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a plain textual class to the button without a background initially.\n * @group Props\n */\n readonly plain = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a border class without a background initially.\n * @group Props\n */\n readonly outlined = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a link style to the button.\n * @group Props\n */\n readonly link = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Add a tabindex to the button.\n * @group Props\n */\n readonly tabindex = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * Defines the size of the button.\n * @group Props\n */\n readonly size = input<'small' | 'large'>();\n\n /**\n * Specifies the variant of the component.\n * @group Props\n */\n readonly variant = input<'outlined' | 'text'>();\n\n /**\n * Inline style of the element.\n * @group Props\n */\n readonly style = input<{\n [klass: string]: any;\n } | null>();\n\n /**\n * Class of the element.\n * @group Props\n */\n readonly styleClass = input<string>();\n\n /**\n * Style class of the badge.\n * @group Props\n * @deprecated use badgeSeverity instead.\n */\n readonly badgeClass = input<string>();\n\n /**\n * Severity type of the badge.\n * @group Props\n * @defaultValue secondary\n */\n readonly badgeSeverity = input<'success' | 'info' | 'warn' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | undefined>('secondary');\n\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n readonly ariaLabel = input<string>();\n\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n readonly autofocus = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Position of the icon.\n * @group Props\n */\n readonly iconPos = input<ButtonIconPosition>('left');\n\n /**\n * Name of the icon.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n readonly icon = input<string>();\n\n /**\n * Text of the button.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n readonly label = input<string>();\n\n /**\n * Whether the button is in loading state.\n * @group Props\n */\n readonly loading = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n /**\n * Icon to display in loading state.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n readonly loadingIcon = input<string>();\n\n /**\n * Defines the style of the button.\n * @group Props\n */\n readonly severity = input<ButtonSeverity>();\n\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @group Props\n */\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n // TODO: Skipped for migration because:\n // This input is used in a control flow expression (e.g. `@if` or `*ngIf`)\n // and migrating would break narrowing currently.\n readonly buttonProps = input<ButtonProps>();\n\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n\n /**\n * Callback to execute when button is clicked.\n * This event is intended to be used with the <p-button> component. Using a regular <button> element, use (click).\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n readonly onClick = output<MouseEvent>();\n\n /**\n * Callback to execute when button is focused.\n * This event is intended to be used with the <p-button> component. Using a regular <button> element, use (focus).\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n readonly onFocus = output<FocusEvent>();\n\n /**\n * Callback to execute when button loses focus.\n * This event is intended to be used with the <p-button> component. Using a regular <button> element, use (blur).\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n readonly onBlur = output<FocusEvent>();\n\n /**\n * Custom content template.\n * @group Templates\n **/\n readonly contentTemplate = contentChild<TemplateRef<void>>('content');\n\n /**\n * Custom loading icon template.\n * @group Templates\n **/\n readonly loadingIconTemplate = contentChild<TemplateRef<ButtonLoadingIconTemplateContext>>('loadingicon');\n\n /**\n * Custom icon template.\n * @group Templates\n **/\n readonly iconTemplate = contentChild<TemplateRef<ButtonIconTemplateContext>>('icon');\n\n readonly templates = contentChildren(PrimeTemplate);\n\n pcFluid: Fluid | null = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n get hasIcon() {\n return this.icon() || this.buttonProps()?.icon || this.iconTemplate() || this._iconTemplate || this.loadingIcon() || this.loadingIconTemplate() || this._loadingIconTemplate;\n }\n\n _contentTemplate: TemplateRef<void> | undefined;\n\n _iconTemplate: TemplateRef<ButtonIconTemplateContext> | undefined;\n\n _loadingIconTemplate: TemplateRef<ButtonLoadingIconTemplateContext> | undefined;\n\n onAfterContentInit() {\n this.templates()?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this._contentTemplate = item.template;\n break;\n\n case 'icon':\n this._iconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this._loadingIconTemplate = item.template;\n break;\n\n default:\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n\n get dataP() {\n const iconPos = this.iconPos();\n\n return this.cn({\n [this.size() as string]: this.size(),\n 'icon-only': this.hasIcon && !this.label() && !this.badge(),\n loading: this.loading(),\n fluid: this.hasFluid,\n rounded: this.rounded(),\n raised: this.raised(),\n outlined: this.outlined() || this.variant() === 'outlined',\n text: this.text() || this.variant() === 'text',\n link: this.link(),\n vertical: (iconPos === 'top' || iconPos === 'bottom') && this.label()\n });\n }\n\n get dataIconP() {\n return this.cn({\n [this.iconPos()]: this.iconPos(),\n [this.size() as string]: this.size()\n });\n }\n\n get dataLabelP() {\n return this.cn({\n [this.size() as string]: this.size(),\n 'icon-only': this.hasIcon && !this.label() && !this.badge()\n });\n }\n}\n\n@NgModule({\n imports: [CommonModule, ButtonDirective, Button, SharedModule, ButtonLabel, ButtonIcon],\n exports: [ButtonDirective, Button, ButtonLabel, ButtonIcon, SharedModule]\n})\nexport class ButtonModule {}\n","// Backward compatibility\nexport * from '@wawjs/ngx-prime/types/button';\nexport * from './button';\nexport * from './style/buttonstyle';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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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,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,E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AAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,C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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
|
+
import { TEMPLATE_CONFIG } from '@wawjs/ngx-prime/config';
|
|
4
|
+
|
|
5
|
+
const CART_URL = 'https://prime.webart.work/cart';
|
|
6
|
+
/**
|
|
7
|
+
* "Buy License" button — renders only when the app was configured with a
|
|
8
|
+
* template slug via `provideTemplate({ slug })`. Links out to that
|
|
9
|
+
* template's cart entry (`?template=<slug>`); nothing else about the
|
|
10
|
+
* purchase (license tier, pricing) is known or passed yet.
|
|
11
|
+
*
|
|
12
|
+
* @group Components
|
|
13
|
+
*/
|
|
14
|
+
class BuyLicense {
|
|
15
|
+
config = inject(TEMPLATE_CONFIG, { optional: true });
|
|
16
|
+
href = computed(() => {
|
|
17
|
+
const slug = this.config?.slug?.trim();
|
|
18
|
+
return slug ? `${CART_URL}?template=${encodeURIComponent(slug)}` : null;
|
|
19
|
+
}, /* @ts-ignore */
|
|
20
|
+
...(ngDevMode ? [{ debugName: "href" }] : /* istanbul ignore next */ []));
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: BuyLicense, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: BuyLicense, isStandalone: true, selector: "p-buy-license", ngImport: i0, template: `
|
|
23
|
+
@if (href(); as url) {
|
|
24
|
+
<a [href]="url" target="_blank" rel="noopener" class="p-buy-license">
|
|
25
|
+
<i class="pi pi-shopping-cart p-buy-license-icon"></i>
|
|
26
|
+
<span class="p-buy-license-label">Buy License</span>
|
|
27
|
+
</a>
|
|
28
|
+
}
|
|
29
|
+
`, isInline: true, styles: [".p-buy-license{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--p-primary-color, #3b82f6);border-radius:var(--p-content-border-radius, 6px);background:var(--p-primary-color, #3b82f6);color:var(--p-primary-contrast-color, #ffffff);font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s}.p-buy-license:hover{background:var(--p-primary-hover-color, var(--p-primary-color, #3b82f6));border-color:var(--p-primary-hover-color, var(--p-primary-color, #3b82f6))}.p-buy-license:focus-visible{outline:none;box-shadow:var(--p-focus-ring-shadow, 0 0 0 2px var(--p-primary-color, #3b82f6))}.p-buy-license-icon{font-size:1rem;line-height:1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: BuyLicense, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ selector: 'p-buy-license', standalone: true, template: `
|
|
34
|
+
@if (href(); as url) {
|
|
35
|
+
<a [href]="url" target="_blank" rel="noopener" class="p-buy-license">
|
|
36
|
+
<i class="pi pi-shopping-cart p-buy-license-icon"></i>
|
|
37
|
+
<span class="p-buy-license-label">Buy License</span>
|
|
38
|
+
</a>
|
|
39
|
+
}
|
|
40
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".p-buy-license{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--p-primary-color, #3b82f6);border-radius:var(--p-content-border-radius, 6px);background:var(--p-primary-color, #3b82f6);color:var(--p-primary-contrast-color, #ffffff);font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s}.p-buy-license:hover{background:var(--p-primary-hover-color, var(--p-primary-color, #3b82f6));border-color:var(--p-primary-hover-color, var(--p-primary-color, #3b82f6))}.p-buy-license:focus-visible{outline:none;box-shadow:var(--p-focus-ring-shadow, 0 0 0 2px var(--p-primary-color, #3b82f6))}.p-buy-license-icon{font-size:1rem;line-height:1}\n"] }]
|
|
41
|
+
}] });
|
|
42
|
+
class BuyLicenseModule {
|
|
43
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: BuyLicenseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
44
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.2", ngImport: i0, type: BuyLicenseModule, imports: [BuyLicense], exports: [BuyLicense] });
|
|
45
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: BuyLicenseModule });
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: BuyLicenseModule, decorators: [{
|
|
48
|
+
type: NgModule,
|
|
49
|
+
args: [{
|
|
50
|
+
imports: [BuyLicense],
|
|
51
|
+
exports: [BuyLicense]
|
|
52
|
+
}]
|
|
53
|
+
}] });
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Generated bundle index. Do not edit.
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
export { BuyLicense, BuyLicenseModule };
|
|
60
|
+
//# sourceMappingURL=wawjs-ngx-prime-buylicense.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wawjs-ngx-prime-buylicense.mjs","sources":["../../src/buylicense/buylicense.ts","../../src/buylicense/wawjs-ngx-prime-buylicense.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, NgModule, ViewEncapsulation, computed, inject } from '@angular/core';\nimport { TEMPLATE_CONFIG } from '@wawjs/ngx-prime/config';\n\nconst CART_URL = 'https://prime.webart.work/cart';\n\n/**\n * \"Buy License\" button — renders only when the app was configured with a\n * template slug via `provideTemplate({ slug })`. Links out to that\n * template's cart entry (`?template=<slug>`); nothing else about the\n * purchase (license tier, pricing) is known or passed yet.\n *\n * @group Components\n */\n@Component({\n selector: 'p-buy-license',\n standalone: true,\n template: `\n @if (href(); as url) {\n <a [href]=\"url\" target=\"_blank\" rel=\"noopener\" class=\"p-buy-license\">\n <i class=\"pi pi-shopping-cart p-buy-license-icon\"></i>\n <span class=\"p-buy-license-label\">Buy License</span>\n </a>\n }\n `,\n styles: `\n .p-buy-license {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n padding: 0.5rem 1rem;\n border: 1px solid var(--p-primary-color, #3b82f6);\n border-radius: var(--p-content-border-radius, 6px);\n background: var(--p-primary-color, #3b82f6);\n color: var(--p-primary-contrast-color, #ffffff);\n font-size: 0.9rem;\n font-weight: 600;\n text-decoration: none;\n cursor: pointer;\n transition:\n background 0.2s,\n border-color 0.2s;\n }\n\n .p-buy-license:hover {\n background: var(--p-primary-hover-color, var(--p-primary-color, #3b82f6));\n border-color: var(--p-primary-hover-color, var(--p-primary-color, #3b82f6));\n }\n\n .p-buy-license:focus-visible {\n outline: none;\n box-shadow: var(--p-focus-ring-shadow, 0 0 0 2px var(--p-primary-color, #3b82f6));\n }\n\n .p-buy-license-icon {\n font-size: 1rem;\n line-height: 1;\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class BuyLicense {\n private readonly config = inject(TEMPLATE_CONFIG, { optional: true });\n\n protected readonly href = computed(() => {\n const slug = this.config?.slug?.trim();\n return slug ? `${CART_URL}?template=${encodeURIComponent(slug)}` : null;\n });\n}\n\n@NgModule({\n imports: [BuyLicense],\n exports: [BuyLicense]\n})\nexport class BuyLicenseModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;AAGA,MAAM,QAAQ,GAAG,gCAAgC;AAEjD;;;;;;;AAOG;MAkDU,UAAU,CAAA;IACF,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAElD,IAAA,IAAI,GAAG,QAAQ,CAAC,MAAK;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AACtC,QAAA,OAAO,IAAI,GAAG,CAAA,EAAG,QAAQ,CAAA,UAAA,EAAa,kBAAkB,CAAC,IAAI,CAAC,CAAA,CAAE,GAAG,IAAI;IAC3E,CAAC;6EAAC;uGANO,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA9CT;;;;;;;AAOT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+uBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAuCQ,UAAU,EAAA,UAAA,EAAA,CAAA;kBAjDtB,SAAS;+BACI,eAAe,EAAA,UAAA,EACb,IAAI,EAAA,QAAA,EACN;;;;;;;AAOT,IAAA,CAAA,EAAA,eAAA,EAoCgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,+uBAAA,CAAA,EAAA;;MAe5B,gBAAgB,CAAA;uGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAhB,gBAAgB,EAAA,OAAA,EAAA,CAbhB,UAAU,CAAA,EAAA,OAAA,EAAA,CAAV,UAAU,CAAA,EAAA,CAAA;wGAaV,gBAAgB,EAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,UAAU,CAAC;oBACrB,OAAO,EAAE,CAAC,UAAU;AACvB,iBAAA;;;AC1ED;;AAEG;;;;"}
|
|
@@ -2,7 +2,7 @@ export * from '@wawjs/ngx-prime/types/checkbox';
|
|
|
2
2
|
import * as i2 from '@angular/common';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { Injectable, inject, contentChild, forwardRef, Directive, ElementRef, input, booleanAttribute, numberAttribute, computed, output, effect, InjectionToken, viewChild, signal, contentChildren, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
5
|
+
import { Injectable, inject, contentChild, forwardRef, Directive, ElementRef, input, booleanAttribute, numberAttribute, computed, output, effect, InjectionToken, viewChild, signal, contentChildren, isDevMode, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
6
6
|
import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
7
7
|
import { equals, contains } from '@wawjs/css-prime-utils';
|
|
8
8
|
import { PrimeTemplate, SharedModule } from '@wawjs/ngx-prime/api';
|
|
@@ -525,6 +525,10 @@ class Checkbox extends BaseEditableHolder {
|
|
|
525
525
|
...(ngDevMode ? [{ debugName: "$variant" }] : /* istanbul ignore next */ []));
|
|
526
526
|
constructor() {
|
|
527
527
|
super();
|
|
528
|
+
if (isDevMode()) {
|
|
529
|
+
// eslint-disable-next-line no-console
|
|
530
|
+
console.warn('`<p-checkbox>` is deprecated and will be removed in a future major version. ' + 'Use a native `<input type="checkbox" pCheckbox>` instead.');
|
|
531
|
+
}
|
|
528
532
|
effect(() => {
|
|
529
533
|
this._indeterminate.set(this.indeterminate());
|
|
530
534
|
});
|